Iscriviti ora al Webinar di presentazione del corso Ethical Hacker! Scopri di più
Iscriviti ora al Webinar di presentazione del corso CISO! Scopri di più
Pillole di #MalwareAnalysis
Durante un’analisi dinamica di un potenziale #malware è fondamentale la conoscenza dei processi (legittimi) che vengono eseguiti in #Windows e quali di questi sono gli obiettivi preferiti per un attacco.
Sicuramente uno dei più bersagliati ma anche dei più importanti è il processo #Svchost.exe che nasce per poter lanciare servizi che si trovano all’interno di DLL .
Con l’opzione -k è in grado di lanciare gruppi di servizi come il gruppo DcomLaunch responsabile dell’esecuzione delle librerie DCOM e COM.
Su ogni sistema esistono decine di servizi Svchost e tutti hanno in comune lo stesso padre il #ServiceControlManager (Services.exe).
Provate a lanciare ‘Process Explorer’ della famiglia #SysInternals (si scarica gratuitamente dal sito Microsoft) ed andate a controllare i servizi in esecuzione, ma attenzione, se vi accorgete che un Svchost non è figlio di Services.exe (SCM) allora …”Huston, abbiamo un problema!” 😉
#cybersecurityup #cybersecurity #hacker #penetesting
Pillole di #MalwareAnalysis
Il processo Explorer.exe
Come ho detto più volte la fase di analisi dinamica del Malware, necessita di una approfondita conoscenza dei processi attivi all’interno del sistema operativo Host.
Naturalmente Windows è il principale bersaglio, quindi è necessaria una conoscenza dei processi legittimi che girano nel SO Windows e del loro comportamento per poter scovare poi quelli ‘illegittimi’.
Tra i processi legittimi abbiamo sicuramente la shell di #Windows eseguita dal processo #Explorer.exe.
E' fondamentale notare che Explorer è un processo orfano, non ha padre. Infatti, viene lanciato dal processo Userinit.exe che ha il compito di lanciare tutti i programmi della shell utente, compresa la shell stessa ed una volta adempiuta la sua funzione termina la sua esecuzione, lasciando così Explorer orfano.
Un’altra peculiarità di Explorer è che NON segue traffico di rete. Avete capito bene, Explorer non manda in rete neanche un bit! Lo fanno invece i suoi processi figli, come potrebbe essere ad esempio un browser.
Quindi ricapitolando, analizzando i processi con Process Explorer, dobbiamo notare che Explorer non ha PPID (PID del processo padre) e non fa traffico il rete.
Il vostro Explorer non risponde a queste caratteristiche? Probabilmente è stato alterato o sostituito, in ogni caso avete un problema!
Pillole di #MalwareAnalysis
La #persistenza
Quasi tutti i #malware per raggiungere il proprio scopo necessitano di ottenere la persistenza sui sistemi infettati. Dico quasi tutti perché a volte quelli nati per infettare i server non la implementano.
Per persistenza si intende la capacità del malware di resistere ai reboot. Se spengo il sistema e poi lo riaccendo, questo rimane infetto.
I modi per ottenerla sono molteplici, ma di questi sicuramente il più utilizzato è la scrittura nelle chiavi di registro di windows, e tra queste la più bersagliata è HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run dove vengono inseriti tutti i processi da attivare allo startup.
In un’analisi statica del malware è necessario ricercare le primitive che consentono la scrittura di queste chiavi e l’api incriminata è RegSetValueEx nelle versioni Ascii (RegSetValueExA) e Unicode (RegSetValueExW).
Questa primitiva è sempre preceduta da una #RegOpenKeyEx.
In pratica il malware prima utilizza RegOpenKeyEx per aprire la chiave da modificare e poi la modifica con #RegSetValueEx
Utilizzando tools come #Strings di #Sysinternals o #Floss di #FireEye è possibile andare ad analizzare le stringhe contenute nei malware (se questi non sono offuscati) ed il ritrovamento delle API che vi ho citato è un forte indicatore della ricerca della persistenza.
Generalmente se riusciamo a trovare queste API saremo in grado anche di vedere la stringa che identifica la chiave modificata.
Pillole di #MalwareAnalysis
I processi #WinLogon.exe e #Userinit.exe
Il processo Winlogon gestisce il login interattivo dell’utente e rimane sempre in ascolo della SAS (secure attention sequence) che è la famosissima sequenza di tasti CTRL-ALT-CANC
Quando viene rilevata lancia il processo #LogonUI.exe che cattura le credenziali Login e Password e le invia al processo #LSASS.exe (Local Security Authentication Service) per la generazione del Token che definisce i diritti utente.
A questo punto LogonUI.exe si stoppa ma il token generato viene utilizzato da Winlogon.exe per inizializzare il processo utente. Ora viene chiamato in causa proprio UserInit.exe che ha il compito di inizializzare lo user environment e lanciare la shell di windows Explorer.exe. Dopo aver eseguito il suo compito, proprio come ha fatto LogonUI.exe, il processo Userinit.exe si stoppa lasciando la shell di windows (Explorer.exe) orfana.
Userinit viene spesso presa di mira dal malware prova a creare processi con nomi simili, ma dovete ricordare che questo processo è attivo solo all’inizializzazione dell’ambiente e una volta lanciato Explorer.exe cessa di esistere.
Quindi esplorando i vostri servizi NON dovete trovare nessun processo attivo che abbia questo nome.
Pillole di #MalwareAnalysis
I #Packer
I packer sono dei software che vengono utilizzati dalle software house per proteggere il proprio codice da azioni di #reverseEngineering. Naturalmente questo rende più difficoltosa questa operazione ma non impossibile ;-). Gli sviluppatori di #Malware li utilizzano invece per complicare le operazioni di malware analisi.
Ma cosa sono questi packer? Sono dei software in grado di prendere un software binario, comprimerlo (rendendo illegibili le stringhe interne) e impacchettarlo con uno stub, ovvero un programma in grado di decoprimerlo in memoria ed eseguirlo.
Per l’utente finale non cambia nulla. Lancierà il suo programma con un semplice click, ma l’azione eseguita è quella di eseguire lo stub che decomprime il programma e poi inizia la sua esecuzione.
Esistono moltissimi packer ma forse il più conosciuto è #UPX. Un software compresso con UPX è facilmente identificabile in quanto le sezioni del file PE vengono rinominate in UPX0 UPX1 etc… e sono altrettanto semplici da decomprimere.
Sfortunatamente UPX viene utilizzato poco e spesso è necessario eseguire azioni di decompressione ‘a mano’ utilizzando tool specifici ed i debugger come Olly
#hacker #cybersecurityup #cybersecurity #zeroday #ransomware
Pagina 355 di 359