
أداة webshell PHP الوحيدة التي تحتاجها.
php webshell
لأنني أخطأت ونسيت الحديث عن طريقة الاستخدام. إليك الشرح.
لكي تعمل هذه الشيل، تحتاج إلى شيئين: ضحية تسمح برفع ملفات PHP (نفسك، في بيئة تعليمية) ووسيلة لإرسال طلبات HTTP إلى هذه الـ webshell (السكريبت الخاص بالعميل هو الطريقة المثلى بنسبة 100% للتواصل مع هذه الشيل).
شكراً لكم على كل الدعم الذي قدمه المجتمع، فهذا يعني لنا الكثير. الآن، إليك الأمور التي ستضاف إلى هذه الشيل لجعلها أكثر روعة.
نسبة الكشف الحالية في VirusTotal: 2/59 (أحدث إصدار)
نسبة الكشف الحالية في VirusTotal (الإصدار المُعمّى): 1/59 // هذا إصدار مُحسّن من المُسقِط المُختصر. طول الملف الإجمالي أقل بقليل من 2 كيلوبايت. الآن يقوم Slopshell بتعيين User-Agent عشوائي بقيمة صحيحة، أي User-Agent حقيقي مثل Mozilla, Opera, Chrome, Chromium، إلخ.
المشكلة في حدوث هذا الكشف هي أنني لم أجد حلاً عملياً لكلمة eval؛ إذا لم يكن هناك استدعاء لـ eval لكان هذا السكريبت غير قابل للكشف.
حسناً، ها نحن يا رفاق، كان هناك شيء يضايقني لأكتبه بلغة PHP، وهذا هو. هذه الـ webshell تحتوي على بعض المزايا الإضافية، وتُضاف المزيد يومياً. ستحتاج إلى خادم PostgreSQL يعمل وتتحكم فيه. كيفية تنفيذ ذلك تعود إليك.
Debian: apt install -y postgresql php php-pear python3-pip php-readline php-curl libsodium libsodium-dev && python -m pip install proxybroker --user
RHEL Systems: dnf -y -b install postgresql-server postgresql php php-pear python3-pip php-readline php-curl libsodium libsodium-devel && python -m pip install proxybroker --user
WIN: قم بتثبيت ملف PHP msi، وتأكد من وجود خادم PostgreSQL نشط يمكنك الاتصال به في مكان ما.
بمجرد إعدادها بشكل صحيح والتأكد من أنها تعمل، هناك أمر أشجع على استخدامه وهو pg_ctl يمكنك إنشاء قاعدة البيانات بهذه الطريقة، أو على الأقل تهيئتها وتشغيلها. بعد ذلك، ستعمل جميع استعلامات قاعدة البيانات بشكل جيد.
يجب عليك الانتقال إلى مجلد /lib/ وتشغيل composer install لتثبيت التبعيات الخاصة بالخادم المطلوبة لكي يعمل العميل. يعمل العميل الآن بشكل أسرع بكثير من ذي قبل.
قد تلاحظ أن هذه هي إعادة تغليف لـ backdoor أخرى في WordPress، وبمجرد أن أجد المستودع مرة أخرى، سأحرص على إعطاء الإسناد لوظيفة تنفيذ الأوامر الموجودة في هذه الشل. لا أحب سرقة الكود وأؤمن بضرورة إعطاء الفضل لأهله. شكراً لك أيها السيد الطيب، لقد ساعدتني كثيراً بهذا من خلال إتاحة سكريبتاتك للجمهور.
أثناء إجراء بعض التغييرات، فكرت لماذا لا أضيف طريقة للشيل نفسها لتخفي نفسها عن مسؤول غير ملتفت. نظّفت طرق تنفيذ الكود، نظّفت السكريبت بأكمله. لن يعرض الآن صفحة 500 وهمية، لأن ذلك يجذب انتباهاً كبيراً من مسؤول يقظ (أكثر من تجربتي كمسؤول لمكدس PHP على خادم). رسائل الخطأ 500 تجذب الكثير من الانتباه، مما يعني زيادة احتمالية اكتشاف الشيل. أما استجابة 404 فهي أقل جذباً لانتباه مسؤول الخادم، مما يجعل هذه الشيل أصعب في الاكتشاف والعثور عليها، بالإضافة إلى تغيير اسم الملف، سيكون العثور على هذه الشيل كابوساً مطلقاً. تخصيص User-Agent لا يزال يحتاج إلى عمل، أو ستحتاج قيمة كوكي فريدة لاستخدامها بدلاً من قيمة User-Agent، لكنني لن أضبط ذلك بنفسي وسأدع المستخدمين الأكثر خبرة يخصصون هذه الشيل حسب رغبتهم. مرة أخرى، إذا لاحظت أي مشاكل أو أي نقاط ضعف (معظمها أصلحتها، وحدثت هذه الشيل إلى PHP8 في الغالب، لا أستطيع إضافة type hints بعد لأسباب تتعلق بالتوافق مع الإصدارات السابقة)، فالرجاء فتح مشكلة وإخباري بما هو الخطأ، وسأرى إصلاحه. شكراً، افعل الخير وحارب الشر، استمتع.
إليك ما توصلت إليه من إجراءات مراوغة إضافية:
كلما تقدمت في لغة PHP، سيتقدم هذا المشروع بأكمله، وستصبح الكلاسات كلاسات حقيقية، مع مساحات أسماء وكل شيء. فقط أحتاج بعض الوقت لأصلح الكود وفقاً للمعايير الشائعة لتطوير PHP. من المحتمل أن أضيف طريقة لحزم هذه الشيل كإضافة WordPress، ليمكن استخدامها في WordPress أيضاً. (إضافة مناسبة لذلك). العميل الآن يصنع إضافات WordPress مناسبة، والتي تربط دالة init في موقع WordPress. لم أختبر هذا بالكامل، لذا إذا كانت هناك أي مشاكل على الإطلاق، فلا تتردد في فتح مشكلة جديدة ووصف المشكلة التي تواجهها. مُنشّط الإضافة WordPress يُترك فارغاً، هذا لأنني أبحث عن طرق لجعل المُنشّط قيمة فريدة آمنة/مشفرة لا يمكن نسخها. أرجو التحلي بالصبر.
عند استدعاء دالة cqI، تطبع معلومات أكثر صلة بدلاً من... كما تعلم، القمامة. مثال:
Max file uploads: 20
Safemode: cannot set safemode.
File_Uploads: true
Upload Temp Dir: cannot set upload_tmp_dir
Maximum File upload size: 2M
Include Path: .:/usr/share/php8:/usr/share/php/PEAR:/var/www/somesite/html/public/.scache/
---------------- SLOP DEFINES ---------------------
slopMTLS: true
slopEncryption: true
slopOS: LIN
slopShell: bash
slopTor: false
slopPGP: false
.scache full path: /var/www/somesite/html/public/.scache/
ستكون هذه ملونة حسب المخرجات، false أحمر افتراضي، true أخضر افتراضي. مع استثناءات صغيرة لـ slopOS و sloppyshell، فهي خضراء دائماً.
استخدام سكريبت العميل:

اتصال عكسي بدأ من سكريبت العميل:

صفحات هبوط عشوائية:

أنا كمطور، لست مسؤولاً بأي شكل من الأشكال عن سوء استخدام هذا المنتج. تم نشر هذا لأغراض اختبار الاختراق المشروع / الفرق الحمراء، و/أو للقيمة التعليمية. تعرّف على القوانين المطبقة في بلد إقامتك قبل استخدام هذا السكريبت، ولا تخالف القانون أثناء استخدامه. شكراً، وأتمنى لك يوماً سعيداً.
نظراً لأن معظم الخوادم تمنع قدرة السكريبتات على الكتابة في الدليل المُخدم (كما ينبغي)، فإنني أستخدم الشيل الكاملة افتراضياً. إصدار WordPress من هذه الشيل سيظل يعمل بشكل صحيح، فهو يربط دالة init بدلاً من أن يكون مجرد شيل ترفرف في الريح.