Come cercare malware UEFI utilizzando Velociraptor

08/04/2024
Le minacce UEFI sono storicamente limitate in numero e per lo più implementate da attori statali come persistenza furtiva. Tuttavia, la recente proliferazione di Black Lotus sul dark web, il modulo di enumerazione Trickbot (fine 2022) e Glupteba (novembre 2023) indica che questo trend storico potrebbe cambiare.

Con questo contesto, sta diventando importante per i professionisti della sicurezza comprendere le capacità di visibilità e raccolta per le minacce UEFI. Questo post copre alcune di queste aree e presenta diversi artefatti recenti di Velociraptor che possono essere utilizzati sul campo. Rapid7 ha inoltre rilasciato un white paper che fornisce informazioni dettagliate su come funziona il malware UEFI e alcuni dei tipi più comuni.

Background

Unified Extensible Firmware Interface, o UEFI, è l’interfaccia tra l’hardware di un sistema e il suo sistema operativo (OS). La tecnologia può essere vista come una capacità del BIOS aggiornato per migliorare e aggiungere sicurezza al processo di avvio.

I due principali tipi di persistenza UEFI sono:

  • Basato su Serial Peripheral Interface (SPI)
  • Impianto di firmware che è resiliente anche a un formato del disco rigido.
  • Difficile da implementare – ci sono rischi associati all’implementazione e potenzialmente si rischia di bloccare una macchina se ci sono errori con il firmware.
  • Difficile da rilevare su larga scala – i difensori devono estrarre il firmware, il che richiede tipicamente un driver firmato, quindi eseguire strumenti per l’analisi.
  • Tipicamente, un analista eseguirebbe il dump del firmware, quindi estrarrebbe variabili e altri file interessanti come PEs per un’analisi approfondita.

2. EFI System Partition (ESP) based

  • Una partizione FAT speciale che memorizza i bootloader e si trova tardi nel processo di avvio EFI.
  • Molto più facile da implementare, richiedendo solo privilegi di root e bypassare Secure Boot.
  • Non sopravvive a un formato della macchina.

Visibilità API delle EFI Secure Variables 

EFI Secure Variables (o altrimenti conosciute come NVRAM) sono il modo in cui il sistema distribuisce componenti dal firmware durante l’avvio. Da un punto di vista dell’analisi, sebbene il dump del firmware sia difficile e richieda un flusso di lavoro manuale, tutti i sistemi operativi forniscono una certa visibilità dallo spazio utente. Questo blog discuterà dell’API di Windows; tuttavia, per riferimento, Linux e macOS forniscono dati simili.

GetFirmwareEnvironmentVariable (Windows) può raccogliere il nome, il GUID dello spazio dei nomi e il valore delle EFI secure variables. Questa raccolta può essere utilizzata per verificare lo stato attuale, inclusi database chiave/firma e revoca.

Alcuni dei dati che consente di estrarre sono:

  • Platform Key (PK) – chiave di livello superiore.
  • Key Exchange Key (KEK) – utilizzata per firmare gli aggiornamenti del database delle firme e del database delle firme vietate.
  • Database delle firme (db) – contiene chiavi e/o hash di binari EFI consentiti.
  • Database delle firme vietate (dbx) – contiene chiavi e/o hash di binari EFI in lista nera.
  • Altre impostazioni di configurazione dell’avvio.

È importante notare che questa tecnica si basa sull’API di Windows e potrebbe essere elusa da malware in grado, ma la visibilità può fornire indizi per un analista riguardo alla configurazione dell’avvio o alle firme. Ci sono anche variabili NVRAM “solo avvio” che non possono essere accessibili al di fuori dell’avvio, quindi sarebbe necessario raccogliere un dump del chip manualmente.

Velociraptor dispone di una capacità  community contributed:  Generic.System.EfiSignatures. Questo artefatto raccoglie informazioni sulle firme EFI dal client per verificare certificati sconosciuti e hash revocati. Questo è un ottimo artefatto per l’accumulo di dati attraverso macchine ed è costruito analizzando i valori dei dati dal plugin efivariables().
EFI System Partition (ESP) visibility

La ESP è un sistema di file partizionato in FAT che contiene i caricatori di avvio e altri file critici utilizzati durante il processo di avvio che non cambiano regolarmente. Di conseguenza, può essere relativamente semplice individuare anomalie tramite forense.

Ad esempio, analizzando la Tabella di Assegnazione dei File, possiamo esaminare i metadati relativi al percorso, ai timestamp e allo stato di eliminazione che possono fornire indicazioni per l’analisi.

Nella schermata sopra osserviamo diversi file del caricatore di avvio EFI con timestamp non allineati. Tipicamente ci aspetteremmo che questi file abbiano gli stessi timestamp intorno all’installazione del sistema operativo. Possiamo anche osservare file eliminati e l’esistenza di una cartella System32 nell’intervallo temporale di queste voci.

La cartella EFI/ dovrebbe essere l’unica cartella nella radice della ESP, quindi interrogare per qualsiasi percorso che non inizi con EFI/ è una grande ricerca che rileva il nostro indizio sopra. È possibile vedere nella mia schermata sottostante, lo staging di BlackLotus che viene evidenziato aggiungendo un filtro per questo caso d’uso.

