Mise en place du lab — Social Engineering avec SET#
Guide de démarrage pour le module Social Engineering du parcours pentest : environnement isolé, outil SET (Social-Engineer Toolkit), scénario entreprise fictive LabCorp. Les vecteurs d’attaque (harvester, phishing mail, HTA, QR) sont traités dans des pages dédiées, sur la même infrastructure.
L’objectif est de disposer d’un lab isolé, reproductible et hors production, réutilisable pour l’ensemble des TPs de ce module.
Important : ce module manipule des techniques d’ingénierie sociale réelles. Ne jamais l’exposer sur Internet, envoyer de vrais emails vers des adresses externes, ni cloner des sites de production accessibles publiquement. Utiliser uniquement des VMs du lab et des pages hébergées en interne.
1. Parcours du module#
Une fois l’infrastructure en place, enchaînez les TPs dans l’ordre :
| # | Page | Vecteur SET | Statut |
|---|---|---|---|
| 1 | Get Started (cette page) | Infra, SET, cadre légal | — |
| 2 | Credential Harvester | Clone de page de login + capture d’identifiants | Disponible |
| 3 | Spear Phishing | Email ciblé + lien vers le harvester | Disponible |
| 4 | Payload HTA | Pièce jointe HTA + reverse shell Metasploit | Disponible |
| 5 | QR Code / Smishing | QR pointant vers le harvester ou le payload | Disponible |
| 6 | Rapport | Synthèse campagne + recommandations | Disponible |
Vecteurs privilégiés dans ce module (fiables sur navigateurs et Windows récents) :
| Vecteur | Pourquoi le retenir |
|---|---|
| Credential Harvester | Ne dépend pas d’un exploit navigateur ; mesure la vigilance humaine |
| Spear Phishing (mail) | Scénario le plus proche d’un pentest « human factor » réel |
| HTA | Livraison de payload Windows sans applet Java ni drive-by obsolète |
| QR Code | Vecteur moderne (affiches, Wi-Fi invité, SMS simulé) |
Les exploits navigateur automatiques (Java applet, anciens drive-by) sont hors scope — souvent bloqués ou inopérants sur Edge/Chrome récents.
Bonus (non couvert en détail) : Infectious Media Generator (clé USB « Lost & Found ») — même infra, même logique de payload que le TP HTA.
Tous les TPs partagent Kali et WS01 décrits ci-dessous. Le module Active Directory peut réutiliser les mêmes machines : credentials volés par harvester → Pass the Hash.
2. Architecture cible du lab#
Réseau recommandé : Host-only (VirtualBox) ou LAN segmenté (VMware) — segment 192.168.56.0/24, sans passerelle vers l’extérieur pour les VMs cibles.
Conserver un adaptateur NAT sur Kali uniquement pour les mises à jour.
| Machine | Rôle | IP (exemple) | OS |
|---|---|---|---|
| Kali | Attaquant (SET, Metasploit, serveur web SET, SMTP lab) | 192.168.56.10 | Kali Linux (VM) |
| WS01 | Victime — poste employé LabCorp | 192.168.56.30 | Windows 10/11 Pro Eval |
| MAIL01 (optionnel) | Boîte mail interne de test | 192.168.56.40 | Mailpit (Docker) ou Postfix minimal |
Domaine fictif : labcorp.local (ou réutilisation de lab.local si vous avez déjà le module AD)
Scénario pédagogique :
- Employé
user1sur WS01 consulte sa messagerie et un portail VPN interne - Portail factice :
https://vpn.labcorp.local→ résolu vers Kali (fichierhostssur WS01) - Mot de passe volontairement faible pour mesurer l’impact :
Summer2024! - Windows Defender et pare-feu désactivés sur le segment lab uniquement
3. Téléchargements et outils#
| VM / outil | Source | Remarque |
|---|---|---|
| Kali Linux | https://www.kali.org/get-kali/ | SET préinstallé : setoolkit |
| Windows 10/11 Eval | https://www.microsoft.com/evalcenter | Poste victime WS01 |
| Mailpit | https://github.com/axllent/mailpit | Web UI + SMTP local (port 1025) |
| Metasploit | Inclus dans Kali | Listeners couplés au SET |
Alternative victime : réutiliser WS01 du lab Active Directory — adapter les noms de domaine (lab.local ↔ labcorp.local) dans les pages du module.
4. Préparation de l’environnement#
4.1. Sur Kali#
- Vérifier que SET est installé :
which setoolkit
setoolkit --versionSi absent :
sudo apt update && sudo apt install setConfigurer l’IP statique sur l’interface host-only :
192.168.56.10/24(Optionnel) Lancer Mailpit pour le TP phishing :
# Avec Docker
docker run -d --name mailpit --network host axllent/mailpit
# Web UI : http://192.168.56.10:8025 — SMTP : port 10254.2. Sur WS01 (victime)#
- Installer Windows 10/11 Eval
- IP statique :
192.168.56.30, masque255.255.255.0, pas de passerelle - Renommer la machine en
WS01 - Créer un compte local
user1/Summer2024!(ou joindre le domaine AD existant) - Ajouter l’entrée DNS locale pour le portail factice (PowerShell admin) :
Add-Content -Path C:\Windows\System32\drivers\etc\hosts -Value "192.168.56.10 vpn.labcorp.local intranet.labcorp.local"- Désactiver Defender et pare-feu uniquement dans le lab
4.3. Page modèle pour le harvester (INTRA01 local)#
Sur Kali, créer une page de login simple à cloner ou à servir comme référence :
sudo mkdir -p /var/www/labcorp
sudo tee /var/www/labcorp/login.html << 'EOF'
<!DOCTYPE html>
<html lang="fr">
<head><meta charset="utf-8"><title>LabCorp VPN</title></head>
<body>
<h1>Portail VPN LabCorp</h1>
<form method="post" action="login.php">
<label>Identifiant</label><input name="username" type="text"><br>
<label>Mot de passe</label><input name="password" type="password"><br>
<button type="submit">Connexion</button>
</form>
</body>
</html>
EOFSET pourra cloner cette page via son propre serveur intégré ; le fichier ci-dessus sert de cible « entreprise » réaliste sans toucher à un vrai site.
5. Test de l’environnement#
Depuis Kali :
ping -c 2 192.168.56.30Depuis WS01 (navigateur) :
http://192.168.56.10/ → doit répondre (ou sera servi par SET au TP 2)Lancer SET pour vérifier le menu :
sudo setoolkit
# Choisir 1) Social-Engineering Attacks → puis quitter (q)6. Conventions pour les TPs suivants#
| Variable | Valeur exemple |
|---|---|
| Entreprise | LabCorp |
| Kali (attaquant) | 192.168.56.10 |
| WS01 (victime) | 192.168.56.30 |
| Portail factice | https://vpn.labcorp.local |
| Victime | user1 / Summer2024! |
| Email interne | user1@labcorp.local |
| SMTP lab (Mailpit) | 192.168.56.10:1025 |
7. Cadre légal et éthique#
Avant tout TP, le binôme doit pouvoir répondre à :
| Question | Réponse attendue en lab |
|---|---|
| Qui a autorisé la campagne ? | « Client fictif LabCorp — lettre de mission fournie » |
| Quel est le périmètre ? | VMs 192.168.56.0/24 uniquement |
| Où vont les données capturées ? | Fichiers SET locaux — pas d’exfiltration |
| Que faire après le TP ? | Supprimer les logs, restaurer les snapshots |
8. Avant de continuer#
- Prendre un snapshot de Kali et WS01 (état « lab propre »)
- Noter les IP réelles et identifiants dans votre carnet de TP
9. Suite de la démarche#
Phase actuelle : Mise en place du lab — infrastructure SET opérationnelle.
[✓] Mise en place → [●] Credential Harvester → [ ] Spear Phishing → [ ] HTA → [ ] QR → [ ] RapportÉtape suivante : Credential Harvester — cloner le portail VPN et capturer les identifiants de user1.
Références :