La sécurité est un des thèmes récurrents de la programmation.
Chaque technique ou protocole utilisé dans le développement contient un risque,
c’est pourquoi il est important de prendre conscience de la sécurité et les
techniques liées.
Mon projet consiste à faire un tutoriel sur l’utilisation de brute
force SSH sous Hydra. Avant de passer aux principes d’utilisation de Hydra, je
vous expose en premier lieu l’installation de Hydra sur différentes plateformes
Linux, Windows.
Hydra est un outil permet de réaliser des brute force en ligne
c'est-à-dire d’essayer toutes les combinaisons possibles de login et de mot de
passe. Il est développé par le team HTC.
Il est supposé d’être le meilleur outil pour craquer des mots de
passe en ligne. Il supporte plusieurs protocoles d’authentification tels que
ssh2, imap, ftp, etc. La version actuelle est 7.2, cet outil est disponible en
ligne de commande en tapant la commande « hydra » dans une console et en mode
graphique ( xhydra)
Installation de Hydra :
Sous BackTrack, Hydra est installé par défaut. Hydra dépend de la
librairie libssh/libssh.h pour l’utilisation du protocole ssh, pour l’installer
sous ubuntu, il faut taper la commande suivante : « sudo apt-get install libsshdev»
Pour l’installer sous linux, il faut télécharger le package Hydra
en tapant la commande suivante « wget
http://thc.org/releases/hydra-7.1-src.tar.gz »,
ensuite décompresser l’archive en tapant la commande suivante : « tar –xvzf hydra-7.1-src.tar.gz »,
une fois l’archive est bien extrait, déplacer vers le répertoire Hydra en tant
que root (super utilisateur) et taper la commande suivante (./configure && make && make install ).
Pour installer Hydra sous windows, il faut installer cygwin ou
avoir cygwin déjà installé et ensuite refaire la même procédure d’installation
sous linux.
Utilisation :
Hydra est utilisable en mode linge de commande en tapant la
commande hydra et en mode graphique en tapant la commande xhydra. Pour l’utilisation de
Hydra à travers un proxy, il faut paramétrer les variables d’environnement
suivantes :
·
HYDRA_PROXY_HTTP/HYDRA_PROXY_CONNECT
·
HYDRA_PROXY_AUTH
En ligne de commande :
La syntaxe de base est :
youcef@youcef-VGN-FZ18M:~$
hydra
Hydra v5.9 [http://www.thc.org]
(c) 2010 by van Hauser / THC <vh@thc.org>
Syntax:
hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]
[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME]
[-f] [-s PORT] [-S] [-vV]
server
service [OPT]
Options :
L’utilisation
de Hydra est très simple en mode graphique, il suffit juste de taper la
commande xhydra dans un terminal et la fenêtre de Hydra s’affiche à l’écran.
Pour faire un brute force, on aura besoin d’un dictionnaire. Un
dictionnaire présente une liste de mot de passe déjà testés. Le dictionnaire
présent par défaut sous Back Track 5 se trouve dans : /pentest/passwords/wordlists/darkc0de.lst
Le premier test qu’on va faire, on va tester hydra en ligne de
commande sur ma machine locale en tapant la commande suivante :
hydra –l root
–P/pentest/passwords/wordlists/darkc0de.lst 127.0.0.1 ssh
Au
bout de quelque temps, le login et le mot de passe s’affiche sur la console
Le
deuxième test qu’on fera, on teste hydra sur une machine distance, dans notre
cas on le utilisera une machine virtuelle.
Avant
de taper la commande hydra, on scanne notre réseau en utilisant l’outil «nmpa »
Notre cible est
la machine youcef-VGN-FZ18M, on scan avec nmap les ports qui sont ouverts
On voit bien que
le port 22 est ouvert. Se qui signifie que le serveur SSH écoute sur le port
22
On lance Hydra en
passant en paramétrés une liste de login et une liste de mots de passe
On attend quelque
minute, Hydra trouve le mot de passe de l’utilisateur youcef
Dans le test qui
suit, on utilisera une option dans la ligne de commande hydra, cette option
permet de générer des combinaisons de lettres et des chiffres.
L’option –x 1 :9
:aA1 : signifie essayer tous les
mots de passe de longueur de 1 à 9 caractères en combinat les lettres
minuscules, les lettres majuscules et le chiffres
L’exemple qui
suit montre l’utilisation de Hydra en mode graphique
Dans ce tutoriel, on avait montré la facilité de craquer un mot de
passe en utilisant Hydra.
Hydra permet de s’assurer que les mots de passe qu’on utilise sont
sécurisés. Pour assurer la sécurité d’un système, il faut utiliser des mots de
passe long qui contient des chiffres, des lettres majuscules, minuscule et des
caractères spéciaux, et il faut le changer périodiquement ainsi qu’il faut
modifier le paramétrage du serveur SSH pour qu’il écoute sur un autre port et
non le port 22.
Ressource Web :
http://www.madirish.net/content/hydra-brute-force-utility
http://thc.org/thc-hydra/
http://www.madirish.net/content/hydra-brute-force-utility