Name : BETA-TESTERS
Project name : ZW3B-API-BETA-TESTERS
Authorized. - 200 - Client API Name and Origin Wildcard OK
On va comprendre ici très rapidement l'utilité d'utiliser des connexions sécurisées (HTTPS - FTPS - SSH - SMTPS - POPS - IMAPS etc.) lorsque l'on est sur Internet, afin de rendre les informations sensibles, illisibles via ces procédés.
Tcpdump est un logiciel en ligne de commande sous Linux, qui permet de capturer et d'analyser tous les paquets qui transitent par une carte réseau. Cet article explique son fonctionnement et est illustré de quelques exemples.
Dans les exemples donnés ici, la carte réseau utilisée est identifiée par eth0
. Il faut savoir également que cette commande n'est accessible que pour l'utilisateur root.
192.168.
Script avec 1 ligne
001tcpdump -i eth0 src net 192.168
Script avec 1 ligne
001tcpdump -i eth0 dst net 192.168.0.90
port 80
(http)Script avec 1 ligne
001tcpdump -i eth0 port 80
port 25
en destination)Script avec 1 ligne
001tcpdump -i eth0 dst port 25
La commande tcpdump permet également d'utiliser des expressions logiques, afin d'affiner les captures. Pour cela, on peut utiliser les opérateurs logiques suivants :
!
ou not
&&
ou and
||
ou or
Script avec 1 ligne
001tcpdump -XX -s0 -i eth0 tcp and port 21 | grep -A1 PASS
Script avec 1 ligne
001tcpdump -XX -s0 -i eth0 port 80 | grep -i -A5 Cookie
Script avec 1 ligne
001tcpdump -XX -s0 -i eth0 port 25 | grep -i -A20 From
Script avec 1 ligne
001tcpdump -XX -s0 -i eth0 port 1863 | grep -A10 "text/plain"
Aller plus loin : man tcpdump
Logiciel équivalent proposant une interface graphique : WireShark (anciennement appelé Ethereal) et snort.
Ici on ne souhaite capturer que les envois FTP (port 21
en destination)
Script avec 1 ligne
001snort -vde dst port 21
Cette partie traite essentiellement de la sécurité de nos mots de passe, des techniques pour les tester et des erreurs à ne pas commettre.
On récupère son mot de passe crypté depuis le fichier /etc/shadow
Script avec 1 ligne
001cat /etc/shadow | grep toto > /tmp/john.tmp
On lance john pour qu'il trouve le password
Script avec 1 ligne
001john /tmp/john.tmp
En quelques minutes John trouve le mot de passe
Script avec 3 lignes
001Loaded 1 password hash (FreeBSD MD5 [32/32]) 002pass12 (toto) 003guesses: 1 time: 0:00:03:27 (3) c/s: 5850 trying: pass12
Cette méthode fonctionne aussi pour les mots de passe codés en Traditional DES, utilisés dans les fichiers .htpasswd
Script avec 7 lignes
001htpasswd -cb /tmp/john.tmp toto pass12 002Adding password for user toto 003 004john /tmp/john.tmp 005Loaded 1 password hash (Traditional DES [24/32 4K]) 006pass12 (toto) 007guesses: 1 time: 0:00:00:08 (3) c/s: 149111 trying: ph34321 - pastin
On pourra aussi utiliser un dictionnaire de mots, afin de trouver le mot de passe plus rapidement. Cette méthode consiste à tester une liste de mots prédéfinis dans un fichier texte john --wordlist=/usr/share/dict/words /tmp/john.tmp
Au passage, on notera que lorsque le décodage est long, on peut appuyer à tout moment sur le touche entrée, afin de voir ou en est le logiciel.