
FreeFloat FTP Server 1.0의 CVE-2025-5548 분석 및 익스플로잇을 위한 학술 실습실입니다.
이 폴더는 CVE-2025-5548 / FreeFloat FTP Server 1.0 실습실과 관련된 재현 가능한 산출물을 모아 놓은 곳입니다. 교육 순서와 명명법은 TheMalwareGuardian의 참조 교육 자료를 따르며, 이 버전들은 해당 개발 과정과 실습 증거를 바탕으로 이 저장소를 위해 재구성되었습니다. 교육용 파일의 바이트 단위 복사본으로 제시되는 것은 아닙니다.
모든 스크립트는 의도적으로 127.0.0.1로 제한되어 있습니다. 목적은 docs/02-explotacion/에 문서화된 로컬 실습실에만 동반되도록 하는 것입니다.
| 스크립트 | 실습실 내 기능 | 문서 |
|---|---|---|
01Python3Connection.py | 연결 및 FTP 상호작용 검증 | Step 1 |
02Python3Fuzzing.py | NOOP 명령의 점진적 퍼징 | Step 2 |
03Python3EIPOffsetDiscovery.py | EIP 오프셋을 결정하기 위한 순환 패턴 전송 | Step 2 |
04Python3ControlEIP.py | 문서화된 오프셋으로 EIP 제어 확인 | Step 3 |
05Python3FindBadChars.py | 실습 중 식별된 bad characters 검증 | Step 4 |
06Python3JMPESP.py | INT3 마커를 통한 ESP로의 리디렉션 확인 | Step 5 |
07Python3Shellcode.py | 페이로드 최종 구조의 안전한 재현 | Steps 6–7 |
스크립트에 나타나는 값들은 실습실 맥락 안에서 해석해야 합니다:
127.0.0.1:21에서 테스트됩니다.246이며, 발견 단계에서 얻어지고 EIP 덮어쓰기를 통해 확인되었습니다.\x00, \x0a, \x0d입니다.0x75CD9B23(little endian에서 \x23\x9b\xcd\x75)은 문서화된 디버깅 세션에 해당합니다. 해당 주소가 위치한 모듈에는 ASLR이 적용되어 있었으므로, 새 실행에서는 주소를 다시 얻어야 합니다.07Python3Shellcode.py의 공개 버전은 해당 shellcode를 내장하지 않습니다. 대신 INT3 마커를 사용하여 저장소를 원격 접근용 운영 산출물로 만들지 않으면서 최종 레이아웃의 추적성을 유지합니다.참조 교육 자료는 방법론과 7단계 순서를 제공합니다. 이 저장소는 수행된 개발, 캡처 및 실행에 특화된 각색을 추가합니다. 이 저장소의 원본 콘텐츠는 LICENSE 파일에 따라 GPL-3.0으로 배포됩니다. 타사 구성 요소 및 자료는 각자의 사용 조건을 유지합니다.