← Back to list

Final Capstone Project | Web Attack Analysis with Wazuh, Network and Memory Forensics

Hands-on lab analysis for blue team. week 4 final boss.

Aqilah Syaima' Fadel · 2026-03-18 00:50 · 0 claps · 7.2 min read
#wazuh #siem #blue-team #log-monitoring #wireshark
Open on Medium ↗

Final Capstone Project | Web Attack Analysis with Wazuh, Network and Memory Forensics

Hands-on lab analysis for blue team. week 4 final boss.

Setelah selesai mengkonfigurasi VM Wazuh, login kedalam Wazuh server tersebut.

  • Masuk dengan kredensial user: wazuh-user dan password: wazuh
  • Ketik perintah ip a atau hostname -I untuk melihat Alamat IP yang terhubung.
  • Masukkan IP yang muncul (192.168.x.x) ke browser untuk mengakses dashboard Wazuh.

Questions

1. Periksa dan identifikasi nama agent yang terhubung dengan SIEM yang dideploy secara lokal.

Klik agent>dashboard.

Dari dashboard, kita tidak menemukan agent yang aktif. Untuk bisa melihat agent apa saja yang di-deploy kedalam Wazuh tersebut, kita masuk ke direktori **/var/ossec/bin/agent_control dengan opsi `-l`**.

Hasilnya ada 2 agent yang dideploy dan agent yang aktif adalah **wazuh-server, sementara agent `metasploitable` **tidak terhubung.

Answer: **wazuh-server**

2. Identifikasi nama web server yang digunakan atau terhubung dengan SIEM lokal.

Web server adalah bla. Kita bisa melihat web server yang digunakan atau terhubung dengan agent metasploitable dengan cara klik menu Wazuh > Modules > metasploitable > Security events

Didalam security events tersebut, ada 98 event yang terekam pada agent metasploitable.

Karena aktivitas web server berkaitan langsung dengan lalu lintas HTTP/HTTPS, maka dilakukan proses filtering log menggunakan keyword “web” untuk mengidentifikasi event yang relevan. Dari hasil filter tersebut, ditemukan sebanyak 7 event yang terindikasi berkaitan dengan aktivitas serangan berbasis web (web attack).

Dari 7 event itu, kita bisa lihat dengan menggunakan field berikut:

  • **agent.​name** untuk menampilkan nama agent yang terhubung
  • **full_log** untuk menampilkan data log mentah secara utuh
  • **location** menunjukkan lokasi file log pada sistem
  • **rule.​description** memberikan informasi hasil deteksi rule

Berdasarkan hasil analisis pada field **full_log, ada request HTTP yang berisi payload SQLi pada parameter URL. Hal ini diperkuat oleh field rule.description yang mengklasifikasikan aktivitas tersebut sebagai SQL injection attempt. Selain itu, pada field `location**ditemukan bahwa log berasal dari direktori/var/log/apache2/access.log`

Direktori tersebut adalah lokasi standar penyimpanan log akses milik web server Apache HTTP Server. Dengan demikian, dapat disimpulkan bahwa layanan web server yang digunakan dalam lingkungan SIEM tersebut adalah Apache2.

Answer: Apache2

3. Sebutkan nama index di Wazuh yang digunakan untuk menyimpan semua log mentah (RAW logs) yang dikumpulkan oleh SIEM lokal.

Wazuh menyimpan data dalam bentuk yang berbeda dan terpisah antara alert atau log mentah.

Pada wazuh dashboard, klik garis tiga disebelah kiri, pilih menu discover. Pada bagian index ada Ini wazuh alert, isinya Cuma nampilin aktivitas yang terindikasi sebagai ancaman dan dikategorikan dalam peringatan

Namanya adalah wazuh archives

Ini wazuh alert, isinya Cuma nampilin aktivitas yang terindikasi sebagai ancaman dan dikategorikan dalam peringatan

Kalau archive semua log mentah, baik yang alert maupun bukan

