Arsenale · Malware, Evasione & Exploit-dev
Come funziona il codice offensivo: tipi di malware, consegna, evasione AV/EDR, C2, esfiltrazione, sviluppo di exploit e reverse engineering. Solo teoria + laboratorio isolato.
Scrivere/eseguire malware si fa solo in VM isolate (senza rete) o in engagement red team autorizzati. Diffondere malware è reato grave. Qui: concetti per capire e difendersi.
Tipi di malware
| Tipo | Come funziona |
| Virus | Si attacca a file/programmi e si replica quando eseguiti |
| Worm | Si propaga da solo in rete sfruttando vulnerabilità |
| Trojan | Si maschera da software legittimo |
| RAT (Remote Access Trojan) | Controllo remoto completo della vittima |
| Ransomware | Cifra i file e chiede riscatto |
| Ransomware double-extortion | Cifra + minaccia di pubblicare i dati rubati |
| Rootkit (userland) | Nasconde processi/file da userspace |
| Rootkit (kernel) | Si nasconde a livello kernel |
| Bootkit | Persiste nel bootloader/UEFI |
| Keylogger | Registra i tasti premuti |
| Spyware/infostealer | Ruba dati, credenziali, cookie |
| Banking trojan | Ruba credenziali bancarie (web inject) |
| Adware | Inietta pubblicità |
| Botnet agent | Trasforma l'host in un nodo controllabile |
| Cryptominer | Usa le risorse per minare criptovaluta |
| Logic bomb | Si attiva a una condizione/data |
| Fileless malware | Vive in memoria/registro, niente file su disco |
| Wiper | Distrugge dati in modo irreversibile |
| Dropper/loader | Scarica ed esegue il payload vero |
| Backdoor | Accesso nascosto persistente |
Delivery & weaponization
| Tecnica | Come funziona | Tool |
| Macro malevola (Office) | VBA che esegue all'apertura del documento | macro_pack |
| Remote template injection | Il doc scarica un template con macro | manuale |
| HTA / LNK payload | File eseguibili mascherati | manuale |
| ISO/IMG smuggling | Aggira Mark-of-the-Web | manuale |
| HTML smuggling | Ricostruisci il file lato browser via JS | manuale |
| Malicious PDF | JS/exploit dentro il PDF | msfvenom |
| Trojanized installer | Software legittimo + payload | manuale |
| Supply chain | Compromette una dipendenza/aggiornamento | — |
| Typosquat package | Pacchetto npm/pip simile a uno vero | — |
| Malvertising | Pubblicità che porta a exploit/download | — |
| USB/HID payload | Dispositivo che digita comandi | Rubber Ducky |
| ClickFix / fake captcha | Convince a incollare un comando | social |
Evasione AV / EDR
| Tecnica | Come funziona | Tool |
| Payload encoding | Codifica per evitare firme statiche | msfvenom -e |
| Packing/crypting | Comprimi/cifra il binario | UPX + crypter |
| Obfuscation | Rende illeggibile il codice | Invoke-Obfuscation |
| Shellcode injection | Inietti in un processo legittimo | C/C# |
| Process hollowing | Svuoti un processo e ci metti il tuo codice | manuale |
| Process doppelgänging | Abusi transazioni NTFS | manuale |
| Process ghosting | Esegui da file in cancellazione | manuale |
| Thread hijacking | Dirotti un thread esistente | manuale |
| APC injection | Async Procedure Call injection | manuale |
| DLL sideloading | App legittima carica la tua DLL | manuale |
| Reflective DLL loading | Carichi DLL in memoria senza toccare il disco | manuale |
| Module stomping | Sovrascrivi una DLL legittima in memoria | manuale |
| AMSI bypass | Disattivi l'Antimalware Scan Interface | PowerShell |
| ETW patching | Acciechi il tracing di Windows | manuale |
| API unhooking | Rimuovi gli hook dell'EDR | manuale |
| Direct/indirect syscalls | Aggiri gli hook in userland | SysWhispers |
| Sandbox detection | Non esegue se rileva una sandbox | anti-VM checks |
| Time-based evasion | Ritarda l'esecuzione oltre l'analisi | sleep |
| Sleep obfuscation | Nascondi il payload in memoria a riposo | Ekko |
| BYOVD | Driver vulnerabile firmato per killare l'EDR | manuale |
| LOLBins execution | Esegui via binari fidati (rundll32, regsvr32) | LOLBAS |
| Parent PID spoofing | Fingi un processo padre legittimo | manuale |
Command & Control (C2)
| Tecnica | Come funziona | Tool |
| HTTP(S) beaconing | L'agent contatta il C2 a intervalli | Sliver · Cobalt Strike |
| DNS C2 | Comandi/dati nelle query DNS | dnscat2 |
| ICMP C2 | Canale nascosto via ICMP | icmpsh |
| Domain fronting | Nascondi il C2 dietro un CDN affidabile | config |
| Malleable profiles | Traffico C2 mimetizzato da traffico normale | Cobalt Strike |
| Social media / cloud C2 | Comandi via API di servizi legittimi | custom |
| Redirectors | Proxy che nascondono il vero server C2 | nginx/socat |
| P2P C2 | Nessun server centrale (resiliente) | custom |
| Jitter/sleep randomization | Beacon irregolari per eludere detection | C2 config |
Esfiltrazione dati
| Tecnica | Come funziona | Tool |
| DNS exfiltration | Dati codificati nelle query DNS | dnscat2 |
| HTTPS exfil | Upload cifrato verso server esterno | curl |
| Cloud storage exfil | Carichi su Dropbox/Drive legittimi | rclone |
| ICMP exfil | Dati nei pacchetti ping | custom |
| Steganographic exfil | Dati nascosti in immagini caricate | steghide |
| Physical exfil | USB/dispositivo rimovibile | — |
| Email exfil | Invii i dati via mail | — |
Exploit dev & binari
| Tecnica | Come funziona | Tool |
| Stack buffer overflow | Sovrascrivi il return address | gdb · pwntools |
| Ret2libc | Riusi funzioni libc (bypass NX) | pwntools |
| Ret2plt / GOT overwrite | Dirotti chiamate via PLT/GOT | pwntools |
| ROP chain | Concateni "gadget" per eseguire | ROPgadget |
| Format string | %n/%x leggono/scrivono memoria | manuale |
| Heap exploitation | Corrompi metadati dell'allocatore | pwndbg |
| Use-after-free | Riusi memoria liberata | manuale |
| Double free | Corrompi l'allocatore liberando due volte | manuale |
| Integer overflow | Overflow numerico → corruzione | manuale |
| Type confusion | Oggetto interpretato come tipo sbagliato | manuale |
| Race condition (TOCTOU) | Finestra tra check e uso | manuale |
| ASLR/DEP bypass | Info leak + ROP per aggirare le mitigazioni | pwntools |
| SEH overwrite (Windows) | Dirotti l'exception handler | Immunity/mona |
| Egg hunter | Shellcode che cerca il payload in memoria | mona |
| Fuzzing | Input casuali per trovare crash | AFL++ · boofuzz |
| Reverse engineering | Analizzi il binario per capirlo/patcharlo | Ghidra · IDA · radare2 |
| Dynamic analysis | Debug a runtime | x64dbg · gdb |
| Anti-debug bypass | Aggiri i controlli anti-debug | manuale |
| Patch diffing | Confronti versioni per trovare la falla fixata | BinDiff |
Occultamento & steganografia
| Tecnica | Come funziona | Tool |
| LSB image stego | Nascondi dati nei bit meno significativi | steghide · zsteg |
| Audio/video stego | Dati nascosti in media | DeepSound |
| Stego extraction (CTF) | Estrai payload nascosti | binwalk · foremost |
| NTFS Alternate Data Streams | Dati nascosti in stream secondari | manuale |
| Covert channels | Esfiltri dati in campi/timing "innocui" | custom |
| Polyglot files | File valido come più formati insieme | manuale |
Sui tuoi libri: The Shellcoder's Handbook,
Reversing – Secrets of Reverse Engineering,
Malware Analyst's Cookbook,
Hacking Exposed – Malware & Rootkits,
The Little Black Book of Computer Viruses. Vedi
Risorse.