
Uno script python2 per scansionare una rete per trovare sistemi Windows compromessi con l'impianto DOUBLEPULSAR.
Autore: Luke Jennings ([email protected] - @jukelennings)
Azienda: Countercept (@countercept)
Sito web: https://countercept.com
Un insieme di script python2 per scansionare un elenco di IP per rilevare la presenza delle versioni SMB e RDP dell'impianto DOUBLEPULSAR rilasciato dagli Shadow Brokers. Supporta sia la verifica di singoli IP sia un elenco di IP in un file con supporto multi-threading. La versione SMB supporta anche la disinstallazione remota dell'impianto per la bonifica, resa possibile grazie alla conoscenza del meccanismo degli opcode analizzato da @zerosum0x0.
Questa è una versione preliminare rilasciata nell'interesse di consentire alle persone di identificare compromissioni sulla propria rete, ora che questi exploit sono in circolazione e senza dubbio vengono utilizzati per colpire le organizzazioni. Reimplementa il comando ping dell'impianto, che può essere usato in remoto senza autenticazione, per determinare se un sistema è infetto o meno. Sono supportate sia la versione SMB che quella RDP dell'impianto.
Non tutte le versioni di sistemi operativi sono state testate e alcune attualmente falliscono. Ad esempio, Windows Server 2012 rifiuta la sequenza SMB con ACCESS_DENIED. Tuttavia, questo sistema non è vulnerabile all'exploit ETERNALBLUE e l'impianto DOUBLEPULSAR riceve lo stesso errore quando tenta di eseguire il ping su un target. Pertanto, è possibile che errori contro determinate versioni di Windows possano indicare che il sistema non è compromesso.
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
Questo repository contiene anche tre firme Snort che possono essere utilizzate per rilevare l'uso del comando Trans2 SESSION_SETUP non implementato che l'utilità di ping SMB utilizza e diversi casi di risposta. Sebbene non appoggiamo la dipendenza dalle firme per un rilevamento efficace degli attacchi, a causa di quanto facilmente possono essere aggirate, queste regole sono altamente specifiche e dovrebbero fornire una certa capacità di rilevamento contro nuovi gruppi di minacce che riutilizzano questi exploit e impianti senza modifiche.
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