
Un script python2 pour balayer un réseau afin de trouver des systèmes Windows compromis avec l'implant DOUBLEPULSAR.
Auteur : Luke Jennings ([email protected] - @jukelennings)
Société : Countercept (@countercept)
Site web : https://countercept.com
Un ensemble de scripts python2 pour analyser une liste d'IPs afin de détecter la présence des implants DOUBLEPULSAR, versions SMB et RDP, divulgués par les Shadow Brokers. Prend en charge la vérification d'une seule IP ainsi que d'une liste d'IPs dans un fichier avec support du multi-threading. La version SMB prend également en charge la désinstallation à distance de l'implant pour la remédiation, ce qui a été facilité par la connaissance du mécanisme d'opcode reversé par @zerosum0x0.
Ceci est une version précoce dans l'intérêt de permettre aux personnes de trouver des compromissions sur leur réseau maintenant que ces exploits sont dans la nature et sans aucun doute utilisés pour cibler des organisations. Il réimplémente la commande ping de l'implant, qui peut être utilisée à distance sans authentification, afin de déterminer si un système est infecté ou non. Les versions SMB et RDP de l'implant sont prises en charge.
Toutes les versions d'OS n'ont pas été testées et certaines échouent actuellement. Par exemple, 2012 rejettera la séquence SMB avec ACCESS_DENIED. Cependant, ce système n'est pas vulnérable à l'exploit ETERNALBLUE et l'implant DOUBLEPULSAR reçoit la même erreur en essayant de pinger une cible. Par conséquent, il est possible que des erreurs contre certaines versions de Windows puissent indiquer que le système n'est pas compromis.
root@kali:~# python detect_doublepulsar_smb.py --ip 192.168.175.128
[-] [192.168.175.128] Aucune présence d'implant DOUBLEPULSAR SMB
root@kali:~# python detect_doublepulsar_smb.py --ip 192.168.175.128
[+] [192.168.175.128] IMPLANT DOUBLEPULSAR SMB DÉTECTÉ !!!
root@kali:~# python detect_doublepulsar_rdp.py --file ips.list --verbose --threads 1
[*] [192.168.175.141] Envoi de la requête de négociation
[*] [192.168.175.141] Le serveur a explicitement refusé SSL, reconnexion
[*] [192.168.175.141] Envoi de la requête de négociation non-SSL
[*] [192.168.175.141] Envoi du paquet ping
[-] [192.168.175.141] Aucune présence d'implant DOUBLEPULSAR RDP
[*] [192.168.175.143] Envoi de la requête de négociation
[*] [192.168.175.143] Le serveur a choisi d'utiliser SSL - établissement de la connexion SSL
[*] [192.168.175.143] Envoi des données client SSL
[*] [192.168.175.143] Envoi du paquet ping
[-] [192.168.175.143] Aucune présence d'implant DOUBLEPULSAR RDP
[*] [192.168.175.142] Envoi de la requête de négociation
[*] [192.168.175.142] Envoi des données client
[*] [192.168.175.142] Envoi du paquet ping
[+] [192.168.175.142] IMPLANT DOUBLEPULSAR RDP DÉTECTÉ !!!
root@kali:~# python2 detect_doublepulsar_smb.py --ip 192.168.175.136 --uninstall
[+] [192.168.175.136] IMPLANT DOUBLEPULSAR SMB DÉTECTÉ !!! Clé XOR : 0x7c3bf3c1
[+] [192.168.175.136] Désinstallation de DOUBLEPULSAR réussie
# réseau cible (adaptez à votre réseau)
NETWORKRANGE=192.168.33.0/24
# installer les outils d'analyse nécessaires
brew install masscan || apt-get install masscan
git clone https://github.com/countercept/doublepulsar-detection-script.git
cd doublepulsar-detection-script
# analyser les ports ouverts
masscan -p445 $NETWORKRANGE > smb.lst
masscan -p3389 $NETWORKRANGE > rdp.lst
# nettoyer la liste des IPs
sed -i "s/^.* on //" smb.lst
sed -i "s/^.* on //" rdp.lst
# vérifier les vulnérabilités sur les hôtes ayant le service ouvert
python detect_doublepulsar_smb.py --file smb.lst
python detect_doublepulsar_rdp.py --file rdp.lst
# Ou, si vous avez la bibliothèque python netaddr
python detect_doublepulsar_smb.py --net 192.168.0.1/24
Ce dépôt contient également trois signatures Snort qui peuvent être utilisées pour détecter l'utilisation de la commande Trans2 SESSION_SETUP non implémentée utilisée par l'utilitaire ping SMB et différents cas de réponse. Bien que nous ne cautionnions pas la dépendance aux signatures pour une détection efficace des attaques, en raison de la facilité avec laquelle elles sont contournées, ces règles sont très spécifiques et devraient offrir une certaine capacité de détection contre de nouveaux groupes de menace qui réutiliseraient ces exploits et implants sans modification.
https://www.countercept.com/our-thinking/analyzing-the-doublepulsar-kernel-dll-injection-technique/
https://zerosum0x0.blogspot.co.uk/2017/04/doublepulsar-initial-smb-backdoor-ring.html