Writeup di network forensics + tooling per una challenge DFIR di TryHackMe: inverte una catena di esfiltrazione hex→Base64→XOR dal traffico PCAP, poi recupera la password master di KeePass da un dump di memoria del processo tramite CVE-2023-32784.
Recupera i dati esfiltrati dal traffico PCAP invertendo una catena di offuscamento hex → Base64 → XOR utilizzata in uno scenario DFIR CTF reale (TryHackMe), quindi sfrutta CVE-2023-32784 per recuperare la password principale di KeePass direttamente da un dump della memoria di un processo.
Victim workstation Attacker C2 Server
------------------- -------------------
Malicious .ps1 downloaded over HTTP
|
v
Downloads ProcDump (legit Sysinternals tool)
|
v
Dumps KeePass process memory ----------------------> port 1337
(XOR 0x41 + Base64 encoded first)
Steals Database1337.kdbx --------------------------> port 1338
(XOR 0x42 + Base64 encoded first)
| Path | Description |
|---|
docs/writeup.md | Writeup completo dell'indagine passo dopo passo |
decoder.py | Strumento generalizzato per invertire la catena hex → Base64 → XOR |
evidence/xxxmmdcclxxxiv.ps1 | Lo script PowerShell malevolo recuperato |
# 1. Extract the raw exfil stream from a pcap with tshark
tshark -r capture.pcapng -T fields -e data \
-Y "ip.dst == <C2_IP> and tcp.port == <PORT>" > payload.txt
# 2. Reverse the obfuscation
python3 decoder.py payload.txt recovered_file.bin --xor-key 0x41
tshark (gli strumenti GUI non scalano bene oltre qualche centinaio di MB)Indagine basata sulla room TryHackMe Extracted. La tecnica di recupero password è resa possibile da keepass-dump-extractor di JorianWoltjer, basata sulla ricerca su CVE-2023-32784 originale di vdohney.
Questa repo documenta un esercizio CTF/lab a scopo didattico. Non sono stati coinvolti credenziali, sistemi o dati reali. I valori delle flag e le password specifiche catturate dalla room CTF sono stati volutamente omessi nel rispetto delle linee guida della piattaforma TryHackMe.