Ethical hacking: identification of services with Nmap
sisällysluettelo
edellisessä postitse eettinen hakkerointi selitämme lyhyesti eri vaihtoehtoja saada luettelointi IP-osoitteet ja aliverkkotunnukset suoritettaessa eettinen hakkerointi prosessi. Jos pidit siitä ,että ”tämä on erittäin turvallista, koska kuka tietää, että tämä aliverkkotunnus on olemassa” (että vaikka et voi uskoa sitä, se on yleisempää kuin miltä näyttää), älä unohda, miten ”kuka tietää, että laitoin tämän palvelun tähän porttiin niin oudolla numerolla”…
lyhyesti sanottuna, tässä viestissä yritämme nähdä, miten on mahdollista tehdä inventaario avoimista porteista IP: ssä tai IP-alueella, ja jopa tunnistaa teknologian avoimen portin alla, Kun tämä on mahdollista. Pohjimmiltaan tämä viesti aikoo keskittyä käyttämään fantastinen ja olennainen työkalu, nmap. Vaikka se on työkalu, jota käytetään tyypillisesti Linuxissa (ja tietenkin sisältyy referenssiohjelmaan, jota käytän näissä viesteissä, Kali), koosteita muille käyttöjärjestelmille löytyy jo.
ennen töihin menoa haluamme varoittaa, että nmap on monimutkainen ja täydellinen työkalu, jossa on valtava määrä vaihtoehtoja, parametreja jne.; Tämä viesti ei ole tarkoitettu käsikirja työkalun käyttöä varten, mutta jälleen johdatus sen ymmärtää tunnistaminen palvelujen vaiheeksi eettinen hakkerointi ennen havaitsemista haavoittuvuuksia. Lisätietoja työkalusta, suosittelemme lukemaan käsikirjan.
avoimen lähdekoodin Nmap-työkalun avulla voimme suorittaa verkko-ja porttiskannauksia, jolloin voimme skannata yhden kohteen, alueen, IP-luettelon… TCP: n, UDP: n, ICMP: n, SCTP: n pyyntöjen jne.perusteella. ja sisältää erilaisia skannaustekniikoita. Suosittelemme yleisesti päivittämään jonkin verran tietoa kuljetusprotokollista, esimerkiksi muistamaan, miten TCP-yhteyden perustaminen toimii neuvotteluissa kolmessa vaiheessa: ensimmäinen, syn-tyyppinen puhelu asiakkaalta porttiin, RST vastaus, jos portti on suljettu tai SYN-ACK, jos se on auki, ja Ack asiakkaalta palvelimelle prosessin loppuun saattamiseksi. Nmap käyttää tämäntyyppisiä viestejä määrittääkseen, kuunteleeko jokin portti kohteessa vai ei. Joskus tätä ei voida käyttää, tai havaitaan etäpalvelin, ja on olemassa muita vaihtoehtoja skannata.
yleinen syntaksi
nmap { }
ensimmäinen skannauksemme
voimme suorittaa seuraavan komennon:
nmap 45.33.49.119
emme laita minkäänlaista kyselyä, joten käytä oletuskyselyä, TCP SYN. nmap lähettää SYN: n ja olettaa, että portti on auki, jos se saa ACN SYN: n. Valinnoille ei ole myöskään lisäparametria, vaan kohteena on yksi IP. Tämä komento antaa meille samanlaisen tuloksen kuin seuraavat:
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
palautan muutamassa sekunnissa luettelon kyseisellä IP: llä olevista avoimista porteista, mukaan lukien SSH, SMTP-sähköpostipalvelin, WWW-palvelin ja mahdollinen takaaukko (https://www.speedguide.net/port.php?port=31337).
monissa tapauksissa tämä on vain ensimmäinen analysointipiste, vaikka esimerkiksi FTP-palvelimen takana oleva ohjelmisto, SSH jne., on täysin päivitetty ja ei ole tiedossa haavoittuvuuksia. Voit aloittaa, esimerkiksi, brute force hyökkäys sanakirjan SSH tai FTP yrittää käyttää (on olemassa valtava määrä palvelimia tämäntyyppisiä oletus-tai epävarma tunnistetiedot).
on olemassa automaattisia työkaluja (botteja), jotka periaatteessa skannaavat jatkuvasti laajoja IP-osoitteita etsien tunnistettavia avoimia portteja, esimerkiksi tietokantaa (MongoDB, MySQL, PostgreSQL jne.), ja kun he havaitsevat avoimen portin, he yrittävät automaattisesti kirjautua sisään oletustunnuksilla. Esimerkiksi, kun kyseessä on tyypillinen lamppu / WAMP asennukset, root / pääsy mySQL-porttiin. Valtava määrä tietokantoja on hakkeroitu ilman ihmisten väliintuloa. Tämä on kannattavaa, vaikka meillä on se auki toisessa satamassa, koska se on mahdollista tunnistaa monissa tapauksissa, että mitä on port 5555 ”johtaa harhaan”, sanoa jotain, on MySQL kautta sormenjälki palvelun, koska näemme enemmän eteenpäin.
lyhyesti sanottuna on hyvin vaarallista jättää valtakirjoja oletusarvoisesti www-palvelimille, reitittimille, FTPs: lle, SSHs: lle, tietokannoille … koska kenelläkään ei tarvitse olla maniaa, botti kirjoittaa.
ensimmäinen parametri
jos haluamme saada tietoa siitä, miten nmap on saanut nämä tiedot, voimme lisätä jälkiä-V (verbose) tai-vv-parametrilla, jossa voimme nähdä, että nmap on antanut syn-komentoja ja joissakin tapauksissa vastaanottanut nollauksen (suljettu portti), toisissa SYN-ACK (avoin portti) ja toisissa ei vastausta (”suodatettu”), mikä voi saada meidät ymmärtämään, että palomuuri pysäyttää pyyntömme.:
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
IP-alueiden lisääminen skannattavaksi
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
tai esimerkiksi kuvitellaan, että olemme keränneet IP-osoitteita alkuperäisestä luettelostamme, ja meillä on tiedosto, jossa eri IP-osoitteet on erotettu välilehdillä tai rivikatkoilla (yksi IP tai alue per rivi). Voimme ladata tiedoston-iL (input list) – parametrilla ja siten skannata koko IP-varaston. Sen avulla voidaan myös esimerkiksi sulkea pois joitakin erityisiä IP –osoitteita, joissa on –poissulkeva tai-poissulkeva tiedosto.
skannattavien porttien määrittely
voimme manuaalisesti määritellä skannattavat portit. Esimerkiksi, jos etsimme web-palvelimia porteista 80, 443 ja 8080 aliverkossa, voisimme tehdä sen-p-parametrilla:
nmap -p 80,443,8080 192.168.10.0/24
voimme myös pyytää nmap skannata ” n ” (kokonaisluku) yleisimmät portit; esimerkiksi skannata 25 yleisintä porttia eri IPs:
nmap --top-ports 25 192.168.10.0/24
tällaisen vastauksen saaminen:
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
voimme pyytää, että kaikki TCP -, UDP – ja SCTP-portit (hitaammat) tunnisteella-p-skannataan:
nmap -p- 192.168.10.0/24
tunnistamalla käyttöjärjestelmät ja palvelut
kuten näemme, nmap: n avulla voimme havaita IP: llä tai alueella kuuntelevia portteja. Myöhemmin nähdään myös, miten muut kyselytekniikat voidaan määritellä. Lisäksi, nmap avulla voimme yrittää tunnistaa, mitä tekniikkaa(tuote, versio, jne.) on avoimen portin tai jopa palvelimelle asennetun käyttöjärjestelmän takana-O-ja-SV-parametreilla. Tunnistus perustuu palvelun tiettyihin puheluihin antamien vastausten” allekirjoitukseen ” (sormenjälkeen).
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
tässä tapauksessa emme vain tiedä, että tällä koneella on tietyt avoimet portit. Se myös kertoo meille, että se on vadelma käynnissä Raspbian (jonka kanssa, esimerkiksi, voisimme tehdä raa ’ an voima testi käyttäjä ”pi”, joka on oletuskäyttäjä), ja versiot eri satamien, jotka kuuntelevat, jotta tämä tieto voidaan hyödyntää haavoittuvuuksia yli unpatched versiot, jne.
käyttämällä useampia äänestysmenetelmiä
oletuksena nmap käyttää SYN-menetelmää äänestysmenetelmänä. Se on nopea ja ei kovin tunkeileva / havaittavissa tekniikka, mutta joskus, mutta se tukee yhteensä 12 eri tekniikoita, jotka voimme määritellä parametreiksi, kuten näemme työkalun käyttöohjeessa.
esimerkiksi, jos haluamme tehdä UDP-puheluihin perustuvan skannauksen, voimme tehdä sen tyyppisen puhelun.:
nmap -sU 192.168.10.5
haavoittuvuuksien etsiminen Nmap
– ohjelmalla vaikka haavoittuvuuksien etsimiseen on enemmän ”mukavia” ja erityisiä työkaluja, kuten Nessus, tai sviittejä, kuten Metasploit, joka yhdistää erilaisia työkaluja, nmap mahdollistaa myös haavoittuvuusanalyysin tekemisen.
tätä varten se käyttää Lua-skriptejä, jotka sijaitsevat koneemme polulla (Kalin tapauksessa in / usr / share / nmap / scripts /) ja joita voidaan kutsua –scriptillä tai sitä vastaavalla-sC: llä .
skriptit voivat kuulua yhteen tai useampaan luokkaan, joten voimme pyytää nmap: ia arvioimaan esimerkiksi kaikki luokan skriptit isäntää vastaan. On joitakin erityisen mielenkiintoisia luokkia, kuten ” vuln ”(skriptit omistettu havaitsemiseksi haavoittuvuuksia kohteessa),” exploit”, jne.
esimerkiksi, jos haluamme skannata haavoittuvuusluokan skriptit isäntää vastaan:
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
kuten näemme, skripti on havainnut mahdollisen haavoittuvuuden, joka perustuu Slowloris-palvelunestohyökkäykseen. Jos analysoimme skriptejä, jotka ovat edellä mainitulla reitillä, näemme, että on olemassa juuri sellainen, joka hyödyntää tätä haavoittuvuutta, nimeltään http-slowloris. Jos haluamme lisätietoja komentosarjasta, voimme käynnistää seuraavan komennon:
nmap --script-help http-slowloris
selitetään, miten skripti toimii, miten se käynnistetään (se on mahdollista tehdä myös itse nmap: lla –script ja –script-args) jne. Voimme myös saada esimerkiksi kuvauksen kaikista skripteistä, jotka etsivät haavoittuvuuksia:
nmap --script-help vuln
voimme myös esimerkiksi käynnistää kaikki tietyntyyppiset skriptit. Esimerkiksi, jos haluamme skannata haavoittuvuuksia yli SMB protokollan tietyn palvelimen:
nmap --script smb-* 192.168.10.5
voimme myös esimerkiksi arvioida haavoittuvuutta koko verkostossamme valitsemalla tietyn skriptin aluetta vastaan. The-script-parametri
nmap --script-help vuln
nmap --script
lyhyesti sanottuna, nmap sisältää jopa mielenkiintoisia vaihtoehtoja arvioida haavoittuvuuksia ja jopa käynnistää hyödyntää, vaikka on olemassa muita työkaluja yleisesti käytetty tähän tarkoitukseen.
muita mielenkiintoisia vaihtoehtoja
kuten olemme kommentoineet, nmap: lla on monia vaihtoehtoja, ja on mahdotonta yrittää kattaa edes pientä prosenttiosuutta postauksessa. Itse asiassa, on virallinen Nmap kirja lähes 500 sivua … mutta joka tapauksessa yritämme kommentoida täällä joitakin, jotka vaikuttavat mielenkiintoisilta.
kuten olemme kommentoineet, nmap: lla on monia vaihtoehtoja ja on mahdotonta yrittää kattaa edes pientä osuutta postauksessa. Itse asiassa, on virallinen Nmap kirja lähes 500 sivua … mutta joka tapauksessa yritämme kommentoida täällä joitakin, jotka vaikuttavat mielenkiintoisilta.
- työkalun avulla voit luoda skannaustuloksen processable output-tiedostossa, esimerkiksi XML-muodossa, with-oX or-oN .
- kun skannaamme laajoja IP-alueita, voimme poistaa DNS: n käänteisen resoluutioyrityksen käytöstä-n-parametrilla.
- komennon suorittamisen aikana voimme lisätä konsolilla näkyvän informaation tasoa (verbositeetti) painamalla ”V” – näppäintä.
- jos meillä on palomuuri, joka leikkaa meidät, voimme yrittää-Pn.
lyhyesti sanottuna olemme yrittäneet kehittää ”lyhyen” johdannon nmap: iin työkaluksi, jolla voidaan tunnistaa avoimet portit ja palvelut Isäntäkoneessa tai IP-osoitteissa. Myöhemmissä viesteissä näemme muita tapoja havaita haavoittuvuuksia.
onko valmista?
on aika käsitellä asiakirjoja tehokkaammin