Sviluppo di Malware Custom: Develop Capabilities – Malware (T1587.001)

La tecnica T1587.001 descrive lo sviluppo deliberato di malware da parte di un avversario come parte della fase Resource Development (TA0042), quella in cui gli attori preparano le risorse operative necessarie prima di colpire un bersaglio. Non si tratta di riutilizzare tool pubblici o acquistare exploit sul mercato nero: qui l'avversario scrive — o commissiona — codice malevolo su misura.

Lo spettro di ciò che viene costruito è ampio: payload per l'accesso iniziale, dropper, backdoor, packer per l'evasion, protocolli C2 personalizzati, persino immagini di sistema compromesse e media rimovibili infetti. In alcuni casi gli sviluppatori inseriscono volutamente indicatori riconducibili ad altri gruppi per depistare l'attribuzione, una pratica nota come false-flag. Lo sviluppo può avvenire internamente o essere esternalizzato a contractor, purché l'avversario mantenga il controllo sui requisiti e un grado di esclusività sul prodotto.

Con 22 gruppi APT, 14 campagne documentate e una singola mitigazione di tipo pre-compromise, questa tecnica rappresenta uno dei pilastri della preparazione offensiva degli attori nation-state e dei gruppi finanziariamente motivati. La detection è intrinsecamente difficile: l'attività avviene fuori dal perimetro della vittima, e gli indicatori diventano visibili solo nelle fasi successive della kill chain.


Simulare lo sviluppo di malware custom in un contesto red team non significa creare una minaccia reale, ma replicare i comportamenti che i SOC devono imparare a riconoscere. L'obiettivo è produrre artefatti che generino telemetria utile, testando la capacità di detection dell'organizzazione.

Il punto di partenza più realistico è costruire un payload C2 con un framework dedicato. Sliver (open source) è una scelta eccellente perché genera impianti compilati con metadati unici — esattamente ciò che fa un APT quando sviluppa un tool custom. Per generare un beacon HTTPS con offuscamento:

sliver > generate --mtls --os windows --arch amd64 --format exe --name test-implant

Per simulare lo sviluppo di un dropper multi-stage, che è il pattern usato in campagne come Operation Dream Job (C0022) dove Lazarus Group sviluppò tool come Sumarta e DBLL Dropper, puoi creare un loader in C che scarica e inietta shellcode in memoria. Il framework Havoc (open source) fornisce un generatore di shellcode e un listener C2 con profili configurabili per emulare diversi protocolli.

Un aspetto spesso trascurato è la simulazione del packaging. Molti gruppi usano packer custom per evadere la detection statica. Con UPX (open source) puoi comprimere un payload e verificare se le signature-based detection del cliente lo rilevano ancora:

upx --best --lzma -o payload_packed.exe payload.exe

Per replicare scenari più sofisticati come quelli di UNC3886 (G1048), che ha deployato malware custom su sistemi Fortinet e VMware, valuta l'uso di msfvenom (open source, parte di Metasploit Framework) per generare payload cross-platform, poi testa il delivery su ambienti virtualizzati di laboratorio.

La creazione di webshell custom — come quelle sviluppate durante Operation Wocao (C0014) — è un altro esercizio realistico. Scrivi una webshell minimale in PHP o ASPX, caricala su un server web nel lab e verifica se il WAF e l'EDR del cliente la intercettano. Il confronto tra una webshell nota e una custom rivela rapidamente i gap nella detection.

Infine, per simulare la tecnica dei media rimovibili infetti usata da FIN7 (G0046), prepara una chiavetta USB con un file HTA o LNK malevolo che lancia un payload Sliver, e testa le policy di autorun e i controlli USB dell'organizzazione. Documenta ogni artefatto generato — hash, timestamp di compilazione, stringhe embedded — perché saranno il materiale di lavoro per SOC e forensic.


Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo

We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.