Mascherare un processo Windows utilizzando la PEB
- Antonio Capobianco
- Visite: 3295
Pillole di #MalwareAnalysis
Mascherare un processo #Windows utilizzando la #PEB
Ho già spiegato in un post precedente cosa è la PEB e a cosa serve.
Tra i vari campi ne esiste uno chiamato #ProcessParameters, che si trova all’offset 0x020h, e che è a sua volta una struttura.
All’interno di questa struttura esiste il campo #ImagePathName, all’offset 0x60h, che viene utilizzato per memorizzare il path del file che ha originato al processo.
Ora a cosa può servire questa informazione?
Può essere utilizzata per modificare l'icona visualizzata dal processo all’interno di Task Monitor o Process Explorer.
Questo naturalmente è utile ad un processo, come un malware, che si vuole nascondere ad una analisi con uno degli strumenti che vi ho appena menzionato.
Se poi vogliamo modificare anche il nome visualizzato basta accedere al campo CommandLine, all’offset 0x70h
Si può utilizzare WinDbg per accedere a questi campi, ma molto più semplicemente si può utilizzare la primitiva GetProcAddress() applicata su NTDLL e sulla procedura NtQueryInformationProcess.
Questa primitiva permetterà di accedere alla Peb e in particolare a PebBaseAddress->ProcessParameters->ImagePathName.buffer consentendone la modifica.