Answer: wazuh-archives

4. Periksa jumlah total aktivitas SQL Injection (SQLI) yang terdeteksi selama menyelesaikan latihan SQL-Injection Activity Detected.

Dalam mengidentifikasi jumlah total aktivitas SQL Injection (SQLi), kita bisa analisis melalui menu **Security Events di dashboard Wazuh dengan memanfaatkan fitur pencarian (filtering). Disini aku menggunakan keyword `sqli**dan hasilnya terdapat 4 log yang menampilkan percobaan serangan ke endpoint/prod/vulnerabilities/sqli/`

Dari hasil filtering, ada 4 event yang mengindikasikan aktivitas SQL Injection. Hal ini dapat diidentifikasi melalui beberapa field penting, yaitu:

  • **full_log** : Menampilkan request HTTP yang berisi payload SQL Injection
  • **location**: Menunjukkan log berasal dari file /var/log/apache2/access.log
  • **rule.description** : Mengindikasikan status serangan, seperti SQL injection attempt dan A web attack returned code 200 (success)

Selain itu, ada 4 payload yang digunakan untuk menyerang endpoint /prod/vulnerabilities/sqli/ yaitu:

/prod/vulnerabilities/sqli/?id=%27+or+1%3D1%23&Submit=Submit​
/prod/vulnerabilities/sqli/?id=%27+UNION+SELECT+user%2C+password+FROM+users%23&Submit=Submit
/prod/vulnerabilities/sqli/?id=1+or+1%3D1+UNION+SELECT+user%2C+password+FROM+users%23&Submit=Submit
/prod/vulnerabilities/sqli/?id=%27+UNION+SELECT+user%2C+password+FROM+users%23&Submit=Submit

Answer: 4 aktivitas

5. Identifikasi HTTP status code yang terkait dengan aktivitas Cross-Site Scripting (XSS).

ada 22 hits yang dicari dengan key vulnerabilities

Ketika dicari ada log Bernama xss_r dengan index wazuh-archives-*, ada 9. Kita bisa lihat pada field data.id

Feb 27, 2024 @ 00:38:46.937 full_log:192.168.117.143 — — [26/Feb/2024:12:38:54 -0500] “GET /prod/vulnerabilities/upload/ HTTP/1.1” 200 4516 “http://192.168.117.190/prod/vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28document.cookie%29%3B%3C%2Fscript%3E" “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36” agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.protocol:GET data.srcip:192.168.117.143 data.id:200 data.url:/prod/vulnerabilities/upload/ decoder.name:web-accesslog input.type:log @timestamp:Feb 27, 2024 @ 00:38:46.937 location:/var/log/apache2/access.log id:1708969126.15900 timestamp:Feb 27, 2024 @ 00:38:46.937 _index:wazuh-archives-4.x-2024.02.26

Feb 27, 2024 @ 00:38:16.907 full_log:192.168.117.143 — — [26/Feb/2024:12:38:25 -0500] “GET /prod/vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28document.cookie%29%3B%3C%2Fscript%3E HTTP/1.1” 200 4374 “http://192.168.117.190/prod/vulnerabilities/xss_r/?name=%22+%3E%3C%2Foption%3E%3C%2Fselect%3E%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E" “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36” agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.protocol:GET data.srcip:192.168.117.143 data.id:200 data.url:/prod/vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28document.cookie%29%3B%3C%2Fscript%3E rule.firedtimes:4 rule.mail:false rule.level:6 rule.pci_dss:6.5, 11.4 rule.tsc:CC6.6, CC7.1, CC8.1, CC6.1, CC6.8, CC7.2, CC7.3 rule.description:A web attack returned code 200 (success). rule.groups:web, accesslog, attack rule.mitre.technique:Exploit Public-Facing Application rule.mitre.id:T1190 rule.mitre.tactic:Initial Access rule.id:31106 rule.nist_800_53:SA.11, SI.4 rule.gdpr:IV_35.7.d decoder.name:web-accesslog input.type:log @timestamp:Feb 27, 2024 @ 00:38:16.907 location:/var/log/apache2/access.log id:1708969096.15182 timestamp:Feb 27, 2024 @ 00:38:16.907 _index:wazuh-archives-4.x-2024.02.26

