Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
wsuks — Automatisation de l'attaque MITM sur WSUS | Kitploit
Outils/GitHubGitHub/neffisback/wsuks
Escalade de PrivilègesReconnaissanceExploitationPost-ExploitationSécurité RéseauTests d'IntrusionMauvaise ConfigurationRed Teaming
GitHubneffisback/wsuks

wsuks

Automatisation de l'attaque MITM sur WSUS

Voir le dépôt
388331il y a 25 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Supported Python versions Twitter

wsuks

Automatiser l'attaque WSUS

Obtenir un accès administratif local à une machine Windows jointe à un domaine est généralement la première étape d'un test d'intrusion. Dans de nombreux cas, le service Windows Server Update Service (WSUS) est configuré pour déployer des mises à jour vers les clients sur le réseau local en utilisant HTTP. Sans la sécurité de HTTPS, un attaquant peut monter une attaque de l'homme du milieu pour envoyer une mise à jour au client, qui s'exécutera alors avec les privilèges SYSTEM. Tout exécutable signé par Microsoft peut être servi comme mise à jour, y compris une commande personnalisée avec laquelle l'exécutable est lancé. Si un attaquant parvient à obtenir un certificat TLS pour le serveur WSUS, cette technique peut également être réalisée sur HTTPS (voir ESC17 et notre article de blog).

Pour exploiter automatiquement l'attaque WSUS, cet outil usurpe l'adresse IP du serveur WSUS sur le réseau à l'aide d'ARP, et lorsque le client ciblé demande des mises à jour Windows, il sert PsExec64.exe avec un script PowerShell prédéfini pour obtenir des privilèges d'administrateur local. Le fichier exécutable servi (par défaut : PsExec64.exe) et la commande exécutée peuvent être modifiés si nécessaire.
Par défaut, un client Windows recherche les mises à jour environ toutes les 24 heures.

Prérequis :

  • Le client cible doit être sur le réseau local
  • Le service Windows Server Update Service (WSUS) doit être configuré en HTTP ou ESC17 doit être présent

Résultat :

  • Après une exécution réussie, l'utilisateur fourni sera ajouté au groupe des administrateurs locaux. Si aucun utilisateur n'a été spécifié, un utilisateur au format user[0-9]{5} (ex. user12345) et un mot de passe aléatoire seront créés

Fonctionnalités implémentées :

  • Usurpation ARP de la cible
  • Routage des paquets usurpés ARP vers le serveur HTTP(S) local
  • Serveur HTTP(S) pour servir les mises à jour malveillantes
  • Détection automatique du serveur WSUS
  • Script PowerShell et exécutable inclus pour obtenir un accès administrateur local

Installation 🖥️

Avec pipx (recommandé) :

root@kitploit:~
sudo apt install pipx python3-nftables
pipx ensurepath
pipx install wsuks --system-site-packages
sudo ln -s ~/.local/bin/wsuks /usr/sbin/wsuks

Avec poetry :

root@kitploit:~
sudo apt install pipx git python3-nftables      # poetry should still be installed with pipx, but apt will work as well
sudo pipx install poetry
sudo ln -s /root/.local/bin/poetry /usr/sbin/poetry
git clone https://github.com/NeffIsBack/wsuks
cd wsuks
sudo poetry install

Utilisation 🛠️

❗wsuks doit être exécuté en tant que root❗

Avec pipx, vous pouvez simplement exécuter sudo wsuks ... n'importe où sur le système.
Si vous utilisez poetry, vous devez être dans le dossier wsuks et commencer chaque commande par sudo poetry run wsuks ...

Cet outil nécessite que le paquet nftables soit installé, ce qui est le cas par défaut sur tous les systèmes basés sur Debian.\

