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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2007-1567 — War FTP Daemon 1.65의 고전적인 스택 기반 버퍼 오버플로우로, 잘못된 형식의 FTP 명령을 통해 구식 원격 코드 실행을 보여줍니다. | Kitploit
도구/GitHubGitHub/themalwareguardian/cve-2007-1567
Vulnerability AnalysisExploitationShellcodeLearning & EducationRemote Access ToolBinary Exploitation
GitHubthemalwareguardian/cve-2007-1567

CVE-2007-1567

War FTP Daemon 1.65의 고전적인 스택 기반 버퍼 오버플로우로, 잘못된 형식의 FTP 명령을 통해 구식 원격 코드 실행을 보여줍니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

🐞 CVE-2007-1567: War FTP Daemon 1.65 - 스택 기반 버퍼 오버플로우

War FTP Daemon 1.65의 고전적인 스택 기반 버퍼 오버플로우로, 잘못된 FTP 명령을 통해 올드스쿨 원격 코드 실행을 시연합니다.




📑 목차

  • 이 저장소가 존재하는 이유
  • 이 취약점이 흥미로운 이유
  • 맥락 및 영향을 받는 소프트웨어
  • 취약점 정보
  • 크래시 트리거
  • 익스플로잇



🎓 이 저장소가 존재하는 이유

이 저장소는 메모리 손상 익스플로잇을 가르칠 때 사용하는 자료의 일부입니다. (정규 업무 외에도 여러 사이버보안 강좌에서 강의하며 차세대 리버스 엔지니어 양성을 돕고 있습니다.)

CVE-2007-1567은 베이직한 EIP 덮어쓰기의 기본을 소개한 직후에 사용하는 사례입니다. 익스플로잇은 깔끔하고 직설적이지만, 일반적인 첫 연습보다 약간 더 흥미롭게 만드는 세부 사항이 있습니다. FTP 프로토콜이 도입하는 추가적인 배드 캐릭터로, 학생들이 셸코드를 작성할 때 이를 식별하고 처리해야 합니다. 작은 제약이지만, 학생들이 이미 사용한 기법을 단순히 복사하는 대신 생각하게 만듭니다.




💡 이 취약점이 흥미로운 이유

War FTP Daemon 1.65는 1990년대 후반의 레거시 Windows FTP 서버입니다. 취약점은 USER 명령 처리기에 있으며, 이 처리기는 sprintf를 사용하여 사용자 제어 입력을 길이 검증 없이 고정 크기 스택 버퍼로 복사합니다. 이 사례가 교육에 유용한 이유:

  • 인증 불필요. 오버플로우는 비밀번호 확인 전 USER 명령 처리기에서 발생합니다. 단일 명령으로 크래시를 트리거할 수 있습니다.
  • 직접적인 EIP 덮어쓰기. SEH, 힙, 다단계 익스플로잇이 필요 없습니다. 저장된 리턴 주소가 직접 덮어씌워집니다.
  • 추가적인 배드 캐릭터. 일반적인 \x00, \x0a, \x0d 외에도 FTP 프로토콜은 user@host 구문을 해석하기 때문에 \x40(@)을 배드 캐릭터로 도입합니다. 학생들은 배드 캐릭터 분석 중 이를 식별해야 합니다.
  • 구형 Windows 환경 필요. 교육에 사용하는 대부분의 레거시 소프트웨어와 달리, War FTP Daemon 1.65는 Winsock API 변경으로 인해 최신 Windows에서 실행할 수 없습니다. Windows XP가 필요하며, 이는 실용적인 설정 과제를 추가하고 실습 환경이 중요함을 학생들에게 가르쳐줍니다.



🔍 맥락 및 영향을 받는 소프트웨어

War FTP Daemon은 1990년대 후반에 작성된 Windows FTP 서버입니다. TCP 포트 21에서 수신 대기하며 표준 FTP 명령을 처리합니다. 취약점은 USER 명령 처리기에 있으며, 이 처리기는 연결 클라이언트가 보낸 사용자 이름을 sprintf를 사용하여 길이 검증 없이 처리합니다.

주요 기술 세부 사항:

도구 다운로드
주요 기술 세부 사항:
취약점 유형:스택 기반 버퍼 오버플로우
영향을 받는 버전:War FTP Daemon 1.65
영향을 받는 엔드포인트:FTP USER 명령
취약한 구성 요소:USER 명령 처리기
인증 필요:아니오
영향:원격 코드 실행



⚠️ 취약점 정보

War FTP Daemon은 제공된 사용자 이름을 sprintf에 전달하여 USER 명령을 처리하며, 이는 길이를 확인하지 않고 고정 크기 스택 버퍼에 복사합니다. 취약한 로직의 단순화된 버전은 다음과 같습니다:

root@kitploit:~
char buffer[256];

sprintf(buffer, "%sCRLF", username);

USER 인수로 충분히 긴 문자열을 보내면 복사가 버퍼 끝을 넘어 스택을 손상시키며 저장된 리턴 주소가 덮어씌워질 때까지 진행됩니다. 함수가 반환되면 CPU는 스택에서 공격자가 제어한 값을 EIP로 로드하여 해당 주소로 점프합니다.




💥 크래시 트리거

크래시는 FTP를 통해 과도하게 큰 USER 인수를 전송하여 재현할 수 있습니다. 인증이 필요하지 않습니다. Python 사용 예:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 21

payload = b"A" * 700

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.recv(1024)

s.send(b"USER " + payload + b"\r\n")
s.close()

디버거에서 실행하면 크래시 시 EIP가 사용자 제어 데이터로 덮어씌워진 것을 확인할 수 있습니다:

root@kitploit:~
EIP = 41414141

이는 저장된 리턴 주소가 오버플로우에 의해 손상되었음을 확인해줍니다.




💣 익스플로잇

이 저장소의 목표는 크래시를 시연하는 것뿐만 아니라, 퍼징부터 작동하는 리버스 셸까지 전체 익스플로잇 과정을 단계별로 안내하는 것입니다.

메인 README를 깔끔하게 유지하기 위해 상세한 익스플로잇 노트, 스크립트, 디버거 단계는 이 저장소의 Vulnerability 📂 폴더에 있습니다.

다음 항목을 포함하여 이 CVE를 익스플로잇하는 데 사용된 전체 작업 흐름을 찾을 수 있습니다:

  • 크래시 식별을 위한 USER 명령 퍼징
  • 스택에서 EIP의 정확한 위치를 찾기 위한 오프셋 발견
  • FTP USER 처리에 특화된 \x40 문자를 포함한 배드 캐릭터 분석
  • MFC42.dll에서 JMP ESP 가젯 위치 찾기
  • 셸코드 배치 및 실행