
Um script python2 para varrer uma rede e encontrar sistemas Windows comprometidos com o implante DOUBLEPULSAR.
Autor: Luke Jennings ([email protected] - @jukelennings)
Empresa: Countercept (@countercept)
Website: https://countercept.com
Um conjunto de scripts em Python2 para varrer uma lista de IPs em busca da presença das versões SMB e RDP do implante DOUBLEPULSAR que foi divulgado pelos Shadow Brokers. Suporta verificação de IP único e uma lista de IPs em um arquivo com suporte a múltiplas threads. A versão SMB também suporta a desinstalação remota do implante para remediação, o que foi auxiliado pelo conhecimento do mecanismo de opcodes revertido por @zerosum0x0.
Esta é uma versão inicial no interesse de permitir que as pessoas encontrem comprometimentos em suas redes agora que essas explorações estão em circulação e, sem dúvida, sendo usadas para atacar organizações. Ela reimplementa o comando ping do implante, que pode ser usado remotamente sem autenticação, para determinar se um sistema está infectado ou não. Ambas as versões SMB e RDP do implante são suportadas.
Nem todas as versões de sistemas operacionais foram testadas e algumas atualmente falham. Por exemplo, o 2012 rejeitará a sequência SMB com ACCESS_DENIED. No entanto, este sistema não é vulnerável à exploração ETERNALBLUE e o implante DOUBLEPULSAR recebe o mesmo erro ao tentar executar ping em um alvo. Portanto, é possível que erros contra certas versões do Windows possam ser indicativos de que o sistema não 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 repositório também contém três assinaturas Snort que podem ser usadas para detectar o uso do comando SESSION_SETUP Trans2 não implementado que a ferramenta de ping SMB utiliza e diferentes casos de resposta. Embora não endossemos a dependência de assinaturas para detecção eficaz de ataques, devido à facilidade com que são contornadas, essas regras são altamente específicas e devem fornecer alguma capacidade de detecção contra novos grupos de ameaças que reutilizam essas explorações e implantes sem modificação.
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