Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
quoideneuf1.over-blog.com

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

13 Juillet 2015 , Rédigé par nicko Publié dans #informatique

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

Les chercheurs en sécurité du monde entier ont fouillé dans la décharge massive de HackingTeam. Une chose est sur, c'est comme Noël pour les pirates.

Labs.Bromium qui détient entre ses mains les référentiels de code de HackingTeam, a trouvé un code source d'une multi-plateforme, hautement recommandés, de niveau RAT ( Remote Access Trojan) gouvernemental.

Lorsque Bromium.labs c'est plongé dans les dépôts, il est tombé sur un tas de projets "d'agents RCS", et chacun de ces agents semble être un noyau de Malware RAT pour la HackingTeam appelé système de contrôle à distance, ou RCS « Remote Control System » (Système de Contrôle à Distance).

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

Chacun des noyaux est fait pour un OS différent et ensemble, ils forment un malware multi-plate-forme qui fonctionne sur Windows, Windows Phone, Windows Mobile, Mac OSX, iOS, Linux, Android, BlackBerry OS, et Symbian. Le blog Bromium.labs a couvert le référentiel de base-win32, mais vous pouvez supposer que la fonctionnalité de l'agent Windows est présente sur toutes les autres plate-formes.

Contexte

Le code de ce référentiel constitue une DLL 32 bits qui est l'échelle du système injecté sur Windows, permettant au malware d'exister dans l'espace de processus de nombreuses applications cibles potentiels. Il y a aussi un référentiel de base-win64 qui contient les outils pour compiler cette DLL pour les systèmes 64 bits.

Lorsque la DLL est injecté dans un processus, elle va se dissocier de la liste des modules PEB (Process Environnement Block) et commencer un canal IPC pour communiquer avec d'autres instances du malware et finalement, à une instance de racine qui est responsable de la communication avec le serveur C & C.

Fonctionnalités principales

RCS contient des dizaines d'outils run-of-the-mill d'espionnage, semblables à ceux trouvés dans les outils comme Blackshades et DarkComet. Voici un regard sur le code source:

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

D'un rapide coup d'œil, nous pouvons voir un certain nombre d'outils «intéressants»:

    HM_Pstorage.h et HM_PWDAgent (dossier): saisit les mots de passe de Firefox, Internet Explorer, Opera, Chrome, Thunderbird, Outlook, MSN Messenger, Paltalk, Gtalk, et Trillian stockés.


    HM_IMAgent.h et HM_IMAgent (dossier): enregistre des conversations de Skype, Yahoo IM (versions 7 à 10), MSN Messenger (versions 2009 à 2011, maintenant abandonnées) et ICQ (version 7 uniquement).


    HM_SocialAgent.h et social (dossier): saisit les cookies de session pour Gmail, Facebook, Yahoo Mail, Outlook (client Web), et Twitter depuis Firefox, Chrome et IE.


    HM_MailCap.h, HM_Contacts.h, HM_MailAgent (dossier) et HM_ContactAgent (dossier): capture des courriels et des contacts à partir d'Outlook et Windows Live Mail.


    HM_AmbMic.h et HM_MicAgent (dossier): enregistre le bruit ambiant capté par des microphones attachés.


    wcam_grab.h et wcam_grab.cpp: snap périodiquement et enregistre des photos de webcam.

    HM_Clipboard.h: saisit toutes les données qui sont stockées sur le presse-papiers.


    HM_KeyLog.h: enregistre toutes les frappes.


    HM_MouseLoh.h: enregistre tous les mouvements de la souris et les clics.


    HM_UrlLog.h: dossiers URLs visité dans Firefox, Chrome, IE et Opera.

Il y a rien de vraiment nouveau dans le code, et les méthodes utilisent la plupart du temps des appels d'API standard. Cette fonctionnalité est assez commune dans la plupart des RATS, mais nous devrions considérer que la plupart de ces dossiers ont été vérifiés dans le référentiel dès 2011, signifiant que RCS peut avoir ouvert la voie dans certaines de ces caractéristiques.

Certaine analyse plus approfondie du code révèle que RCS a quelques fonctionnalités plus rares, cependant, dans HM_SkypeRecord.h et HM_SkypeACL (dossier), par exemple, nous pouvons voir qu'ils utilisent l'API DirectSound pour capturer les appels Skype actifs et enregistrer l'audio en utilisant le codec Speex.

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

En outre, nous voyons que RCS peut surveiller les documents imprimés (HM_PrintPool.h) et même saisir les clés privées, les soldes et les transactions de Bitcoin, litecoin, Feathercoin et portefeuilles Namecoin (HM_Money.h).

 Heureusement pour nous Shibe fans ne semblent pas suivre les portefeuilles Dogecoin.

