
Un script de python2 para barrer una red y encontrar sistemas Windows comprometidos con el implante DOUBLEPULSAR.
Autor: Luke Jennings ([email protected] - @jukelennings)
Compañía: Countercept (@countercept)
Sitio web: https://countercept.com
Un conjunto de scripts de Python2 para barrer una lista de IPs en busca de la presencia de las versiones SMB y RDP del implante DOUBLEPULSAR que fue lanzado por Shadow Brokers. Soporta tanto la comprobación de una sola IP como una lista de IPs en un archivo con soporte de múltiples hilos. La versión SMB también soporta la desinstalación remota del implante para remediación, lo cual fue posible gracias al conocimiento del mecanismo de opcodes invertido por @zerosum0x0.
Esta es una versión temprana con el interés de permitir que las personas encuentren compromisos en sus redes ahora que estos exploits están en circulación y sin duda siendo utilizados para atacar organizaciones. Reimplementa el comando ping del implante, que puede usarse de forma remota sin autenticación, para determinar si un sistema está infectado o no. Se soportan ambas versiones del implante, SMB y RDP.
No todas las versiones de SO han sido probadas y algunas fallan actualmente. Por ejemplo, 2012 rechazará la secuencia SMB con ACCESS_DENIED. Sin embargo, este sistema no es vulnerable al exploit ETERNALBLUE y el implante DOUBLEPULSAR recibe el mismo error al intentar hacer ping a un objetivo. Por lo tanto, es posible que los errores contra ciertas versiones de Windows puedan ser indicativos de que el sistema no está comprometido.
root@kali:~# python detect_doublepulsar_smb.py --ip 192.168.175.128
[-] [192.168.175.128] No presence of DOUBLEPULSAR SMB implant
root@kali:~# python detect_doublepulsar_smb.py --ip 192.168.175.128
[+] [192.168.175.128] DOUBLEPULSAR SMB IMPLANT DETECTED!!!
root@kali:~# python detect_doublepulsar_rdp.py --file ips.list --verbose --threads 1
[*] [192.168.175.141] Sending negotiation request
[*] [192.168.175.141] Server explicitly refused SSL, reconnecting
[*] [192.168.175.141] Sending non-ssl negotiation request
[*] [192.168.175.141] Sending ping packet
[-] [192.168.175.141] No presence of DOUBLEPULSAR RDP implant
[*] [192.168.175.143] Sending negotiation request
[*] [192.168.175.143] Server chose to use SSL - negotiating SSL connection
[*] [192.168.175.143] Sending SSL client data
[*] [192.168.175.143] Sending ping packet
[-] [192.168.175.143] No presence of DOUBLEPULSAR RDP implant
[*] [192.168.175.142] Sending negotiation request
[*] [192.168.175.142] Sending client data
[*] [192.168.175.142] Sending ping packet
[+] [192.168.175.142] DOUBLEPULSAR RDP IMPLANT DETECTED!!!
root@kali:~# python2 detect_doublepulsar_smb.py --ip 192.168.175.136 --uninstall
[+] [192.168.175.136] DOUBLEPULSAR SMB IMPLANT DETECTED!!! XOR Key: 0x7c3bf3c1
[+] [192.168.175.136] DOUBLEPULSAR uninstall successful
# target network (adapt this to your network)
NETWORKRANGE=192.168.33.0/24
# install the required scanning tools
brew install masscan || apt-get install masscan
git clone https://github.com/countercept/doublepulsar-detection-script.git
cd doublepulsar-detection-script
# scan open ports
masscan -p445 $NETWORKRANGE > smb.lst
masscan -p3389 $NETWORKRANGE > rdp.lst
# clean the list of IPs
sed -i "s/^.* on //" smb.lst
sed -i "s/^.* on //" rdp.lst
# check vulnerabilities on the hosts who have the service open
python detect_doublepulsar_smb.py --file smb.lst
python detect_doublepulsar_rdp.py --file rdp.lst
# Or, if you have the python netaddr library
python detect_doublepulsar_smb.py --net 192.168.0.1/24
Este repositorio también contiene tres firmas de Snort que pueden usarse para detectar el uso del comando SESSION_SETUP Trans2 no implementado que utiliza la utilidad de ping SMB y diferentes casos de respuesta. Si bien no aprobamos la dependencia de firmas para la detección efectiva de ataques, debido a lo fácil que son de evadir, estas reglas son altamente específicas y deberían proporcionar cierta capacidad de detección contra nuevos grupos de amenazas que reutilicen estos exploits e implantes sin modificación.
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