Feb 27, 2024 @ 00:38:12.954 full_log:192.168.117.143 — — [26/Feb/2024:12:38:20 -0500] “GET /prod/vulnerabilities/xss_r/x HTTP/1.1” 404 312 “http://192.168.117.190/prod/vulnerabilities/xss_r/?name=%22+%3E%3C%2Foption%3E%3C%2Fselect%3E%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E" “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36” agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.protocol:GET data.srcip:192.168.117.143 data.id:404 data.url:/prod/vulnerabilities/xss_r/x rule.firedtimes:2 rule.mail:false rule.level:5 rule.pci_dss:6.5, 11.4 rule.tsc:CC6.6, CC7.1, CC8.1, CC6.1, CC6.8, CC7.2, CC7.3 rule.description:Web server 400 error code. rule.groups:web, accesslog, attack rule.id:31101 rule.nist_800_53:SA.11, SI.4 rule.gdpr:IV_35.7.d decoder.name:web-accesslog input.type:log @timestamp:Feb 27, 2024 @ 00:38:12.954 location:/var/log/apache2/access.log id:1708969092.15182 timestamp:Feb 27, 2024 @ 00:38:12.954 _index:wazuh-archives-4.x-2024.02.26

Feb 27, 2024 @ 00:38:12.953 full_log:192.168.117.143 — — [26/Feb/2024:12:38:20 -0500] “GET /prod/vulnerabilities/xss_r/?name=%22+%3E%3C%2Foption%3E%3C%2Fselect%3E%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E HTTP/1.1” 200 4399 “http://192.168.117.190/prod/vulnerabilities/xss_r/?name=%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E" “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36” agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.protocol:GET data.srcip:192.168.117.143 data.id:200 data.url:/prod/vulnerabilities/xss_r/?name=%22+%3E%3C%2Foption%3E%3C%2Fselect%3E%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E decoder.name:web-accesslog input.type:log @timestamp:Feb 27, 2024 @ 00:38:12.953 location:/var/log/apache2/access.log id:1708969092.15182 timestamp:Feb 27, 2024 @ 00:38:12.953 _index:wazuh-archives-4.x-2024.02.26

Feb 27, 2024 @ 00:38:12.909 full_log:[Mon Feb 26 12:38:20 2024] [error] [client 192.168.117.143] File does not exist: /var/www/prod/vulnerabilities/xss_r/x, referer: http://192.168.117.190/prod/vulnerabilities/xss_r/?name=%22+%3E%3C%2Foption%3E%3C%2Fselect%3E%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E predecoder.timestamp:Mon Feb 26 12:38:20 2024 agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.srcip:192.168.117.143 decoder.parent:apache-errorlog decoder.name:apache-errorlog input.type:log @timestamp:Feb 27, 2024 @ 00:38:12.909 location:/var/log/apache2/error.log id:1708969092.14501 timestamp:Feb 27, 2024 @ 00:38:12.909 _index:wazuh-archives-4.x-2024.02.26

Feb 27, 2024 @ 00:37:44.757 full_log:192.168.117.143 — — [26/Feb/2024:12:37:52 -0500] “GET /prod/vulnerabilities/xss_r/?name=%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E HTTP/1.1” 200 4378 “http://192.168.117.190/prod/vulnerabilities/xss_r/" “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36” agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.protocol:GET data.srcip:192.168.117.143 data.id:200 data.url:/prod/vulnerabilities/xss_r/?name=%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E decoder.name:web-accesslog input.type:log @timestamp:Feb 27, 2024 @ 00:37:44.757 location:/var/log/apache2/access.log id:1708969064.13736 timestamp:Feb 27, 2024 @ 00:37:44.757 _index:wazuh-archives-4.x-2024.02.26

