ZW3B :-: API Client * Contents * Docs by LAB3W.ORJ

Translate this page

Name : BETA-TESTERS

Project name : ZW3B-API-BETA-TESTERS

Authorized. - 200 - Client API Name and Origin Wildcard OK

¿Comment? 'Ou' ¿Que faire?, OS GNU/Linux, Sécurité, Sécurité des connexions réseaux et mots de passe

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.

Author : O.Romain.Jaillet-ramey

Sniffer des connexions réseaux avec TCPDUMP

Introduction

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.

Utilisation simple

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.

Capturer toutes les connexions, qui ont pour source une adresse IP commençant par 192.168.

Script avec 1 ligne

001tcpdump -i eth0 src net 192.168
Retirer les numéros de lignes
Capturer toutes les connexions, qui ont pour destination une adresse IP bien précise

Script avec 1 ligne

001tcpdump -i eth0 dst net 192.168.0.90
Retirer les numéros de lignes
Isoler toutes les connexions qui utilisent le port 80 (http)

Script avec 1 ligne

001tcpdump -i eth0 port 80
Retirer les numéros de lignes
On peut également isoler la source ou la destination. Ici on ne souhaite capturer que les envois de mails (port 25 en destination)

Script avec 1 ligne

001tcpdump -i eth0 dst port 25
Retirer les numéros de lignes

Utilisation avancée

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 :

Capturer un mot de passe FTP

Script avec 1 ligne

001tcpdump -XX -s0 -i eth0 tcp and port 21 | grep -A1 PASS
Retirer les numéros de lignes
Récupérer un cookie de session, d'un utilisateur authentifié sur un site web

Script avec 1 ligne

001tcpdump -XX -s0 -i eth0 port 80 | grep -i -A5 Cookie
Retirer les numéros de lignes
Capturer des emails envoyés sur le réseau (ici on prend une longueur de 20 lignes, à adapter selon la taille du message)

Script avec 1 ligne

001tcpdump -XX -s0 -i eth0 port 25 | grep -i -A20 From
Retirer les numéros de lignes
Capturer des conversations msn (longueur de 10 lignes à adapter aussi selon la taille du message)

Script avec 1 ligne

001tcpdump -XX -s0 -i eth0 port 1863 | grep -A10 "text/plain"
Retirer les numéros de lignes

Aller plus loin : man tcpdump

Logiciel équivalent proposant une interface graphique : WireShark (anciennement appelé Ethereal) et snort.

Sniffer des connexions réseaux avec SNORT

Ici on ne souhaite capturer que les envois FTP (port 21 en destination)

Script avec 1 ligne

001snort -vde dst port 21
Retirer les numéros de lignes

Tester la fiabilite de son mot de passe avec JHON THE RIPPER

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
Retirer les numéros de lignes

On lance john pour qu'il trouve le password

Script avec 1 ligne

001john /tmp/john.tmp
Retirer les numéros de lignes

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
Retirer les numéros de lignes

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
Retirer les numéros de lignes

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.