Anodin Odin

Depuis quelques jours, les serveurs de messageries sont sous le joux d’une campagne massive de messages malveillants.

Encore un nouveau rançongiciel ! Décidément, ils sont à la mode : cela fait plus d’un an qu’on se prend vague sur vague des Locky et consort. Le principe est quasiment toujours le même : un message avec une pièce jointe qui va téléchargé une charge qui chiffre les données sur votre poste et ses partages réseaux…

Cependant la dernière campagne est intéressante pour deux raisons :

Premièrement,  même si le vecteur de contamination reste le même : fichier office avec des macro. Le code de ces dernières n’est pas aussi obfusqué que d’habitude. Preuve que les pirates se lassent peut-être : en tous les cas, la puissance olevba ou oledump peut s’exprimer pleinement pour en extraire rapidement des informations pertinentes à l’analyse et la recherche d’IOC.

 | IOC        | http://juyinggroup.c | URL                                     |
 |            | om/g76ub76           |                                         |
 | IOC        | ll32.exe             | Executable file name                    |
 | IOC        | P.dll                | Executable file name                    |
 | IOC        | rundll32.exe         | Executable file name (obfuscation: VBA  |
 |            |                      | expression)

Le code VBA des macros laisse aussi paraitre que les auteurs seraient hispaniques. En effet, bon nombre de variables et noms de fonction sont directement pris de l’Espagnol. Voici quelques exemples :

For i = 1 To Len(permiso)
 letra = Mid(permiso, i, 1)
 If letra = "A" Then
  Alta = True
 End If

 If letra = "B" Then
  Baja = True
 End If

 If letra = "M" Then
  modi = True
 End If

 If letra = "C" Then
  Consu = True
 End If
Next i
If Len(permiso) = 0 Then
 Consu = False
 modi = False
 Alta = False
 Baja = False
End If

Info ou intox de la part des attaquants ?

La seconde nouveauté concerne l’exécution de la charge:
Notons que le code de la macro ne télécharge plus directement un exécutable mais un blop binaire qui est par la suite déchiffré (XOR avec une clé de 32 caractères). Ce stratagème permet à la charge de passer inaperçue même au travers d’un proxy HTTP. Une fois déchiffrée cette charge est toujours un fichier PE mais ce n’est pas un exécutable EXE mais une bibliothèque de liens dynamiques (ie : une DLL).

jshmendes@cb:~$ file charge.bin
 charge.bin: PE32 executable (DLL) (console) Intel 80386 (stripped to external PDB), for MS Windows

Cette DLL est alors exécutée à l’aide de rundll32.exe avec la commande suivante :

Call Shell("rund" & "ll32.exe " & moyaMANUNAUUUKA & ",qwerty", vbHide)

Cet appel à travers rundll32.exe présente l’avantage de contourner les éventuelles restrictions AppLocker présentes sur le poste ciblé : Non seulement la charge s’exécute même s’il y a un filtrage sur les fichiers DLL, mais en plus les journaux d’événements ne voient rien, rendant l’investigation moins triviale.

Notons qu’il s’agit ici d’une limitation connue d’AppLocker (Et non ce n’est pas une vulnérabilité d’après Microsoft). Rajoutons que ce n’est pas la seule technique pour contourner une politique de restriction d’exécution sous Windows, mais que c’est probablement la plus efficace et la plus simple à mettre en oeuvre.

Cette limitation laisse donc les postes vulnérables à cette nouvelle campagne de rançongiciel qui prend le doux nom d’Odin (en référence à l’extension utilisée pour renommer les fichiers chiffrés). Après Locky, voici donc une autre divinité de la mythologie nordique qui met à mal la sécurité des données.

A propos JoMendes

Amateur de mathématiques et d'hexadécimal. Je m'intéresse de près ou de loin suivant mon niveau à tous les sujets de sécurité de l'information.
Cet article, publié dans Outils, Uncategorized, est tagué , , , , . Ajoutez ce permalien à vos favoris.

Laisser un commentaire