Heureusement pour nous Shibe fans ne semblent pas suivre les portefeuilles Dogecoin.

Géolocalisation

RCS utilise les fonctions WLAN API (réseau local sans fil) de Wlanapi.dll afin d'énumérer les hotspots WiFi à proximité. Beaucoup de hotspots exposent des informations de géolocalisation et RCS semble les utiliser a but informatif afin de déterminer où la machine infectée se trouve, même quand celle-ci est caché derrière un VPN ou un proxy.

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements
Mouvement latéral

Par le fait que HackingTeam semble avoir un stock de 0 day pour les mouvements latéraux , penseriez vous que RCS n'utiliserait pas toutes les fonctionnalités pour ce but précis. Vous auriez tort, cependant. Ils semblent avoir un infector() qui peut infecter les clés USB, les téléphones fonctionnant sous Windows Mobile, et les disques VMWare. Cette infection est situé dans HM_PDAAgent.h.

L'infector USB est assez standard. RCS sonde les nouveaux lecteurs USB, leurs envoient un installateur, et infecte le fichier autorun.inf pour exécuter cette installation.

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

L'infector Windows Mobile fonctionne de la même manière, en copiant le malware à partir du noyau-WinMobile référentiel pour le téléphone, ceci comme un fichier appelé autorun.exe. Ensuite, il envoi un fichier infecté "autorun.zoo" sur le téléphone. Tout cela est fait en utilisant des fonctions de l'API standard de Windows Phone, rapi.dll.

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements
HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

Le RCS détecte les AVs en recherchant leurs pilotes ou en examinant l'environnement pour assurer de certaines variables. Il est assez futé pour savoir lesquelles de ses caractéristiques déclencheront les alertes AVs, et désactivera sélectivement des configurations pour rester caché.

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

Le malware utilise également les appels d'API brouillées afin d'empêcher toute forme d'analyse statique pour comprendre ce qu'il fait. Dans le fichier DynamiCall \ obfuscated_calls.h, le malware a une chaînes codées qui représentent les noms de DLL et les noms de fonctions de l'API qu'elle appelle.

HackingTeam regard sur un Outil d'administration à distance(RAT): Catégorie de Malware utilisé par les gouvernements

De là, DynamiCall\dynamic_import.h et DynamiCall\dynamic_import.cpp s'occupent du décodage des cordes(séries), le chargement du DLLS et la décision des adresses des fonctions. De plus, RCS a un ensemble de fonctions d'API qu'il appellera seulement s'il peut confirmer qu'ils ne sont pas contrôlés : ReadProcessMemory, WriteProcessMemory, CreateRemoteThread, CreateThread, GetProcAddress, VirtualAllocEx, GetWindowText, SendMessageTimeout et VirtualProtectEx. Chaque fois que l'une de ces fonctions est appelée, RCS va récupérer la DLL qui contient la fonction, manuel-carte dans la mémoire, recherchez la fonction cible dans la bibliothèque manuellement mappé, et copier les cinq premiers octets de la bibliothèque manuellement mappée au dessus les cinq premiers octets de la fonction dans la bibliothèque réelle. Si une étape de ce processus échoue, le malware n’appellera pas la fonction. Le code qui fait cela est assez volumineux, mais vous pouvez le trouver dans HM_SafeProcedures.h, HM_SafeProcedures.cpp, HM_PreamblePatch.h et HM_PreamblePatch.cpp.

Cependant, une des pièces les plus révélatrice de code dans le logiciel malveillant, est un extrait inachevée à partir de la ligne 48 du format_resistant.cpp, ce qui suggère l'équipe a essayé de développer un moyen pour que RCS puisse persister via l'infection de UEFI. Bien que le code est inachevé, il est révélateur de leurs ambitions futures.

Remarque: D'autres dépôts contiennent également quelques rootkits en mode noyau pour cacher le malware.

Réflexions de clôture

Le RCS de HackingTeam est un RAT pleinement fonctionnel avec la capacité d'intercepter de grandes quantités de renseignements personnels, d'enregistrer les conversations, les caméras, de se propager à des périphériques, et faire tout cela sans déclencher les alarmes. Le code source montre que le fichier a été développé par une équipe très ambitieuse, et les journaux du référentiel fait comprendre qu'il était en cours de développement. Les implications que ceci porte sont énormes, surtout compte tenu de la liste des clients de HackingTeam.

Source: Labs.Bromium

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article