Rilevamento sandbox malware

12

Ho iniziato alcuni esercizi di reverse engineering utilizzando Ollydbg , IDA Pro e altri strumenti come suite Sysinternals , ecc. Alcuni di questi esercizi riguardano il malware. Ho scaricato alcuni malware diversi dal fantastico repository github chiamato The Zoo .

Ho creato il mio vm Virtualbox basato su Windows come ambiente sandbox. Il problema è che alcuni malware avanzati sono in grado di rilevare che è in esecuzione in un ambiente sandbox e ha un comportamento diverso (è un bravo ragazzo sulla sandbox).

Ho provato un software come Pafish per rilevare l'ambiente virtuale. Traccia alcune funzionalità:

Hoprovatoa"modificare" alcuni di essi (chiavi reg) ma sono ripristinati ad ogni riavvio. Ad ogni modo, immagino ci siano alcuni di loro che è impossibile nascondere. Quindi supponiamo che il malware, se è un po 'elaborato, sia sempre in grado di rilevare l'ambiente vm sandbox.

C'è un altro metodo sandbox migliore per evitare il rilevamento della sandbox malware?

    
posta OscarAkaElvis 28.10.2017 - 12:55
fonte

2 risposte

8

Inizia con questa guida: link - è incredibilmente aggiornato in termini di creazione di una VM guest VirtualBox in più- difficile da rilevare, comprese le tecniche valide nel 2017. Ciò renderà sicuramente più facili le tue iniziative e gli obiettivi di analisi malware automatizzati.

Considerare la tracciabilità e il debug all'esterno della VM guest utilizzando VirtualKD, come illustrato nei tre libri 1) Windows Malware Analysis Essentials, 2) Gray Hat Hacking 4th Edition e 3) Practical Reverse Engineering. Puoi sincronizzare le visualizzazioni tra Windbg e IDA Pro utilizzando qb-sync.

Preferisci VirtualKD ad altre tecniche di user-debugging come Scilla, HideToolz , HideCon, et al. Questi non sono buoni perché sconfiggere il rilevamento VM è abbastanza difficile. Sconfiggere l'anti-debug e il cattivo comportamento associato richiede troppo lavoro in userland.

Pafish, come strumento sems , è anche un po 'datato. Ti suggerisco di utilizzare - link - per sottoporre a stress test l'analisi del malware automatizzato con sandbox come le macchine virtuali guest.

Esistono ulteriori informazioni sul rilevamento delle VM su questi blog:

risposta data 28.10.2017 - 20:00
fonte
4

Per favore indirizza le domande di analisi binaria e di reverse engineering al link , specialmente se sei appena agli inizi, dal momento che esiste già una serie di importanti conoscenza che è stata condivisa lì ed è frequentata da esperti di reverse engineering e analisti di malware.

Probabilmente esistente Q & A:

Prima di tutto: come posso analizzare un binario potenzialmente dannoso in sicurezza?

Se vuoi analizzare dinamicamente i binari di PE che impiegano tecniche anti-analisi, ScyllaHide , Immunity Debugger e Cheat Engine potrebbero essere utili. Vedi

per maggiori informazioni.

Secondo l'articolo A Look in Malware con Rilevamento macchina virtuale , a seconda dei metodi utilizzati per rilevare se il programma è in esecuzione o meno in un VM, può essere semplice applicare patch al binario in modo che tali metodi non vengano eseguiti.

Un articolo del 2006 di Ed Skoudis menzionato nell'articolo precedente chiamato On the Cutting Edge: Bloccare il rilevamento della macchina virtuale potrebbe anche darti qualche idea.

Le tecniche di rilevamento VM utilizzate dal binario possono dipendere anche da quando è stato scritto: secondo l'articolo Symantec del 2014 Il malware rileva ancora macchine virtuali? ,

Most of the samples use a runtime packer with built in VM detection. Generally, this means the packer or crypter will perform the detections, not the sample itself. Malware authors have realized that it is suspicious when an application detects that it is running on a VM, so they have stopped using those features in recent years.

Se questo è il caso di alcuni dei binari che vorresti analizzare, questi potrebbero contenere informazioni utili:

Oltre ai metodi tradizionali, esistono quadri di strumentazione binaria come angr e valgrind che eseguono analisi dinamiche senza mai eseguire il codice oggetto originale del binario.

Se non ti è utile, fai una nuova domanda sul link .

    
risposta data 28.10.2017 - 18:44
fonte

Leggi altre domande sui tag