
Edge의 read:// URL 핸들러 악용하기
이 익스플로잇은 Microsoft에 보고되었으며, 이에 대해 인정을 받았습니다. 이 익스플로잇은 2017년 3월 14일에 cve-2017-0065 및 MS17-007이라는 이름으로 패치되었으며, 관련 패치가 적용된 경우 작동하지 않습니다. 소스코드는 교육 목적으로만 제공됩니다.
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2017-0065
https://docs.microsoft.com/en-us/security-updates/securitybulletins/2017/ms17-007
https://nvd.nist.gov/vuln/detail/CVE-2017-0065
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0065
이 익스플로잇은 피해자가 알려진 파일 위치에 위조된 파일(exploit.html)을 파일 시스템에 가지고 있어야 합니다. 피해자가 해당 파일을 실행할 필요는 없으며, 그냥 가지고 있기만 하면 됩니다. 그런 다음 악성 웹사이트(malicious_server.php)를 방문하면 해당 파일이 호출될 수 있습니다. 이 익스플로잇을 통해 사용자의 동의 없이 로컬 파일을 방문한 악성 웹사이트에 업로드할 수 있습니다.
1. exploit.html을 편집하여 폼 액션에 테스트 웹서버 주소를 입력합니다.
2. PHP가 활성화된 웹서버에서 malicious_server.php를 서비스하여 http://yourwebserver.com/malicious_server.php로 접근할 수 있도록 합니다.
3. exploit.html을 다음 폴더에 배치합니다: c:\windows\system32\drivers\etc\ (참고: read: 프로토콜은 파일 위치에 민감한 것으로 보입니다)
4. Edge로 http://yourwebserver.com/malicious_server.php에 접속합니다.
1. malicious_server.php에 접속하면 브라우저가 다음으로 리디렉션되어야 합니다: read:,c:\windows\system32\drivers\etc\exploit.html
2. 그러면 exploit.html이 사용자에게 빈 페이지의 아무 곳이나 클릭하라는 메시지를 표시합니다.
3. 클릭 후, exploit.html이 다음 URL의 창을 생성합니다: read:,c:\windows\system32\drivers\etc\hosts
4. 창 생성이 성공하면 열린 창(hosts 파일)의 내용이 숨겨진 폼에 복사되고, 창이 닫히며 폼이 웹서버의 malicious_server.php로 제출됩니다.
5. malicious_server.php가 제출된 파일의 내용을 표시합니다.