File di Aiuto Compilati: Compiled HTML File (T1218.001)

La tecnica T1218.001 - Compiled HTML File rientra nella tattica TA0005 (Defense Evasion) del framework MITRE ATT&CK e sfrutta i file .chm del sistema Microsoft HTML Help per veicolare codice malevolo mascherandolo dietro un binario legittimo di Windows.

Un file CHM è un archivio compresso che aggrega documenti HTML, immagini e componenti scriptabili come VBScript, JScript, Java e ActiveX. Il rendering avviene tramite componenti di Internet Explorer caricati dall'eseguibile hh.exe, presente nativamente in ogni installazione Windows e generalmente considerato affidabile dai controlli applicativi.

L'attaccante confeziona un CHM personalizzato con payload embedded, lo consegna tramite phishing o download drive-by, e attende l'esecuzione da parte della vittima. All'apertura, il file può invocare cmd.exe, PowerShell, mshta.exe o scaricare stage successivi. Su sistemi non aggiornati o con policy di application control mal configurate, hh.exe funge da vettore di living-off-the-land binary (LOLBin) capace di bypassare AppLocker e WDAC.

MITRE documenta 5 gruppi APT che hanno adottato la tecnica — tra cui OilRig, APT38, APT41, Silence e Dark Caracal — con una diffusione geografica che copre Medio Oriente, Asia orientale ed Europa dell'Est. La rilevanza operativa resta alta perché il formato CHM è raramente filtrato dai gateway email e la sua esecuzione via hh.exe genera catene di processo che appaiono legittime a un occhio non allenato.

Per un esercizio red team autorizzato, la costruzione di un CHM malevolo parte dal toolkit ufficiale Microsoft HTML Help Workshop (gratuito, ancora reperibile come componente legacy) oppure da compilatori alternativi come chmProcessor (open source). Il flusso operativo prevede la preparazione di un file HTML contenente un tag <OBJECT> che invoca il control ShortCut della libreria HTML Help, seguito da un parametro Item1 con il comando da eseguire.

Un esempio minimale di HTML embedded richiama shortcut.exe passando come argomento cmd.exe /c powershell -enc , sfruttando il fatto che il rendering del CHM invoca automaticamente l'oggetto all'apertura della pagina. La compilazione avviene tramite hhc.exe progetto.hhp, generando un .chm pronto per il delivery.

Per automatizzare la generazione di payload, il framework Nishang (open source) include il modulo Out-CHM che produce direttamente file CHM con comando PowerShell embedded, utile in scenari di simulazione phishing. In alternativa, EvilClippy e le catene basate su Koadic (open source) permettono di combinare CHM con stager JScript.

La catena tipica in laboratorio si articola in quattro fasi:

  • Weaponization: creazione del progetto .hhp con file HTML contenente ActiveX ShortCut
  • Compilazione: hhc.exe payload.hhp produce il .chm finale
  • Delivery: consegna via allegato email o link a share SMB in ambiente controllato
  • Execution: doppio click della vittima apre hh.exe che triggera il comando embedded

Per testare il bypass di application control, verifica in lab che hh.exe sia nella allowlist di AppLocker ma che i suoi child process non siano ristretti — condizione comune in ambienti enterprise. Il comando embedded può quindi lanciare rundll32.exe, regsvr32.exe o direttamente PowerShell.

Per scenari più stealth, il payload può essere ospitato remotamente: il CHM contiene solo un riferimento mk:@MSITStore: a un secondo CHM su condivisione WebDAV, riducendo le dimensioni dell'allegato iniziale. In laboratorio strumenta l'endpoint con Sysmon (gratuito, Microsoft) e configurazione SwiftOnSecurity per osservare la telemetria generata: EventID 1 (process create) mostrerà hh.exe come parent di powershell.exe, pattern facilmente riconoscibile in detection engineering. Documenta i tempi di reazione dell'EDR per calibrare successivi test evasivi.

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

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo