Skip to content

Øvelse 34 – Detektering af SQL-injection-forsøg med Wazuh

Information

I denne øvelse arbejder du med logbaseret detektion af angreb.

Du vil konfigurere Wazuh til at analysere webserver-logs og identificere mønstre i logdata, der indikerer et muligt angreb.

Formålet er at forstå:

  • hvordan logdata bliver til detections
  • hvordan regler identificerer mistænkelig adfærd
  • hvordan webangreb kan opdages uden direkte adgang til applikationen

log → analyse → detection → alarm

En tilsvarende Proof of Concept findes i Wazuhs officielle dokumentation: Wazuh - detecting sql injection

SQL-injection er en angrebsteknik, hvor en angriber indsætter SQL-kommandoer i inputfelter (fx URL-parametre), som derefter bliver udført af backend-databasen.

Dette kan føre til:

  • læk af data
  • manipulation af data
  • bypass af login-mekanismer

Hvis du ikke er bekendt med SQL-injection, anbefales følgende interaktive introduktion: Hackersplain - SQL injection


Forudsætninger

Øvelsen udføres på to maskiner i proxmox miljøet:

  • Overvåget host

    • Ubuntu
    • Apache2 installeret
    • Wazuh-agent installeret og forbundet til Wazuh-server
  • Angribende host

    • En Linux-maskine (fx Kali)
    • Bruges til at simulere SQL-injection-forsøg

Instruktioner

1️⃣ Opsætning af Apache og Wazuh-agent (På overvåget host, hvis dette ikke allerede er konfigureret)

  1. Opdater pakkelisten: apt update
  2. Installer Apache2: apt install apache2
  3. Verificér at Apache kører: systemctl status apache2
  4. Test at websiden svarer fra en anden host: curl http://<OVERVÅGET_HOST_IP>
  5. Konfigurér Wazuh-agenten til at overvåge Apache access-loggen: /var/ossec/etc/ossec.conf

Tilføj følgende indenfor <ossec_config> blokken:

<localfile>
  <log_format>apache</log_format>
  <location>/var/log/apache2/access.log</location>
</localfile>
  1. Genindlæs konfigurationen ved at genstarte Wazuh-agenten: systemctl restart wazuh-agent

Denne konfiguration fortæller Wazuh-agenten at:

  • Apache access-loggen skal læses
  • Loglinjerne skal parses som Apache-format
  • Loglinjerne sendes til Wazuh-serveren for analyse

2️⃣ Simulér et SQL-injection-forsøg (angribende host)

Udfør følgende forespørgsel mod den overvågede host: curl -XGET "http://<OVERVÅGET_HOST_IP>/users/?id=SELECT+*+FROM+users"

Denne forespørgsel simulerer et SQL-injection-forsøg via URL-parametre.


3️⃣ Analyse i Wazuh Dashboard

  1. Log ind i Wazuh Dashboard
  2. Navigér til Threat hunting → Events
  3. Søg efter hændelser relateret til webangreb, fx ved at:
    • filtrere på rule.groups: web
    • eller søge efter SQL-relaterede mønstre
      💡 Hint: Du kan også søge direkte på et specifikt rule-id, fx: rule.id:31103
  4. Identificér en relevant detection (fx SQL-injection)
  5. Undersøg hændelsens detaljer:
    • Hvilken logfil blev anvendt?
    • Hvilken regel blev udløst?
    • Hvilket input blev detekteret?

👉 Dette er et eksempel på signaturbaseret detektion, hvor Wazuh matcher logdata mod kendte angrebsmønstre.
👉 Overvej om inputtet i loggen ligner legitim brugeradfærd eller et angrebsmønster.
👉 Bemærk at detektionen er baseret på webserverens access-log – ikke direkte på applikationen eller databasen.


Refleksion

Overvej følgende spørgsmål:

  • Hvordan adskiller logbaseret detektion sig fra f.eks. File Integrity Monitoring?
  • Hvilke begrænsninger har detektion baseret på access-logs?
  • Hvordan bør en organisation reagere på denne type hændelse i et produktionsmiljø?
  • Hvilke andre webangreb kunne potentielt detekteres via Apache-logs?
  • Hvordan kan man skelne mellem falske positiver og reelle angreb?
  • Hvad ser Wazuh ikke i dette scenarie?

CIS Controls – Relevans

CIS Control Titel Relevans
8 Audit Log Management Overvågning og analyse af Apache access-logs
16 Application Software Security Identifikation af angreb mod webapplikationer
17 Incident Response Management Detektion af hændelser som grundlag for respons


Last update: 2026-03-25 11:45:21