Powershell: il paradiso dei cyber attaccanti - GIOVEDÌ 19 GENNAIO 2023 ![]() di Mrigank Tyagi, Senior Security Researcher @Quick Heal Technologies PowerShell era stato originariamente concepito come programma per automatizzare le attività di gestione e configurazione per gli amministratori di sistema. Tuttavia, non c'è voluto molto perché gli attaccanti prendessero consapevolezza del grande potenziale offensivo per eseguire operazioni dannose senza essere scoperti. Grazie alla sua versatilità, PowerShell può essere usato per tutte le fasi di attacco:
Esaminiamo alcuni scenari in cui PowerShell viene usato non come strumento legittimo ma con intenti dannosi e come è possibile rilevare e minimizzare tali tipi di attacchi. In dettaglio vedremo come vien eusato un comando PowerShell altamente offuscato per eseguire shellcode. Quindi vedremo come gli aggressori possono aggirare le funzionalità di rilevamento dei malware. Perchè gli attaccanti usano PowerShell?
Differenti tipi di attacchi con PowerShellUtilizzo in macro dannosePowerShell è spesso usato come vettore di attacco iniziale in documenti contenenti macro dannose. La complessità di questa tipologia di attacchi varia dal semplice download ed esecuzione del payload di seconda fase ad usi più avanzati come nel caso di attacchi di tipo Process Hollowing. ![]() Nell'esempio sopra, la funzione nella macro scaria un payload / shellcode addizionale, che viene quindi eseguito per ottenere l'accesso al sistema della vittima. Disabilitare l'Antimalware Scan Interface (AMSI) per evadere l'individuazioneAbbiamo visto come alcuni attacchi PowerShell disabilitino prima la protezione AMSI fornita da Microsoft. Infatti tutti gli script / comandi PowerShell sono sottoposti a una scansion AMSI per prevenire l'esecuzione di malware. ![]() Il codice dannoso sopra disabilita l'interfaccia AMSI patchando la funzione ‘AmsiScanBuffer’ nel file ‘amsi.dll’ prima modificando le permissioni nella memoria, quindi scrivendo i byte desiderati. Uso Mimikatz nella fase post-exploitMimikatz è uno dei tool post-exploit più utilizzato da attaccanti e autori di malware. Solitamente è usato per rubare credenziali o eseguire l'escalation dei privilegi. Mimikatz originariamente poteva sfruttare una singola vulnerabilità nel distema di autenticazione di Windows. Tuttavia si è evoluto parecchio nel tempo e la sua ultima versione contiene una miriade di funzionalità aggiuntive. ![]() L'esempio sopra mostra una delle possibilità modalità di esecuzione di Mimikatz. Lo script è scaricato direttamente dal repository GitHub ed eseguito sulla macchina bersaglio. Comandi codificati e compressiUna delle più potenti funzionalità di PowerShell è quella di poter usare comandi codificati come input senza dover scaricare alcun file sul disco. Non solo: Mimikatz consente anche l'uso della compressione (Gzip nella maggior parte dei casi) che contribuisce ulteriormente ad offuscare i comandi. ![]() Nella figura 4 possiamo vedere che l'input al PowerShell è un blocco di comandi in base64, che viene eseguito usando lo switch ‘EncodedCommand’. Il comando in base64, quando decodificato, risulta in un altro set di comandi codificati e compressi elencati come output. ![]() Eseguire la decodifica e la decompressione sull'output delle precedenti operazioni rivela il set finale di comandi, che viene usato per eseguire una shellcode usando varie API Windows, come si vede nella figura sopra. Le difficoltà nell'individuare un attacco PowerShell
Come Quick Heal protegge gli utentiQuick Heal e Seqrite proteggono i propri utenti da malware multi-stage e da attacchi che abusano dell'uso di PowerShell. Oltre al meccanismo di protezione comportamentale, Quick Heal impedisce l'esecuzione dannosa di PowerShell con altri moduli, come l'URL Filtering, la protezione Anti malware e cloud, la protezione Anti Ransomware. ![]() ConclusioneDifendersi da attacchi PowerShell è complicato. A causa della sua disponibilità e alla facilità d'uso, fornisce ai cyber attaccanti un'ampia superficie di attacco. Tuttavia la protezione fornita da alcune tecnologie di rilevamento può aiutarci a mitigare i rischi. Come utenti, possiamo proteggerci non eseguendo script PowerShell non attendibili, abilitando le più recenti funzionalità di sicurezza e mantenendo aggiornati il sistema e l'antivirus Quick Heal. Leggi tutte le news | Leggi tutti gli update |
|
|
||||||
|