Difference between revisions of "Hands-On: Attack SQL Injection"
Onnowpurbo (talk | contribs) (Created page with " FORENSIC: /var/log/apache2/access.log /var/log/snort/alert /var/log/snort/snort.log Wireshark sniffer") |
Onnowpurbo (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | Modul ini akan memandu Anda dalam melakukan investigasi forensik pada serangan SQL injection yang terjadi pada sebuah server Linux. Kita akan menganalisis log-log sistem, terutama log Apache dan Snort, untuk mengidentifikasi indikator kompromi (IoC) yang terkait dengan serangan ini. Selain itu, kita juga akan menggunakan Wireshark untuk menangkap lalu lintas jaringan secara real-time dan mengamati aktivitas yang mencurigakan. | |
− | + | ||
− | + | ==Persiapan== | |
− | + | * '''Akses ke Server Linux:''' Pastikan Anda memiliki akses root atau pengguna dengan hak akses yang cukup untuk membaca log-log sistem. | |
− | + | * '''Editor Teks:''' Gunakan editor teks seperti Vim, Nano, atau Emacs untuk melihat isi log. | |
+ | * '''Wireshark:''' Instal dan konfigurasi Wireshark untuk menangkap lalu lintas jaringan. | ||
+ | * '''Pemahaman Dasar SQL:''' Penting untuk memahami dasar-dasar SQL untuk menginterpretasi query yang mungkin disuntikkan oleh penyerang. | ||
+ | |||
+ | ==Analisis Log== | ||
+ | |||
+ | ===/var/log/apache2/access.log=== | ||
+ | Log Apache mencatat setiap permintaan yang diterima oleh web server. Untuk menganalisis log ini, carilah: | ||
+ | * '''Permintaan yang tidak biasa:''' Perhatikan permintaan yang mengandung karakter khusus seperti tanda kutip tunggal ('), tanda kutip ganda ("), atau tanda persen (%). Ini bisa menjadi indikasi adanya upaya injeksi. | ||
+ | * '''IP address yang mencurigakan:''' Cari IP address yang sering muncul dengan pola permintaan yang aneh. | ||
+ | * '''Error 404:''' Meskipun tidak selalu mengindikasikan serangan, error 404 yang tidak biasa bisa menjadi petunjuk. | ||
+ | * '''Parameter yang tidak valid:''' Perhatikan parameter URL yang terlalu panjang atau mengandung karakter-karakter yang tidak sesuai. | ||
+ | |||
+ | '''Contoh entri log:''' | ||
+ | 192.168.1.100 - - [06/Jun/2023:00:01:00 +0800] "GET /index.php?id=1' OR '1=1'-- HTTP/1.1" 200 500 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36" | ||
+ | |||
+ | Pada contoh di atas, karakter `' OR '1=1'--` yang ditambahkan pada parameter `id` adalah tanda khas serangan SQL injection. | ||
+ | |||
+ | ===2. /var/log/snort/alert=== | ||
+ | Log Snort berisi peringatan tentang aktivitas yang mencurigakan yang terdeteksi oleh sistem deteksi intrusi. Carilah peringatan yang terkait dengan SQL injection seperti: | ||
+ | * '''Aturan SQL injection:''' Snort memiliki aturan khusus untuk mendeteksi pola serangan SQL injection. | ||
+ | * '''Permintaan HTTP yang mencurigakan:''' Perhatikan permintaan HTTP yang mengandung payload SQL injection. | ||
+ | |||
+ | ===/var/log/snort/snort.log=== | ||
+ | Log Snort juga berisi informasi lebih detail tentang setiap peristiwa yang terjadi, termasuk paket yang ditangkap. Log ini dapat digunakan untuk melakukan analisis lebih lanjut jika diperlukan. | ||
+ | |||
+ | ==Menggunakan Wireshark== | ||
+ | * '''Mulai Penangkapan:''' Jalankan Wireshark dan pilih interface jaringan yang ingin Anda pantau. | ||
+ | * '''Filter:''' Gunakan filter seperti `http.request.uri contains "SQL"` atau `http.request.method == "POST"` untuk menyaring lalu lintas yang relevan. | ||
+ | * '''Analisis:''' Perhatikan paket HTTP yang mengandung parameter yang mencurigakan. Dekode paket HTTP untuk melihat payload yang dikirimkan. | ||
+ | |||
+ | ==Langkah-langkah Selanjutnya== | ||
+ | * '''Kumpulkan Informasi Tambahan:''' Jika Anda menemukan indikator kompromi, kumpulkan informasi tambahan seperti timestamp, IP address, dan detail permintaan. | ||
+ | * '''Analisis Mendalam:''' Lakukan analisis mendalam pada data yang telah dikumpulkan untuk mengidentifikasi akar penyebab serangan. | ||
+ | * '''Bersihkan Sistem:''' Hapus file-file yang mencurigakan, perbarui password, dan perbaiki kerentanan yang ditemukan. | ||
+ | * '''Implementasikan Langkah Pencegahan:''' Terapkan langkah-langkah pencegahan seperti parameterized queries, input validation, dan web application firewall (WAF) untuk mencegah serangan serupa di masa mendatang. | ||
+ | |||
+ | ==Catatan== | ||
+ | * '''Modul ini hanya memberikan gambaran umum.''' Proses forensik SQL injection bisa lebih kompleks tergantung pada jenis serangan dan konfigurasi sistem. | ||
+ | * '''Penting untuk memahami konteks:''' Analisis log harus dilakukan dengan mempertimbangkan konteks lingkungan sistem dan aplikasi yang sedang berjalan. | ||
+ | * '''Gunakan Tool tambahan:''' Selain Wireshark, Anda juga bisa menggunakan Tool forensik lainnya seperti tcpdump, grep, dan tools analisis log khusus. | ||
+ | |||
+ | |||
+ | ==Pranala Menarik== | ||
+ | |||
+ | * [[Forensic: IT]] |
Latest revision as of 06:07, 14 October 2024
Modul ini akan memandu Anda dalam melakukan investigasi forensik pada serangan SQL injection yang terjadi pada sebuah server Linux. Kita akan menganalisis log-log sistem, terutama log Apache dan Snort, untuk mengidentifikasi indikator kompromi (IoC) yang terkait dengan serangan ini. Selain itu, kita juga akan menggunakan Wireshark untuk menangkap lalu lintas jaringan secara real-time dan mengamati aktivitas yang mencurigakan.
Persiapan
- Akses ke Server Linux: Pastikan Anda memiliki akses root atau pengguna dengan hak akses yang cukup untuk membaca log-log sistem.
- Editor Teks: Gunakan editor teks seperti Vim, Nano, atau Emacs untuk melihat isi log.
- Wireshark: Instal dan konfigurasi Wireshark untuk menangkap lalu lintas jaringan.
- Pemahaman Dasar SQL: Penting untuk memahami dasar-dasar SQL untuk menginterpretasi query yang mungkin disuntikkan oleh penyerang.
Analisis Log
/var/log/apache2/access.log
Log Apache mencatat setiap permintaan yang diterima oleh web server. Untuk menganalisis log ini, carilah:
- Permintaan yang tidak biasa: Perhatikan permintaan yang mengandung karakter khusus seperti tanda kutip tunggal ('), tanda kutip ganda ("), atau tanda persen (%). Ini bisa menjadi indikasi adanya upaya injeksi.
- IP address yang mencurigakan: Cari IP address yang sering muncul dengan pola permintaan yang aneh.
- Error 404: Meskipun tidak selalu mengindikasikan serangan, error 404 yang tidak biasa bisa menjadi petunjuk.
- Parameter yang tidak valid: Perhatikan parameter URL yang terlalu panjang atau mengandung karakter-karakter yang tidak sesuai.
Contoh entri log:
192.168.1.100 - - [06/Jun/2023:00:01:00 +0800] "GET /index.php?id=1' OR '1=1'-- HTTP/1.1" 200 500 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36"
Pada contoh di atas, karakter `' OR '1=1'--` yang ditambahkan pada parameter `id` adalah tanda khas serangan SQL injection.
2. /var/log/snort/alert
Log Snort berisi peringatan tentang aktivitas yang mencurigakan yang terdeteksi oleh sistem deteksi intrusi. Carilah peringatan yang terkait dengan SQL injection seperti:
- Aturan SQL injection: Snort memiliki aturan khusus untuk mendeteksi pola serangan SQL injection.
- Permintaan HTTP yang mencurigakan: Perhatikan permintaan HTTP yang mengandung payload SQL injection.
/var/log/snort/snort.log
Log Snort juga berisi informasi lebih detail tentang setiap peristiwa yang terjadi, termasuk paket yang ditangkap. Log ini dapat digunakan untuk melakukan analisis lebih lanjut jika diperlukan.
Menggunakan Wireshark
- Mulai Penangkapan: Jalankan Wireshark dan pilih interface jaringan yang ingin Anda pantau.
- Filter: Gunakan filter seperti `http.request.uri contains "SQL"` atau `http.request.method == "POST"` untuk menyaring lalu lintas yang relevan.
- Analisis: Perhatikan paket HTTP yang mengandung parameter yang mencurigakan. Dekode paket HTTP untuk melihat payload yang dikirimkan.
Langkah-langkah Selanjutnya
- Kumpulkan Informasi Tambahan: Jika Anda menemukan indikator kompromi, kumpulkan informasi tambahan seperti timestamp, IP address, dan detail permintaan.
- Analisis Mendalam: Lakukan analisis mendalam pada data yang telah dikumpulkan untuk mengidentifikasi akar penyebab serangan.
- Bersihkan Sistem: Hapus file-file yang mencurigakan, perbarui password, dan perbaiki kerentanan yang ditemukan.
- Implementasikan Langkah Pencegahan: Terapkan langkah-langkah pencegahan seperti parameterized queries, input validation, dan web application firewall (WAF) untuk mencegah serangan serupa di masa mendatang.
Catatan
- Modul ini hanya memberikan gambaran umum. Proses forensik SQL injection bisa lebih kompleks tergantung pada jenis serangan dan konfigurasi sistem.
- Penting untuk memahami konteks: Analisis log harus dilakukan dengan mempertimbangkan konteks lingkungan sistem dan aplikasi yang sedang berjalan.
- Gunakan Tool tambahan: Selain Wireshark, Anda juga bisa menggunakan Tool forensik lainnya seperti tcpdump, grep, dan tools analisis log khusus.