User Tools

Site Tools


secres:https-interception

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
secres:https-interception [2017/11/24 15:25] orelsecres:https-interception [2024/03/18 15:06] (current) – external edit 127.0.0.1
Line 3: Line 3:
 Nous allons mettre en oeuvre le mécanisme d'interception HTTPS, qui consiste à faire in Man-in-the-Middle pour déchiffre le traffic HTTPS entre le client et le serveur ! Nous allons mettre en oeuvre le mécanisme d'interception HTTPS, qui consiste à faire in Man-in-the-Middle pour déchiffre le traffic HTTPS entre le client et le serveur !
  
- 
-=== Démo === 
  
 Considérons le réseau suivant : Considérons le réseau suivant :
Line 10: Line 8:
  
   Client Web <-----> Proxy <--- (...) --> Server Web (https://nile.metal.fr)     Client Web <-----> Proxy <--- (...) --> Server Web (https://nile.metal.fr)  
 +
 +
 +=== Proxy SSL ===
 +
 +Voici le code de notre proxy SSL :
  
 <code python sslproxy.py> <code python sslproxy.py>
Line 16: Line 19:
 import ssl import ssl
 import sys import sys
-import OpenSSL 
 import time import time
 import datetime import datetime
Line 123: Line 125:
 main() main()
 </code> </code>
 +
 +=== Génération des faux certificats ===
  
 Commençons par générer un //fake CA// :  Commençons par générer un //fake CA// : 
Line 168: Line 172:
 import sys import sys
 import pprint import pprint
-import OpenSSL+import OpenSSL  # deprecated ?
 import time import time
 import datetime import datetime
Line 276: Line 280:
 </code> </code>
      
 +
 +=== Lancement du Proxy HTTPS ===
 +
 Lancement du proxy : Lancement du proxy :
  
Line 281: Line 288:
   iptables -t nat -A PREROUTING -d nile.metal.fr -p tcp --dport 443 -j REDIRECT --to-port 4444   iptables -t nat -A PREROUTING -d nile.metal.fr -p tcp --dport 443 -j REDIRECT --to-port 4444
   ./sslproxy.py nile.metal.fr 443 4444   ./sslproxy.py nile.metal.fr 443 4444
 +
 +=== Mise en oeuvre avec un client ===
  
 Sur le client : Sur le client :
Line 288: Line 297:
 Pour ajouter le //fake// CA dans le store du client, il faut faire : Pour ajouter le //fake// CA dans le store du client, il faut faire :
  
-  openssl x509 -in ca-cert.pem -inform PEM -out ca-cert.crt+  cp ca-cert.pem ca-cert.crt # renommage
   cp ca-cert.crt /usr/share/ca-certificates/mycert/   cp ca-cert.crt /usr/share/ca-certificates/mycert/
   dpkg-reconfigure ca-certificates   dpkg-reconfigure ca-certificates
      
 +Puis, il suffit de faire :
 +  
 +  wget -4 https://nile.metal.fr
 +  
 +
 +Video de démo par A. Guermouche : https://www.youtube.com/watch?v=KURaBFMn4xg
 +
 ==== Documentation ==== ==== Documentation ====
  
secres/https-interception.1511537150.txt.gz · Last modified: 2024/03/18 15:05 (external edit)