Etisk hacking: identifikation af tjenester med nmap

Indholdsfortegnelse

i det forrige indlæg af Etisk hacking forklarer vi kort forskellige muligheder for at få en optælling af IP-adresser og underdomæner, når vi udfører en etisk hackingproces. Hvis du kunne lide at “dette er meget sikkert, fordi hvem vil vide, at dette underdomæne eksisterer” (at selvom du ikke kan tro det, er det mere almindeligt, end det ser ud til), gå ikke glip af, hvordan “hvem vil vide, at jeg sætter denne service i denne port med et så mærkeligt nummer”…

kort sagt, i dette indlæg vil vi forsøge at se, hvordan det er muligt at lave en opgørelse over åbne porte i en IP eller en række IP ‘ er og endda identificere teknologien under en åben port, når dette er muligt. Dybest set vil dette indlæg fokusere på brugen af et fantastisk og vigtigt værktøj, nmap. Selvom det er et værktøj, der typisk bruges i Linuk (og selvfølgelig inkluderet i den referencepakke, som jeg bruger i disse indlæg, Kali), kan der allerede findes kompileringer til andre operativsystemer.

før vi går på arbejde, vil vi advare om, at nmap er et komplekst og komplet værktøj med en lang række muligheder, parametre osv.; Dette indlæg er ikke beregnet som en manual til brug af værktøjet, men igen en introduktion til det for at forstå identifikationen af tjenester som en fase af Etisk hacking inden påvisning af sårbarheder. For at lære mere om værktøjet anbefaler vi at læse deres manual.

Open Source nmap-værktøjet giver os mulighed for at udføre netværks-og portscanninger, være i stand til at scanne en enkelt destination, et interval, en liste over IP ‘ er… baseret på TCP, UDP, ICMP, SCTP-anmodninger osv. og indeholder forskellige scanningsteknikker. Vi anbefaler generelt at opdatere en vis viden om transportprotokoller, for eksempel at huske, hvordan oprettelsen af en TCP-forbindelse fungerer med forhandlingerne i tre trin: først SYN-type opkald fra klienten til en port, første svar, hvis porten er lukket eller SYN-ACK, hvis den er åben, og ACK fra klienten til serveren for at afslutte processen. Nmap vil stole på disse typer meddelelser for at afgøre, om en port lytter eller ikke på destinationen. Nogle gange kan dette ikke bruges eller registreres af fjernserveren, og der er andre alternativer til scanning.

generel syntaks

nmap { }

vores første scanning

vi kan udføre følgende kommando:

nmap 45.33.49.119

vi lægger ikke nogen form for afstemning, så brug standardafstemningen, TCP SYN. nmap sender en SYN og antager, at porten er åben, hvis den modtager en ACN SYN. Der er heller ingen yderligere parameter af muligheder, og som destination er der en enkelt IP. Denne kommando giver os et resultat svarende til følgende:

