Ethical hacking: identificatie van diensten met nmap

inhoudsopgave:

in de vorige post van ethical hacking we kort uitleggen verschillende opties om een opsomming van IP-adressen en subdomeinen te krijgen bij het uitvoeren van een ethisch hacken proces. Als je vond dat “dit is zeer veilig omdat wie gaat weten dat dit subdomein bestaat” (dat hoewel je het niet kunt geloven, het komt vaker voor dan het lijkt), mis dan niet hoe de “Wie gaat weten dat ik deze service in deze poort met zo ’n vreemd nummer”…

kortom, in dit bericht zullen we proberen te zien hoe het mogelijk is om een inventaris van open poorten in een IP of range van IP ‘ s te maken, en zelfs de technologie onder een open poort te identificeren, wanneer dit mogelijk is. In principe gaat dit bericht zich richten op het gebruik van een fantastische en essentiële tool, nmap. Hoewel het een tool is die meestal wordt gebruikt in Linux (en natuurlijk is het opgenomen in de referentie suite die ik gebruik in deze berichten, Kali), zijn er al compilaties voor andere besturingssystemen te vinden.

voordat we gaan werken, willen we waarschuwen dat nmap een complexe en complete tool is, met een enorme hoeveelheid opties, parameters, enz.; Dit bericht is niet bedoeld als een handleiding voor het gebruik van de tool, maar opnieuw een inleiding tot het te begrijpen van de identificatie van diensten als een fase van ethische hacking voorafgaand aan de detectie van kwetsbaarheden. Voor meer informatie over de tool, raden we het lezen van hun handleiding.

de open Source Nmap tool stelt ons in staat om netwerk en poort scans uit te voeren, in staat om een enkele bestemming, een bereik, een lijst van IP ‘ s te scannen… op basis van TCP, UDP, ICMP, SCTP verzoeken, enz. en bevat verschillende scantechnieken. We raden in het algemeen aan om wat kennis over transportprotocollen op te frissen, bijvoorbeeld om in drie stappen te onthouden hoe het opzetten van een TCP-verbinding met de onderhandelingen werkt: eerst typt SYN de aanroep van de client naar een poort, RST-antwoord als de poort gesloten is of SYN-ACK als deze geopend is, en de ACK van de client naar de server om het proces te voltooien. Nmap zal op dit soort berichten vertrouwen om te bepalen of een poort luistert of niet op de bestemming. Soms kan dit niet worden gebruikt, of wordt het gedetecteerd door de externe server, en er zijn andere alternatieven voor het scannen.

algemene syntaxis

nmap { }

onze eerste scan

we kunnen het volgende commando uitvoeren:

nmap 45.33.49.119

we zetten geen enkele poll, dus gebruik de standaard poll, TCP SYN. nmap stuurt een SYN en neemt aan dat de poort open is als het een ACN SYN ontvangt. Er is ook geen extra parameter van opties, en als bestemming is er een enkele IP. Dit commando zal ons een resultaat geven dat vergelijkbaar is met het volgende::

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

