etisk hacking: identifiering av tjänster med nmap

Innehållsförteckning

i det tidigare inlägget av etisk hacking förklarar vi kortfattat olika alternativ för att få en uppräkning av IP-adresser och underdomäner när man utför en etisk hackningsprocess. Om du gillade att ”det här är väldigt säkert eftersom vem kommer att veta att den här underdomänen finns” (att även om du inte kan tro det, är det vanligare än det verkar), missa inte hur ”vem kommer att veta att jag lägger den här tjänsten i den här porten med ett så konstigt nummer”…

kort sagt, i det här inlägget kommer vi att försöka se hur det är möjligt att göra en inventering av öppna portar i en IP eller ett IP-intervall, och till och med identifiera tekniken under en öppen port, när detta är möjligt. I grund och botten kommer detta inlägg att fokusera på användningen av ett fantastiskt och viktigt verktyg, nmap. Även om det är ett verktyg som vanligtvis används i Linux (och naturligtvis ingår i referenssviten som jag använder i dessa inlägg, Kali), kan kompileringar för andra operativsystem redan hittas.

innan vi går till jobbet vill vi varna att nmap är ett komplext och komplett verktyg med en stor mängd alternativ, parametrar etc.; Detta inlägg är inte avsett som en manual för användningen av verktyget utan återigen en introduktion till det för att förstå identifieringen av tjänster som en fas av etisk hacking före detektering av sårbarheter. För att lära dig mer om verktyget rekommenderar vi att du läser deras manual.

Open Source Nmap-verktyget tillåter oss att utföra nätverks-och portskanningar, kunna skanna en enda destination, ett intervall, en lista över IP-adresser… baserat på TCP, UDP, ICMP, SCTP-förfrågningar etc. och innehåller olika skanningstekniker. Vi rekommenderar i allmänhet att uppdatera viss kunskap om transportprotokoll, till exempel att komma ihåg hur upprättandet av en TCP-anslutning fungerar med förhandlingarna i tre steg: först, SYN typ samtal från klienten till en port, första svar om porten är stängd eller SYN-ACK om den är öppen, och ACK från klienten till servern för att slutföra processen. Nmap kommer att förlita sig på dessa typer av meddelanden för att avgöra om en port lyssnar eller inte på destinationen. Ibland kan detta inte användas eller detekteras av fjärrservern, och det finns andra alternativ för skanning.

allmän syntax

nmap { }

vår första skanning

vi kan utföra följande kommando:

nmap 45.33.49.119

vi lägger inte någon form av omröstning, så använd standardundersökningen, TCP SYN. nmap skickar ett SYN och antar att porten är öppen om den tar emot ett ACN SYN. Det finns inte heller någon ytterligare parameter för alternativ, och som destination finns en enda IP. Detta kommando ger oss ett resultat som liknar följande:

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

