C'est donc suite à la publication de ces documents par les pirates du Shadow Brokers qu'un chercheur et de surcroît un employé du cabinet de sécurité Countercept s'est également mis à la chasse des logiciels espions utilisés par la NSA. Le chercheur en sécurité qui répond au nom de Luke Jennings affirme aujourd'hui avoir réussi à mettre au point un outil gratuit qui permettra aux utilisateurs avertis de vérifier si leur ordinateur ou leur réseau est infecté par l'implant logiciel de la NSA dénommé Doublepulsar. D'après les informations recueillies, Doublepulsar est contenu dans les nombreux exploits publiés par le groupe Shadow Brokers et ciblant pour la plupart des PC et serveurs Windows. Rappelons que dans le domaine de la sécurité informatique, un exploit est défini comme étant un élément de programme permettant à un individu ou à un logiciel malveillant d'exploiter une faille de sécurité informatique dans un système d'exploitation ou un logiciel, que ce soit à distance (remote exploit) ou sur la machine sur laquelle l'exploit est exécuté (local exploit) ; cela, afin de prendre le contrôle d'un ordinateur ou d'un réseau, d'accroître le privilège d'un logiciel ou d'un utilisateur, ou encore d'effectuer une attaque par déni de service.
Il convient de préciser qu'à son exécution, Doublepulsar crée un fichier dénommé Doublepulsar-1.3.1.exe. Une porte dérobée (backdoor) est ensuite ouverte au sein de l'ordinateur compromis, favorisant ainsi une connexion depuis un emplacement distant. Doublepulsar serait en mesure de se connecter à des adresses IP et des ports déjà préconfigurés, et selon certaines sources, il communique avec l'attaquant en utilisant un ou plusieurs des protocoles suivants :
- Remote Desktop Protocol (RDP) : qui permet à un utilisateur de se connecter sur un serveur exécutant Microsoft Terminal Services ;
- Server Message Block (SMB) : c'est un protocole qui favorise le partage de ressources (fichiers et imprimantes) sur des réseaux locaux avec des PC sous Windows.
Le logiciel espion Doublepulsar serait en mesure d'effectuer les actions suivantes :
- tester si une version du cheval de Troie est déjà présente sur l'ordinateur ;
- injecter une DLL dans un processus en mode utilisateur et appeler la fonction d'exportation spécifiée de la DLL injectée ;
- exécuter le code en provenance de l'attaquant ;
- sauvegarder le code en provenance de l'attaquant sur un fichier du disque dur ;
- s'autodésinstaller.
Plusieurs ordinateurs seraient aujourd'hui infectés par Doublepulsar, et un spécialiste en sécurité en l'occurrence Below0Day a récemment publié la liste des 25 pays les plus touchés par ce cheval de Troie. Ces derniers se présentent comme suit :
L'exploitation des données du graphique ci-dessus montre que les États-Unis occupent la première place avec plus de 11 000 ordinateurs infectés. Le Royaume-Uni et Taiwan viennent en deuxième et troisième position des pays les plus touchés avec respectivement 2421 et 2323 machines infectées.
Selon Luke Jenning, son outil gratuit spécialement dédié à la détection de Doublepulsar est un script écrit en Python. Il ajoute que pour pouvoir utiliser ce dernier, il faut au préalable avoir des compétences avérées en programmation.
Code python : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import argparse from itertools import cycle, izip from pcapng import FileScanner from pcapng.blocks import EnhancedPacket # Arguments parser = argparse.ArgumentParser(description="Decrypt DOUBLEPULSAR network traffic from PCAP file. Supply a PCAPNG format file with just one command run for best results. Tested with DLL injection command.\n\nAuthor: Luke Jennings\nWebsite: https://countercept.com\nTwitter: @countercept", formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('--pcapng', help='File name of PCAPNG format packet capture to process', required=True) parser.add_argument('--output', help="File name to write decrypted output too", required=True) args = parser.parse_args() pcap_filename = args.pcapng write_filename = args.output def xor_decrypt(message, key): return ''.join(chr(ord(c) ^ ord(k)) for c, k in izip(message, cycle(key))) xor_key = None with open(pcap_filename, 'rb') as read_fp, open(write_filename, 'wb') as write_fp: scanner = FileScanner(read_fp) for block in scanner: if isinstance(block, EnhancedPacket): # Check for SMB packet signature and reserved word plus SESSION_SETUP bytes if "\xffSMB" in block.packet_data and "\x00\x0e\x00" in block.packet_data: offset = block.packet_data.index("\x00\x0e\x00") + 6 header = block.packet_data[offset:offset+12] data = block.packet_data[offset+12:] # Filter out blank ping packets if header != "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00": # Set XOR key based on NULL bytes revealing key in first header packet if xor_key is None: xor_key = header[8:12] decrypted_data = xor_decrypt(data, xor_key) write_fp.write(decrypted_data) write_fp.close() |
De nombreux médias ont relayé l'information selon laquelle des chercheurs en sécurité auraient déjà commencé à tester le script de Jennings pour analyser leur réseau et vérifier si Doublepulsar était présent. Il se trouve qu'au terme de leurs analyses, ils ont découvert qu'il y avait globalement entre 30 000 et 100 000 machines déjà infectées par l'implant. Vu l'importance des machines déclarées comme étant infectées, certains des chercheurs auraient émis des doutes sur la fiabilité des résultats fournis par le script de Luke Jennings.
Le code source de l'outil de Luke Jennings est hébergé sur GitHub.
Télécharger le code source
Source : Countercept - Twitter
Et vous ?
Que pensez-vous de cet outil ?
Allez-vous le tester ?
Voir aussi
Shadow Brokers : des exploits Windows et des preuves indiquant que le réseau SWIFT aurait été compromis par la NSA ont été mis en ligne
Shadow Brokers publie une liste de serveurs qui ont été utilisés par la NSA, pour ses opérations d'espionnage avec Equation Group
Shadow Brokers : l'exploit BENIGNCERTAIN, qui était supposé n'affecter que les pare-feu Cisco PIX, fonctionne aussi sur des modèles plus récents