Difference between revisions of "Forensic Command Injection Attack"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 55: | Line 55: | ||
* '''Prinsip Least Privilege:''' Jalankan aplikasi web dengan user yang memiliki hak akses seminimal mungkin. | * '''Prinsip Least Privilege:''' Jalankan aplikasi web dengan user yang memiliki hak akses seminimal mungkin. | ||
− | + | ==Tips Tambahan== | |
* '''Gunakan Tools Forensik:''' Tools seperti `grep`, `awk`, dan `sed` sangat berguna untuk menganalisis log dan file sistem. | * '''Gunakan Tools Forensik:''' Tools seperti `grep`, `awk`, dan `sed` sangat berguna untuk menganalisis log dan file sistem. | ||
* '''Pelajari Teknik Obfuscation:''' Pelajari teknik-teknik untuk mengobfuscate payload agar lebih sulit dideteksi. | * '''Pelajari Teknik Obfuscation:''' Pelajari teknik-teknik untuk mengobfuscate payload agar lebih sulit dideteksi. |
Latest revision as of 08:22, 14 October 2024
Command Injection adalah jenis kerentanan keamanan di mana penyerang dapat menyuntikkan perintah berbahaya ke dalam input pengguna yang kemudian dieksekusi oleh server. DVWA (Damn Vulnerable Web Application) adalah platform yang sangat baik untuk mempelajari dan berlatih berbagai jenis serangan web, termasuk command injection. Dalam tutorial ini, kita akan melakukan simulasi serangan command injection pada DVWA yang berjalan di Ubuntu Server dan menganalisis jejak digital yang ditinggalkan.
Persiapan
Lingkungan:
- Sebuah mesin Ubuntu Server yang telah terinstal DVWA.
- Sebuah mesin penyerang (bisa juga Ubuntu) dengan tools forensik seperti:
- grep: Untuk mencari string tertentu dalam file
- awk: Untuk memproses data teks
- sed: Untuk melakukan editing teks
- file: Untuk menentukan jenis file
- strings: Untuk mengekstrak string yang dapat dibaca manusia dari file biner
- Pemahaman dasar:
- Konsep command injection
- Dasar-dasar sistem operasi Linux
- Penggunaan terminal dan perintah-perintah dasar
Langkah-langkah
Mengidentifikasi Titik Serang di DVWA:
- Login ke DVWA dan pilih level keamanan yang sesuai (low, medium, high).
- Cari modul yang rentan terhadap command injection. Biasanya, modul ini akan meminta input pengguna yang langsung dieksekusi sebagai perintah sistem.
Melakukan Serangan Command Injection:
- Contoh payload:
- Untuk menampilkan isi file: `' ; cat /etc/passwd ; '`
- Untuk menjalankan perintah shell: `' ; /bin/bash ; '`
- Catatan: Payload yang tepat akan tergantung pada konfigurasi DVWA dan sistem target.
- Masukkan payload ke dalam form input yang disediakan.
Menganalisis Jejak Digital:
- Log Server:
- Access log: Cari entri yang terkait dengan permintaan yang mengandung payload berbahaya.
- Error log: Periksa apakah ada pesan error yang mengindikasikan adanya upaya eksekusi perintah yang tidak sah.
- Perintah: `grep "payload" /var/log/apache2/access.log`
- History Shell:
- Root: `cat /root/.bash_history`
- User: `cat /home/user/.bash_history`
- Crontab: `crontab -l`
- File Log Khusus:
- Fail2ban: Jika terpasang, periksa log fail2ban untuk melihat upaya login yang gagal.
- WAF: Jika menggunakan WAF, periksa log WAF untuk melihat serangan yang diblokir.
- File Sistem:
- File yang baru dibuat: `find / -name "*newfile*" -mtime -1`
- File yang dimodifikasi: `find / -mtime -1`
Mencegah Serangan Command Injection:
- Input Sanitization: Selalu saring dan validasi semua input pengguna sebelum digunakan dalam perintah sistem.
- Escaping Karakter Khusus: Gunakan fungsi escaping yang sesuai untuk mencegah karakter khusus ditafsirkan sebagai bagian dari perintah.
- Menggunakan Parameterisasi Query: Hindari menyusun query secara dinamis. Gunakan parameterisasi query untuk mencegah injection.
- Prinsip Least Privilege: Jalankan aplikasi web dengan user yang memiliki hak akses seminimal mungkin.
Tips Tambahan
- Gunakan Tools Forensik: Tools seperti `grep`, `awk`, dan `sed` sangat berguna untuk menganalisis log dan file sistem.
- Pelajari Teknik Obfuscation: Pelajari teknik-teknik untuk mengobfuscate payload agar lebih sulit dideteksi.
- Simulasikan Lingkungan yang Realistis: Gunakan mesin virtual atau lingkungan terisolasi untuk melakukan eksperimen.
- Ikuti Prinsip Etika: Jangan melakukan serangan terhadap sistem yang tidak Anda miliki izin.
Kesimpulan
Command injection adalah ancaman serius bagi keamanan aplikasi web. Dengan memahami mekanisme serangan dan teknik forensik, kita dapat lebih efektif dalam mendeteksi dan mencegah serangan jenis ini. DVWA merupakan alat yang sangat baik untuk berlatih dan meningkatkan keterampilan dalam bidang keamanan aplikasi web.