binnen enkele seconden een lijst met open poorten op dat IP terug te geven, inclusief een SSH, een SMTP mailserver, een webserver en een mogelijke back-Opening (https://www.speedguide.net/port.php?port=31337).

in veel gevallen is dit gewoon een eerste punt van analyse, hoewel, bijvoorbeeld, de software achter een FTP-server, SSH, enz., is volledig bijgewerkt en er zijn geen bekende kwetsbaarheden. Je zou bijvoorbeeld een brute force aanval kunnen starten met een woordenboek op de SSH of FTP die probeert toegang te krijgen (er zijn een groot aantal servers van dit type met standaard of onveilige referenties).

er zijn automatic tools (bots) die in principe continu grote reeksen IP ‘ s scannen op zoek naar herkenbare open poorten, bijvoorbeeld database (MongoDB, MySQL, PostgreSQL, enz.), en wanneer ze een open poort detecteren, proberen ze automatisch een login met standaard referenties. Bijvoorbeeld, in het geval van typische LAMP / WAMP installaties, een root / toegang tot de MySQL poort. Een groot aantal databases is gehackt zonder menselijke tussenkomst. Dit is haalbaar, zelfs als we het open in een andere poort, omdat het mogelijk is om in veel gevallen te identificeren dat wat IN poort 5555 “te misleiden”, om iets te zeggen, is een mySQL door de vingerafdruk van de service, zoals we zullen zien meer in de toekomst.

kortom, het is erg gevaarlijk om standaard referenties achter te laten op webservers, routers, FTPs, SSHs, databases … omdat niemand een manie nodig heeft, zal een bot dat doen.

Escanear ips met nmap

een eerste parameter

als we informatie willen over hoe nmap deze informatie heeft verkregen, kunnen we de traces vergroten met de parameter-v (verbose) of-vv, waar we kunnen zien dat Nmap SYN commando ‘ s heeft uitgegeven en in sommige gevallen RESET (gesloten poort) heeft ontvangen, in andere SYN-ACK (open poort) en in andere geen antwoord (“gefilterd”), wat ons kan doen begrijpen dat een firewall ons verzoek stopt:

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

het bereik van IP ’s vergroten om

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

te scannen of bijvoorbeeld, stel je voor dat we IP’ s hebben verzameld uit onze initiële opsomming, en we hebben een bestand met de verschillende IP ‘ s gescheiden door tabbladen of regeleinden (één IP of Bereik per regel). We kunnen het bestand laden met de parameter-iL (input list) en zo de volledige IP-inventaris scannen. Het maakt het bijvoorbeeld ook mogelijk om bepaalde specifieke IP ‘ s met –exclude of –excludefile uit te sluiten.

defining the ports to scan

we kunnen handmatig de poorten definiëren die we willen scannen. Als we bijvoorbeeld kijken voor web servers op poort 80, 443 en 8080 in een subnet, kunnen we dit doen met de -p parameter:

nmap -p 80,443,8080 192.168.10.0/24

We kunnen ook vragen nmap scan de “N” (geheel getal) meest gebruikte poorten; bijvoorbeeld voor het scannen van de 25 meest gebruikte poorten in een bereik van ip-adressen:

nmap --top-ports 25 192.168.10.0/24

het Ontvangen van een antwoord als dit:

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

We kunnen vragen dat alle TCP, UDP en SCTP poorten (langzamer) met de id -p – worden gescand:

nmap -p- 192.168.10.0/24

het Identificeren van de operationele systemen en diensten

Zoals we zien, nmap stelt ons in staat om te detecteren poorten die luisteren op een IP-adres of een bereik. Later zullen we ook zien hoe andere survey technieken kunnen worden gedefinieerd. Daarnaast stelt nmap ons in staat om te proberen te identificeren welke technologie (product, versie, enz.) achter een open poort, of zelfs het besturingssysteem geïnstalleerd op een server, met de parameters-O en-sV. Deze detectie is gebaseerd op de” handtekening ” (vingerafdruk) van de antwoorden die de dienst geeft aan bepaalde oproepen.

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

in dit geval weten we niet alleen dat deze machine bepaalde open poorten heeft. Het vertelt ons ook dat het een Raspberry draait Raspbian (waarmee, bijvoorbeeld, we kunnen doen een brute kracht test met een gebruiker “pi”, die is de standaard gebruiker), en de versies van de verschillende poorten die luisteren, zodat deze informatie kan worden gebruikt om kwetsbaarheden te exploiteren over ongepatchte versies, enz.

gebruikmakend van meer peilingtechnieken

standaard gebruikt Nmap SYN als peilingtechniek. Het is een snelle en niet erg opdringerig / detecteerbare techniek, maar soms, maar het ondersteunt een totaal van 12 verschillende technieken die we kunnen definiëren als parameters, zoals we kunnen zien in de handleiding van de tool.

bijvoorbeeld, als we een scan willen uitvoeren op basis van UDP-oproepen, kunnen we een oproep doen van het type:

nmap -sU 192.168.10.5

zoeken naar kwetsbaarheden met nmap

hoewel er meer “comfortabele” en specifieke tools zijn voor het zoeken naar kwetsbaarheden, zoals Nessus, of suites zoals Metasploit die verschillende tools consolideert, stelt nmap ons ook in staat om kwetsbaarheidsanalyse uit te voeren.

om dit te doen, gebruikt het een reeks Lua –scripts die zich in een pad van onze machine bevinden (in het geval van Kali, in / usr / share / Nmap / scripts /) en die kunnen worden aangeroepen met-script of zijn equivalent-sC .

Scripts kunnen tot één of meerdere categorieën behoren, dus we kunnen nmap vragen om bijvoorbeeld alle scripts in een categorie tegen een host te evalueren. Er zijn een aantal bijzonder interessante categorieën zoals ” vuln “(scripts gewijd aan het detecteren van kwetsbaarheden op de bestemming),” exploit”, enz.

bijvoorbeeld, als we de kwetsbaarheidscategorie scripts willen scannen tegen een host:

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

zoals we kunnen zien, het script heeft een potentiële kwetsbaarheid op basis van de Slowloris denial of service aanval gedetecteerd. Als we analyseren van de scripts die in de hierboven genoemde route, we zien dat er precies een die deze kwetsbaarheid exploiteert, genaamd http-slowloris. Als we meer informatie willen over het script kunnen we het volgende commando starten:

nmap --script-help http-slowloris

uitleggen hoe het script werkt, hoe het te starten (het is ook mogelijk om het te doen met de nmap zelf met –script en –script-args), enz. We kunnen bijvoorbeeld ook een beschrijving verkrijgen van alle scripts die op zoek zijn naar kwetsbaarheden:

nmap --script-help vuln

we kunnen bijvoorbeeld ook alle scripts van een bepaald type starten. Bijvoorbeeld, als we kwetsbaarheden over het SMB-protocol op een bepaalde host willen scannen:

nmap --script smb-* 192.168.10.5

we kunnen bijvoorbeeld ook een kwetsbaarheid over ons hele netwerk beoordelen door een specifiek script te kiezen tegen een range. De parameter-script

nmap --script-help vuln
nmap --script

kortom, nmap bevat zelfs interessante opties om kwetsbaarheden te beoordelen en zelfs exploits te lanceren, hoewel er andere hulpmiddelen zijn die vaak worden gebruikt voor dit doel.

Empleada contectándose a la VPN para poder teletrabajar

andere interessante opties

zoals we hebben opgemerkt, heeft nmap vele opties en het is onmogelijk om zelfs maar een klein percentage in een post te dekken. In feite is er een officiële Nmap boek van bijna 500 pagina’ s … maar in ieder geval proberen we hier commentaar te geven sommige die interessant lijken.

zoals we hebben opgemerkt, heeft nmap veel opties en het is onmogelijk om zelfs maar een klein percentage in een bericht te dekken. In feite is er een officiële Nmap boek van bijna 500 pagina’ s … maar in ieder geval proberen we hier commentaar te geven sommige die interessant lijken.

  • met het hulpprogramma kunt u het scanresultaat genereren in een verwerkbaar uitvoerbestand, bijvoorbeeld in XML-formaat, met-oX of-oN .
  • wanneer we grote reeksen IP ‘ s scannen, kunnen we de poging tot omgekeerde resolutie van DNS uitschakelen met de parameter-n.
  • tijdens het uitvoeren van een commando kunnen we het niveau van informatie dat op de console wordt weergegeven (verbosity) verhogen door op de “V” toets te drukken.
  • als we een firewall hebben die ons snijdt, kunnen we-Pn proberen.

kortom, we hebben geprobeerd een” korte “introductie van nmap te ontwikkelen als een tool voor het identificeren van open poorten en diensten op een host of range van IP’ s. In latere berichten zullen we andere manieren zien om kwetsbaarheden op te sporen.

alles klaar?

het is tijd om documenten efficiënter te behandelen

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.