Deutschlands Bester Hacker - Stadtwerke Franken (Forensics) - Das Writeup

Disclaimer: Im August 2026 fand die Qualifikation für das Finale von Deutschlands Bester Hacker statt, welches ich auf Platz 1 abschließen konnte. Nur zwei Teilnehmer waren in der Lage, alle Challenges zu lösen. Dieses Writeup wurde mit KI auf Basis meiner Notizen erstellt und kann Fehler enthalten, bei Fragen bitte direkt an mich wenden im DBH-Discord.

Wettbewerb Deutschlands Bester Hacker 2026 — Qualifikation
Kategorie Forensics
Punkte 50
Angriffsklasse DFIRDigital ForensicsSichert und analysiert digitale Spuren zur Rekonstruktion sicherheitsrelevanter Ereignisse. / DNS-TunnelDNS-TunnelingÜbertragung beliebiger Daten in DNS-Anfragen und -Antworten, um Netzgrenzen zu umgehen.-Exfiltration
Flag DBH{B34CH_0WA_T_Mu3ll3r_M1m1k4tz_L4t3r4l}

Die Challenge

Freitag, 24. April 2026, 17:42 Uhr. Die IT-Abteilung der Stadtwerke Franken erhält einen Alert ihres EDR-Systems: Auf dem Fileserver SRV-FILE01 wurden innerhalb von 105 Minuten 3,2 Gigabyte Daten in ein unbekanntes lokales Verzeichnis kopiert.

Du wirst als externer DFIR-Analyst hinzugezogen. Deine Aufgabe: Rekonstruiere den vollständigen Angriffspfad — von der ersten verdächtigen Aktivität bis zum Data Staging.

Mitgeliefert wird eine PCAP-Datei.

Aufklärung

Da der EDR-Alert auf Data Staging beziehungsweise Exfiltration hindeutet, habe ich zuerst nach ungewöhnlichen Protokollen, externen Domains und auffälligen Datenmengen gesucht.

Dabei zeigte sich, dass die PCAP praktisch ausschließlich DNS-Verkehr enthält. Besonders auffällig sind viele DNS-TXT-Queries von 10.10.1.45 an 10.10.0.1, gerichtet an die Domain c2-frankentransfer.ru.

Der Aufbau der DNS-Namen folgt einem klaren Schema:

000000.<base32-data>.<base32-data>.c2-frankentransfer.ru
000001.<base32-data>.<base32-data>.c2-frankentransfer.ru
000002.<base32-data>.<base32-data>.c2-frankentransfer.ru
...

Die erste Komponente ist jeweils eine fortlaufende Chunk-ID in Hexadezimaldarstellung, die folgenden Labels enthalten Base32-kodierte Nutzdaten.

Die Schwachstelle

DNS-Tunneling ist ein typisches Verfahren, um Daten über DNS-Queries aus einem Netzwerk herauszuschleusen: Nutzdaten werden in Subdomains kodiert und an eine kontrollierte Domain gesendet. In dieser PCAP sprechen fünf Indikatoren dafür:

  1. Sehr viele TXT-Queries an dieselbe Domain
  2. Lange, zufällig wirkende Subdomain-Labels
  3. Fortlaufende Chunk-IDs
  4. Base32-ähnlicher Zeichensatz
  5. Eine externe C2Command and ControlKommunikationsinfrastruktur, über die Angreifer kompromittierte Systeme steuern.-artige Domain: c2-frankentransfer.ru

Der Angriff

Für die Rekonstruktion wurden die DNS-Queries extrahiert, nach Chunk-ID sortiert, die Base32-Daten zusammengesetzt und dekodiert:

for query in dns_queries:
    if query.endswith(".c2-frankentransfer.ru"):
        parts = query.remove_suffix(".c2-frankentransfer.ru").split(".")
        chunk_id = int(parts[0], 16)
        encoded_data = "".join(parts[1:])
        chunks[chunk_id] = encoded_data

payload_base32 = "".join(chunks[i] for i in sorted(chunks))
payload = base64.b32decode(payload_base32)

Der dekodierte Datenstrom beginnt direkt mit der Flag.

Plausibilitätsprüfung. Die höchste beobachtete Chunk-ID ist 0x3d70a3c, also 64.424.508. Bei ungefähr 50 Byte Nutzdaten pro Chunk ergibt sich 64.424.508 * 50 Byte ≈ 3.221.225.400 Byte, also rund 3,22 GB. Das passt sehr gut zu den 3,2 GB aus dem Aufgabentext — die Rekonstruktion ist damit nicht nur syntaktisch korrekt, sondern auch inhaltlich plausibel.

Die Flag

DBH{B34CH_0WA_T_Mu3ll3r_M1m1k4tz_L4t3r4l}

Die Flag selbst beschreibt den vollständigen AngriffspfadAttack PathAbfolge aus Schwachstellen, Berechtigungen und Systembeziehungen, die ein Angriff ausnutzen kann.:

Beachhead → OWA → T. Mueller → Mimikatz → Lateral Movement
Bestandteil Bedeutung
B34CH Beachhead — der initiale Zugang, erster kompromittierter Punkt
0WA Einstieg über Outlook Web Access: extern erreichbar, direkt an Domänenkonten gekoppelt
T_Mu3ll3r Der kompromittierte Benutzeraccount, erster legitimer Zugang in die Umgebung
M1m1k4tz Credential Dumping nach dem initialen Zugriff
L4t3r4l Laterale Bewegung mit den erbeuteten Zugangsdaten, Ziel: SRV-FILE01

Timeline:

Phase Ereignis
Initial Access Angreifer erhält ersten Zugriff über OWA
Account Compromise Benutzer T. Mueller wird kompromittiert
Credential Access Mimikatz zur Credential-Gewinnung
Lateral MovementLateral MovementAusbreitung eines Angreifers von einem kompromittierten System zu weiteren Systemen. Bewegung durch das interne Netzwerk
Target Access Zugriff auf SRV-FILE01
Data Staging Ca. 3,2 GB Daten werden lokal gesammelt
Exfiltration Übertragung über DNS-Tunneling zu c2-frankentransfer.ru

Indicators of Compromise:

Interne IPs: 10.10.1.45, 10.10.0.1
Domain:      c2-frankentransfer.ru
DNS-Typ:     TXT
Muster:      <hex-chunk-id>.<base32-data>.<base32-data>.c2-frankentransfer.ru
Techniken:   OWA, Mimikatz, DNS Tunneling, Lateral Movement, Data Staging

MITRE-ATT&CKMITRE ATT&CKStrukturiert bekannte Taktiken und Techniken realer Cyberangriffe.-Mapping:

Taktik Technik
Initial Access External Remote Services / OWA
Credential Access OS Credential Dumping (Mimikatz)
Lateral Movement Use of Valid Accounts
Collection Data Staged
Exfiltration Exfiltration Over Alternative Protocol
Command and Control DNS Tunneling

Was ich mitnehme

Eine PCAP, die „nur DNS“ enthält, ist kein Grund zur Entwarnung, sondern der Befund selbst. Fortlaufende Chunk-IDs plus Base32-Labels sind ein derart klares Muster, dass sich der Datenstrom vollständig rekonstruieren lässt — inklusive Gegenprobe über die Datenmenge.

Für die Verteidigung heißt das: DNS-Volumen und Query-Länge pro Client monitoren, TXT-Queries an externe Domains auswerten, und rekursive Auflösung nur über kontrollierte Resolver erlauben.