Skip to content

Opgave 34 – 🔍 Detekter forsøg på SQL-injection-angreb med Wazuh

🎯 Formål

Formålet med denne øvelse er at lære, hvordan Wazuh kan overvåge applikationslogs fra en webserver (Apache) og registrere forsøg på SQL-injection-angreb via URL’er.

SQL-injection er en af de mest udbredte webangrebsmetoder, hvor en angriber forsøger at manipulere databasen bag en webapplikation ved at indsætte SQL-kommandoer i inputfelter – typisk via URL’er eller formularer.

💡 Er du ikke introduceret til SQL-injection, eller har du glemt, hvad det er? Så anbefales denne interaktive guide:
👉 SQL Injection – Hacksplaining

📖 En tilsvarende øvelse findes også i den officielle Wazuh-dokumentation:
🔗 Detecting an SQL injection attack


🧰 Forudsætninger

  • Øvelsen skal udføres på to maskiner:
    • Én overvåget host, hvor både Wazuh-agent og Apache er installeret.
    • Én angribende host, der bruges til at simulere angrebet.
  • Wazuh-agenten skal være korrekt installeret og aktiv på den overvågede host.

🛠️ Trin for trin – Sådan gør du

1. ⚙️ Opsætning af Wazuh-agent og Apache

Alle følgende trin udføres på den overvågede host.

  1. Opdater pakkelisten:

    sudo apt update
    

  2. Installer Apache2-webserveren:

    sudo apt install apache2
    

  3. Tjek, at Apache kører:

    systemctl status apache2
    

  4. Test, at websiden svarer (fra en anden host):

    curl http://<OVERVÅGET_HOST_IP>
    

  5. Konfigurer Wazuh-agenten til at overvåge Apache access-loggen:
    Åbn konfigurationsfilen:

sudo nano /var/ossec/etc/ossec.conf

Tilføj følgende blok inden for <ossec_config>-blokken:

<localfile>
  <log_format>apache</log_format>
  <location>/var/log/apache2/access.log</location>
</localfile>
  1. Genstart Wazuh-agenten:
sudo systemctl restart wazuh-agent

2. 🧨 Simulér et SQL-injection-angreb

Udføres fra den angribende host.

Send en forespørgsel, der imiterer et SQL-injection-forsøg (husk at erstatte IP’en):

curl -XGET "http://<OVERVÅGET_HOST_IP>/users/?id=SELECT+*+FROM+users"

3. 📊 Undersøg hændelsen i Wazuh Dashboard

  1. Log ind i Wazuh Dashboard
  2. Gå til Threat hunting → Events
  3. I søgefeltet, indtast:
rule.id:31103
  1. Du bør nu kunne se en hændelse, der matcher SQL-injection-forsøget:
    Sql inject attempt


🤔 Refleksionsspørgsmål

  • Hvordan kan Wazuh bruges til at beskytte mod applikationsangreb som SQL-injection?
  • Hvordan adskiller log-overvågning sig fra fx file integrity monitoring?
  • Hvad ville du gøre, hvis du observerede denne hændelse i et produktionsmiljø?

🧩 CIS Controls – Kobling

Denne øvelse understøtter følgende CIS Controls (v8):

CIS Control Titel Relevans
8 – Audit Log Management Overvågning og analyse af logs Wazuh konfigureres til at analysere Apache access-logs og detektere angrebsmønstre
17 – Incident Response Management Håndtering af sikkerhedshændelser Øvelsen viser, hvordan en konkret hændelse (SQLi-forsøg) identificeres og kan bruges til reaktion
16 – Application Software Security Sikkerhed i webapplikationer Detektion af Angrebet kan afslører sårbar input-håndtering – detektionen giver indblik i applikationens eksponering

💡 Du kan bruge denne viden til at relatere øvelsen til praksisnære sikkerhedsrammeværk og compliance-forståelse – fx i eksamensrapporten eller i analysearbejde i dit projekt.