Reproduction éducative de l'exploit de CVE-2017-7269, un débordement de tampon dans IIS 6.0 WebDAV, avec guide d'installation, analyse de la vulnérabilité et tentative d'exploitation via Metasploit sur Windows Server 2003 R2.
Nom : Killian Munt-Buron et Naji Ullah Abbasi
La CVE-2017-7269 est une vulnérabilité de débordement de tampon dans Microsoft Windows Server 2003 R2.
La vulnérabilité se situe dans la fonction ScStoragePathFromUrl de WebDAV.
Cette vulnérabilité permet d'exécuter du code arbitraire via un en-tête long.
Les en-têtes commencent par if: <http://
Utilisez un fichier ISO (lien de téléchargement : https://archive.org/details/en_windows_server_2003_standard)
Panneau de configuration => Ajout ou suppression de programmes = > Ajout/Suppression de composants Windows
Sélectionnez Serveur d'applications, puis cliquez sur Détails.
Sélectionnez Internet Information Services (IIS)
Vérifiez que Fichiers communs et Service World Wide Web sont sélectionnés.
Pour vérifier que IIS a été installé, ouvrez cette URL avec Internet Explorer : http://localhost/
Si vous avez suivi les instructions, vous obtenez cet écran :

Accédez au Gestionnaire des services Internet Information Services => cliquez sur le nom de l'appareil => allez dans Extension de service Web => cliquez avec le bouton droit sur WebDAV et autorisez

Nous avons la machine de l'attaquant, avec la VM Ubuntu :

Et la victime, avec la VM Windows :

Depuis la machine de l'attaquant, nous pouvons voir la victime avec Nmap :

Nous avons essayé de reproduire la vulnérabilité, mais nous avons rencontré un problème.
Sur la machine victime, nous créons un répertoire /webdav.

Et nous ajoutons les autorisations de lecture, d'écriture et de parcours de répertoire :

Avec cadaver, un client WebDAV, nous pouvons voir que la communication fonctionne :


D'abord, nous utilisons un script pour voir si le serveur répond à une requête PROFIND :
import socket
host = "192.168.79.153"
port = 80
request = (
"PROPFIND /webdav/ HTTP/1.1\r\n"
"Host: {host}\r\n"
"Content-Length: 0\r\n"
"Content-Type: text/xml\r\n"
"Depth: 0\r\n"
"Translate: f\r\n"
"\r\n"
).format(host=host)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.send(request.encode())
response = s.recv(4096)
s.close()
print(response.decode())
Nous obtenons ceci :
killian@vmlinux:~$ python3 mis3.py
HTTP/1.1 207 Multi-Status
Date: Sun, 18 Jan 2026 19:22:56 GMT
Server: Microsoft-IIS/6.0
Content-Type: text/xml
Transfer-Encoding: chunked
Après cela, nous utilisons Metasploit, pour générer le débordement de tampon :

Mais nous avons rencontré un problème avec Internet Information Services (IIS)
Nous avons ceci dans le journal :