I. Introduction
Emotet est classifié comme malware dans la catégorie cheval
de troie ( Trojan ) , mais c'est
un cheval de troie évolué et modulaire. Il fonctionne
principalement comme un téléchargeur ou un dropper pour introduire d'autre
programme malveillant.
Dans cette quelque ligne, nous allons revoir celui-ci,
en regardant uniquement la partie hash
des processus servant a détecté les environnements virtualisés.
Le code utilisé sert à faire de l'anti-virtualisation au travers de la détection des processus trahissant
l'existance d'une machine virtuel type Vmware,HyperV, VirtualBox, VirtualPC ... etc.
Le code utilisé sert à faire de l'anti-virtualisation au travers de la détection des processus trahissant
l'existance d'une machine virtuel type Vmware,HyperV, VirtualBox, VirtualPC ... etc.
I. Algorithme de création des hashs
A partir d'information disparate existant sur le web, nous
avions crée un tools permettant de disposer de l'algorithme de hash de Emotet
en C++ pour cette partie des hashs représentant des noms de processus
Nous avions réalise ce programme pour déterminer les hashs
non précisé sur le web.
Lorsque nous avons rechercher des informations sur ses
hashs.
Il y avait que quatre processus ou l'on disposé du hash
résultant que nous avons remis en dessous dans ce tableau
Nom du processus
|
Hash
|
vboxservice.exe
|
0xBCF398B5
|
vmacthlp.exe
|
0x2C967737
|
vmtoolsd.exe
|
0xE3EBFE44
|
vboxtray.exe
|
0x61F15513
|
Hors la liste des hashs était bien plus importante et contenait
15 hashs. Mais en cherchant, il y a pas informations accessible sur ses hashs.
Hors N sites re pointant sur la même source initiale.
Nous les avons remis en dessous dans un tableaux en C
DWORD MalwareEmotetListHashOfProcessNameTrackEnvirVirtualMachine
[] =
{
0xBCF398B5, //
vboxservice.exe ( VBoxService.exe )
0x61F15513, // vboxtray.exe
0xD8806134,
0xC96D800E,
0x7D87B67D,
0x2C967737, //vmacthlp.exe
0x0C7F2BD9,
0x8BFF04B8,
0xEF88AA77,
0x2023EE05,
0x87725BFC,
0xB6521E80,
0xAFED9FB6,
0x4EBEEE4C,
0xE3EBFE44 //vmtoolsd.exe
};
|
Nous avons des outils permettant de casser par force brute
les hashs lors de nos études de hashs inconnue.
Nous avons passer les hashs de la liste du malware Emotet au
travers d'un outil dédier
Cela nous a donné les résultats suivant:
Hash
|
Nom des processus possibles
|
0xBCF398B5
|
VBoxfsadam.exe
VBoxahjoonf.exe
VBoxjuxoebt.exe
VBoxkptqtid.exe
VBoxservice.exe ( VirtualBox )
|
0x61F15513
|
vboxtray.exe ( VirtualBox )
ehfyehe.exe
xbbrbvt.exe
zunorwq.exe
|
0xD8806134
|
vboxsvc.exe ( VirtualBox )
|
0xC96D800E
|
vbbhxlfij.exe
prl_bfygksb.exe
vboxrqpddne.exe
virtualbox.exe ( VirtualBox )
vmgfltzwj.exe
|
0x7D87B67D
|
vmnat.exe ( VMware Workstation )
|
0x2C967737
|
vmacthlp.exe ( VMware
)
|
0x0C7F2BD9
|
vmware-authd.exe
|
0x8BFF04B8
|
vmware-pijkpde.exe
xenfzejmkd.exe
vmwareqsftnsl.exe
vmnetdhcp.exe ( VMware Workstation )
xennocobee.exe
crfxdeo.exe
lklcejb.exe
|
0xEF88AA77
|
vmware-usbarbitrator64.exe ( VMware )
|
0x2023EE05
|
vmware-hostd.exe ( VMware )
|
0x87725BFC
|
vmware-tray.exe ( VMware )
|
0xB6521E80
|
vmware.exe ( VMware )
|
0xAFED9FB6
|
vmwarealiucwl.exe
vmware-buyiuib.exe
prl_oyfbmvq.exe
prl_dthnebc.exe <! Bizarre/ Non encore déterminer !>
Vuoietee.exe
|
0x4EBEEE4C
|
vmczpsvvj.exe
vmwarelamxmoy.exe
vmware-vmx.exe (VMware Workstation 7)
|
0xE3EBFE44
|
vmtoolsd.exe ( VMware
)
|
Voici une capture de l'outil que nous avons réalisé pour
effectuer la recherche des noms de processus pouvant correspondant au hash du
malware.
Analyse de hash Emotet |
Nous mettons l'algorithme correspondant du malware Emotet
DWORD
CalcCustomHashEmotet(const char*
pProcessName)
{
DWORD dwHash = 0x00000000;
int
i=0;
do
{
char c =
pProcessName[i];
if( c >=
'A' && c <= 'Z' ) c
= c + 0x20;
dwHash = dwHash *
0x0019660D + c + 0x3C6EF35F;
i++ ;
}while(pProcessName[i]!=0x00);
return
dwHash;
}
|
Dans exemple nous avons pris "VBoxservice.exe"
qui donne le hash 0xBCF398B5
Lors d'une analyse, cela permet d'avoir un point d'accroche
pour croiser les mécanismes utilisé par d'autres malwares.
I. Les processus traqué pour Anti-VM
Nous remettons quelques processus de la listes que cherche Emotet
Cela permet de reconstruire le mode de détection de Anti-VM et croisé l'ordonancement avec la logique du développeur sur le tableau des hashs.
vboxtray.exe est un processus appartenant au
"VirtualBox Guest Additions de Sun Microsystems" et donc trahi que le
Windows est hébergé par VirualBox. Il est là pour gérer plus éléments
d'intération dont la gestion du copier-coller
VBoxService.exe est un processus appartenant
également à "VirtualBox Guest Additions de Sun Microsystems" et aussi
trahi que le Windows est hébergé par VirualBox. Il est là pour la
synchronisation avec l'hôte en autre.
vboxsvc.exe est un processus appartenant
également à "VirtualBox" présent dans les processus d'une virtual
machine hébergé par VirtualBox
Vmnat.exe fournit les services NAT aux machines virtuelles
exécutées dans VMware Workstation.
vmacthlp.exe ( Vmware Physical Disk Helper
Service ) et trahi que le windows est hébergé par Wmware.
Pour l'ensemble ce sont des composants des moteurs
de virtualisation et ses processus sont déjà connu pour être moyen de tracer la
présent d'environnement virtuel et faire de l'anti-VM au sein des malwares. Il
n'y a pas de réel nouveauté dans les processus recherché. Le seul qui pour l'instant n'est pas encore
déterminer suite à l'analyse est le hash 0xAFED9FB6.
Mais vu les autres l'intérêt de continuer semble pas utile.
Tous simplement par le développeur au vu du tableau les a ranger dans l'ordre
des moteurs de virtualisation et doit théoriquement décrire un processus pour
VMware.
II. IV Autre malwares
Il existe une multitude de méthode pour détecter les
environnements d'analyse et cela est propre à beaucoups de malware. citons au
autres exemple de malware "Rebhip" est capable de détecter toutes les
machines virtuelles populaires ainsi que des outils d’analyse automatisés
disponibles au public, tels que ThreatExpert, Anubis, CWSandbox et JoeBox. En
termes de détection de VM, il est également capable de détecter VMWare, Virtual
PC et Virtual Box tous comme Emotet.
Nous allons donc plutôt chercher vers d'autre partie du malware des éléments à investigué et regarder d'autre malware pour expliquer des technique Anti-VM différentes.
III. Conclusions
L'intérêt de tracer la méthode
utiliser par un malware pour détecter la présence d'une virtual machine et là
pour pouvoir la neutralisé et rendre Anti-VM au sein du code du malware non
impactant pour l'analyse tous en restant dans l'environnement virtualisé. Il
existe différentes méthodes qui son donc à désactiver pour duper le malware
pour qu'il effectue l'action pour là quelle il a été conçu tous en étant dans
un contexte d'étude sécurisé .
La méthode de Anti-VM que l'on vient
de voir utilisant la partie analyse des processus pour trahir l'existence d'un
environnement virtualisé est très courant et l'une des plus simple à mettre en
place. Vous trouverez couramment cette technique lors de l'étude d'un malware.
Comprendre les processus recherché
pour trahir la présent d'une machine virtuel et importante. Car les techniques
étant similaire d'un malware à l'autre, il est plus simple de trouver d'une
liste de processus correspondant à l'anti-vm utiliser dans un autre malware et
aussi de trouver des hashs correspondant. le gain de temps n'est pas
négligeable et vous permet de vous concentrer uniquement sur ce nouveau ou non
trouvé de déterminer les algo de Hash s'ils sont standard ou non.