Developpez.com

Télécharger gratuitement le magazine des développeurs, le bimestriel des développeurs avec une sélection des meilleurs tutoriels

Un chercheur en sécurité publie un outil permettant de détecter un implant logiciel de la NSA dénommé DoublePulsar,
Pour lutter contre l'espionnage

Le , par Malick SECK, Community Manager
La lutte contre le cyberespionnage bat son plein actuellement et fait la une des médias dans le monde et particulièrement aux États-Unis. Pour preuve, la semaine dernière, le célèbre groupe de pirates se faisant appeler Shadow Brokers avait rendu publics une multitude de documents, outils et exploits dont se sert la National Security Agency (NSA) dans le cadre de ses activités de surveillance et d'espionnage sur Internet. On se rappelle également la déclaration du groupe de pirates qui avait annoncé avoir réussi à pirater la NSA en août dernier, réussissant ainsi à mettre la main sur l’arsenal de piratage de l’agence américaine dont certains avaient déjà été publiés.

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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :
Offres d'emploi IT
Ingénieur développement électronique H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY
Chef de projet technique H/F
Safran - Ile de France - Melun (77000)
Responsable de lot vérification et qualification (IVVQ) H/F
Safran - Alsace - MASSY Hussenot

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil