Abbiamo trattato l'uso dell'analisi forense di Linux per indagare su un incidente informatico. Abbiamo trattato la lettura e l'estrazione di prove dai file di registro e dalla cronologia dei comandi. Questo faceva parte TryHackMe scontento

Ottieni appunti di informatica forense

Analizzare il malware è come un gioco del gatto e del topo. Gli analisti di malware continuano a ideare nuove tecniche per analizzare il malware, mentre gli autori di malware escogitano nuove tecniche per eludere il rilevamento. In questa attività verranno esaminate alcune tecniche che ostacolano i nostri sforzi per analizzare il malware utilizzando l'analisi statica o dinamica di base.

Metodi di evasione malware di Analisi statica:

  • Modifica dell'hash: Abbiamo appreso in precedenza che ogni file ha un hash univoco. Gli autori di malware sfruttano questa funzionalità modificando leggermente il proprio malware. In questo modo, l'hash del malware cambia, aggirando il meccanismo di rilevamento basato sull'hash. Gli hash possono cambiare anche se viene modificato un bit del malware (a meno che non si parli di hash a pezzi attivati dal contesto o di hash fuzzy), quindi è sufficiente aggiungere un NO istruzioni o altre modifiche simili possono sconfiggere le tecniche di rilevamento basate su hash.
  • Sconfiggere AV firme: Le firme antivirus e altri rilevamenti basati sulle firme spesso dipendono da modelli statici presenti nel malware. Gli autori di malware modificano questi modelli per cercare di eludere le firme. Questa tecnica è spesso accompagnata dall'offuscamento generale del codice malware.
  • Offuscamento delle stringhe: Alcuni autori di malware offuscano le stringhe nel malware decodificandole in fase di runtime. Quando cerchiamo stringhe nel malware, potremmo non trovare nulla di utile. Tuttavia, quando il malware viene eseguito, decodifica tali stringhe durante l'esecuzione. Gli autori di malware potrebbero offuscare stringhe importanti, come URL, C2 domini, ecc., per evitare di bruciare l'infrastruttura in base a una ricerca a stringa singola.
  • Caricamento runtime delle DLL: Poiché possiamo identificare le importazioni di malware durante l'analisi PE intestazioni, gli autori di malware utilizzano spesso LoadLibrary o LoadLibraryEx delle librerie Windows per caricare una DLL in fase di runtime. Analizzando staticamente questo malware, potremmo non vedere tutte le funzioni a cui è collegato durante l'analisi delle sue intestazioni.
  • Imballaggio e offuscamento: Il packing è molto popolare tra gli autori di malware. Imballare il malware è come impacchettare un regalo. Quando guardiamo un regalo imballato, non possiamo dire cosa potrebbe esserci al suo interno a meno che non spacchettamo l'involucro e tiriamo fuori il regalo. Allo stesso modo, i packer impacchettano il malware in un wrapper scrivendo codice che decodifica il malware in fase di esecuzione. Pertanto, quando eseguiamo l'analisi statica, potremmo non essere in grado di vedere cosa c'è all'interno del packer. Tuttavia, quando eseguiamo il malware, decomprime il codice, carica il codice dannoso vero e proprio nella memoria e quindi lo esegue.

Metodi di evasione malware di base Analisi dinamica:

  • Identificazione delle VM: Tuttavia, alcune di queste tecniche potrebbero ritorcersi contro al giorno d'oggi poiché gran parte dell'infrastruttura aziendale è ospitata VMs, uno dei metodi preferiti dagli autori di malware è stato identificare se il malware è in esecuzione all'interno di una VM. Per questo, il malware spesso controlla la presenza di chiavi di registro o driver di dispositivo associati ai più diffusi software di virtualizzazione come VMWare e Virtualbox. Allo stesso modo, risorse minime, come una singola CPU e RAM limitata, potrebbero indicare che il malware è in esecuzione all’interno di una VM. In questo scenario, il malware seguirà un percorso di esecuzione diverso, non dannoso per ingannare l'analista.
  • Attacchi temporali: Il malware tenta spesso di far scadere i sistemi di analisi automatizzati. Ad esempio, quando viene eseguito il malware, proverà a dormire per un giorno utilizzando la libreria Windows Sleep. Dopo alcuni minuti, il sistema di analisi automatizzato si spegnerà, non trovando tracce di attività dannose. I sistemi di analisi del malware più recenti possono identificare questi attacchi e provare a mitigarli riducendo il tempo di sospensione del malware. Tuttavia, il malware può identificare tali mitigazioni eseguendo controlli temporali mirati per verificare se l'ora viene manipolata. Questo può essere fatto annotando l'ora di esecuzione e confrontandola con l'ora corrente dopo l'esecuzione della chiamata di sospensione.
  • Tracce dell'attività dell'utente: Il malware tenta di identificare se sono presenti tracce dell'attività dell'utente nella macchina. Se non vengono trovate tracce o ne vengono trovate pochissime, il malware deciderà di essere eseguito all'interno di un sistema controllato e prenderà un percorso di esecuzione diverso e benigno. Tracce dell'attività dell'utente possono includere nessun movimento del mouse o della tastiera, mancanza di cronologia del browser, nessun file aperto di recente, poco tempo di attività del sistema, ecc.
  • Individuazione degli strumenti di analisi: Il malware può chiedere a Windows sistema operativo per un elenco di processi in esecuzione utilizzando Process32First, Process32Next o funzioni simili. Se nell'elenco dei processi in esecuzione vengono identificati strumenti di monitoraggio popolari, il malware può intraprendere un percorso di esecuzione benigno. Ad esempio, se ProcMon o ProcExp sono in esecuzione, il malware può identificarlo e passare ad attività benigne. Un altro modo per identificare gli strumenti di analisi è osservare i nomi delle diverse finestre aperte in un sistema. Se il malware trova Ollydbg o ProcMon in Windows aperto, può passare a un percorso di esecuzione diverso.

Risposte in camera

L'utente ha installato un pacchetto sulla macchina utilizzando privilegi elevati. Secondo i registri, qual è il COMANDO completo?

Qual era la directory di lavoro attuale (PWD) quando è stato eseguito il comando precedente?

Quale utente è stato creato dopo l'installazione del pacchetto dell'attività precedente?

Successivamente a un utente sono stati concessi i privilegi sudo. Quando è stato aggiornato il file sudoers? (Formato: Mese Giorno HH:MM:SS)

Un file di script è stato aperto utilizzando l'editor di testo "vi". Qual è il nome di questo file?

Qual è il comando utilizzato per creare il file bomb.sh?

Il file è stato rinominato e spostato in una directory diversa. Qual è ora il percorso completo di questo file?

Quando è stato modificato l'ultima volta il file della domanda precedente? (Formato: Mese Giorno HH:MM)

Qual è il nome del file che verrà creato quando viene eseguito il file della prima domanda?

A che ora si attiverà il file dannoso? (Formato: HH:MM AM/PM)

Videoprocedura dettagliata

Circa l'autore

Creo note sulla sicurezza informatica, note di marketing digitale e corsi online. Fornisco anche consulenza di marketing digitale, inclusi ma non limitati a SEO, annunci Google e Meta e amministrazione CRM.

Visualizza articoli