Starting Nmap 7.70 ( https://nmap.org ) at 2019-10-01 18:12 CESTNmap scan report for ack.nmap.org (45.33.49.119)Host is up (0.19s latency).Not shown: 993 filtered portsPORT STATE SERVICE22/tcp open ssh25/tcp open smtp70/tcp closed gopher80/tcp open http113/tcp closed ident443/tcp open https31337/tcp closed EliteNmap done: 1 IP address (1 host up) scanned in 10.86 seconds

vender tilbage på få sekunder en liste over åbne porte på den IP, herunder en SSH, en SMTP-mailserver, en internetserver og en mulig backåbning (https://www.speedguide.net/port.php?port=31337).

i mange tilfælde er dette simpelthen et første analysepunkt, selvom f.eks., er fuldt opdateret, og der er ingen kendte sårbarheder. Starte et brute force-angreb med en ordbog på SSH eller FTP, der forsøger at få adgang til (der er et stort antal servere af denne type med standard-eller usikre legitimationsoplysninger).

der er automatiske værktøjer (bots), der dybest set kontinuerligt scanner brede intervaller af IP ‘ er på udkig efter genkendelige åbne porte, f.eks.), og når de registrerer en åben port, forsøger de automatisk et login med standardoplysninger. For eksempel, i tilfælde af typiske lampe / amp-installationer, en rod / adgang til porten. Og dybest set er et stort antal databaser blevet hacket uden forudgående menneskelig indgriben. Dette er levedygtigt, selvom vi har det åbent i en anden havn, da det i mange tilfælde er muligt at identificere, at hvad der er i port 5555 “at vildlede”, for at sige noget, er en myskl gennem tjenestens fingeraftryk, som vi vil se mere fremad.

kort sagt er det meget farligt at forlade legitimationsoplysninger som standard på internetservere, routere, FTPs, SSHs, databaser … fordi ingen behøver at have en mani, en bot vil.

Escanear IPS con nmap

en første parameter

hvis vi vil have nogle oplysninger om, hvordan nmap har opnået disse oplysninger, kan vi øge sporene med parameteren-v (verbose) eller-vv, hvor vi kan se, at nmap har udstedt SYN-kommandoer og i nogle tilfælde modtaget nulstilling( lukket port), i andre SYN-ACK (åben port) og i andre intet svar (“filtreret”), hvilket kan få os til at forstå, at en brandvæg stopper vores anmodning:

PORT STATE SERVICE REASON22/tcp open ssh syn-ack ttl 5325/tcp open smtp syn-ack ttl 5370/tcp closed gopher reset ttl 5280/tcp open http syn-ack ttl 53113/tcp closed ident reset ttl 52443/tcp open https syn-ack ttl 5331337/tcp closed Elite reset ttl 53

forøgelse af rækkevidden af IP ‘er, der skal scannes

nmap 192.168.10.0/24 (subred completa)nmap 192.168.10.1-20 (20 IPs)nmap 192.168.10.*nmap 192.168.10.1 192.168.10.2 192.168.10.3

eller forestil dig for eksempel, at vi har akkumuleret IP’ er fra vores oprindelige optælling, og vi har en fil med de forskellige IP ‘ er adskilt af faner eller linjeskift (en IP eller interval pr.linje). Vi kan indlæse filen med parameteren-iL (input list) og dermed scanne hele IP-beholdningen. Det tillader også for eksempel at udelukke nogle specifikke IP ‘ er med –ekskluder eller –udelukkefil.

definition af porte, der skal scannes

vi kan manuelt definere de porte, vi vil scanne. For eksempel, hvis vi ser efter internetservere på Porte 80, 443 og 8080 i et undernet, kunne vi gøre det med parameteren-p:

nmap -p 80,443,8080 192.168.10.0/24

vi kan også bede nmap om at scanne de” N “(heltal) mest almindelige porte; for eksempel at scanne de 25 mest almindelige porte i en række IP ‘ er:

nmap --top-ports 25 192.168.10.0/24

modtager et svar som dette:

PORT STATE SERVICE21/tcp closed ftp22/tcp open ssh23/tcp closed telnet25/tcp closed smtp53/tcp open domain80/tcp open http110/tcp closed pop3111/tcp open rpcbind135/tcp closed msrpc139/tcp open netbios-ssn143/tcp closed imap199/tcp closed smux443/tcp closed https445/tcp open microsoft-ds587/tcp closed submission993/tcp closed imaps995/tcp closed pop3s1025/tcp closed NFS-or-IIS1720/tcp closed h323q9311723/tcp closed pptp3306/tcp closed mysql3389/tcp closed ms-wbt-server5900/tcp open vnc8080/tcp closed http-proxy8888/tcp closed sun-answerbook

vi kan bede om, at alle TCP -, UDP-og SCTP-porte (langsommere) med identifikatoren-p – scannes:

nmap -p- 192.168.10.0/24

identifikation af operativsystemer og tjenester

som vi ser, giver nmap os mulighed for at registrere porte, der lytter på en IP eller et interval. Senere vil vi også se, hvordan andre undersøgelsesteknikker kan defineres. Derudover giver nmap os mulighed for at forsøge at identificere hvilken teknologi (produkt, version osv.) er bag en åben port eller endda operativsystemet installeret på en server med parametrene-O og-sV. Denne detektion er baseret på” signatur ” (fingeraftryk) af de svar, som tjenesten giver til bestemte opkald.

nmap -O -sV 192.168.10.5
PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 6.7p1 Raspbian 5+deb8u3 (protocol 2.0)53/tcp open domain ISC BIND 9.9.5 (Raspbian Linux 8.0 (Jessie based))80/tcp open http Apache httpd 2.4.10 ((Raspbian))111/tcp open rpcbind 2-4 (RPC #100000)139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)4567/tcp open http Jetty 9.4.8.v201711215900/tcp open vnc RealVNC Enterprise 5.3 or later (protocol 5.0)MAC Address: B8:27:EB:CD:FE:89 (Raspberry Pi Foundation)Device type: general purposeRunning: Linux 3.X|4.XOS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4OS details: Linux 3.2 - 4.9Network Distance: 1 hopService Info: Host: RASPBERRYPI; OS: Linux; CPE: cpe:/o:linux:linux_kernel

i dette tilfælde ved vi ikke kun, at denne maskine har visse åbne porte. Det fortæller os også, at det er en Raspberry, der kører Raspbian (som vi for eksempel kunne lave en brute force-test med en bruger “pi”, som er standardbrugeren), og versionerne af de forskellige porte, der lytter, så disse oplysninger kan bruges til at udnytte sårbarheder over upatchede versioner osv.

brug af flere afstemningsteknikker

som standard bruger Nmap SYN som en valgteknik. Det er en hurtig og ikke særlig påtrængende / detekterbar teknik, men nogle gange, men den understøtter i alt 12 forskellige teknikker, som vi kan definere som parametre, som vi kan se i værktøjets brugervejledning.

hvis vi for eksempel vil foretage en scanning baseret på UDP-opkald, kan vi foretage et opkald af typen:

nmap -sU 192.168.10.5

søgning efter sårbarheder med nmap

selvom der er mere “komfortable” og specifikke værktøjer til søgning efter sårbarheder, såsom Nessus, eller suiter som Metasploit, der konsoliderer forskellige værktøjer, giver nmap os også mulighed for at udføre sårbarhedsanalyse.

for at gøre dette bruger den en række Lua –scripts, der er placeret i en sti på vores maskine (i tilfælde af Kali, i / usr / share / nmap / scripts/), og som kan påberåbes med-script eller dets tilsvarende-sC .

Scripts kan tilhøre en eller flere kategorier, så vi kan bede nmap om at evaluere for eksempel alle scripts i en kategori mod en vært. Der er nogle særligt interessante kategorier som “vuln” (scripts dedikeret til at opdage sårbarheder på destinationen), “udnytte” osv.

for eksempel, hvis vi ønsker at scanne sårbarhed kategori scripts mod en vært:

nmap --script vuln scanme.nmap.org
PORT STATE SERVICE22/tcp open ssh80/tcp open http| http-csrf: | Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=scanme.nmap.org| Found the following possible CSRF vulnerabilities: | | Path: http://scanme.nmap.org:80/| Form id: cse-search-box-sidebar|_ Form action: https://nmap.org/search.html|http-dombased-xss: Couldn't find any DOM based XSS. | http-enum: | /images/: Potentially interesting directory w/ listing on 'apache/2.4.7 (ubuntu)' | /shared/: Potentially interesting directory w/ listing on 'apache/2.4.7 (ubuntu)'| http-slowloris-check: | VULNERABLE:| Slowloris DOS attack| State: LIKELY VULNERABLE| IDs: CVE:CVE-2007-6750| Slowloris tries to keep many connections to the target web server open and hold them open as long as possible. It accomplishes this by opening connections to the target web server and sending a partial request. By doing so, it starves the http server's resources causing Denial Of Service.| Disclosure date: 2009-09-17| References:| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750|_ http://ha.ckers.org/slowloris/|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.9929/tcp open nping-echo31337/tcp open Elite

som vi kan se, har scriptet opdaget en potentiel sårbarhed baseret på Langsomloris denial of service-angrebet. Hvis vi analyserer de scripts, der er i ruten nævnt ovenfor, ser vi, at der netop er en, der udnytter denne sårbarhed, kaldet http-langsomloris. Hvis vi ønsker mere information om scriptet, kan vi starte følgende kommando:

nmap --script-help http-slowloris

forklarer hvordan scriptet virker, hvordan man starter det (det er også muligt at gøre det med nmap selv med –script og –script-args) osv. Vi kan også få for eksempel en beskrivelse af alle scripts, der ser efter sårbarheder:

nmap --script-help vuln

vi kan også for eksempel starte alle scripts af en bestemt type. For eksempel, hvis vi vil scanne sårbarheder over SMB-protokol på en given vært:

nmap --script smb-* 192.168.10.5

vi kan også for eksempel vurdere en sårbarhed over hele vores netværk ved at vælge et specifikt script mod et interval. Parameteren-script

nmap --script-help vuln
nmap --script

kort sagt inkluderer nmap endda interessante muligheder for at vurdere sårbarheder og endda starte udnyttelser, selvom der er andre værktøjer, der ofte bruges til dette formål.

Empleada contect larsndose a la VPN para poder teletrabajar

andre interessante muligheder

som vi har kommenteret, nmap har mange muligheder, og det er umuligt at forsøge at dække selv en lille procentdel i et indlæg. Faktisk er der en officiel Nmap-bog på næsten 500 sider… men under alle omstændigheder prøver vi at kommentere her nogle, der synes interessante.

som vi har kommenteret, har nmap mange muligheder, og det er umuligt at forsøge at dække selv en lille procentdel i et indlæg. Faktisk er der en officiel Nmap-bog på næsten 500 sider… men under alle omstændigheder prøver vi at kommentere her nogle, der synes interessante.

  • værktøjet giver dig mulighed for at generere scanningsresultatet i en procesbar outputfil, f .eks.
  • når vi scanner brede intervaller af IP ‘ er, kan vi deaktivere DNS-omvendt opløsningsforsøg med parameteren-n.
  • under udførelsen af en kommando kan vi øge niveauet af information, der vises på konsollen (verbositet) ved at trykke på “V” – tasten.
  • hvis vi har en brandvæg, der skærer os, kan vi prøve-Pn.

kort sagt har vi forsøgt at udvikle en “kort” introduktion til nmap som et værktøj til at identificere åbne porte og tjenester på en vært eller en række IP ‘ er. I senere indlæg vil vi se andre måder at opdage sårbarheder på.

klar?

det er tid til at håndtere dokumenter mere effektivt

Leave a Reply

Din e-mailadresse vil ikke blive publiceret.