Static and dynamic analysis of Windows malware samples from Practical Malware Analysis, written up as SOC-style reports with indicators of compromise, MITRE ATT&CK mapping and tested YARA and Sigma rules. The documentation is in Italian; this first section is in English.
| # | Sample | What the report proves | Detection |
|---|---|---|---|
| 03 | Lab03-02.dll |
Service DLL backdoor. Observed: auto-start service with a deceptive name, then an HTTP beacon (GET /serve.html) 60 seconds after start, with a custom User-Agent. Proven with a crafted response: commands are Base64 inside <!-- and --!>; the s 1 command switches the beacon to once a minute |
YARA: 1 match, no match on 71 other samples and 600 system files. Sigma rules validated with sigma-cli and converted to Splunk; the event 7045 rule matches a real event (manual check) |
| 02 | Lab03-01.exe |
Loader hidden in .data that resolves 43 APIs by CRC-32 hash. It crashes on modern Windows: root cause proven in x32dbg (5 APIs looked up in KernelBase.dll only exist in kernel32.dll, so a call jumps to address 0). Behaviour is derived from code and stated as such |
YARA: 1 match, no match on 600 system files. Sigma: experimental, validated with sigma-cli |
| 01 | Lab01-02.exe |
UPX-packed. Observed: installs the Malservice auto-start service. From the Ghidra decompile: mutex, a broken 2100 timer and 20 threads looping on one URL; no request observed |
YARA: 1 match, 5 negatives |
Start with report 03: it is the most complete one.
What the project shows: triage (hashes, PE headers, strings, capa), unpacking (UPX), disassembly and decompilation (Capstone, Ghidra), debugging (x32dbg), behaviour capture (Procmon, FakeNet-NG), detection engineering (YARA, Sigma), ATT&CK mapping. Every report separates observed facts from code-based inference and lists what is still unknown.
Tools: FLARE-VM, FakeNet-NG, Procmon, x32dbg, Ghidra, Capstone, pefile, capa, Sysinternals strings, UPX, YARA, PowerShell.
Un laboratorio personale per l'analisi statica e dinamica di eseguibili Windows sospetti, in una rete isolata. Ogni analisi diventa un report con indicatori, mappatura ATT&CK e regole di rilevazione provate.
Il lab è costruito e isolato (26 ottobre 2026). Tre report completati, ciascuno con un riquadro "Risultati chiave" in cima: il più completo è il 03.
| Cosa | Stato |
|---|---|
| VM Windows con FLARE-VM su rete isolata | fatto, con prove documentate |
| Rete simulata con FakeNet-NG | fatto: prova positiva superata (DNS e HTTP), con una correzione documentata |
| Campioni portati nel lab | fatto, con hash verificato |
Report 01: Lab01-02.exe |
completato (statica, dinamica, disassemblaggio in Ghidra), con limiti dichiarati |
Report 02: Lab03-01.exe |
completato: analisi statica e crash dimostrato con debugger, con limiti dichiarati |
Report 03: Lab03-02.dll |
completato: persistenza e traffico osservati, protocollo dimostrato, con limiti dichiarati |
| Regole YARA | 01: 1 positivo e 5 negativi; 02: 1 positivo e 600 negativi di sistema; 03: 1 positivo, 71 file della collezione e 600 di sistema |
| Regole Sigma | 4 regole experimental (report 02 e 03): sintassi validata con sigma-cli 4.0.0 e convertite per Splunk; una confrontata a mano con un evento 7045 reale, le altre non provate su log reali |
| Indicatori in CSV | un file iocs.csv per report, con lo stato di ogni indicatore |
- Rete isolata. La VM di analisi sta su un bridge senza uscita verso la rete di casa né verso Internet. L'isolamento è verificato con prove documentate in docs/lab-isolamento.md, compreso ciò che non ho provato e una deviazione dal progetto iniziale (guest agent riattivato).
- Solo campioni didattici o pubblici. Nessun binario nel repo: solo nome, hash, descrizione, comandi, schermate e regole.
- Ogni analisi è mia e scritta con parole mie. I campioni dei laboratori del libro Practical Malware Analysis sono distribuiti con il libro; non li riproduco e non copio i testi degli esercizi.
- Ogni report dice cosa non so. Ipotesi e fatti sono separati, e ogni tecnica ATT&CK dice se è stata osservata o ricavata solo dal codice.
- reports/README.md: il metodo di analisi che seguo e l'elenco dei report.
- reports/03-lab03-02.md: terzo report, con regole e indicatori in
reports/03-lab03-02/. - reports/02-lab03-01.md: secondo report, con regole, indicatori e tabella delle API in
reports/02-lab03-01/. - reports/01-lab01-02.md: primo report, con regola e indicatori in
reports/01-lab01-02/. - reports/_modello-report.md: lo schema di ogni report.
- docs/lab-isolamento.md: come è costruito il lab (Proxmox, FLARE-VM, FakeNet-NG), le prove che la rete è isolata, la procedura di analisi dinamica, snapshot e spazio, la deviazione del guest agent.
- docs/campioni.md: da dove vengono i campioni, hash e come li ho portati nel lab.
- scripts/: gli script PowerShell usati per triage e analisi dinamica.
Collegati: STRUTTURA.md.