CrackMapExec (CME) è un'utility open-source per il penetration test che viene utilizzata per automatizzare l'esecuzione di diversi attacchi di rete. CME è progettato per testare la sicurezza di reti Windows e per eseguire enumerazione di account utente, la raccolta di informazioni sui sistemi, la ricerca di vulnerabilità e l'esecuzione di exploit.
Può essere benissimo utilizzato per ad esempio la valutazione della sicurezza delle reti aziendali, la valutazione dei servizi di cloud, l'analisi delle reti e ricerca di vulnerabilità in web app.
Questo pacchetto è un coltellino svizzero per il pentesting di ambienti Windows/Active Directory. Dall'enumerazione degli utenti connessi e lo spidering delle condivisioni SMB all'esecuzione di attacchi psexec, all'autoiniezione di Mimikatz/Shellcode/DLL in memoria utilizzando Powershell, al dump di NTDS.dit ecc...
Le caratteristiche principali sono:
- Scritto interamente in Python quindi nessun tool esterno richiesto.
- Usa solo WinAPI per scoprire sessioni, utenti, dump di hash SAM, ecc...
- Opsec sicura (niente viene caricato per dumpare credenziali in chiaro, iniettare shellcode, ecc...)
Viene anche utilizzato un database per memorizzare le credenziali utilizzate/dumpate.
Dipendenze:
- python3
- python3-aardwolf
- python3-aioconsole
- python3-bs4
- python3-dsinternals
- python3-impacket
- python3-lsassy
- python3-masky
- python3-msgpack
- python3-neo4j
- python3-paramiko
- python3-pylnk3
- python3-pypsrp
- python3-pywerview
- python3-requests
- python3-termcolor
- python3-terminaltables
- python3-unicrypto
- python3-xmltodict
Installazione:
- Installazione Debian:
sudo apt install crackmapexec
Esempio pratico:
Supponiamo di avere un obiettivo di penetration testing, un server Windows con IP 192.168.1.10 e credenziali valide dell'account amministratore.
- Apriamo il terminale e scriviamo
crackmapexec
per avviare.
- Eseguiamo una scansione dei servizi SMB sui dispositivi sulla rete:
crackmapexec smb 192.168.1.0/24
- Facciamo una scansione dei dispositivi Windows in cerca di account utente con password deboli (brute force):
crackmapexec smb 192.168.1.10 -u users.txt -p passwords.txt
- Facciamo la stessa cosa per le credenziali amministratore:
crackmapexec smb 192.168.1.10 -u Administrator -p passwords.txt
- Possiamo anche forzare l'autenticazione tramite Kerberos:
crackmapexec smb 192.168.1.10 -u Administrator -p passwords.txt --kerberos
Altro esempio, dobbiamo testare la rete aziendale composta da diversi dispositivi Windows e Linux. Abbiamo ottenuto le credenziali di accesso alla rete tramite phishing e vogliamo utilizzare Crackmapexec.
- Avviamo
crackmapexec
- Utilizzando il protocollo SMB per scansionare i dispositivi:
crackmapexec smb 192.168.1.0/24
- Proviamo ad accedere:
crackmapexec smb 192.168.1.0/24 -u <username> -p <password>
- Altra scansione:
crackmapexec 192.168.1.0/24 -t 100 -p 1-65535
- Ricerca di vulnerabilità SMB utilizzando il modulo "smb-vuln-ms17-010":
crackmapexec smb 192.168.1.0/24 -u <username> -p <password> --module smb-vuln-ms17-010
- Ricerca di servizi RDP aperti:
crackmapexec rdp 192.168.1.0/24
- Ricerca di vulnerabilità RDP utilizzando il modulo "rdp-vuln-ms12-020":
crackmapexec rdp 192.168.1.0/24 --module rdp-vuln-ms12-020
Comandi:
root@kali:~# crackmapexec -h
usage: crackmapexec [-h] [-t THREADS] [--timeout TIMEOUT] [--jitter INTERVAL]
[--darrell] [--verbose]
{ssh,mssql,ldap,winrm,ftp,rdp,smb} ...
______ .______ ___ ______ __ ___ .___ ___. ___ .______ _______ ___ ___ _______ ______
/ || _ \ / \ / || |/ / | \/ | / \ | _ \ | ____|\ \ / / | ____| / |
| ,----'| |_) | / ^ \ | ,----'| ' / | \ / | / ^ \ | |_) | | |__ \ V / | |__ | ,----'
| | | / / /_\ \ | | | < | |\/| | / /_\ \ | ___/ | __| > < | __| | |
| `----.| |\ \----. / _____ \ | `----.| . \ | | | | / _____ \ | | | |____ / . \ | |____ | `----.
\______|| _| `._____|/__/ \__\ \______||__|\__\ |__| |__| /__/ \__\ | _| |_______|/__/ \__\ |_______| \______|
A swiss army knife for pentesting networks
Forged by @byt3bl33d3r and @mpgn_x64 using the powah of dank memes
Exclusive release for Porchetta Industries users
https://porchetta.industries/
Version : 5.4.0
Codename: Indestructible G0thm0g
options:
-h, --help show this help message and exit
-t THREADS set how many concurrent threads to use (default: 100)
--timeout TIMEOUT max timeout in seconds of each thread (default: None)
--jitter INTERVAL sets a random delay between each connection (default: None)
--darrell give Darrell a hand
--verbose enable verbose output
protocols:
available protocols
{ssh,mssql,ldap,winrm,ftp,rdp,smb}
ssh own stuff using SSH
mssql own stuff using MSSQL
ldap own stuff using LDAP
winrm own stuff using WINRM
ftp own stuff using FTP
rdp own stuff using RDP
smb own stuff using SMB