Il existe 3 modes/scénarios d'attaque différents dans lesquels wsuks peut être exécuté :

  • AUTOMATIQUE : si le serveur WSUS n'est pas connu, wsuks découvrira automatiquement le serveur WSUS en analysant les GPO sur le contrôleur de domaine. Dans ce cas, l'IP du contrôleur de domaine doit être fournie, ainsi que les identifiants du domaine.
  • MANUEL : si le serveur WSUS est déjà connu, l'attaque peut être réalisée en fournissant simplement l'IP du serveur WSUS.
  • SERVE ONLY : si le trafic est déjà redirigé vers la machine de l'attaquant (par exemple avec un contrôle sur le DNS), wsuks peut être utilisé pour servir uniquement l'exécutable et la commande malveillants.

AUTOMATIQUE : découvrir automatiquement le serveur WSUS en spécifiant uniquement l'utilisateur du domaine avec l'IP du DC :

Si vous avez déjà un utilisateur du domaine, wsuks analysera les GPO sur le contrôleur de domaine pour trouver le serveur WSUS.
Un script PowerShell est exécuté, qui ajoutera l'utilisateur du domaine fourni au groupe des administrateurs locaux.

root@kitploit:~
sudo wsuks -t 10.0.0.10 -u User -p Password -d domain.local --dc-ip 10.0.0.1

Astuce : si vous souhaitez simplement vérifier la présence d'un serveur WSUS, vous pouvez utiliser l'option --only-discover.

MANUEL : spécifier un serveur WSUS connu et créer un utilisateur administrateur local :

Le script PowerShell prédéfini exécutera les actions suivantes :

  1. Créer un nouvel utilisateur au format user[0-9]{5} (ex. user12345) et un mot de passe aléatoire
  2. Définir LocalAccountTokenFilterPolicy sur 1 (désactivation de l'UAC ⚠)
  3. Ajouter l'utilisateur créé au groupe des administrateurs locaux

⚠ Avant de définir LocalAccountTokenFilterPolicy sur 1, la valeur d'origine est stockée dans le champ de description de l'utilisateur afin qu'elle puisse être restaurée ultérieurement

root@kitploit:~
sudo wsuks -t 10.0.0.10 --WSUS-Server 10.0.0.20

MANUEL : spécifier un serveur WSUS connu et ajouter l'utilisateur du domaine fourni au groupe des administrateurs locaux (le domaine est requis !) :

Si vous disposez déjà d'un utilisateur du domaine et que vous connaissez l'IP du serveur WSUS, wsuks ajoutera simplement l'utilisateur au groupe Administrateurs local.

root@kitploit:~
sudo wsuks -t 10.0.0.10 --WSUS-Server 10.0.0.20 -u User -d domain.local

SERVE ONLY : servir uniquement l'exécutable et la commande malveillants :

Si le trafic est déjà redirigé vers la machine de l'attaquant (par exemple avec un contrôle sur le DNS), wsuks peut être utilisé pour servir uniquement l'exécutable et la commande malveillants, sans effectuer l'usurpation ARP ni le routage lui-même. Cela lancera simplement le serveur HTTP sur l'interface fournie.

root@kitploit:~
sudo wsuks --serve-only

ESC17 : spécifier un certificat TLS pour le serveur web WSUS (ESC17) :

Dans le cas où un attaquant est en mesure d'obtenir un certificat TLS (par exemple via ESC17) pour le serveur WSUS, l'attaque peut également être réalisée sur HTTPS. Cela s'applique à tous les scénarios ci-dessus ; il suffit d'ajouter l'option --tls-cert avec le chemin du certificat.

root@kitploit:~
sudo wsuks -t 10.0.0.10 --WSUS-Server secure.wsus.domain.local --tls-cert cert.pem

Démo 🎥

Voici une courte démo de l'attaque avec un serveur WSUS connu : Demo of the WSUS attack

À propos & Atténuation 🛡️

Dans le dépôt PyWSUS de GoSecure, vous trouverez une excellente documentation sur la façon de détecter et d'atténuer cette attaque. Ils ont également rédigé un excellent guide démontrant en détail le fonctionnement de cette attaque ici.

Concernant ESC17, veuillez consulter le wiki certipy pour des recommandations d'atténuation.

Certaines parties de cet outil sont basées sur les projets suivants :

  • https://github.com/GoSecure/pywsus
  • https://github.com/GoSecure/wsuspect-proxy
Télécharger l’outil