Print Processor Hijack: Boot Process Abuse via Print Processors (T1547.012)
Gli attaccanti sfruttano i print processor per eseguire DLL malevole durante l'avvio del sistema, garantendosi persistenza ed escalation dei privilegi. Questa tecnica abusa del servizio spooler di stampa che carica automaticamente specifiche DLL all'avvio di Windows.
Il meccanismo si basa sul fatto che spoolsv.exe carica tutti i print processor registrati durante il boot con privilegi SYSTEM. L'installazione richiede l'abilitazione del privilegio SeLoadDriverPrivilege oppure la modifica diretta del registro di sistema.
Questa tecnica rientra nelle tattiche TA0003 (Persistence) e TA0004 (Privilege Escalation) del framework ATT&CK. Gli attaccanti mantengono l'accesso anche dopo riavvii del sistema mentre operano con i massimi privilegi disponibili. Attualmente 1 gruppo APT ha documentato l'utilizzo di questa tecnica insieme a 2 famiglie di malware specifiche.
Per replicare questa tecnica in laboratorio, inizia verificando la directory dei print processor sul sistema target. Il comando GetPrintProcessorDirectory dell'API Windows restituisce il percorso esatto che varia tra architetture.
Su Windows x64 il percorso standard è: *C:\Windows\System32\spool\prtprocs\x64*
Crea una DLL malevola che esporti le funzioni richieste dai print processor. La DLL deve implementare almeno EnumPrintProcessorDatatypes e OpenPrintProcessor per essere caricata correttamente dal servizio spooler.
Per registrare il print processor modifica il registro: reg add "HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\MaliciousProc" /v Driver /t REG_SZ /d "malicious.dll" /f
Alternativamente usa l'API AddPrintProcessor che richiede però privilegi elevati con SeLoadDriverPrivilege abilitato. Dopo l'installazione riavvia il servizio spooler per attivare il payload:
net stop spooler && net start spooler
Il gruppo Earth Lusca ha utilizzato questa tecnica creando la chiave: HKLM\SYSTEM\ControlSet001\Control\Print\Environments\Windows x64\Print Processors\UDPrint
Il malware PipeMon si installa modificando direttamente il percorso dei print processor mentre Gelsemium si posiziona come winprint.dll nella directory standard dei processor. Questi esempi dimostrano l'efficacia della tecnica in scenari reali.
Per testare la persistenza riavvia il sistema e verifica che la DLL venga caricata automaticamente. Monitora i log di spoolsv.exe per confermare l'esecuzione con privilegi SYSTEM.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo