Le malware analysé est connu sous le nom de “Houdini” ou “H-worm”.
Ce malware se présente sous la forme de script VBScript. Il existe également d’autres variantes (fichier wsf, Windows Script File qui permet d’intégrer des scripts VBScript).
Ce malware permet d’exfiltrer des données via le « useragent » et d’exécuter des commandes et/ou des programmes.
Les différentes fonctionnalités du malware sont les suivantes :
Le malware s’installe dans le répertoire %temp% du contexte de l’utilisateur.
La persistance du malware est réalisée via une copie du malware dans :
Le malware tente également de s’inscrire dans le registre dans les clés « run » dans les ruches HKLM et HKCU :
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\
A la première installation, le malware va tenter de créer l’entrée de registre suivante :
Il va ensuite dans cette entrée ajouter une clé « Default » avec la valeur « True » ou « False » s’il a été exécuté depuis un périphérique USB ainsi que la date de première exécution (exemple : « true – DateDinstallation » ou « false – DateDinstallation »).
A chaque exécution du malware, celui-ci se propage sur tous les lecteurs connectés au poste.
La propagation est réalisée via une copie du malware sur les disques connectés au poste infecté, puis en créant des raccourcis portant les noms des fichiers présents sur les disques et pointant sur la copie du malware présent sur le disque.
Les communications réseau sont réalisées en HTTP via requêtes GET et POST , les communications sont en règle général réalisé sur les ports « exotiques » (diffèrent de 80, mais peut quand même être utilisé).
Il est possible d’identifier ces communications en recherchant dans les URL les valeurs suivantes :
Le « useragent » utilisé n’est pas commun, en effet il est possible de retrouver des informations sur le poste, les différents champs présents dans le « useragent » sont séparer par le délimiteur suivant : <|>
De nombreuses variantes de ce malware sont détectées, mais il est très simple d’offusquer le code, car le malware est un script VBScript.
Afin de s’assurer de la détection de chaque souche de ce malware, il est donc nécessaire de soumettre toutes les souches identifiées aux différents éditeurs antivirus.
Ce malware est très simple à mettre en place et à rendre indétectable par les antivirus grâce à son format facilement obfuscable, mais il est du coup facilement désobfuscable.
Il est également très volatile, car se duplique automatique sur tous les disques connectés au poste infecté.
Les données qui transitent entre le poste infecté et le C&C ne sont pas chiffrées et les connexions sont facilement identifiables.
Le principal risque est l’envoi et l’exécution d’un programme tiers (virus, hacktool, etc...) sur le poste déjà infecté.
Attention, il existe d’autres variantes à ce malware qui utilisent d’autres séparateurs dans le « useragent » ainsi que d’autres requêtes http pour l’envoi et réception d’instructions au C&C.
Il est possible de détecter facilement la présence de ce malware dans les logs proxy de navigation en recherchant le séparateur utilisé dans le « useragent » ( <|> ) ou certaines chaines de caractère dans les URL ( /is-ready ).
Pour plus d’information, voir la partie « Communications réseau » dans la première partie de ce document.
Il est possible de nettoyer assez facilement les postes infectés en supprimant le malware de la racine du disque, de chaque dossier %temp% et startup de chaque utilisateur ainsi que de supprimer les entrées de registre dans les ruches HKLM et HKU.
Pour plus d’information, voir la partie « L’installation » dans la première partie de ce document.
Afin de pouvoir garantir l’intégrité des données du poste, il est nécessaire que le poste infecté ne se soit jamais connecté à internet depuis un autre réseau que celui de l’entreprise et que depuis le début de l’infection de poste les requêtes HTTP soient bloquées par le proxy.
Nous préconisons la réinstallation complète de chaque poste infecté sans récupération de données pour les postes qui ont été connectés hors SI et/ou qui ont réussi à contacter le C&C (voir dans les logs Proxy web).
Il nous paraît intéressant de faire un rappel à l’utilisateur sur l’utilisation des périphériques USB dans l’entreprise voire même faire bloquer les périphériques de stockage sur son poste.
Il est nécessaire de voir avec l’utilisateur pour connaître tous les périphériques de stockage qui ont été connectés au poste compromis afin de pouvoir les faire formater.