Curiosamente, si sapeva che BlackLotus utilizzava l’exploit Baton Drop, quindi possiamo confrontarlo con le informazioni pubblicamente disponibili su Baton Drop e osservare le somiglianze con i file eliminati sulla ESP.
L’ultimo componente della visibilità basata su ESP è controllare i byte dei contenuti dei file. Possiamo eseguire YARA per cercare tratti di malware conosciuti, o ottenere metadati aggiuntivi sui tipi di file che possono fornire indicazioni per l’analisi. La schermata sottostante evidenzia le informazioni ben note del certificato di Black Lotus e il timestamp dell’header PE.
Gli artefatti Velociraptor disponibili per questa visibilità della ESP sono:

1.Windows.Forensics.UEFI — Questo artefatto consente l’analisi del disco su una EFI System Partition  (ESP). L’artefatto interroga il disco fisico specificato, analizza la tabella delle partizioni per individuare la Tabella di Assegnazione dei File (FAT) della ESP. L’artefatto restituisce informazioni sui file e un arricchimento PE poiché i file EFI tipici sono nel formato PE.

2. Windows.Detection.Yara.UEFI — Questo artefatto espande la semplice enumerazione della ESP e consente l’esecuzione di Yara sulla partizione di sistema EFI.

Measured Boot log visibility

La sicurezza del bootkit è sempre stata una “corsa verso il basso”. Se il malware potesse caricarsi prima degli strumenti di sicurezza, un difensore dovrebbe assumere che potrebbe essere sconfitto. Da Windows 8, il Measured Boot è una funzionalità implementata per aiutare a proteggere le macchine dal malware che si avvia presto. Il Measured Boot controlla ogni componente di avvio – dal firmware ai driver di avvio – e memorizza queste informazioni nel Trusted Platform Module (TPM). Viene quindi reso disponibile un registro binario per verificare lo stato di avvio della macchina. La posizione predefinita del registro di Measured Boot è C:\\Windows\\Logs\\MeasuredBoot\\*.log e viene registrato un nuovo file per ogni avvio.

Windows.Forensics.UEFI.BootApplication analizza i TCGLogs di Windows MeasuredBoot per estrarre il PathName degli eventi, il che può aiutare a rilevare potenziali persistenze basate su ESP (EV_EFI_Boot_Services_Application). L’artefatto sfrutta gli strumenti Velociraptor per distribuire ed eseguire l’eccellente modulo powershell di Matt Graeber,  TCGLogTools, per analizzare i TCGLogs su disco e in memoria.

Possiamo vedere che quando viene eseguito su una macchina infetta, il percorso dell’applicazione di BOOT è chiaramente cambiato rispetto al predefinito: \\EFI\\Microsoft\\Boot\\bootmgfw.efi. Pertanto, l’applicazione di Boot è un campo che può essere impilato su tutta la rete.

Possiamo anche produrre valori estesi, inclusi hash digest per la verifica.

Altri artefatti forensi

Ci sono molti altri artefatti forensi generici su cui gli analisti potrebbero concentrarsi per assistere nella rilevazione di una minaccia UEFI. Dall’attività di rete del malware agli errori inattesi nel registro eventi associati agli strumenti Antivirus/Sicurezza sulla macchina.

Ad esempio: BlackLotus ha fatto uno sforzo per sfuggire alla rilevazione cambiando i token di accesso di Windows Defender in SE_PRIVILEGE_REMOVED. Questa tecnica mantiene il servizio Defender in esecuzione ma lo disabilita efficacemente. Anche se Velociraptor potrebbe non avere i privilegi di processo protetti per controllare direttamente i token, possiamo controllare altri indicatori come gli errori associati all’uso.

Analogamente, Memory integrity (HVCI) è una funzionalità della sicurezza basata sulla virtualizzazione (VBS) in Windows. Fornisce un ambiente di virtualizzazione più robusto tramite l’isolamento e le allocazioni di memoria kernel. La funzionalità è correlata a Secure Boot e può essere disabilitata per il malware che necessita di un ambiente di integrità inferiore per essere eseguito. Richiede di impostare il valore della chiave di configurazione del registro su 0.

HKLM\\SYSTEM\\CurrentControlSet\\Control\\DeviceGuard\\Scenarios\\HypervisorEnforcedCodeIntegrity\\Value

0 – disabilitato

1 – abilitato
Windows.Registry.HVCI, disponibile nell’exchange degli artefatti, può essere utilizzato per interrogare questo valore della chiave.

In conclusione

Nonostante le minacce UEFI possiedano capacità intimidatorie, i professionisti della sicurezza possono implementare una certa visibilità con gli strumenti attuali per le indagini remote. Analizzare forensicamente il disco e non fare affidamento sull’API di Windows, o esaminare altri indicatori sistemici che potrebbero segnalare una compromissione, è un modo pratico per individuare componenti di queste minacce. Conoscere le capacità di raccolta, le lacune e come mitigarle è altrettanto importante quanto conoscere la minaccia stessa.

In questo post abbiamo coperto parte della visibilità di Velociraptor per le minacce UEFI. Rapid7 supporta Velociraptor open source, fornendo alla comunità Velociraptor e funzionalità open source non disponibili nemmeno in alcuni strumenti a pagamento.

Articolo originale

Scopri la pagina del vendor sul nostro sito

PUBBLICATO DA:<br>Sara Guglielmi
PUBBLICATO DA:
Sara Guglielmi
Marketing

ARTICOLI CORRELATI

Quali sono i vantaggi di una API anti-phishing?

Quali sono i vantaggi di una API anti-phishing?

Gli esseri umani sono l’anello più debole e il phishing sfrutta l’errore umano. Gli autori di phishing inducono un senso di urgenza nei destinatari, quindi i dipendenti sono spesso costretti a compiere azioni dubbie senza pensare alle conseguenze. Il risultato è...