🔗 Ressources
Documentation officielle, labs, outils, cheatsheets et raccourcis clavier pour préparer le TSSR.
Documentation officielle
8 ressourcesDocumentation complète sur Windows Server 2022 : ADDS, DNS, DHCP, IIS, Hyper-V, PowerShell.
Référence complète des cmdlets PowerShell 7, modules Windows, DSC et scripting avancé.
IOS Command Reference, guides de configuration, notes de version pour les équipements Cisco.
Les 42 mesures essentielles pour sécuriser un système d'information. Document incontournable au TSSR.
Guides Docker Engine, Dockerfile, Docker Compose, registres et bonnes pratiques de conteneurisation.
Pages de manuel Linux complètes pour toutes les commandes, appels système et formats de fichiers.
Spécifications officielles des protocoles Internet. RFC 791 (IP), RFC 793 (TCP), RFC 2460 (IPv6), RFC 8446 (TLS 1.3)…
Ressources ITIL v4 : Service Value System, pratiques de gestion, guides de certification Foundation.
Labs & Entraînement pratique
6 ressourcesCours officiels Cisco avec Packet Tracer intégré. Modules CCNA, CyberOps, Linux Essentials, Python.
Apprentissage de la cybersécurité par labs gamifiés. Parcours Pre-Security, Jr Penetration Tester, SOC Level 1.
Simulateur réseau open-source pour créer des topologies complexes avec de vraies images IOS Cisco.
Labs guidés Microsoft pour Windows Server, Active Directory et Azure — environnements cloud temporaires gratuits.
Wargames Linux progressifs (Bandit = débutant) pour maîtriser la ligne de commande, les permissions et les bases sécurité.
Hyperviseur Type 2 gratuit pour créer des VMs Windows/Linux en local. Parfait pour les labs TSSR sans infrastructure.
Outils & Utilitaires
6 ressourcesAnalyseur de trames réseau open-source. Indispensable pour comprendre les protocoles et diagnostiquer les pannes réseau.
Scanner réseau et de ports. Découverte d'hôtes, détection OS et services, scripts NSE pour l'audit de sécurité.
Solution ITSM open-source : gestion de parc, helpdesk, CMDB, ticketing. Standard ITIL dans de nombreuses entreprises françaises.
Calcul rapide en ligne : adresse réseau, broadcast, plage d'hôtes, CIDR ↔ masque. Essentiel pour les exercices de subnetting.
Clients SSH/Telnet/Serial pour Windows. MobaXterm inclut un terminal X11, un gestionnaire de sessions et des outils réseau intégrés.
Éditeur de code polyvalent. Extensions recommandées : PowerShell, Bash Debug, Remote-SSH, YAML, Docker.
Commandes à connaître — Cheatsheets
# Modes IOS
Router> # User EXEC (lecture seule)
Router> enable # → Privileged EXEC
Router# configure terminal # → Global Config
Router(config)# interface GigabitEthernet0/0 # → Interface Config
Router(config-if)# end # → retour Privileged EXEC
# Configuration de base
Router(config)# hostname R1
Router(config)# enable secret MonMotDePasse!
Router(config)# service password-encryption
Router(config)# banner motd # Acces autorise uniquement #
# SSH v2
R1(config)# ip domain-name lab.local
R1(config)# crypto key generate rsa modulus 2048
R1(config)# ip ssh version 2
R1(config)# line vty 0 4
R1(config-line)# transport input ssh
R1(config-line)# login local
# Sauvegarde
R1# copy running-config startup-config
R1# write memory # alias
# VLANs sur switch
SW(config)# vlan 10
SW(config-vlan)# name COMPTA
SW(config)# interface Fa0/1
SW(config-if)# switchport mode access
SW(config-if)# switchport access vlan 10
# Port trunk
SW(config-if)# switchport mode trunk
SW(config-if)# switchport trunk allowed vlan 10,20,30
# Route statique & défaut
R1(config)# ip route 192.168.2.0 255.255.255.0 10.0.0.2
R1(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1
# OSPF
R1(config)# router ospf 1
R1(config-router)# network 10.0.0.0 0.255.255.255 area 0
R1(config-router)# passive-interface GigabitEthernet0/1
# ACL étendue nommée
R1(config)# ip access-list extended BLOC_TELNET
R1(config-ext-nacl)# deny tcp any any eq 23
R1(config-ext-nacl)# permit ip any any
R1(config-if)# ip access-group BLOC_TELNET in
# NAT/PAT
R1(config-if)# ip nat inside # sur interface LAN
R1(config-if)# ip nat outside # sur interface WAN
R1(config)# ip nat inside source list 1 interface Gi0/0 overload
# Vérifications
R1# show ip route
R1# show ip interface brief
R1# show ip ospf neighbor
R1# show vlan brief
R1# show spanning-tree
# Navigation
ls -lah # liste détaillée avec tailles lisibles
find /etc -name "*.conf" -type f
find / -perm -4000 2>/dev/null # fichiers SUID
# Permissions (chmod)
chmod 755 script.sh # rwxr-xr-x
chmod u+x,g-w fichier # notation symbolique
chown user:groupe fichier
chown -R www-data /var/www/html
# Utilisateurs & groupes
useradd -m -s /bin/bash -G sudo alice
passwd alice
usermod -aG docker alice # ajoute alice au groupe docker
userdel -r alice # supprime user + home
id alice # affiche UID, GID, groupes
getent passwd alice # infos depuis /etc/passwd
# Recherche de contenu
grep -rn "mot" /etc/ # récursif + numéro de ligne
grep -E "^(root|www)" /etc/passwd
tail -f /var/log/syslog # logs en temps réel
journalctl -u ssh -n 50 # 50 dernières lignes service SSH
# Réseau
ip addr show
ip route show
ip addr add 192.168.1.10/24 dev eth0
ip route add default via 192.168.1.1
ss -tulnp # ports en écoute avec PID
ping -c 4 8.8.8.8
traceroute 8.8.8.8
dig @8.8.8.8 google.com A # requête DNS
# Pare-feu UFW
ufw enable
ufw allow 22/tcp
ufw deny 23/tcp
ufw status verbose
# iptables (Debian/Ubuntu)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
iptables -L -n -v --line-numbers
# systemd
systemctl start nginx
systemctl stop nginx
systemctl enable --now nginx # active + démarre
systemctl status nginx
systemctl list-units --type=service --state=running
journalctl -u nginx --since "1 hour ago" -f
# Paquets
apt update && apt upgrade -y
apt install vim curl net-tools -y
dpkg -l | grep nginx
apt remove --purge nginx
#!/bin/bash
# Description : script de sauvegarde
set -euo pipefail
IFS=$'\n\t'
# Variables
SOURCE_DIR="/var/www/html"
BACKUP_DIR="/backups"
DATE=$(date +%Y%m%d_%H%M%S)
LOG_FILE="/var/log/backup.log"
# Fonctions
log() { echo "[$(date '+%F %T')] $*" | tee -a "$LOG_FILE"; }
die() { log "ERREUR : $*"; exit 1; }
# Vérifications
[[ -d "$SOURCE_DIR" ]] || die "Répertoire source introuvable : $SOURCE_DIR"
[[ $(id -u) -eq 0 ]] || die "Ce script doit être exécuté en root"
# Traitement
log "Début de la sauvegarde..."
tar -czf "${BACKUP_DIR}/backup_${DATE}.tar.gz" "$SOURCE_DIR" \
&& log "Sauvegarde réussie : backup_${DATE}.tar.gz" \
|| die "Échec de la compression"
# Nettoyage : conserver seulement les 7 dernières sauvegardes
find "$BACKUP_DIR" -name "backup_*.tar.gz" -mtime +7 -delete
log "Terminé."
# Découverte
Get-Command *Service* # cherche les cmdlets
Get-Help Get-Process -Examples # exemples d'utilisation
Get-Member -InputObject (Get-Date) # propriétés d'un objet
# Pipeline (Where-Object, Sort, Select)
Get-Process | Where-Object { $_.CPU -gt 10 } | Sort-Object CPU -Desc | Select-Object -First 5
Get-Service | Where-Object Status -eq 'Stopped' | Select-Object Name, DisplayName
# Réseau
Get-NetIPAddress -AddressFamily IPv4
New-NetIPAddress -IPAddress 192.168.1.10 -PrefixLength 24 -InterfaceAlias "Ethernet" -DefaultGateway 192.168.1.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 8.8.8.8, 8.8.4.4
Test-NetConnection -ComputerName google.com -Port 443
# Services
Get-Service -Name "W32Time"
Start-Service -Name "W32Time"
Stop-Service -Name "W32Time"
Set-Service -Name "W32Time" -StartupType Automatic
# Fichiers
Get-ChildItem -Path C:\Windows -Filter *.log -Recurse
New-Item -ItemType Directory -Path C:\MonDossier
Copy-Item -Path C:\src\* -Destination C:\dst\ -Recurse
Remove-Item -Path C:\tmp\* -Recurse -Force
# Module Active Directory (Import si nécessaire)
Import-Module ActiveDirectory
# Utilisateurs
New-ADUser -Name "Jean Dupont" -SamAccountName "jdupont" `
-UserPrincipalName "jdupont@corp.local" `
-Path "OU=Comptabilite,DC=corp,DC=local" `
-AccountPassword (ConvertTo-SecureString "P@ssword1!" -AsPlainText -Force) `
-Enabled $true
Get-ADUser -Filter { Department -eq "Comptabilite" } -Properties *
Set-ADUser -Identity jdupont -Department "Finance"
Disable-ADAccount -Identity jdupont
Remove-ADUser -Identity jdupont -Confirm:$false
# Groupes et OUs
New-ADGroup -Name "GRP_Finance" -GroupScope Global -Path "OU=Groupes,DC=corp,DC=local"
Add-ADGroupMember -Identity "GRP_Finance" -Members jdupont
New-ADOrganizationalUnit -Name "Finance" -Path "DC=corp,DC=local"
# Template script PowerShell
[CmdletBinding()]
param(
[Parameter(Mandatory)][string]$NomUtilisateur,
[string]$OU = "OU=Users,DC=corp,DC=local"
)
try {
$User = Get-ADUser -Identity $NomUtilisateur -ErrorAction Stop
Write-Host "Utilisateur trouvé : $($User.DistinguishedName)" -ForegroundColor Green
}
catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException] {
Write-Error "Utilisateur '$NomUtilisateur' introuvable dans AD."
exit 1
}
catch {
Write-Error "Erreur inattendue : $_"
exit 2
}
# Images
docker pull nginx:latest
docker images
docker rmi nginx:latest
docker build -t monapp:1.0 .
# Conteneurs
docker run -d -p 8080:80 --name web nginx
docker run -it ubuntu:22.04 /bin/bash # interactif
docker ps # conteneurs actifs
docker ps -a # tous les conteneurs
docker stop web && docker rm web
docker exec -it web bash # shell dans un conteneur actif
docker logs web -f # logs en temps réel
docker inspect web # détails JSON
# Volumes & Réseau
docker volume create monvolume
docker network create --driver bridge monreseau
docker run -d -v monvolume:/data --network monreseau --name db mysql:8
# Nettoyage
docker system prune -af # supprime tout (images/conteneurs/réseaux inutilisés)
docker volume prune
# Docker Compose
docker compose up -d # démarrer en arrière-plan
docker compose down # arrêter & supprimer conteneurs
docker compose logs -f app # logs du service "app"
docker compose ps
services:
web:
image: php:8.2-apache
ports:
- "80:80"
volumes:
- ./src:/var/www/html
depends_on:
- db
networks:
- lamp_net
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: appdb
MYSQL_USER: appuser
MYSQL_PASSWORD: apppassword
volumes:
- db_data:/var/lib/mysql
networks:
- lamp_net
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8080:80"
environment:
PMA_HOST: db
networks:
- lamp_net
volumes:
db_data:
networks:
lamp_net:
driver: bridge
Raccourcis clavier essentiels
| Raccourci | Action |
|---|---|
| Ctrl+E | Démarrer / Arrêter la capture |
| Ctrl+K | Ouvrir les options de capture |
| Ctrl+F | Rechercher un paquet |
| Ctrl+G | Aller au paquet n°... |
| Ctrl+R | Ouvrir un fichier de capture |
| Ctrl+S | Enregistrer la capture |
| Ctrl+Shift+D | Dupliquer l'onglet de capture |
| Ctrl+Alt+Shift+T | Suivre le flux TCP |
| Alt+→ | Paquet suivant (même conversation) |
| F5 | Actualiser / relancer la capture |
| Raccourci | Action | Logiciel |
|---|---|---|
| Ctrl+Alt | Libérer la souris / sortir de la VM | VMware Workstation |
| Ctrl+Alt+Enter | Mode plein écran | VMware Workstation |
| Ctrl+Alt+Del | Envoyer Ctrl+Alt+Suppr à la VM | VMware Workstation |
| Ctrl+Alt+P | Mettre la VM en pause | VMware Workstation |
| Host+F | Mode plein écran (Host = Ctrl droit) | VirtualBox |
| Host+S | Snapshot rapide | VirtualBox |
| Host+R | Redémarrer la VM | VirtualBox |
| Host+Del | Envoyer Ctrl+Alt+Suppr à la VM | VirtualBox |
| Host+Home | Afficher le menu VM | VirtualBox |
| Raccourci | Action |
|---|---|
| Win+R | Exécuter (Run) |
| Win+X | Menu Outils d'administration rapide |
eventvwr.msc | Observateur d'événements |
dsa.msc | Active Directory Utilisateurs et Ordinateurs |
gpmc.msc | Console de gestion des stratégies de groupe |
dhcpmgmt.msc | Console DHCP |
dnsmgmt.msc | Console DNS |
compmgmt.msc | Gestion de l'ordinateur |
ncpa.cpl | Connexions réseau |
services.msc | Gestionnaire de services |
regedit | Éditeur de registre |
| Ctrl+Shift+Enter | Exécuter en tant qu'administrateur (depuis Démarrer) |
| Raccourci Bash | Action |
|---|---|
| Ctrl+C | Interrompre le processus en cours (SIGINT) |
| Ctrl+Z | Suspendre le processus (mettre en arrière-plan) |
| Ctrl+D | EOF — fermer le terminal / déconnecter SSH |
| Ctrl+L | Effacer l'écran (clear) |
| Ctrl+R | Recherche dans l'historique (reverse-i-search) |
| Ctrl+A | Début de ligne |
| Ctrl+E | Fin de ligne |
| Ctrl+U | Effacer depuis le curseur jusqu'au début de ligne |
| Ctrl+K | Effacer depuis le curseur jusqu'à la fin de ligne |
| Ctrl+W | Effacer le mot précédent |
| Alt+. | Dernier argument de la commande précédente |
| !! | Répéter la dernière commande (ex: sudo !!) |