Infiltrating Windows
đ§ Introduction
Microsoft domine depuis des décennies les marchés domestiques et professionnels de l'informatique. Avec l'évolution de Windows, notamment les améliorations d'Active Directory, l'intégration au cloud, le Windows Subsystem for Linux (WSL), etc., la surface d'attaque de l'écosystÚme Windows s'est considérablement agrandie.
Entre 2019 et 2024, pas moins de 3688 vulnérabilités ont été recensées dans les produits Microsoft. De nombreuses failles critiques ont été activement exploitées.

đ„ Exploits Windows les Plus Connus
MS08-067
Failles SMB exploitées par Conficker et Stuxnet. Permet l'exécution distante de code sur de nombreuses versions de Windows.
EternalBlue
MS17-010, exploit SMBv1 issu des leaks Shadow Brokers (NSA). Utilisé par WannaCry et NotPetya.
PrintNightmare
Exécution de code via le spooler d'impression Windows avec élévation de privilÚges.
BlueKeep
CVE-2019-0708, exécution de code à distance via RDP. Affecte Windows 2000 à 2008 R2.
SigRed
CVE-2020-1350, faille DNS permettant de compromettre un contrĂŽleur de domaine.
SeriousSAM
CVE-2021-36934, mauvaise configuration d'accÚs aux fichiers du répertoire system32\config, exposant la base SAM (hashs de mots de passe).
Zerologon
CVE-2020-1472, faille critique dans le protocole MS-NRPC permettant de falsifier les authentifications sur le domaine Active Directory.
La connaissance et la compréhension de ces vulnérabilités sont essentielles pour les exploiter ou les mitiger efficacement dans des environnements professionnels.
đ MĂ©thodes d'Empreinte (Fingerprinting) & DĂ©tection Windows
Avant d'attaquer, il faut s'assurer que la cible est bien un systÚme Windows. Voici quelques méthodes simples d'identification.
â Analyse du Time To Live (TTL)
Lors d'un ping ICMP, Windows répond typiquement avec un TTL de 128. Voici un exemple :
Ce TTL peut ĂȘtre diminuĂ© si des routeurs s'interposent, mais reste gĂ©nĂ©ralement au-dessus de 100 pour les hĂŽtes proches.
đ Scan dâOS avec Nmap
Nmap permet une identification de l'OS avec -O. Voici un exemple de résultat :
En cas de détection difficile, utiliser les options -A et -Pn pour améliorer les résultats.
đ Analyse des ports ouverts
Certains ports sont typiques des machines Windows :
135 (RPC)
139 (NetBIOS)
445 (SMB)
Voici un extrait de scan Nmap sur un hĂŽte Windows :
Les ports 902 et 912 indiquent ici une instance de VMware Workstation.
đą Banner Grabbing avec Nmap
Pour obtenir plus d'informations sur les services, on peut utiliser le script banner.nse de Nmap :
Extrait de réponse :
Ces informations permettent d'affiner les recherches d'exploits spécifiques à un logiciel ou une version données.
đ§š Bats, DLLs & MSI Files, Oh My!
Lorsquâil sâagit de crĂ©er des payloads pour des hĂŽtes Windows, de nombreuses options sont possibles. Parmi les formats courants utilisĂ©s :
DLLs
Fichiers batch (.bat)
Fichiers MSI
Scripts PowerShell
Scripts VBS
Tous ces fichiers ont un point commun : ils peuvent ĂȘtre exĂ©cutĂ©s sur la machine cible. Le choix du format dĂ©pendra notamment du vecteur de livraison retenu.
đŠ Types de payloads Ă envisager
đ§© DLLs (Dynamic-Link Libraries)
Les fichiers DLL sont des bibliothĂšques partagĂ©es sous Windows. Ils permettent dâavoir un code modulaire et rĂ©utilisable entre plusieurs programmes. En tant que pentester, il est possible :
dâinjecter une DLL malveillante dans un processus,
de détourner une DLL vulnérable déjà présente.
Cela peut permettre d'obtenir des privilĂšges SYSTEM ou de contourner lâUAC (User Account Control).
đ Batch files (.bat)
Les fichiers batch sont des scripts en langage DOS permettant dâautomatiser des commandes. TrĂšs utilisĂ©s par les administrateurs systĂšme, ils peuvent :
ouvrir un port sur la machine victime,
Ă©tablir une connexion vers lâattaquant (reverse shell),
réaliser une énumération basique,
exfiltrer des informations.
đ§Ș VBScript (VBS)
Le VBScript est un langage de script basĂ© sur Visual Basic. Bien que dĂ©sactivĂ© sur la majoritĂ© des navigateurs modernes, il reste utilisĂ© dans des contextes dâattaque (phishing, macros Excel, etc.). Il sâexĂ©cute via le moteur de script Windows et permet dâautomatiser lâexĂ©cution de code malveillant.
đŠ MSI (Microsoft Installer)
Les fichiers .msi sont des bases de donnĂ©es d'installation utilisĂ©es par le systĂšme Windows Installer. Il est possible de crĂ©er un payload encapsulĂ© dans un fichier MSI et de lâexĂ©cuter sur la cible via :
⥠PowerShell
PowerShell est à la fois un shell moderne et un langage de script intégré aux systÚmes Windows. Basé sur .NET, il permet :
dâexĂ©cuter du code arbitraire,
de gérer des objets Windows natifs,
de construire et dâexĂ©cuter des payloads dynamiques,
dâinteragir avec lâOS Ă bas niveau.
PowerShell est extrĂȘmement puissant pour obtenir une exĂ©cution de commande et un shell sur lâhĂŽte cible.
𧰠Outils, Tactiques & Procédures pour la génération, le transfert et l'exécution de payloads
đ§ GĂ©nĂ©ration de payloads
Plusieurs outils permettent de générer des payloads compatibles Windows. Voici quelques ressources clés :
MSFVenom / Metasploit Framework
GénÚre des payloads, les encode et les intÚgre dans des fichiers exécutables. Outil polyvalent du pentester.
Payloads All The Things
Référentiel communautaire regroupant des exemples de payloads et des techniques de génération.
Mythic C2 Framework
Framework de Command & Control alternatif à Metasploit avec génération de payloads personnalisés.
Nishang
Collection dâoutils offensifs PowerShell (implants, scripts dâĂ©numĂ©ration, etc.).
Darkarmour
GénÚre des exécutables obfusqués pour échapper à la détection sur Windows.
đ Transfert & ExĂ©cution de payloads
DiffĂ©rentes mĂ©thodes peuvent ĂȘtre utilisĂ©es pour transfĂ©rer et exĂ©cuter un payload sur une cible Windows :
đ Impacket : Suite dâoutils Python permettant dâinteragir avec divers protocoles rĂ©seau (SMB, WMI, Kerberos, etc.). Outils comme
smbclient,psexec.py,wmiexec.pypermettent le dĂ©pĂŽt et l'exĂ©cution de fichiers Ă distance.đ Payloads All The Things : Contient de nombreux one-liners pour transfĂ©rer rapidement un fichier entre deux machines.
đ SMB : Utilisable pour copier des fichiers vers des partages comme
C$ouadmin$. Pratique dans un environnement Active Directory.đ§š ExĂ©cution distante via Metasploit : De nombreux modules exploit intĂ©grĂ©s Ă Metasploit automatisent la crĂ©ation, le transfert et lâexĂ©cution du payload.
đ Autres protocoles : HTTP, HTTPS, FTP, TFTP peuvent ĂȘtre utilisĂ©s selon les services disponibles sur la cible. Exemple :
đ Exemple de compromission : EternalBlue sur Windows Server 2016
đą ĂnumĂ©ration de la cible
L'étape d'énumération est cruciale dans toute chaßne d'exploitation. Avant de tenter une quelconque attaque, il est primordial de comprendre l'environnement cible. Dans ce cas, la cible est une machine Windows dont l'adresse IP est <IP CIBLE>.
âïž Scan Nmap avancĂ©
Résultats clés :
Port 80 (HTTP) : Microsoft IIS 10.0
Ports 135, 139, 445 (SMB/RPC) : Services Windows standards (SMB, NetBIOS, RPC)
Nom NetBIOS : SHELLS-WINBLUE
OS : Windows Server 2016 Standard 14393
Workgroup : WORKGROUP
Message signing SMB : Désactivé (risqué)
â ïž Indice de vulnĂ©rabilitĂ© possible : MS17-010 (EternalBlue), connu pour affecter Windows Server 2008 Ă 2016.
đź Identification de la vulnĂ©rabilitĂ© MS17-010
đ§° Scan via Metasploit
Lancement de Metasploit et utilisation du module de vérification pour MS17-010.
Résultat attendu :
đ Exploitation de MS17-010 avec Metasploit
đ€ Recherche et sĂ©lection de l'exploit
Nous choisissons ici :
âïž Configuration de l'exploit et du payload
Le payload par défaut est : windows/meterpreter/reverse_tcp
đ VĂ©rification des options
S'assurer que les champs suivants sont bien renseignés :
RHOSTSLHOSTLPORT
đš ExĂ©cution de l'exploit
Une fois tous les paramĂštres en place :
Si l'exploitation réussit, un shell Meterpreter s'ouvre :
Cela signifie que l'accĂšs Ă distance Ă la machine cible est effectif.
đ Points de vigilance
MS17-010 est une faille critique exploitée dans le cadre d'attaques réelles (ex : WannaCry).
L'utilisation de
psexecimplique que l'attaquant puisse exécuter du code en tant qu'administrateur (privilÚges SYSTEM).Un antivirus ou un EDR peut détecter l'exploit ou le payload si non obfusqué.
đ
Récapitulatif
Scan des ports
Nmap
Détecter les services exposés
Détection MS17-010
Metasploit (auxiliary)
Identifier la vulnérabilité
Exploitation
Metasploit (exploit + payload)
Obtenir un shell Meterpreter
đč Conclusion
La reconnaissance dâun systĂšme Windows est une Ă©tape essentielle dans toute phase dâinfiltration. Elle permet de prĂ©parer efficacement les prochaines Ă©tapes dâattaque : choix des exploits, crĂ©ation de payloads adaptĂ©s, et Ă©valuation de la surface dâattaque.
đ Ressources utiles
What file type is a text-based DOS script used to perform tasks from the cli? (answer with the file extension, e.g. '.something')
Comme mentionné dans le cours, l'extension associée aux scripts DOS est le .bat.
What Windows exploit was dropped as a part of the Shadow Brokers leak? (Format: ms bulletin number, e.g. MSxx-xxx)
L'exploit Windows drop dans le cardre de la fuite de Shadow Brokers est EternalBlue (MS17-010).
Gain a shell on the vulnerable target, then submit the contents of the flag.txt file that can be found in C:\
Lancement de Metasploit :
Une fois lancer, nous recherchons les exploit en lien avec eternalblue :
Nous choisissons alors l'exploit numéro 10 (exploit/windows/smb/ms17_010_psexec), modifions les options et accedons à notre cible :
Nous obtenons alors le flag attendu :
Last updated