I. Introduction
Ce malware apparu le 24 octobre 2017, s'attaque aux
réseaux des entreprises via une fausse mise à jour d'Adobe Flash que
l'utilisateur doit lancer manuellement (il n'y a pas directement d'exploit
utilisé pour sa diffusion),Lorsque
celui-ci est lancé, il explore le réseau interne de l'entreprise à la recherche
de partages SMB ouverts et tente un brute force sur ceux qui ne sont pas
ouverts à l'aide d'une liste de logins et mots de passe codés en dur dans le
malware.
II. Dictionnaires de Login/Password
Cela est intéressant, car le dictionnaire est assez simple
, nous mettons ici une partie
Dictionnaire des logins
"Administrator"
"Admin" "Guest"
"User" "User1" "user-1" "Test"
"root" "buh" "boss" "ftp"
"rdp" "rdpuser" "rdpadmin" "manager"
"support" "work" "other user"
"operator" "backup" "asus" "ftpuser"
"ftpadmin" "nas" "nasuser" "nasadmin"
"superuser" "netquest" "alex"
|
Disctionnaire des Password
"god"
"sex" "secret" "love" "321"
"123321" "uiop" "zxcv" "zx321"
"zx123" "zxc" "qwerty123" "qwerty"
"qwert" "qwer "qwe321""qwe123"
"qwe" "777" "77777" "55555"
"111111" "password" "test123"
"admin123Test123" admin123" " "user123"
"User123"
|
il essaie de diffuser ces
fichiers sur les ordinateurs du réseau comme décrit via une attaque brute de
force sur les partages administratifs (\\ computername \ admin $) avec une
liste d'identifiants codés en dur (vu au dessus tirer des dictionnaires)
III. Les hashs de BadRabbit
Mais la partie qui nous intéresse ici est les hashs utilisé
dans ce malware . Vu les analyses disponible sur d'autre site le bloc
correspondant à l'analyse des processus contient des hashs
dont voici la liste incluse dans le malware utiliser pour
l'identification des processus.
Hash
|
Nom du
processus
|
0x4A241C3E
|
dwwatcher.exe
|
0x923CA517
|
McTray.exe
|
0x966D0415
|
dwarkdaemon.exe
|
0xAA331620
|
dwservice.exe
|
0xC8F10976
|
mfevtps.exe
|
0xE2517A14
|
dwengine.exe
|
0xE5A05A00
|
mcshield.exe
|
Nous avons construit une implémentation de la fonction de
Hash en C à partir de l'analyse des différent élément disponible
Si on regarde les processus concerné
Dwwatcher.exe
Le processus est appelé "Dr.Web Scanning
Watcher" appartient au logiciel Dr.Web Anti-Virus de Doctor Web
(www.drweb.com).
McTray.exe
Le processus est appelé
"McAfee Security Agent Taskbar Extension" ou "McTray
Application" appartient au logiciel "McAfee Common Framework" ou
"McAfee System Tray" de la compagnie McAfee (www.mcafee.com).
dwarkdaemon.exe
Le processus est appelé "Dr.Web Anti-Rootkit
Server" appartient au logiciel "Dr.Web Anti-Virus" ou
"Dr.Web® Anti-Rootkit Scanning Daemon" de la compagnie Doctor Web
(www.drweb.com).
dwservice.exe
Le processus est appelé "Dr.Web Control Service"
ou "DrWeb appartient au logiciel Dr.Web Security Space" ou
"Dr.Web KATANA" ou "Dr.Web Antivirus" pour Windows ou
"Dr.Web Antivirus pour Windows" de Doctor Web (www.drweb. com).
mfevtps.exe
Le processus est "McAfee Process Validation
Service" appartient au logiciel "SYSCORE" ou à un service de
protection de confiance de "McAfee Validation" ou à
"SYSCORE.14.1.0.484.x64" ou "McAfee VirusScan Enterprise"
de McAfee (www.mcafee.com).
dwengine.exe
Le processus est appelé "Dr.Web Scanning Engine"
appartient au logiciel "Dr.Web® Anti-Virus Scanning Engine" ou
"Dr.Web® Anti-Virus" de Doctor Web (www.drweb.com).
mcshield.exe
Le processus est appelé "On-Access Scanner
service" ou "McAfee On-Access Scanner service" ou "NT
On-Access Scanner service" ou "McAfee Scanner service"
appartient au logiciel "VSCORE.14.0.0.349.x86"
ou "VSCORE" ou "Anti-Malware Core" ou "McAfee
VirusScan Enterprise" ou "VSCORE.14.0.0.435.x86" ou
"VirusScan" ou "VSCORE.14.0.0.423.x86" ou "McAfee
On-Access Scanner" ou "VirusScan (Enterprise, ASaP &
Retail.)" ou "VSCORE.13.3.2.116.x86" ou "McAfee AntiSpyware
Enterprise" ou "VSCORE.14.0.0.384.x86" ou "VSCORE.13.3.2.101.x86"
ou "VSCORE.14.0.0.433.x86" ou "McAfee McShield" ou
"McAfee AntiSpyware Enterprise Module" ou "McAfee Virtual
Technician" ou "VSCORE.13.3.0.139.x86" ou "McAfee
Anti-Spyware" de la compagnie McAfee (www.mcafee.com) ou Network
Associates (nai.com).
en gros les hash concerné servent à identifier la présence
d'un anti-virus de type
www.mcafee.com ou www.drweb.com
Revenons à l'algorithme de la fonction utilisé par
"BadRabbit", elle est identique à celle du malware dans la catégorie
Ransomware (Petya/Notpetya) . La seul
différence est la valeur initialisation qui est dans le cas de Petya
0x12345678 et dans le cas de BalRabbit et simplement l'inverse
0x87654321.
Nous mettons l'exemple du code en C de notre programme reproduisant
la fonction
DWORD
CalcCustomHashBadRabbit(const char*
pszProcessName)
{
DWORD dwHash = 0x87654321;
int iCurPos;
char
cTmpVal;
char* pbyEncCaract=NULL;
DWORD
dwFramePos;
int iCountCycle = 0;
unsigned int
uiProcessNameLen = strlen(pszProcessName);
do
{
iCurPos = 0;
if
(uiProcessNameLen)
{
dwFramePos = iCountCycle;
do
{
pbyEncCaract = (char*)&dwHash
+ (dwFramePos & 0x0000003);
cTmpVal = (*pbyEncCaract ^ LOBYTE(pszProcessName[iCurPos++]))
- 1;
dwFramePos++;
*pbyEncCaract = cTmpVal;
} while (iCurPos
< uiProcessNameLen);
}
iCountCycle++;
} while (iCountCycle
< 3);
return dwHash;
}
|
Dont voici le résultat dans un petit programme EzAnalyzeHashMalwareBadRabbit.exe
I. Conclusion
L'algorithme de hash n'est pas en soit nouveau, mais
différant des fonction de hash basé sur des rotations de bit et de là il est
assez simple de mettre en commun l'algorithme de hash sous la forme suivant:
DWORD CalcCustomHash(const char* pszProcessName,DWORD dwVectorInit)
ou le paramètre dwVectorInit est la valeur initialisation
0x12345678 ou 0x87654321 à suivre si
d'autre malware utilise ce type de fonction de hash dans d'autre malware
et avec d'autre vecteur d'initialisation.
Aucun commentaire:
Enregistrer un commentaire