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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2003-0264 — SLMail 5.1의 전형적인 스택 기반 버퍼 오버플로우로, 초기 메일 서버가 대용량 SMTP 및 POP3 명령을 통해 어떻게 손상될 수 있는지 보여줍니다. | Kitploit
도구/GitHubGitHub/themalwareguardian/cve-2003-0264
Vulnerability AnalysisExploitationReverse EngineeringShellcodeDebuggersFuzzingPenetration TestingLearning & EducationPayload DevelopmentBinary Exploitation
GitHubthemalwareguardian/cve-2003-0264

CVE-2003-0264

15개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SLMail 5.1의 전형적인 스택 기반 버퍼 오버플로우로, 초기 메일 서버가 대용량 SMTP 및 POP3 명령을 통해 어떻게 손상될 수 있는지 보여줍니다.

저장소 보기

🐳 CVE-2003-0264: SLMail 5.5 - 스택 기반 버퍼 오버플로우

SLMail 5.5의 전형적인 스택 기반 버퍼 오버플로우로, 과도한 크기의 SMTP 및 POP3 명령을 통해 초기 메일 서버가 어떻게 손상될 수 있는지 보여줍니다.




📑 목차

  • 이 저장소가 존재하는 이유
  • 이 취약점이 흥미로운 이유
  • 컨텍스트 및 영향을 받는 소프트웨어
  • 취약점에 관하여
  • 충돌 유발
  • 익스플로잇



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

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

CVE-2003-0264는 네트워크 프로토콜 상의 기본적인 스택 기반 버퍼 오버플로우를 가르칠 때 소개하는 첫 번째 사례 중 하나입니다. 깔끔하고 문서화가 잘 되어 있으며, 익스플로잇 경로가 직관적입니다. SEH, 에그헌터, 공간 제약이 없습니다. 학생이 페이로드를 보내고 EIP를 덮어쓰고 JMP ESP 가젯으로 점프하여 셸을 획득합니다. 그 명확성 덕분에 출발점으로서 유용합니다.




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

SLMail 5.5는 레거시 Windows 메일 서버입니다. 취약점은 POP3 서비스, 특히 PASS 명령 처리기에 있으며, 사용자 입력을 길이 검증 없이 고정 크기 스택 버퍼에 직접 복사합니다. 이 사례가 교육적으로 특히 유용한 이유는 복잡한 요소가 거의 없기 때문입니다:

  • 충돌을 유발하기 위해 인증이 필요하지 않습니다. 오버플로우는 자격 증명 확인 전에 발생합니다. POP3 프로토콜의 일부로 USER 명령이 먼저 전송되지만, 실제 충돌은 자격 증명 유효성과 관계없이 PASS 처리기에서 발생합니다.
  • 직접적인 EIP 덮어쓰기. SEH 체인, 힙 손상, 다단계 익스플로잇이 없습니다. 저장된 리턴 주소가 직접 덮어씌워지고 실행이 공격자 제어 스택으로 리디렉션됩니다.
  • 셸코드를 위한 충분한 공간. EIP 덮어쓰기 이후에 버퍼가 충분히 커서 크기 제약 없이 표준 리버스 셸 페이로드를 수용할 수 있습니다.
  • ASLR이 적용되지 않은 모듈의 신뢰할 수 있는 가젯. SLMail에 포함된 라이브러리 SLMFC.dll은 ASLR, SafeSEH, CFG 없이 컴파일되었습니다. 주소가 재부팅 간에 고정되어 있어 가젯 재사용이 간단합니다.

이러한 조합(네트워크 노출, 인증 불필요, 직접적인 EIP 덮어쓰기, 최신 보안 완화 없음)은 CVE-2003-0264를 최신 Windows 버전에서도 실행되는 가장 깔끔한 실제 스택 오버플로우 예시 중 하나로 만듭니다.




🔍 컨텍스트 및 영향을 받는 소프트웨어

SLMail은 SMTP, POP3 및 관리 서비스를 제공하는 Windows 메일 서버입니다. POP3 서비스는 TCP 포트 110에서 수신 대기하며 표준 메일 검색 명령을 처리합니다. 취약점은 연결 클라이언트가 보낸 비밀번호 인수를 처리하는 PASS 명령 처리기에 있습니다.

주요 기술 세부 사항:

  • 취약점 유형: 스택 기반 버퍼 오버플로우
  • 영향을 받는 버전: SLMail 5.5 및 이전 버전
  • 영향을 받는 엔드포인트: POP3 PASS 명령
  • 취약한 구성 요소: PASS 명령 처리기
  • 필요 인증: 없음
  • 영향: 원격 코드 실행



⚠️ 취약점에 관하여

SLMail의 POP3 서비스는 PASS 명령을 처리할 때, 제공된 비밀번호 인수를 길이 검사 없이 안전하지 않은 함수를 사용하여 고정 크기 스택 버퍼에 복사합니다. 취약한 로직의 단순화된 버전은 다음과 같습니다:

도구 다운로드
root@kitploit:~
char password_buffer[256];

strcpy(password_buffer, pass_argument);

PASS 인수로 충분히 긴 문자열을 보내면 버퍼 끝을 넘어 복사가 이루어져 스택이 손상되고 저장된 리턴 주소가 덮어씌워집니다. 함수가 반환되면 CPU는 스택에서 공격자가 제어하는 값을 EIP로 로드하고 그곳으로 점프합니다.




💥 충돌 유발

POP3를 통해 과도한 크기의 PASS 인수를 보내면 충돌이 재현됩니다. 유효한 자격 증명이 필요하지 않습니다. Python을 사용한 예:

root@kitploit:~
import socket

HOST = '127.0.0.1'
PORT = 110

payload = b"A" * 3000

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

s.send(b"USER username\r\n")
s.recv(1024)

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

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

root@kitploit:~
EIP = 41414141

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




💣 익스플로잇

이 저장소의 목표는 충돌을 보여주는 것뿐만 아니라, 퍼징부터 작동하는 리버스 셸까지 완전한 익스플로잇 과정을 단계별로 설명하는 것입니다.

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

거기서 이 CVE를 익스플로잇하는 데 사용된 완전한 워크플로우를 찾을 수 있습니다:

  • 충돌 식별을 위한 PASS 명령 퍼징
  • EIP의 정확한 위치를 찾기 위한 오프셋 발견
  • 페이로드를 손상시키는 바이트 식별을 위한 배드 캐릭터 분석
  • ASLR이나 SafeSEH 없이 컴파일된 모듈인 SLMFC.dll에서 JMP ESP 가젯 찾기
  • 셸코드 배치 및 실행