Skip to main content
  1. Concetti/

Fileless Malware - Living off the Land, PowerShell

·3 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Fileless Malware - Mappa Globale
#

Definizione
#

Il fileless malware e' malware che opera interamente in memoria RAM senza scrivere file su disco. Non c'e' un .exe, non c'e' un .dll, non c'e' nulla su disco da scansionare. L'antivirus tradizionale basato su signature e' cieco: non ha file da analizzare. La tecnica spesso si sovrappone a Living off the Land (LotL): l'attaccante non porta malware dall'esterno ma usa i tool gia' presenti nel sistema.

malware-worm-rootkit-spyware-botnet.webp

Flow tipico di un attacco fileless
#

Il flow standard parte da un documento malevolo e termina con persistenza tramite registry o WMI, senza che nessun file malevolo tocchi mai il disco.

Comando tipico - PowerShell encoded:

powershell -encodedCommand <base64_payload>

Il payload e' codificato in base64 per evitare filtri di testo. L'antivirus vede PowerShell.exe (legittimo) con un argomento in base64. Non trova firma di malware.

Living off the Land (LotL)
#

LotL e' la tecnica in cui l'attaccante usa tool gia' presenti nel sistema target invece di installare malware personalizzato. Non e' un tipo di malware: e' una tecnica. Un APT che usa LotL non porta malware dall'esterno, usa quello che trova.

LOLBinUso legittimoAbuso tipico
powershell.exeAmministrazione sistemaDownload + exec payload in-memory
certutil.exeGestione certificatiDownload file, decode base64
wmic.exeQuery WMILateral movement, esecuzione remota
regsvr32.exeRegistra DLLEsecuzione script remoti (Squiblydoo)
mshta.exeApre file HTAEsegue VBScript/JScript remoti
rundll32.exeCarica DLL legittimeEsegue DLL arbitrarie di attaccante

Tecniche di iniezione in-memory
#

L'attaccante non crea nuovi processi visibili: inietta codice in processi esistenti e legittimi per nascondersi ulteriormente.

Perche' bypassa i controlli tradizionali
#

TecnicaPerche' bypassaIndicatore rilevabile solo da EDR
Vive solo in RAMAV su file non trova nullaMemory scan anomaly
USA LOLBinsWhitelist non blocca tool legittimiPowerShell spawned da processo insolito
Process injectionMonitor vede solo il processo hostThread injection in explorer.exe
WMI persistenzaGira dentro WMI (sistema legittimo)WMI subscription non autorizzata
Encoded commandsSignature non matcha base64PowerShell ScriptBlock anomalo

Detection
#

La signature-based AV e' cieca contro fileless malware. Le difese efficaci richiedono analisi comportamentale.

Indicatori concreti da cercare:

  • PowerShell con -encodedCommand o -enc
  • IEX (Invoke-Expression) con DownloadString
  • certutil.exe che contatta URL esterni
  • WMI subscription non autorizzate
  • Thread injection in processi di sistema (explorer.exe, svchost.exe)
  • Connessioni outbound da processi che non dovrebbero avere traffico di rete

Strumenti di attacco noti
#

Cobalt Strike e PowerShell Empire sono i framework piu' usati in penetration test (e da attaccanti reali) che implementano tecniche fileless e LotL.

[Dev parallel] Il fileless malware e' analogo a quello che succede in un attacco supply chain su un'app Node che inietta codice nel runtime tramite --require hook: nessun file aggiuntivo su disco, tutto avviene nel processo gia' avviato. PowerShell Empire funziona come un worker che riceve job dalla coda C2 e li esegue inline nel processo PowerShell, senza mai scrivere nulla su filesystem. In PHP e' come eseguire eval(base64_decode($payload_from_post)): il codice non e' mai su disco, arriva a runtime e viene eseguito nell'interprete gia' trusted.

Related