Feb 27, 2024 @ 00:37:44.757 full_log:192.168.117.143 — — [26/Feb/2024:12:37:52 -0500] “GET /prod/vulnerabilities/xss_r/x HTTP/1.1” 404 312 “http://192.168.117.190/prod/vulnerabilities/xss_r/?name=%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E" “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36” agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.protocol:GET data.srcip:192.168.117.143 data.id:404 data.url:/prod/vulnerabilities/xss_r/x rule.firedtimes:1 rule.mail:false rule.level:5 rule.pci_dss:6.5, 11.4 rule.tsc:CC6.6, CC7.1, CC8.1, CC6.1, CC6.8, CC7.2, CC7.3 rule.description:Web server 400 error code. rule.groups:web, accesslog, attack rule.id:31101 rule.nist_800_53:SA.11, SI.4 rule.gdpr:IV_35.7.d decoder.name:web-accesslog input.type:log @timestamp:Feb 27, 2024 @ 00:37:44.757 location:/var/log/apache2/access.log id:1708969064.13736 timestamp:Feb 27, 2024 @ 00:37:44.757 _index:wazuh-archives-4.x-2024.02.26

Feb 27, 2024 @ 00:37:44.713 full_log:[Mon Feb 26 12:37:52 2024] [error] [client 192.168.117.143] File does not exist: /var/www/prod/vulnerabilities/xss_r/x, referer: http://192.168.117.190/prod/vulnerabilities/xss_r/?name=%3Cimg+src%3Dx+onerror%3D%22alert%28document.cookie%29%22%3E predecoder.timestamp:Mon Feb 26 12:37:52 2024 agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.srcip:192.168.117.143 decoder.parent:apache-errorlog decoder.name:apache-errorlog input.type:log @timestamp:Feb 27, 2024 @ 00:37:44.713 location:/var/log/apache2/error.log id:1708969064.13736 timestamp:Feb 27, 2024 @ 00:37:44.713 _index:wazuh-archives-4.x-2024.02.26

Feb 27, 2024 @ 00:37:34.253 full_log:192.168.117.143 — — [26/Feb/2024:12:37:42 -0500] “GET /prod/vulnerabilities/xss_r/ HTTP/1.1” 200 4317 “http://192.168.117.190/prod/vulnerabilities/sqli/?id=%27+UNION+SELECT+user%2C+password+FROM+users%23&Submit=Submit" “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36” agent.name:metasploitable agent.id:001 manager.name:wazuh-server data.protocol:GET data.srcip:192.168.117.143 data.id:200 data.url:/prod/vulnerabilities/xss_r/ decoder.name:web-accesslog input.type:log @timestamp:Feb 27, 2024 @ 00:37:34.253

404 dan 200 (jelasin deskripsi kenapa bisa 200 dan 404)

Answer: 404 dan 200

6. Identifikasi nama file yang terkait dengan aktivitas File Inclusion.

Dalam proses investigasi log pada SIEM Wazuh, dilakukan pemeriksaan pada index wazuh-archives-4.x-2024.02.26. Dari aktivitas yang tercatat pada agen metasploitable, terdeteksi serangkaian permintaan HTTP yang tidak wajar dari alamat IP 192.168.117.143.

Awalnya, penyerang mengakses jalur standar pada aplikasi web, namun pada tanggal 26 Februari 2024 pukul 13:00:39 (waktu server), pola serangan berubah menjadi agresif. Penyerang memanfaatkan parameter ?page= pada modul kerentanan File Inclusion aplikasi tersebut.

Dari log mentah (full_log) yang dianalisis, terdapat dua file utama yang menjadi titik sentral dalam aktivitas ini:

  1. File Target (Sensitive Data): /etc/passwd Aktivitas ini secara spesifik menargetkan file sistem Linux /etc/passwd. Penyerang menggunakan teknik Directory Traversal dengan menyisipkan karakter ../../../../../../ untuk melompat keluar dari folder web server dan mengakses file tersebut di direktori akar sistem. Hal ini terlihat jelas dalam log:
