
Blue Team Lab konzentriert sich auf die Analyse von Apache-Webzugriffsprotokollen, um Directory-Brute-Forcing und Web-Scanning-Aktivitäten zu erkennen.
Blue-Team-Labor, das sich auf die Analyse von Apache-HTTP-Server-Logs konzentriert, um Web-Scanning-Aktivitäten, Directory Enumeration und Pfad-Traversal-Versuche zu erkennen.
Installieren und exponieren Sie einen Apache-Webserver in einer isolierten Laborumgebung, simulieren Sie automatisiertes Web-Scanning mit branchenüblichen Tools und analysieren Sie die generierten Logs aus der Blue-Team-Perspektive – Identifizierung von Angriffsmustern, Tool-Signaturen und Indikatoren für bösartige Aufklärungsaktivitäten.
| Komponente | Details |
|---|---|
| Angreifer-VM | Kali Linux |
| Ziel-VM | Debian 13 |
| Netzwerk | NAT-Netzwerk (VirtualBox) |
| Angreifer-IP | 10.0.2.5 |
| Ziel-IP | 10.0.2.15 |
| Webserver | Apache 2.4.67 |
| Logquellen | /var/log/apache2/access.log, /var/log/apache2/error.log |
| HTTP-Port | 80 |
Es wurde bestätigt, dass der Apache-HTTP-Server auf der Zielmaschine aktiv und betriebsbereit war.```bash sudo systemctl status apache2 --no-pager
Ergebnis: `active (running)` seit Wed 2026-05-06 21:09:17. Apache 2.4.67 (Debian), Haupt-PID 3164, 55 aktive Aufgaben.
---
### 2. Ermittlung der Ziel-IP-Adresse
Die IP-Adresse des Debian-Zielrechners wurde ermittelt.```bash
ip a
Ziel-IP: 10.0.2.15/24 — Schnittstelle enp0s3
Überprüfte die Netzwerkverbindung zwischen der Kali-Angreifermaschine und dem Debian-Ziel.```bash ping -c 4 10.0.2.15
**Ergebnis:** 4 packets transmitted, 4 received, 0% packet loss. RTT min/avg/max: 0.495/1.288/2.139ms.
---
### 4. Apache Browser Test
Zugriff auf den Apache-Server über den Kali-Browser, um die Verfügbarkeit des HTTP-Dienstes zu bestätigen.```
http://10.0.2.15
Ergebnis: Apache2 Debian Standardseite erfolgreich geladen – Bestätigung, dass der Webserver erreichbar war und auf HTTP-Anfragen reagierte.
Es wurden Testverzeichnisse und -seiten auf dem Zielserver erstellt, um eine realistische Webanwendungsstruktur zu simulieren.```bash sudo mkdir -p /var/www/html/admin sudo mkdir -p /var/www/html/backup sudo mkdir -p /var/www/html/login echo "
Verzeichnisse erstellt: `/admin`, `/backup`, `/login`
---
### 6. Nikto Scan
Nikto wurde gegen den Ziel-Webserver ausgeführt, um einen automatisierten Schwachstellenscan zu simulieren.```bash
nikto -h http://10.0.2.15
Nikto v2.5.0 — Start Time: 2026-05-06 20:16:56 — End Time: 20:17:13 (17 seconds)
Von Nikto gemeldete Ergebnisse:
X-Frame-Options — Clickjacking-Schutz nicht vorhandenX-Content-Type-Options — MIME-Sniffing-Schutz nicht vorhanden/admin/, /backup/, /login//admin/index.html — Admin-Loginseite zugänglichDirb wurde ausgeführt, um Verzeichnis-Brute-Force gegen den Ziel-Webserver durchzuführen.```bash dirb http://10.0.2.15
**DIRB v2.22 — Start: Wed May 6 20:19:50 2026 — Ende: 20:19:59 2026 (9 Sekunden)**
Verwendete Wortliste: `/usr/share/dirb/wordlists/common.txt` — 4612 getestete Wörter
Gefundene Verzeichnisse und Dateien:
| URL | Code | Size |
| --------------------------------- | ---- | ----- |
| http://10.0.2.15/index.html | 200 | 10703 |
| http://10.0.2.15/server-status | 403 | 314 |
| http://10.0.2.15/admin/ | 200 | — |
| http://10.0.2.15/admin/index.html | 200 | 21 |
| http://10.0.2.15/backup/ | 200 | — |
| http://10.0.2.15/login/ | 200 | — |
| http://10.0.2.15/login/index.html | 200 | 20 |
**Warnung:** `/backup/`-Verzeichnislisting ist aktiviert — keine Indexdatei vorhanden, Verzeichnisinhalte direkt durchsuchbar.
**Insgesamt heruntergeladen:** 13836 Bytes — **Gefunden:** 4 Ressourcen
---
### 8. Zugriffsprotokollanalyse
Rohe Zugriffsprotokolleinträge wurden untersucht, um das Angriffsmuster zu identifizieren.```bash
sudo cat /var/log/apache2/access.log
Beispieleinträge aus der Nikto-Scanphase (21:18:32):``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.tar.bz2 HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10_0_2_15.gz HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.sql HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.zip HTTP/1.1" 404 527
Beispieleinträge aus der Dirb-Scanphase (21:21:34):```
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xsql HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xxx HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zimbra HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zoom HTTP/1.1" 404 472
Beobachtetes Muster: Hunderte sequenzieller Anfragen innerhalb derselben Sekunde, alle auf nicht existierende Pfade abzielend – konsistent mit automatisiertem Scanverhalten.
Alle Zugriffslogeinträge, die von der Angreifer-IP stammen, wurden herausgefiltert.```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30
Zusätzlich beobachtete Muster:
- Nikto versuchte, auf Backup-Dateien zuzugreifen, wobei die Server-IP als Dateiname verwendet wurde (z. B. `10.0.2.15.tar.bz2`, `10.0.2.15.sql`, `10.0.2.15.zip`)
- Dirb durchlief alphabetisch geordnete Wortlisten, die auf jedes entdeckte Verzeichnis abzielten
- Beide Tools generierten Anfragen mit Maschinengeschwindigkeit — mehrere Einträge pro Sekunde aus demselben Quellportbereich
---
### 10. Verteilung der HTTP-Statuscodes
Anfragen nach HTTP-Antwortcode gezählt, um die Angriffsfläche zu quantifizieren.```bash
sudo grep " 200 " /var/log/apache2/access.log | wc -l
sudo grep " 403 " /var/log/apache2/access.log | wc -l
sudo grep " 404 " /var/log/apache2/access.log | wc -l
| HTTP-Code | Bedeutung | Anzahl |
|---|---|---|
| 200 | OK — Ressource gefunden und ausgeliefert | 177 |
| 403 | Verboten — Ressource existiert, aber Zugriff verweigert | 26 |
| 404 | Nicht gefunden — Ressource existiert nicht | 21740 |
Gesamtzahl 404-Fehler: 21.740 — die überwältigende Mehrheit der Anfragen zielte auf Pfade ab, die nicht existieren, was das charakteristische Merkmal automatisierten Directory-Brute-Forcings ist.
Alle Zugriffsprotokolleinträge, die vom Angreifer stammen, wurden gezählt.```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l
**Gesamtzahl der Anfragen von 10.0.2.5: 21,962**
---
### 12. Tool-Signatur-Identifikation
Sucht nach scanner-spezifischen Signaturen im Zugriffsprotokoll.
#### Nikto-Signatur```bash
sudo grep "nikto" /var/log/apache2/access.log | head -5
Ergebnis:``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "PUT /nikto-test-pk9VPSjF.html HTTP/1.1" 405 590 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
Nikto erstellte eine Testdatei (`nikto-test-pk9VPSjF.html`) per PUT-Anfrage, um die Schreibberechtigungen auf dem Server zu überprüfen.
#### Dirb Signatur```bash
sudo grep "DirBuster\|dirb" /var/log/apache2/access.log | head -5
Ergebnis:``` 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:32 -0300] "GET /login/dirb HTTP/1.1" 404 472
Dirbs eigener Name erscheint in der von ihm verwendeten Wortliste und hinterlässt eine deutliche Signatur in den Logs.
---
### 13. Analyse der Fehlerprotokolle```bash
sudo cat /var/log/apache2/error.log
Critical events found:
Nikto versuchte, auf sensible Systemdateien zuzugreifen, indem es Verzeichnisgrenzen überschritt:``` [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../../../etc/shadow) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini) [client 10.0.2.5] AH10244: invalid URI path (/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../boot.ini) [client 10.0.2.5] AH10244: invalid URI path (/../../../../winnt/repair/sam._)
Enthaltene Ziele: `/etc/passwd`, `/etc/shadow`, `boot.ini`, `win.ini`, Windows SAM-Datenbank — alle klassischen Path-Traversal-Ziele.
#### Ungültige HTTP-Methoden
Nikto testete nicht standardmäßige HTTP-Methoden, um Fehlkonfigurationen zu identifizieren:```
[client 10.0.2.5] AH00135: Invalid method in request DIWHWPJH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request DEBUG / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request TRACK / HTTP/1.0
[client 10.0.2.5] AH00135: Invalid method in request SEARCH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request INDEX / HTTP/1.1
Beide Tools versuchten, auf Apache-geschützte Konfigurationsdateien zuzugreifen:``` [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htaccess [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/server-status [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/admin/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/login/.htpasswd
#### VMware-spezifische Pfad-Traversierung
Nikto hat auch auf VMware-Infrastruktur-Exposition getestet:```
[client 10.0.2.5] AH10244: invalid URI path (/sdk/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/etc/vmware/hostd/vmInventory.xml)
Die Zugriffs- und Fehlerprotokolle zeigten ein zweiphasiges automatisiertes Angriffsmuster, das von einer einzelnen IP-Adresse (10.0.2.5) ausging und den Apache-Webserver auf Port 80 angriff.
Nikto führte 8.102 Anfragen in 17 Sekunden durch und testete auf bekannte Webschwachstellen, fehlende Sicherheitsheader, gefährliche HTTP-Methoden und Path-Traversal-Vektoren. Das Fehlerprotokoll erfasste mehrere Versuche, auf /etc/passwd, /etc/shadow, boot.ini und Windows-SAM-Dateien zuzugreifen – alle durch die URI-Validierung von Apache blockiert. Nikto versuchte außerdem eine PUT-Anfrage, um eine Testdatei auf dem Server zu erstellen, was bestätigt, dass die Schreibberechtigungen getestet wurden.
Dirb testete 4.612 Wörter aus seiner gewöhnlichen Wortliste gegen das Root-Verzeichnis und jedes entdeckte Unterverzeichnis. Dies erzeugte den Großteil der beobachteten 21.740 404-Fehler. Dirb identifizierte erfolgreich /admin/, /backup/ und /login/ als gültige Verzeichnisse. Für das Verzeichnis /backup/ wurde festgestellt, dass die Verzeichnisauflistung aktiviert war – eine erhebliche Fehlkonfiguration, die es einem Angreifer ermöglichen würde, dessen Inhalte direkt zu durchsuchen.
Die Konzentration von 21.962 HTTP-Anfragen von einer einzelnen Quell-IP innerhalb von etwa 7 Minuten, kombiniert mit dem Vorhandensein von Path-Traversal-Versuchen, ungültigen HTTP-Methoden und toolspezifischen Signaturen sowohl in den Zugriffs- als auch in den Fehlerprotokollen, stellt einen klaren Beweis für automatisierte Web-Erkundungsaktivitäten dar.
Es wurde keine erfolgreiche Ausnutzung beobachtet. Alle Path-Traversal-Versuche wurden von der URI-Validierungs-Engine von Apache abgewiesen. Der Zugriff auf geschützte Dateien (.htpasswd, .htaccess, server-status) wurde durch die Serverkonfiguration verweigert.
Basierend auf den Ergebnissen werden die folgenden Kontrollen empfohlen:
X-Frame-Options, X-Content-Type-Options, Content-Security-Policy/backup//server-status auf localhost beschränkenerror.log kontinuierlich auf AH10244-Ereignisse (ungültiger URI-Pfad) überwachen/admin/, /backup/) aus der öffentlichen Exposition entfernen oder deren Zugriff einschränkenServerTokens Prod, ServerSignature Off)Dieses Labor demonstrierte, wie automatisierte Web-Scanning-Tools unverwechselbare und identifizierbare Muster sowohl in Apache-Zugriffs- als auch in Fehlerprotokollen hinterlassen. Durch die Korrelation der Anzahl der 404-Fehler, des Vorhandenseins von Path-Traversal-Versuchen in error.log, ungültiger HTTP-Methodenanfragen und toolspezifischer Signaturen in Anforderungspfaden und User-Agent-Strings war es möglich, die vollständige Angriffszeitachse zu rekonstruieren und die verwendeten Tools zu identifizieren – ohne vorherige Kenntnisse der Aktionen des Angreifers.
Die Übung unterstreicht die Bedeutung der Überwachung von Webserverprotokollen, der Konfiguration von Sicherheitsheadern und von Verzeichniszugriffskontrollen als grundlegende Blue-Team-Praktiken für webzugängliche Infrastruktur.
Blue-Team-Labor, das sich auf die Analyse von Apache-Serverprotokollen konzentriert, um Web-Scans, Verzeichnisenumeration und Path-Traversal-Versuche zu erkennen.
Installieren und Bereitstellen eines Apache-Webservers in einer isolierten Laborumgebung, Simulieren automatisierter Scans mit häufig in Sicherheitstests verwendeten Tools und Analysieren der erzeugten Protokolle aus einer Blue-Team-Perspektive – Identifizieren von Angriffsmustern, Toolsignaturen und Indikatoren für bösartige Erkundungsaktivitäten.
Bestätigt, dass der Apache-Server auf dem Zielrechner aktiv und in Betrieb war.```bash sudo systemctl status apache2 --no-pager
Ergebnis: `active (running)` seit Wed 2026-05-06 21:09:17. Apache 2.4.67 (Debian), Haupt-PID 3164, 55 aktive Aufgaben.
---
### 2. Identifizierung der Ziel-IP
Identifiziert wurde die IP-Adresse der Ziel-Debian-Maschine.```bash
ip a
IP des Ziels: 10.0.2.15/24 — interface enp0s3
Die Netzwerkkonnektivität zwischen Kali und Debian wurde überprüft.```bash ping -c 4 10.0.2.15
**Ergebnis:** 4 Pakete gesendet, 4 empfangen, 0% Verlust. RTT min/avg/max: 0.495/1.288/2.139ms.
---
### 4. Apache-Test im Browser
Acessado o servidor Apache a partir do navegador do Kali para confirmar disponibilidade do serviço HTTP.```
http://10.0.2.15
Ergebnis: Standardseite von Apache2 Debian erfolgreich geladen – Bestätigung, dass der Webserver erreichbar war und auf HTTP-Anfragen antwortete.
Erstellte Verzeichnisse und Testseiten auf dem Zielserver, um eine realistische Webanwendungsstruktur zu simulieren.```bash sudo mkdir -p /var/www/html/admin sudo mkdir -p /var/www/html/backup sudo mkdir -p /var/www/html/login echo "
Erstellte Verzeichnisse: `/admin`, `/backup`, `/login`
---
### 6. Scan mit Nikto
Nikto wurde gegen den Ziel-Webserver ausgeführt, um eine automatisierte Schwachstellenscanning zu simulieren.```bash
nikto -h http://10.0.2.15
Nikto v2.5.0 — Start: 2026-05-06 20:16:56 — Ende: 20:17:13 (17 Sekunden)
Ergebnisse von Nikto:
X-Frame-Options — kein Clickjacking-SchutzX-Content-Type-Options — kein MIME-Sniffing-Schutz/admin/, /backup/, /login//admin/index.html — öffentlich zugängliche Admin-SeiteDirb wurde ausgeführt, um eine Directory-Brute-Force gegen den Ziel-Webserver durchzuführen.```bash dirb http://10.0.2.15
**DIRB v2.22 — Start: Wed May 6 20:19:50 2026 — Ende: 20:19:59 2026 (9 Sekunden)**
Verwendete Wortliste: `/usr/share/dirb/wordlists/common.txt` — 4612 getestete Wörter
Gefundene Verzeichnisse und Dateien:
| URL | Code | Größe |
| --------------------------------- | ---- | ----- |
| http://10.0.2.15/index.html | 200 | 10703 |
| http://10.0.2.15/server-status | 403 | 314 |
| http://10.0.2.15/admin/ | 200 | — |
| http://10.0.2.15/admin/index.html | 200 | 21 |
| http://10.0.2.15/backup/ | 200 | — |
| http://10.0.2.15/login/ | 200 | — |
| http://10.0.2.15/login/index.html | 200 | 20 |
**Warnung:** Das Verzeichnis `/backup/` hat die Auflistung aktiviert — ohne Indexdatei kann der Verzeichnisinhalt direkt durchsucht werden.
**Heruntergeladen insgesamt:** 13836 Bytes — **Gefunden:** 4 Ressourcen
---
### 8. Analyse des Zugriffsprotokolls
Die rohen Einträge des Zugriffsprotokolls wurden inspiziert, um das Angriffsmuster zu identifizieren.```bash
sudo cat /var/log/apache2/access.log
Eingaben der Nikto-Scan-Phase (21:18:32):``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.tar.bz2 HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10_0_2_15.gz HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.sql HTTP/1.1" 404 527 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "GET /10.0.2.15.zip HTTP/1.1" 404 527
Eingaben der Dirb-Scanphase (21:21:34):```
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xsql HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/xxx HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zimbra HTTP/1.1" 404 472
10.0.2.5 - - [06/May/2026:21:21:34 -0300] "GET /login/zoom HTTP/1.1" 404 472
Beobachtetes Muster: Hunderte von aufeinanderfolgenden Anfragen innerhalb derselben Sekunde, alle auf nicht vorhandene Pfade gerichtet – Verhalten, das mit automatisiertem Scannen übereinstimmt.
Gefiltert alle Einträge des Zugriffsprotokolls, die von der IP des Angreifers stammen.```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | head -30
Padrões adicionais observados:
- O Nikto tentou acessar arquivos de backup usando o IP do servidor como nome de arquivo (ex: `10.0.2.15.tar.bz2`, `10.0.2.15.sql`, `10.0.2.15.zip`)
- O Dirb iterou por wordlists em ordem alfabética direcionando cada diretório descoberto
- Ambas as ferramentas geraram requisições em velocidade de máquina — múltiplas entradas por segundo na mesma faixa de porta de origem
---
### 10. Distribuição de Códigos de Status HTTP
Contabilizadas as requisições por código de resposta HTTP para quantificar a superfície de ataque.```bash
sudo grep " 200 " /var/log/apache2/access.log | wc -l
sudo grep " 403 " /var/log/apache2/access.log | wc -l
sudo grep " 404 " /var/log/apache2/access.log | wc -l
| Código HTTP | Significado | Quantidade |
|---|---|---|
| 200 | OK — Ressource gefunden und ausgeliefert | 177 |
| 403 | Verboten — Ressource existiert, Zugriff verweigert | 26 |
| 404 | Nicht gefunden — Ressource existiert nicht | 21.740 |
Gesamtanzahl 404-Fehler: 21.740 — die überwältigende Mehrheit der Anfragen war auf nicht existierende Pfade gerichtet, was das definierende Merkmal automatischer Directory-Brute-Force-Angriffe ist.
Sämtliche Einträge des Zugriffslogs, die vom Angreifer stammen, wurden zusammengezählt.```bash sudo grep "10.0.2.5" /var/log/apache2/access.log | wc -l
**Gesamtzahl der Anfragen von 10.0.2.5: 21.962**
---
### 12. Signaturerkennung der Tools
Gesucht wurden spezifische Signaturen der Scanner im Zugriffsprotokoll.
#### Signatur des Nikto```bash
sudo grep "nikto" /var/log/apache2/access.log | head -5
Ergebnis:``` 10.0.2.5 - - [06/May/2026:21:18:32 -0300] "PUT /nikto-test-pk9VPSjF.html HTTP/1.1" 405 590 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
Nikto hat eine Testdatei (`nikto-test-pk9VPSjF.html`) mittels PUT-Anfrage erstellt, um die Schreibberechtigungen auf dem Server zu überprüfen.
#### Signatur von Dirb```bash
sudo grep "DirBuster\|dirb" /var/log/apache2/access.log | head -5
Ergebnis:``` 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:26 -0300] "GET /dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirb HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:29 -0300] "GET /admin/dirbmark HTTP/1.1" 404 472 10.0.2.5 - - [06/May/2026:21:21:32 -0300] "GET /login/dirb HTTP/1.1" 404 472
Der Name von Dirb selbst erscheint in der von ihm verwendeten Wordlist und hinterlässt eine deutliche Signatur in den Logs.
---
### 13. Analyse des Fehlerprotokolls
Untersucht wurde das Apache-Fehlerprotokoll, um durch den Scan generierte Sicherheitsereignisse zu identifizieren.```bash
sudo cat /var/log/apache2/error.log
Kritische Ereignisse gefunden:
Nikto versuchte, auf sensible Systemdateien zuzugreifen, indem es Verzeichnisgrenzen überschritt:``` [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../../../etc/shadow) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../../etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini) [client 10.0.2.5] AH10244: invalid URI path (/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd) [client 10.0.2.5] AH10244: invalid URI path (/../../../../../../../../../boot.ini) [client 10.0.2.5] AH10244: invalid URI path (/../../../../winnt/repair/sam._)
Zu den Zielen gehörten: `/etc/passwd`, `/etc/shadow`, `boot.ini`, `win.ini`, Windows SAM-Datenbank — alles klassische Ziele von Path Traversal.
#### Ungültige HTTP-Methoden
Nikto testete nicht standardmäßige HTTP-Methoden, um Fehlkonfigurationen zu identifizieren:```
[client 10.0.2.5] AH00135: Invalid method in request DIWHWPJH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request DEBUG / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request TRACK / HTTP/1.0
[client 10.0.2.5] AH00135: Invalid method in request SEARCH / HTTP/1.1
[client 10.0.2.5] AH00135: Invalid method in request INDEX / HTTP/1.1
Beide Tools versuchten, auf durch Apache geschützte Konfigurationsdateien zuzugreifen:``` [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/.htaccess [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/server-status [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/admin/.htpasswd [client 10.0.2.5] AH01630: client denied by server configuration: /var/www/html/login/.htpasswd
#### Path Traversal spezifisch für VMware
Nikto testete auch die Exposition von VMware-Infrastruktur:```
[client 10.0.2.5] AH10244: invalid URI path (/sdk/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/etc/vmware/hostd/vmInventory.xml)
Die Zugriffs- und Fehlerprotokolle zeigten ein zweiphasiges automatisiertes Angriffsmuster, das von einer einzelnen IP-Adresse (10.0.2.5) ausging und auf den Apache-Server auf Port 80 abzielte.
Nikto führte in 17 Sekunden 8.102 Anfragen durch und testete bekannte Webschwachstellen, fehlende Sicherheitsheader, gefährliche HTTP-Methoden sowie Path-Traversal-Vektoren. Das Fehlerprotokoll verzeichnete mehrere Zugriffsversuche auf /etc/passwd, /etc/shadow, boot.ini und die Windows-SAM-Datenbank – alle durch die URI-Validierung von Apache blockiert. Nikto versuchte auch eine PUT-Anfrage, um eine Testdatei auf dem Server zu erstellen, was bestätigte, dass es die Schreibberechtigungen überprüfte.
Dirb testete 4.612 Wörter aus seiner gemeinsamen Wordlist gegen das Stammverzeichnis und jedes entdeckte Unterverzeichnis. Dies verursachte den Großteil der 21.740 beobachteten 404-Fehler. Dirb identifizierte erfolgreich /admin/, /backup/ und /login/ als gültige Verzeichnisse. Das Verzeichnis /backup/ wurde mit aktiviertem Directory Listing gefunden – eine erhebliche Fehlkonfiguration, die einem Angreifer ermöglichen würde, direkt durch dessen Inhalt zu navigieren.
Die Konzentration von 21.962 HTTP-Anfragen von einer einzigen Quell-IP in etwa 7 Minuten, kombiniert mit dem Vorhandensein von Path-Traversal-Versuchen, Anfragen mit ungültigen HTTP-Methoden und toolspezifischen Signaturen in den Zugriffs- und Fehlerprotokollen, stellt einen klaren Beweis für automatisierte Web-Reconnaissance-Aktivitäten dar.
Es wurde kein erfolgreicher Exploit beobachtet. Alle Path-Traversal-Versuche wurden durch den URI-Validierungsmechanismus von Apache zurückgewiesen. Der Zugriff auf geschützte Dateien (.htpasswd, .htaccess, server-status) wurde durch die Serverkonfiguration verweigert.
Basierend auf den Ergebnissen werden folgende Kontrollen empfohlen:
X-Frame-Options, X-Content-Type-Options, Content-Security-Policy/backup//server-status nur für localhost einschränkenerror.log kontinuierlich auf AH10244-Ereignisse (ungültiger URI-Pfad) überwachen/admin/, /backup/) entfernen oder den öffentlichen Zugriff darauf einschränkenServerTokens Prod, ServerSignature Off)Dieses Labor demonstrierte, wie automatisierte Web-Scanning-Tools in den Zugriffs- und Fehlerprotokollen von Apache eindeutige und identifizierbare Muster hinterlassen. Durch die Korrelation des Volumens von 404-Fehlern, des Vorhandenseins von Path-Traversal-Versuchen im error.log, von Anfragen mit ungültigen HTTP-Methoden und toolspezifischen Signaturen in den Anfragepfaden und User-Agent-Strings war es möglich, die vollständige Angriffszeitachse zu rekonstruieren und die verwendeten Tools zu identifizieren – ohne jegliches Vorwissen über die Aktionen des Angreifers.
Die Übung unterstreicht die Bedeutung der Überwachung von Webserverprotokollen, der Konfiguration von Sicherheitsheadern und von Verzeichniszugriffskontrollen als grundlegende Blue-Team-Praktiken für eine dem Web ausgesetzte Infrastruktur.
| Indikator | Wert |
|---|
| Angreifer-IP | 10.0.2.5 |
| Ziel-IP | 10.0.2.15 |
| Ziel-Port | 80 (HTTP) |
| Webserver | Apache 2.4.67 (Debian) |
| Identifizierte Tools | Nikto v2.5.0, Dirb v2.22 |
| Gesamtzahl der Anfragen | 21.962 |
| HTTP-200-Antworten | 177 |
| HTTP-403-Antworten | 26 |
| HTTP-404-Antworten | 21.740 |
| Entdeckte Verzeichnisse | /admin/, /backup/, /login/ |
| Path-Traversal-Versuche | Mehrere (alle blockiert) |
| Getestete ungültige HTTP-Methoden | TRACK, DEBUG, SEARCH, INDEX |
| Ziel-Sensitive Dateien | /etc/passwd, /etc/shadow, .htpasswd, .htaccess |
| Erfolgreiche Ausnutzung | Keine |
| Zeitfenster | 21:14 bis 21:21 (2026-05-06) |
| Komponente | Details |
|---|
| Angreifer-VM | Kali Linux |
| Ziel-VM | Debian 13 |
| Netzwerk | NAT-Netzwerk (VirtualBox) |
| Angreifer-IP | 10.0.2.5 |
| Ziel-IP | 10.0.2.15 |
| Webserver | Apache 2.4.67 |
| Protokollquellen | /var/log/apache2/access.log, /var/log/apache2/error.log |
| HTTP-Port | 80 |
| Indikator | Wert |
|---|
| Angreifer-IP | 10.0.2.5 |
| Ziel-IP | 10.0.2.15 |
| Zielport | 80 (HTTP) |
| Webserver | Apache 2.4.67 (Debian) |
| Identifizierte Tools | Nikto v2.5.0, Dirb v2.22 |
| Gesamtzahl Angreiferanfragen | 21.962 |
| HTTP 200 Antworten | 177 |
| HTTP 403 Antworten | 26 |
| HTTP 404 Antworten | 21.740 |
| Entdeckte Verzeichnisse | /admin/, /backup/, /login/ |
| Path-Traversal-Versuche | Mehrfach (alle blockiert) |
| Getestete ungültige HTTP-Methoden | TRACK, DEBUG, SEARCH, INDEX |
| Angegriffene sensible Dateien | /etc/passwd, /etc/shadow, .htpasswd, .htaccess |
| Erfolgreicher Exploit | Keiner |
| Zeitfenster | 21:14 bis 21:21 (2026-05-06) |