Tag Archive for nat
Tracer/tracker les paquets ip sur le réseau avec dsniff/sslstrip
#apt-get install python
#apt-get install python-twisted-web
#apt-get install dsniff
#wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz
#tar xvzf sslstrip-0.9.tar.gz
#cd sslstrip-0.9/
#python setup.py install
//Dans cet exemple, on pre-route les paquets à destination du port 80 vers le port 12000(port d’analyse)
#iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 12000
python sslstrip.py -w secret.txt -a -l 12000 -f
//tcpdump pour voir les paquets, voir les options -X -f etc
tcpdump -i eth0 -A -f ‘ip src or dst votre_ip_dst’
tcpdump -i eth0 -X -f ‘ip src or dst votre_ip_dst’
iptables -t nat -A PREROUTING -p tcp -s votre_ip –destination-port 80 -j REDIRECT –to-port 12000
tcpdump -i eth0 -X -f ‘ip src or dst votre_ip’ > res.txt
Exemple de iptable avec nat, dnat, snat, prerouting, postrouting et masquerade
Le DNAT ou NAT Destination
On substitue à l’adresse de destination des paquets provenant du réseau public, une adresse du réseau local privé. Dans l’exemple, les paquets à destination de la machine 195.x sont redirigés vers la machine 172.y. On ne tient pas compte du port.
iptables -F INPUT ; iptables -P INPUT ACCEPT
iptables -F OUTPUT ; iptables -P OUTPUT ACCEPT
iptables -F FORWARD ; iptables -P FORWARD ACCEPT
iptables -t nat -F PREROUTING
iptables -t nat -A PREROUTING -d 195.115.19.35/32 \
-j DNAT –to-destination 172.16.0.1/32
Le SNAT ou NAT Source
Le SNAT consiste à substituer une adresse source dans un paquet sortant à son adresse source d’origine. On substitue ici, aux requêtes provenant du réseau 192.168.0.0/24, une des 10 adresses publiques.
iptables -F INPUT ; iptables -P INPUT ACCEPT
iptables -F OUTPUT ; iptables -P OUTPUT ACCEPT
iptables -F FORWARD ; iptables -P FORWARD ACCEPT
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 \
-j SNAT –to-source 195.115.90.1-195.115.90.10
L’IP Masquerade
Dans ce cas, les adresses privées, utilisent toutes la même adresse publique. C’est le procédé qui est utilisé avec ipchains. Il s’agit en fait de translation de port avec ipchains ou de SNAT (Nat Source) avec iptables.
iptables -F INPUT ; iptables -P INPUT ACCEPT
iptables -F OUTPUT ; iptables -P OUTPUT ACCEPT
iptables -F FORWARD ; iptables -P FORWARD ACCEPT
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s 10.10.10.0/8 -j SNAT –to-source 139.63.83.120
Une autre option consiste à utiliser l’option « MASQUERADE »
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s 10.10.10.0/8 -j MASQUERADE
/***/
SNAT
On utilise le « Source NAT » (SNAT) lorsqu’on veut modifier l’adresse source d’une trame. Cela se fait dans la chaîne « POSTROUTING », cela signifie que la trame traverse l’ensemble du pare-feu et, juste avant de sortir, on change l’adresse IP source dans la trame.
C’est ce que l’on utilise pour partager la connexion Internet.
DNAT
On utilise le « Destination NAT » (DNAT) lorsqu’on veut modifier l’adresse destination d’une trame avant qu’elle ne soit routée, donc dans la chaîne PREROUTING.
C’est ce que l’on utilise lorsqu’on veut rediriger un flux vers une machine. Par exemple, si l’on héberge un serveur Web sur une machine qui a pour adresse 192.168.0.1, il faut rediriger les flux qui arrivent sur la passerelle, dont les trames ont pour destination 82.46.10.20 port 80, vers l’adresse 19.168.0.1.