GET /prod/vulnerabilities/fi/?page=file/../../../../../../etc/passwd
GET /prod/vulnerabilities/fi/?page=/etc/passwd
  1. File Aplikasi Rentan: include.php Sebelum melakukan eksploitasi ke file sistem, log menunjukkan bahwa penyerang berinteraksi dengan file include.php.
GET /prod/vulnerabilities/fi/?page=include.php

File ini berfungsi sebagai skrip pemanggil halaman (wrapper) yang tidak melakukan validasi input dengan benar, sehingga memungkinkan input berbahaya masuk ke dalam fungsi eksekusi file di server.

Berdasarkan alur waktu log tersebut, file yang terkait dengan aktivitas file inclusion adalah **/etc/passwd (sebagai file yang berusaha dicuri) dan `include.php`** (sebagai file yang menyediakan celah keamanan) dengan status aktivitas adalah 200 (sukses)

Aswer: /etc/passwd dan include.php

7. Tentukan port yang terkait dengan komunikasi jaringan mencurigakan pada latihan Remote File Inclusion Activity Detected.

8. Identifikasi source port (src port) yang terhubung dengan destination port 4444 pada file external.pcapng.

9. Tentukan PID (Process ID) yang terkait dengan shell.exe pada file memory dump suspected.raw.

10. Tentukan URL yang terkait dengan aktivitas Local File Inclusion (LFI) yang terdeteksi pada SIEM lokal.

Dari nomor 6, Langkah awal adalah melakukan pencarian terhadap aktivitas yang mengandung indikasi File Inclusion, khususnya Local File Inclusion (LFI). Filtering dapat dilakukan dengan kata kunci:

Pada field full_log, terlihat adanya request HTTP yang mengarah ke endpoint /prod/vulnerabilities/fi/?page=…. Kemudian terdapat payload mencurigakan berupa ../../../../../../etc/passwd

📌 Pola ../ (directory traversal) menunjukkan upaya penyerang untuk mengakses file sensitif di luar direktori aplikasi.

3️⃣ Analisis Field data.url

Field data.url memberikan representasi URL yang lebih terstruktur. Dari hasil observasi, ditemukan URL lengkap:

/prod/vulnerabilities/fi/?page=file/../../../../../../etc/passwd

4️⃣ Indikasi Serangan LFI

URL tersebut menunjukkan karakteristik khas Local File Inclusion, yaitu:

  • Parameter page dimanipulasi
  • Menggunakan teknik directory traversal (../)
  • Target file sensitif sistem:

/etc/passwd

File ini merupakan file penting pada sistem Linux yang sering menjadi target dalam eksploitasi LFI.

5️⃣ Kesimpulan

Berdasarkan hasil analisis log pada dashboard Wazuh, ditemukan bahwa aktivitas Local File Inclusion (LFI) terjadi melalui URL berikut:

/prod/vulnerabilities/fi/?page=file/../../../../../../etc/passwd

URL tersebut mengindikasikan adanya upaya eksploitasi dengan teknik directory traversal untuk mengakses file sensitif pada sistem.

Answer: /prod/vulnerabilities/fi/?page=file/../../../../../../etc/passwd


메타데이터
post_id
0f3ed458dbda
slug
final-capstone-project-web-attack-analysis-with-wazuh-volatility-0f3ed458dbda
url
https://medium.com/@nasakennedy40/final-capstone-project-web-attack-analysis-with-wazuh-volatility-0f3ed458dbda
canonical_url
https://medium.com/@nasakennedy40/final-capstone-project-web-attack-analysis-with-wazuh-volatility-0f3ed458dbda
author_url
https://medium.com/@nasakennedy40
status
ok
fetched_at
2026-07-13 17:43:34