Wazuh Apache2

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Wazuh-Agent auf der VulnSite

Die VulnSite (Apache/PHP) ist das Angriffsziel im Lab und liefert die Web-Telemetrie an das SIEM. Sie sammelt und überträgt, führt aber keine Active Response aus:

  • Web — Apache-Access-Log (/var/log/apache2/access.log, Angriffsversuche wie SQLi und Command Injection als Logzeilen)
  • FIM — Upload-Verzeichnis (Echtzeit-Erkennung hochgeladener Webshells)

Die Web-Attack-Decoder und -Regeln (Rule-IDs ab 31100) bringt Wazuh bereits mit. Der Agent ist hier Transport für beide Quellen an den Manager wazuh.dkbi.com.

Repository einrichten

GPG-Schlüssel importieren
curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import
chmod 644 /usr/share/keyrings/wazuh.gpg
Repository hinzufügen
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" > /etc/apt/sources.list.d/wazuh.list
apt update

Agent installieren

Agent mit Manager-Adresse und Namen installieren
WAZUH_MANAGER="wazuh.dkbi.com" WAZUH_AGENT_NAME="www" apt install -y wazuh-agent
Dienst aktivieren und starten
systemctl daemon-reload
systemctl enable --now wazuh-agent
Repository deaktivieren (verhindert ungewollte Updates)
sed -i "s/^deb /#deb /" /etc/apt/sources.list.d/wazuh.list
apt update
  • Öffne das Wazuh-Dashboard, gehe zu Agent Management → Summary und prüfe, ob der Agent vulnsite mit Status Active erscheint

FIM auf das Upload-Verzeichnis

Lädt ein Angreifer über die File-Upload-Schwachstelle eine Webshell hoch, erkennt FIM die neue Datei in Echtzeit.

  • Ergänze in /var/ossec/etc/ossec.conf den syscheck-Block:
  <syscheck>
    <directories check_all="yes" report_changes="yes" realtime="yes">/var/www/html/uploads</directories>
  </syscheck>
  
  • realtime="yes" liefert den Alert sofort beim Upload, nicht erst beim nächsten Scan
  • report_changes="yes" zeigt bei Textdateien den Inhalt — bei einer PHP-Shell siehst du den Shell-Code direkt im Alert

Agent neu starten

systemctl restart wazuh-agent

Kontrolle

  • SQLi-Funktionstest von der Kali:
  curl -XGET "http://<vulnsite-ip>/users/?id=SELECT+*+FROM+users"
  
  • Öffne im Dashboard Threat Hunting und filtere auf rule.id:31103
  • Der Alert "SQL injection attempt" muss erscheinen
  • Webshell-Test: Datei über das Upload-Formular hochladen → FIM-Alert unter rule.groups:syscheck