returnerar om några sekunder en lista med öppna portar på den IP: n, inklusive en SSH, en SMTP-e-postserver, en webbserver och en möjlig baköppning (https://www.speedguide.net/port.php?port=31337).

i många fall är detta helt enkelt en första analyspunkt även om till exempel programvaran bakom en FTP-server, SSH, etc., är helt uppdaterad och det finns inga kända sårbarheter. Du kan till exempel starta en brute force-attack med en ordbok på SSH eller FTP som försöker komma åt (det finns ett stort antal servrar av denna typ med standard eller osäkra referenser).

det finns automatiska verktyg (bots) som i princip kontinuerligt skannar breda IP-adresser som letar efter igenkännliga öppna portar, till exempel databas (MongoDB, MySQL, PostgreSQL, etc.), och när de upptäcker en öppen port försöker de automatiskt logga in med standarduppgifter. Till exempel, när det gäller typiska LAMP / WAMP-installationer, en rot / åtkomst till mySQL-porten. Och i princip har ett stort antal databaser hackats utan föregående mänsklig intervention. Detta är livskraftigt även om vi har det öppet i en annan port, eftersom det i många fall är möjligt att identifiera att det som finns i port 5555 ”att vilseleda”, för att säga något, är en mySQL genom fingeravtryck av Tjänsten, som vi kommer att se mer framåt.

kort sagt, det är mycket farligt att lämna referenser som standard på webbservrar, routrar, FTPs, SSHs, databaser … eftersom ingen behöver ha en mani, en bot kommer.

Escanear IPS con nmap

en första parameter

om vi vill ha lite information om hur nmap har fått denna information kan vi öka spåren med parametern-v (verbose) eller-vv, där vi kan se att nmap har utfärdat SYN-kommandon och i vissa fall fått återställning( stängd port ), i andra SYN-ACK (öppen port) och i andra inget svar (”filtrerat”), vilket kan få oss att förstå att en brandvägg stoppar vår begäran:

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

öka intervallet av IP-adresser för att skanna

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 till exempel, föreställ dig att vi har ackumulerat IP-adresser från vår första uppräkning, och vi har en fil med de olika IP-adresserna åtskilda av flikar eller radbrytningar (en IP eller intervall per rad). Vi kan ladda filen med parametern-iL (input list) och därmed skanna hela IP-inventeringen. Det tillåter till exempel att utesluta vissa specifika IP –adresser med –exclude or-excludefile.

definiera portarna för att skanna

vi kan manuellt definiera portarna vi vill skanna. Om vi till exempel letar efter webbservrar på portarna 80, 443 och 8080 i ett delnät kan vi göra det med-p-parametern:

nmap -p 80,443,8080 192.168.10.0/24

vi kan också be nmap att skanna de vanligaste portarna” N ” (heltal); till exempel att skanna de 25 vanligaste portarna i en rad IP-adresser:

nmap --top-ports 25 192.168.10.0/24

får ett svar som detta:

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 be att alla TCP -, UDP – och SCTP-portar (långsammare) med identifieraren-p-skannas:

nmap -p- 192.168.10.0/24

identifiera operativsystem och tjänster

som vi ser tillåter nmap oss att upptäcka portar som lyssnar på en IP eller ett intervall. Senare kommer vi också att se hur andra undersökningstekniker kan definieras. Dessutom tillåter nmap oss att försöka identifiera vilken teknik (produkt, version etc.) ligger bakom en öppen port, eller till och med operativsystemet installerat på en server, med parametrarna-O och-sV. Denna upptäckt är baserad på” signaturen ” (fingeravtryck) av de svar som tjänsten ger till vissa samtal.

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 det här fallet vet vi inte bara att den här maskinen har vissa öppna portar. Det berättar också att det är en Raspberry som kör Raspbian (med vilken vi till exempel kan göra ett brute force-test med en användare ”pi”, som är standardanvändaren) och versionerna av de olika portarna som lyssnar, så att denna information kan användas för att utnyttja sårbarheter över opatchade versioner etc.

använda fler omröstningstekniker

som standard använder nmap SYN som omröstningsteknik. Det är en snabb och inte särskilt påträngande / detekterbar teknik, men ibland, men den stöder totalt 12 olika tekniker som vi kan definiera som parametrar, som vi kan se i verktygets användarmanual.

om vi till exempel vill göra en skanning baserat på UDP-samtal kan vi ringa ett samtal av typen:

nmap -sU 192.168.10.5

söka efter sårbarheter med nmap

även om det finns mer ”bekväma” och specifika verktyg för sökning efter sårbarheter, till exempel Nessus, eller sviter som Metasploit som konsoliderar olika verktyg, tillåter nmap oss också att utföra sårbarhetsanalys.

för att göra detta använder den en serie Lua –skript som finns i en sökväg för vår maskin (i fallet med Kali, i / usr / share / nmap / scripts /) och som kan åberopas med-script eller motsvarande-sC .

skript kan tillhöra en eller flera kategorier, så vi kan be nmap att utvärdera till exempel alla skript i en kategori mot en värd. Det finns några särskilt intressanta kategorier som” vuln ”(skript som är dedikerade till att upptäcka sårbarheter på destinationen),” exploit ” etc.

om vi till exempel vill skanna sårbarhetskategoriskripten mot en värd:

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 skriptet upptäckt en potentiell sårbarhet baserad på Slowloris denial of service-attacken. Om vi analyserar skripten som finns i rutten som nämns ovan ser vi att det just finns en som utnyttjar denna sårbarhet, kallad http-slowloris. Om vi vill ha mer information om skriptet kan vi starta följande kommando:

nmap --script-help http-slowloris

förklara hur skriptet fungerar, hur man startar det (det är också möjligt att göra det med nmap själv med –script och –script-args) etc. Vi kan också få till exempel en beskrivning av alla skript som letar efter sårbarheter:

nmap --script-help vuln

vi kan också till exempel starta alla skript av en viss typ. Om vi till exempel vill skanna sårbarheter över SMB-protokollet på en viss värd:

nmap --script smb-* 192.168.10.5

vi kan också till exempel bedöma en sårbarhet över hela vårt nätverk och välja ett specifikt skript mot ett intervall. Parametern-script

nmap --script-help vuln
nmap --script

kort sagt, Nmap innehåller till och med intressanta alternativ för att bedöma sårbarheter och till och med starta exploater, även om det finns andra verktyg som vanligtvis används för detta ändamål.

Empleada contect jamaicndose a la VPN para poder teletrabajar

andra intressanta alternativ

som vi har kommenterat har nmap många alternativ och det är omöjligt att försöka täcka även en liten procentandel i ett inlägg. Faktum är att det finns en officiell Nmap-bok på nästan 500 sidor… men i alla fall försöker vi kommentera några som verkar intressanta.

som vi har kommenterat har nmap många alternativ och det är omöjligt att försöka täcka även en liten procentandel i ett inlägg. Faktum är att det finns en officiell Nmap-bok på nästan 500 sidor… men i alla fall försöker vi kommentera några som verkar intressanta.

  • verktyget låter dig generera skanningsresultatet i en bearbetbar utdatafil, till exempel i XML-format, med-oX eller-oN .
  • när vi skannar breda IP-områden kan vi inaktivera DNS-omvänd upplösningsförsök med-n-parametern.
  • under utförandet av ett kommando kan vi öka informationsnivån som visas på konsolen (verbositet) genom att trycka på ”V” – tangenten.
  • om vi har en brandvägg som skär oss kan vi försöka-Pn.

kort sagt, vi har försökt att utveckla en ”kort” introduktion till nmap som ett verktyg för att identifiera öppna portar och tjänster på en värd eller rad IP-adresser. I senare inlägg ser vi andra sätt att upptäcka sårbarheter.

är allt klart?

det är dags att hantera dokument mer effektivt

Leave a Reply

Din e-postadress kommer inte publiceras.