Nmap: a” Hacker Tool ”for Security Professionals

Nmap: a” Hacker Tool ”for Security Professionals

by Justin Hutchens

security-326154_640

käsite ”eettinen hakkeri”on aina ollut ironinen. Kehittyvien suuntausten eettinen hakkerointi ja loukkaavaa turvallisuus ovat muuttaneet tietoturva teollisuuden yhdeksi itseään ylläpitävä teollisuudenalojen maailmassa.

haavoittuvien tietovarantojen turvaamiseen käytettävät ohjelmistot ja työkalut ovat samoja työkaluja, joilla niitä voidaan hyödyntää. Ehkä se on toisinpäin. Ehkä niiden turvaamiseen käytetään nyt välineitä, jotka luotiin pelkästään tietovarantojen hyödyntämistä varten. Oletan, että tämä on keskustelu, joka voi jatkua ikuisesti ja on oikeastaan vain yksi esimerkki ”mikä tuli ensin … kana vai muna?”

tämän esseen tarkoituksena ei ole käsitellä filosofista intentionaalikysymystä. Aikeeni ovat vaatimattomammat. Pyrin vain perustelemaan työkalun tärkeyttä, joka on jatkuvasti leimattu haitalliseksi hakkerointiohjelmistoksi. Työkalu, että viittaan on Network Mapper, tai Nmap lyhyesti. Olitpa hullu rogue agentti, joka on taipuvainen yllyttämään global revolution tai verkkoturvallisuuden ammattilainen (toivottavasti jälkimmäinen, eikä entinen), nmap pitäisi olla pysyvä paikka työkalupakki. Ehkä, sen sijaan heittää kritiikkiä erittäin toimiva verkostoitumisen väline, meidän pitäisi pitää yksilöitä vastuussa teoistaan ja pohtia tunnettu Benjamin Parker varoitus … ” suurella voimalla, tulee suuri vastuu.”Huolimatta joistakin päinvastaisista väitteistä, nmap ei ole haitallinen ohjelmisto. Ja mielestäni ainoa syy, että se on usein merkitty sellaisena, koska sen erittäin vaikuttava lista ominaisuuksia. Vaikka Nmap voi aiheuttaa vahinkoa, sillä voi varmasti olla tärkeä rooli verkkoinfrastruktuurin turvaamisessa ammatillisessa ympäristössä.

Nmap on tasaisesti kehittynyt vuosien varrella yksinkertaisesta skannausohjelmasta täysin levinneisyystestausalustaksi. Sitä voidaan käyttää jokaisessa vaiheessa tietoturvan auditointiprosessin, sisällyttää verkon löytö, porttiskannaus, palvelun luettelointi, haavoittuvuuden kartoitus ja jopa hyödyntäminen. Koko tämän artikkelin, aion keskustella ominaisuuksia nmap, koska ne liittyvät jokaiseen vaiheeseen levinneisyys testausprosessi.

asennus ja valmistelu

on selvää, että ennen nmap: n käyttöä on tärkeää, että käyttämääsi järjestelmään on asennettu toimiva versio. Oletusarvoisesti nmap on jo asennettu useimpiin tunkeutumistestaus – ja verkkoturva-käyttöjärjestelmiin, kuten Kali-Linux, Backtrack, DEFT, Node-Zero, Security Onion ja NST. Se voidaan kuitenkin myös ladata lähes mihin tahansa haluamaasi alustaan. Nmap voidaan helposti asentaa kaikkiin yleisesti käytettyihin käyttöjärjestelmiin, kuten Windowsiin, Linuxiin ja OSX: ään. Sen asentamiseksi hämärämmille alustoille on saatavilla myös dokumentaatiota, kuten BSD, Solaris, AIX ja AmigaOS. Asennuspaketit ja asennusohjeet näihin järjestelmiin löytyvät kohdasta http://nmap.org/book/install.html.

Zenmap – graafinen käyttöliittymä

perinteisen Nmap-komentoriviliittymän lisäksi on olemassa myös graafinen front-end-käyttöliittymä nimeltä Zenmap. Zenmap on myös integroitu moniin aiemmin käsiteltyihin eri penetraatiotestausalustoihin. Sitä ei kuitenkaan ole asennettu oletusarvoisesti Kali-Linuxiin (alustaan, jota käytän tässä opetusohjelmassa). Onneksi se on asennustietokannassa ja se voidaan asentaa helposti yhdellä komennolla:

apt-get install zenmap

Zenmapin point-and-click-käyttöliittymä ei ainoastaan virtaviivaista tehokkaasti sitä, mikä muuten vaatisi monimutkaisia komentoja, vaan se voi myös olla erittäin hyödyllinen työkalu Nmap: n käytön oppimiseen. Se käyttää ’profiileja’ tallentaakseen yleisesti käytettyjä skannauskokoonpanoja myöhempää muokkausta ja/tai käyttöä varten. Tutustu kuvan Zenmap käyttöliittymä, joka on esitetty kuvassa 1 ja käsittelemme lyhyesti kunkin osat.

f1

Kuva 1. Zenmapin graafinen käyttöliittymä

ensimmäinen komponentti on kohdekenttä (Kuva 1. A). Tässä kentässä voit määrittää etäjärjestelmät, joita vastaan haluat suorittaa skannauksen. Voit syöttää yhden IP-osoitteen (esim.192.168.1.1), voit syöttää peräkkäisen IP-osoitteiden alueen (esim. 192.168.1.0-255) tai voit käyttää CIDR-merkintää halutun aliverkon määrittämiseen (esim.192.168.1.0/24). Toinen komponentti on Profiilikenttä (Kuva 1. B). Voit klikata tämän kentän oikealla puolella olevaa pudotusnuolta nähdäksesi useita valmiiksi määritettyjä profiileja skannausta varten. Profiilien avulla voit tallentaa yleisesti käytettyjä skannauskokoonpanoja tulevaa käyttöä varten. Voit myös luoda profiileja omia ja ne sitten näkyvät tässä luettelossa (keskustelemme siitä, miten tämä tehdään myöhemmin tässä artikkelissa). Kolmas komponentti on Komentokenttä (Kuva 1. C). Tämä kenttä näyttää komennon, joka lähetetään taustajärjestelmään. Käynnistääksesi tässä kentässä näkyvän komennon, Napsauta skannauspainiketta. Voit muokata arvoa tässä kentässä suoraan, mutta se kansoitetaan automaattisesti kohdekentän ja valitun profiilin arvojen perusteella. Jos olet uusi Nmap: ssa, sinun on kiinnitettävä erityistä huomiota tähän kenttään, koska se antaa sinulle paremman käsityksen sopivista syntakseista ja erilaisten nmap-komentojen käytöstä. Neljäs komponentti on isäntä – / palveluluettelo (Kuva 1. D). Kun olet suorittanut skannaukset, tiedot ovat tässä luettelossa. Jos sinulla on isännät-painike valittuna,kaikki havaitut isäntien IP-osoitteet luetellaan. Ja jos sinulla on palvelut-painike valittuna, kaikki löydetyt verkkopalvelut listataan. Lopullinen komponentti (Kuva 1. E) on, jossa voit lajitella läpi kaikki tiedot, jotka on tuotettu kaikki skannaukset, jotka olet tehnyt. Nmap-tuloste-välilehti näyttää tarkan tulosteen, joka annettaisiin, jos komento olisi syötetty komentoriviliitännästä. Ports/Hosts-välilehden sisältö vaihtelee riippuen siitä, onko listallesi valittu Hosts-tai Services-painike. Jos Hosts-painike on valittu, Ports/Hosts-välilehden tiedot heijastavat palveluita, jotka on tunnistettu luettelossa aktiivisesti korostetulla IP-osoitteella. Muussa tapauksessa, jos Palvelut-painike on valittu, Ports/Hosts-välilehden tiedot tunnistavat kaikki isännät, joilla havaittiin olevan luettelossa korostettu palvelu. Topologia-välilehti tarjoaa graafisen esityksen verkon loogisesta topologiasta, sisältäen kaikki skannaamalla löydetyt isännät. Se käyttää palautettuja TTL (Time-To-Live) – arvoja näyttääkseen isäntien loogisen suunnan suhteessa toisiinsa. Palvelimen tiedot-välilehdestä löydät suurimman osan valitusta palvelimesta löydetyistä tiedoista. Nämä tiedot sisältävät MAC-osoitteet, IP-osoitteet, avoimet portit, tunnistetut palvelut, käyttöjärjestelmän tiedot ja kaikki kerätyt lisätiedot. Lopuksi, Skannaa välilehti antaa historian skannauksia, jotka on suoritettu istunnon aikana.

ruudun yläreunassa näkyy useita erilaisia pudotusvalikoita, jotka sisältävät skannauksen, Työkalut, profiilin ja ohjeen. Ohje-valikko on itsestään selvä. Skannausvalikko sisältää vaihtoehtoja uusien skannausten luomiseen, skannausten tallentamiseen tai aiemmin tallennettujen skannausten avaamiseen. Työkalut-valikko tarjoaa joitakin lisätoimintoja, joita voidaan käyttää skannausten aikana kerättyjen tietojen lajitteluun ja järjestämiseen. Ja profiili-valikko tarjoaa vaihtoehtoja luoda uusia skannausprofiileja tai muokata olemassa olevia profiileja.

keskustelemme nyt lyhyesti uuden profiilin luomisesta ja käynnistämme sitten skannauksen kyseisen profiilin avulla. Pääset alkuun valitsemalla profiilin pudotusvalikosta ja valitsemalla sitten ” uusi profiili tai Komento.”Tämä avaa Profiilin konfigurointirajapinnan, joka näkyy kuvassa 2.

f2

kuva 2. Zenmap-Profiilieditori

ensimmäisen välilehden (profiili-välilehti) avulla voit luoda profiilille yksilöllisen nimen ja kuvauksen. Kaikki muut välilehdet ovat, jossa voit määrittää eri kokoonpanot, joita käytetään skannauksen. Kuten kuvassa 2 esitetystä Skannausvälilehdestä näkyy, skannausprofiilin luominen on yhtä helppoa kuin ottaa käyttöön haluamiesi vaihtoehtojen valintaruudut, syöttää arvot, jotta näitä vaihtoehtoja voidaan käyttää tehokkaasti, tai valita ennalta määritetyistä valinnoista pudotusvalikosta. Jos olet epävarma jonkin vaihtoehdon toiminnasta tai asianmukaisesta käytöstä tässä, voit siirtää sen hiiren osoittimella ja näytön oikealla puolella olevaan ohjesarakkeeseen tulee automaattisesti tieto siitä, mitä kyseinen vaihtoehto tekee, sekä tarvittavat arvot ja syntaksi pyydetyille syöttökentille. Jokaisella pienellä muutoksella, jonka teet skannausasetukseen, yläosan komentokenttä säädetään vastaavasti. Tämä ominaisuus tekee Zenmap erittäin tehokas työkalu oppia käyttämään nmap komentoja oikein. Kun olet määrittänyt Skannausasetukset mieleiseksesi, voit joko valita skannauspainikkeen näytön oikeassa yläkulmassa kertakäyttöä varten tai valita Tallenna muutokset oikeassa alakulmassa. Tallenna muutokset-painike tallentaa profiilin, jossa on nimi, joka on annettu ensimmäisessä välilehdessä, ja sitä voidaan käyttää heti tai myöhemmin valitsemalla se nimen mukaan pääosan Zenmap-käyttöliittymän profiili-pudotusvalikosta. Vaikka Zenmap on erittäin tehokas, älä anna sen tulla kainalosauva, joka estää sinua oppimasta komentorivin toimintoja nmap. Vaikka Zenmap voi suorittaa monia samoja toimintoja, sillä on silti rajoituksensa eikä se ole yhtä tehokas kuin nmap. Jotta Nmap: tä voitaisiin käyttää tehokkaasti ja sen koko potentiaali huomioon ottaen, on tärkeää tutustua yhtä hyvin komentoriviliittymään.

Network Discovery

ensimmäinen vaihe levinneisyystestauksessa, josta aiomme keskustella, on network discovery. Ennen kuin arvioit verkon tietojärjestelmien turvallisuutta, Sinun on ensin tunnistettava, mitä arvioit. On olemassa useita eri tapoja, joilla voit löytää isäntiä verkossa käyttämällä nmap. Tässä osiossa, keskustelemme siitä, miten käyttää nmap suorittaa isäntä löytö Kerrokset 2, 3 ja 4 OSI malli ja keskustelemme myös eduista ja haitoista kunkin. Esimerkki komennosta tason 2 löytämiseen on nähtävissä tässä:

nmap-PR-SN 192.168.1.0-255

-PR kytkin määrittää ARP-pingin. Tämä käyttää layer 2 ARP (Address Resolution Protocol) – paketteja tunnistaakseen live-isännät määritetyllä alueella. Se tekee tämän lähettämällä ARP-lähetyspyynnön jokaisesta tunnistetusta IP-osoitteesta. Jos verkossa on live-isäntä, jolla on jokin näistä IP-osoitteista, kyseinen isäntä lähettää skannausjärjestelmään ARP-vastauksen IP-osoitteineen ja vastaavine layer 2 MAC-osoitteineen. Nmap kerää vastaukset kaikilta live-isänniltä ja palauttaa sitten listan havaituista isännistä. -sn – kytkintä käytetään pyytämään, että nmap ei suorita porttiskannausta. Tämä estää lähetyksen ylimääräistä liikennettä, yli mitä on tarpeen suorittaa kerros 2 isäntä discovery lakaista. Layer 2 discovery on tehokas, koska se on nopein kaikista kolmesta vaihtoehdosta. Sitä rajoittaa kuitenkin se, että se voidaan suorittaa vain isäntiä vastaan, jotka ovat samassa lähiverkossa kuin skannauksen suorittava järjestelmä.

etäisäntien käytössä on käytettävä joko kerroksen 3 tai kerroksen 4 discoverya. Esimerkki komennosta, jota voidaan käyttää tason 3 löytämiseen, on:

nmap-PE-SN 109.74.11.0-255

tämä komento lähettää sarjan ICMP-kaikupyyntöjä jokaiselle tason 3 IP-osoitteelle luettelossa. Nmap kerää kaikki vastaanotetut ICMP echo-vastaukset ja palauttaa listan kaikista live-isännistä. Tämä discovery scan on hitaampi kuin suorittaa ARP ping, mutta se palauttaa tulokset isännät etäverkoissa.

lopuksi oletetaan, että yrität löytää etäjärjestelmiä (joten et voi käyttää kerrosta 2), jotka ovat palomuurin takana, joka pudottaa kaiken saapuvan ICMP-liikenteen (joten et voi käyttää kerrosta 3). Tämän ongelman ratkaisemiseksi, sinun täytyy suorittaa löytö liikenteen kerros (kerros 4). On olemassa useita eri tapoja, joilla voit käyttää layer 4 skannaa suorittaa löytö. Yksi tehokas menetelmä on UDP-ping. Esimerkki UDP-ping-komennosta on:

nmap-PU53-sn 109.74.11.0-255

tämä komento luo sarjan DNS-palvelimen tilapyyntöjä kullekin kohde-IP-osoitteelle. Sarja DNS kyselyn vastauksia vastaanotetaan live isännät ja nmap sitten palauttaa nämä tulokset. Koska DNS on yleisesti käytetty palvelu UDP-portilla 53, on mahdollista tunnistaa muita live-isäntiä käyttämällä tätä tekniikkaa, joka on ehkä määritetty olemaan vastaamatta ICMP-liikenteeseen. Toinen tehokas kerros 4 vaihtoehto ICMP ping pyyhkäisyt on käyttää TCP ACK ping. Esimerkki tästä on nähtävissä alla:

nmap-PA80-Sn 109.74.11.0-255

tämä komento lähettää sarjan pyytämättömiä ACK-vastauksia määritettyyn porttiin kaikille IP-alueen isännille. Koska nämä ACK-paketit eivät olleet yhteydessä mihinkään vakiintuneeseen viestintälinjaan, live-isännät vastaavat TCP RST-paketilla osoittaakseen, että viestintä olisi lopetettava. Nmap kerää nämä vastaukset ilmaisuna live-isännistä ja palauttaa sitten listan niistä.

porttiskannaus ja palveluluettelo

nyt kun olemme löytäneet verkon aktiiviset IP-osoitteet, joita vastaan suoritamme tunkeutumistestiä, meidän on seuraavaksi tunnistettava kunkin järjestelmän avoimet portit ja kyseisissä porteissa toimivat palvelut. TCP-porttien skannaus etäjärjestelmissä on Nmap: n perustoiminto. Jos haluat suorittaa kohdejärjestelmän TCP-skannauksen, käytä peruskomennoa:

nmap 109.74.11.34

kuten muutkin nmap-komennot, tätä voidaan käyttää myös skannaamiseen useita isäntiä vastaan käyttämällä peräkkäistä sarjaa (192.168.1-255) tai CIDR-merkintä (192.168. 1. 0/24). Tämä standardi Nmap-komento suorittaa skannauksen 1000: lle yleisesti käytetylle TCP-portille. Vaihtoehtoisesti, voit määrittää yhden portin skannata käyttämällä-p kytkin seuraa portin numero, jonka haluat skannata.

nmap 109.74.11.34-p 21

tämä yllä oleva komento skannaa TCP-portin 21 määritetyssä järjestelmässä. Voit myös skannata sarjan portteja-p-kytkimellä ja sitten listata halutut portit erottaen ne pilkuilla.

nmap 109.74.11.34-p 80,443

tämä komento skannaa kohdejärjestelmän portit 80 ja 443. Voit skannata peräkkäisiä portteja käyttämällä -p – kytkintä, jota seuraa alueen ensimmäinen arvo, viiva ja sitten alueen viimeinen arvo.

nmap 109.74.11.34-p 0-100

yllä oleva komento skannaa ensimmäiset 100 porttia. Jos haluat skannata kohteen kaikki 65 536 TCP-porttia, käytä seuraavaa komentoa:

nmap 109.74.11.34-p 0-65535

voit käyttää TCP ACK-skannausta suodatettujen porttien tunnistamiseen. Voit tehdä tämän käyttämällä-sA-kytkintä. Voit sitten määrittää portin tai sarjan portteja. Mikään porttimääritys ei skannaa standardia 1000 porttia. Tämä palauttaa suodatettujen porttien luettelon. Esimerkki tästä komennosta on alla:

nmap 109.74.11.34-sA

Penetraatiotestaajat ja tietoturva-ammattilaiset etsivät joskus vain avoimia TCP-portteja kohdejärjestelmistä. Overlooking UDP palvelut voi aiheuttaa yksi täysin unohtaa räikeä haavoittuvuuksia, jotka saattavat helposti johtaa kompromissiin. Etsi UDP-palveluita kohdejärjestelmästä käyttämällä seuraavaa komentoa:

nmap 109.74.11.34-sU

koska UDP-palvelut eivät ole yhteyssuuntautuneita samalla tavalla kuin TCP-palvelut, tämä kestää kauemmin kuin tyypillinen TCP-skannaus. UDP-skannausten suorittamiseen kuluvaa aikaa voidaan lyhentää skannaamalla tiettyjä portteja. Voit määrittää portit samalla tavalla kuin TCP skannaa.

nmap 109.74.11.34-sU-p 69

yllä oleva komento skannaa UDP-portin 69, joka on yleisesti käytetty portti TFTP: lle (Trivial File Transport Protocol). On myös mahdollista tunnistaa kunkin palvelun versio ja versionumero. Voit tehdä tämän käyttämällä-sV-kytkintä.

nmap 109.74.11.34-SV

tämä komento käyttää bannerin tarttumisen ja koettimen vasteanalyysin yhdistelmää yrittäessään tunnistaa kyseisen palvelun palvelun ja versionumeron kunkin skannatun portin osalta. Samankaltaisten tekniikoiden avulla on myös mahdollista saada nmap yrittämään kohteessa käynnissä olevan käyttöjärjestelmän määrittämistä. Voit tehdä tämän käyttämällä -O – kytkintä.

nmap 109.74. 11.34-O

valmistuttuaan se joko palauttaa varman tunnisteen käyttöjärjestelmästä tai antaa parhaan arvauksen ja sitten listan muista mahdollisista käyttöjärjestelmistä.

kehittyneet Skannaustekniikat

on yleinen ongelma, johon törmäät usein tehdessäsi tunkeutumistestiä keskisuuria tai suuria yritysverkkoja vastaan. Useimmat yritykset ja organisaatiot näinä päivinä on tullut enemmän turvallisuutta ajattelevia ja todennäköisesti palomuurit tai tunkeutumisen havaitsemisjärjestelmät seisoo sinun ja järjestelmien, että yrität skannata. Tällaisten järjestelmien skannaamiseen tarvitaan kehittyneempiä skannaustekniikoita. Yksi tapa mahdollisesti ohittaa palomuurit ja / tai tunkeutumisen tunnistusjärjestelmät on käyttää joitakin perinteisiä häivekeilaustekniikoita, jotka on integroitu nmap: iin. Yksi menetelmä, jota voidaan käyttää, on käyttää hitaampaa ajoitusmallia. Ajoitusmallit vaihtelevat -T0 (paranoid scan) aina -T5 (Insane scan) asti. Mitä pienempi on ajoitusmallin arvo, sitä hitaammin skannaus suoritetaan. Hitaammat skannaukset eivät todennäköisesti näy tunkeutumisen tunnistusjärjestelmissä. Esimerkki paranoidisesta skannauksesta olisi:

nmap 109.74.11.0-255-T0

toinen tekniikka, jolla skannauksen voi peittää, on lisätä verkkoon ylimääräistä houkutusliikennettä -D – kytkimellä. Tämän toiminnon avulla voit määrittää useita osoitteita huijataksesi liikennettä tai voit käyttää RND-vaihtoehtoa huijataksesi liikennettä satunnaisista osoitteista.

nmap 109. 74. 11. 0-255-D RND:5

kohdejärjestelmien perinteisen TCP – porttiskannauksen suorittamisen lisäksi yllä oleva komento myös huijaa liikennettä 5 satunnaisesta osoitteesta hämätäkseen varsinaista skannausliikennettä. Toinen tekniikka, jota voidaan käyttää, on muuttaa lähetettyjen pyyntöjen paketin pituutta. Jotkut tunkeutumisen havaitsemisjärjestelmät ja palomuurit pudottavat paketteja allekirjoituspaketin pituuksien perusteella. Tämän estämiseksi voit määrittää tiedon pituuden käyttämällä --data-length – kytkintä, jota seuraa paketin koko tavumääränä.

nmap 109.74. 11.0-255 — datan Pituus 15

tämä komento lähettää kaiken skannausliikenteen 15 tavun pituisina paketteina. Vaikka tämä voi olla hyödyllistä välttää joitakin allekirjoitus perustuu tunkeutumisen tunnistusjärjestelmät, johdonmukaisesti lähettämällä paketteja epätavallinen määritetyn paketin pituus voisi merkitä poikkeavuus perustuu tunkeutumisen tunnistusjärjestelmät. Verkon tunkeutumisen tunnistusjärjestelmät merkitsevät myös liikennettä, jos alat muodostaa peräkkäisiä yhteyksiä tietyn verkkoalueen järjestelmiin. Jotta et suorittaisi skannauksia peräkkäin, voit käyttää --randomize-hosts – kytkintä.

nmap 109.74. 11.0-255 — randomize-hosts

tämä yllä oleva komento skannaa satunnaisesti jokaisen isännän alueella sen sijaan, että se suorittaisi ne järjestyksessä (109.74.11.0, sitten 109.74.11.1, sitten 109.74.11.2 jne.). Vaikka et voi väärentää IP-osoitettasi (koska et saisi tarvittavia vastauksia avoimien porttien määrittämiseksi), voit väärentää MAC-osoitettasi. Voit tehdä tämän käyttämällä — spoof-mac-kytkintä, jota seuraa toimittajan tunnus, tietty MAC-osoite tai 0.

nmap 109.74.11.0-255 — spoof-mac 0

käyttämällä argumenttinasi 0 sovelletaan satunnaista MAC-osoitetta skannausliikenteeseesi. Viimeinen tekniikka, joka on syytä mainita, käyttää-f kytkin fragmentti paketteja.

nmap 109.74.11.0-255-F

Fragmentoimalla paketit erottavat skannausliikenteen datakuormat useiksi paketeiksi, jolloin se voi helpommin ohittaa sisällöntarkastuksen tunkeutumisen tunnistusjärjestelmät tai palomuurit. Vaikka kaikki nämä tekniikat voivat olla tehokkaita skannaamaan julkisesti saatavilla olevia palvelimia palomuurin takana, ne eivät yleensä riitä skannaamaan isäntiä sisäisessä verkossa. Vaikka tietyt julkisesti saatavilla olevat palvelimet ovat käytettävissä skannausta varten, suuri osa sisäisestä infrastruktuurista on syvemmällä verkossa eikä niin helposti saatavilla. Tarkastellaan kaaviota Kuvassa 3. Tämä on yksinkertainen esimerkki yhteisestä konfiguraatiosta yritysverkoissa.

f3

kuva 3. Yhteinen verkkokokoonpano

ongelma, jonka kohtaamme tässä on se, että sisäinen verkko on sisäisen palomuurin takana, jossa on tiukemmat säännöt sisäänpääsyliikenteestä verrattuna ulkoiseen palomuuriin. Tämä sisäinen palomuuri todennäköisesti estää saapuvan liikenteen etäosoitteista Webissä; on kuitenkin mahdollista, että DMZ: n järjestelmät voivat kommunikoida sisäisten järjestelmien kanssa. Jotta voimme skannata nämä sisäiset järjestelmät, meidän on saatava DMZ: n järjestelmät toimimaan puolestamme. Keskustelemme useita eri tapoja tehdä tämä, sisällyttää proxy skannaus, zombie skannaus ja FTP bounce skannaus.

luultavasti helpoin tapa skannata sisäiset järjestelmät on välityspalvelinketju. Olettakaamme, että olemme saaneet pääsyn välityspalveluun DMZ: n sisällä paikantamalla avoimen välityspalvelun, pakottamalla julmasti välityspalvelun Hydran kanssa tai asentamalla välityspalvelun jo vaarantuneeseen koneeseen. Kun olet määrittänyt järjestelmäsi reitittämään liikennettä välityspalvelimen kautta, voit suorittaa nmap-skannauksen käyttämällä täyttä yhteyskannausta (-sT).

nmap 10.1.1.0-255-sT

jos välityspalvelua ei ole saatavilla, on olemassa joitakin ovelia tapoja, joilla voit hyödyntää DMZ: n koneita sisäisten järjestelmien skannaustulosten saamiseksi. Yksi tapa tehdä tämä on käyttää zombie skannaus, jota kutsutaan myös tyhjäkäynnillä skannaus. Tehdäksemme zombiskannauksen sisäisen lähiverkon järjestelmiin, – meidän on löydettävä elinkelpoinen zombi-isäntä DMZ: stä. Zombie isäntä on mitä tahansa suhteellisen tyhjäkäynnillä järjestelmä, joka käyttää incremental IPID sekvensointi. Löytääksemme zombi-isännän, Voimme käyttää Nmap-komentosarjaa skannataksemme DMZ-järjestelmän, joka sopii tähän kuvaukseen.

nmap –script ipidseq 109.74.11.0-255

tämä skripti lähettää sarjan paketteja jokaiselle palvelimelle ja seuraa kaikkien vastaanotettujen vastausten IPID-numerot. Se sitten analysoida nämä IPID numerot luokitella kunkin järjestelmän joko satunnainen sekvenssi, kaikki nollia, tai inkrementaalinen. KS. Kuva 4 Esimerkki inkrementaalisen järjestelmän tuotoksesta.

f4

Kuva 4. Zombie host sijaitsee IPID sekvenssi Script

kun olemme hankkineet IP-osoitteen meidän zombie järjestelmä, olemme valmiita yrittämään zombie scan. Ennen käsitellä miten suorittaa skannauksen, Aion lyhyesti keskustella siitä, miten skannaus toimii. Katso kuviosta 5 kaavio siitä, mitä tapahtuu, kun zombiskannaus suoritetaan avointa porttia vastaan.

f5

kuva 5. Zombiskannaus avoimeen porttiin

ensin Nmap-skannerimme määrittää zombijärjestelmän nykyisen IPID-arvon lähettämällä pyytämättä SYN / ACK-paketin. Koska zombijärjestelmä ei alun perin lähettänyt syn-pakettia luomaan yhteyttä, zombi vastaa sitten SKANNERIIMME RST-paketilla. Skannausjärjestelmämme käyttää sitten RST-paketin IPID-tunnistetta vertailukohtana. Sitten skannausjärjestelmämme seuraa tätä välittömästi väärennetyllä syn-paketilla, joka lähetetään kohdejärjestelmään zombijärjestelmän IP-osoitteen avulla. Koska lähde-IP-osoite on yksi DMZ: n sisällä, tämä yhteyspyyntö voi todennäköisemmin kulkea palomuurin läpi. Jos kohde vastaanottaa paketin ja kohdeportti on auki, kohde palauttaa SYN/ACK-paketin zombijärjestelmään (jonka se luulee lähettäneen alkuperäisen syn-paketin). Koska tämä SYN/ACK-paketti on vastaanotettu asiayhteydestä, zombie-järjestelmä vastaa sitten kohdejärjestelmään RST-paketilla, mikä kasvattaa IPID-arvoaan yhdellä. Lopuksi skannerimme lähettää viimeisen SYN / ACK-paketin zombijärjestelmään. Myöhemmin RST vastaus zombie kasvaa IPID vielä kerran. Jos etäjärjestelmän kohdistettu portti on auki, lopullinen IPID-arvo on kaksi numeroa alkuperäistä arvoa suurempi. Vaihtoehtoisesti kuvassa 6 esitetään, mitä tapahtuu, kun kohdejärjestelmän portti on suljettu.

f6

kuva 6. Zombiskannaus suljettua porttia vastaan

jos kohdejärjestelmän portti on suljettu, zombie-järjestelmä ei saa kohteelta ei-toivottua vastausta eikä sitä siksi yllytetä lähettämään RST-pakettia kohteeseen. Joten jos lopullisen RST-vastauksen IPID-arvo on kasvanut vain yhdellä, voimme päätellä, että portti on suljettu, koska zombijärjestelmään ei lähetetty SYN/ACK-vastausta RST-vastauksen käynnistämiseksi. Muussa tapauksessa, jos lopullinen IPID-arvo on kasvanut kahdella alkuperäisestä arvosta, voimme päätellä, että kohdejärjestelmän portti on avattava, koska sen on täytynyt vastata zombille, joka käynnisti vastauksen, joka lisäsi zombijärjestelmän IPID-arvoa.

vaikka tämä saattaa kuulostaa erittäin monimutkaiselta; Älä säikähdä kuvausta, sillä nmap tekee lähes kaiken työn puolestasi. Jos haluat todella suorittaa zombie skannaus, sinun tarvitsee vain syöttää yksinkertainen komento.

nmap-sI 192.168.199.132-Pn 192.168.199.130

-sI kytkin käskee nmap: ia suorittamaan zombiskannauksen käyttäen zombien isäntänä seuraavaa IP-osoitetta (192.168.199.132). -Pn – valitsin estää nmap: ia suorittamasta ensimmäistä ICMP-ping: tä kohdejärjestelmässä ennen skannausyritystä. Niin, lopullinen IP-osoite komennossa tunnistaa kohdejärjestelmän. Tämän komennon ulostulo näkyy kuvassa 7.

f7

Kuva 7. Zombiskannaus suljettua porttia vastaan

on huomattava, että IP-alue, jota käytin tämän zombiskannauksen osoittamiseen, on yksityinen alue sisäisessä verkossani. Jotta tämä toimisi tehokkaasti etäverkkoa vastaan, kuten alkuperäisessä skenaariossa on kuvattu, sekä DMZ: n että sisäisen verkon järjestelmien on oltava julkisesti reititettävillä IP-alueilla. Jos sisäinen verkko on määritetty yksityisalueella Nat (Network Address Translation) – palvelimen takana, nmap-skanneri ei pysty lähettämään väärennettyä SYN-pakettia sisäiseen osoitteeseen sen etäpaikasta.

toinen tapa käyttää DMZ: n järjestelmiä yrittääkseen skannata isäntiä sisäisessä verkossa on käyttää FTP bounce-ohjelmaa. Jotkut vanhat FTP-palvelimet tukevat kykyä siirtää tiedostoja kolmannen osapuolen järjestelmään. Jos olet löytänyt DMZ: stä FTP-palvelimen, joka mahdollistaa anonyymin kirjautumisen tai jonka olet raa ’ asti pakottanut hydralla, voit testata FTP-palvelinta selvittääksesi, tukeeko se FTP bounce-palvelua. Voit tehdä tämän käyttämällä ftp-bounce script.

nmap –script ftp-bounce — script-args

ftp-bounce.käyttäjätunnus = anonyymi,

tämä komento käyttää Nmap-skriptiä käyttäjätunnus-ja salasana-argumenteilla FTP-palvelinta vastaan. Kun tämä skannaus on valmis, se osoittaa, onko FTP bounce mahdollista vai ei. Jos komentosarja osoittaa, että FTP bounce toimii, voit käyttää FTP-palvelinta porttiskannauksen tekemiseen muita verkon järjestelmiä vastaan. Kuva 8 havainnollistaa, miten tämä toimii.

f8

Kuva 8. FTP bounce scan

skanneri yrittää lähettää binääritietoja FTP bounce-toiminnon kautta kohdejärjestelmään määrätyssä portilla. Jos tiedot lähetetään, FTP-palvelin ilmoittaa tämän takaisin skannerille, mikä osoittaa, että kohdejärjestelmän portti on auki. Voit suorittaa FTP bounce-skannauksen käyttämällä -b – kytkintä.

nmap-b ftpuser:: 21 10.1.1.128-255

Tässä komennossa -b – funktiota käytetään ftp bounce-skannauksen suorittamiseen käyttäjätunnuksella ”ftpuser” ja salasanalla PassW0rd FTP-palvelinta vastaan klo 192.168.11.201, jota isännöi TCP-portti 21. Yllä olevassa kaaviossa kuvatut toimet suoritetaan sitten 10.1.1.128-10.1.1.255 välisenä aikana kutakin yhteistä 1000s-porttia vastaan.

haavoittuvuuden kartoitus ja hyödyntäminen NSE: llä

kun olet löytänyt live-isännät kohdeverkosta ja onnistunut luettelemaan avoimet portit ja/tai palvelut kyseisissä isännissä, voit aloittaa haavoittuvuuksien testaamisen ja hyödyntämisen. Hiljattain integroitu NSE (Nmap Scripting Engine), on olemassa useita esiladattu skriptejä, jotka tulevat standardin nmap asennus. Näillä skripteillä on laaja valikoima erilaisia toimintoja perustiedon keräämisestä (kuten kaksi, joista olemme jo keskustelleet), haavoittuvuuden kartoittamisesta, raa ’ asta pakottamisesta, palvelunestosta ja jopa etäkäytöstä. Kaikki nämä skriptit sijaitsevat nmap-asennushakemistossa. Kali-Linuxissa ne löytyvät kohdasta /usr/share/nmap/scripts/. Voit selata näitä skriptejä ja aloittaa niiden kanssa työskentelyn käyttämällä seuraavia komentoja:

cd /usr/share/nmap/scripts/

ls

cd – komento muuttaa kansion NSE-skriptien sijaintiin ja ls – komento näyttää kansion sisällön. Tämän jälkeen voit tarkastella mitä tahansa skriptejä komennolla cat, jota seuraa haluamasi skriptin nimi. Demonstraatioon käytetään ftp-vuln-cve2010-4221.nse. Voit tarkastella tämän skriptin sisältöä käyttämällä seuraavaa komentoa:

cat ftp-vuln-cve2010-4221.nse

f9

Kuva 9. NSE-komentosarjan sisältö

Kuva 9 näyttää tämän komentosarjan sisällön. Jos selaat komentosarjan sisällön yläreunaan, näet useita hyödyllisiä tietoja, jotka sisältävät komentosarjan kuvauksen, luettelon lisäresursseista viittausta varten sekä komentosarjan asianmukaisen käytön ja syntaksin. Näiden komentosarjojen lajittelu hakemistoon ja tietyn toiminnon suorittavan komentosarjan paikantaminen voi kuitenkin olla hyvin työlästä. Mielestäni tämä on, jos Zenmap (graafinen käyttöliittymä, että olimme aiemmin keskustelleet) todella paistaa läpi. Osoittaaksesi, kuinka hyödyllinen zenmap-käyttöliittymä voi olla NSE-skriptejä käytettäessä, avaa se uudelleen komentoriviltä komennolla:

zenmap

valitse sitten Profiilin pudotusvalikko ja napsauta ”uusi profiili tai Komento.”Kun Profiilieditori avautuu, valitse Scripting-välilehti näytön yläreunassa. Kuvassa 10 on kuva Zenmap-Komentosarjaliittymästä.

f10

Kuva 10. Zenmap Scripting Interface

luettelo kaikista käytettävissä olevista nmap-skripteistä sijaitsee näytön vasemmalla puolella. Voit valita minkä tahansa näistä sisällyttääksesi sen nmap-komentoosi. Jotkut skriptit vaativat argumentteja voidakseen suorittaa oikein. Post authentication-skriptit vaativat usein käyttäjätunnuksen ja salasanan tiettyihin verkkopalveluihin. Kuvassa 10 olevassa esimerkissä voidaan toimittaa argumentteja MySQL-palvelua vastaan suoritettavan brute force-hyökkäyksen määrittämiseen. Voit myös helposti siirtää komentosarjan argumentit kirjoittamalla arvot argumentit-ikkunaan. Nämä argumentit kansoitetaan automaattisesti luodussa Nmap-komennossa. Yläkeskustan ikkuna antaa kuvauksen valitusta komentosarjasta, sopivasta käytöstä ja syntaksista sekä jopa kategorioista komentosarjan toimintojen kuvaamiseksi. Nämä luokat voivat olla erityisen hyödyllisiä, jos yrität suorittaa tietyntyyppistä tehtävää, kuten haavoittuvuuden analysointia. Kun olet käynnistänyt NSE-komentosarjan nmap-komennolla, näet tulokset tavallisessa nmap-tulosteessa. Jos kyseessä on brute force skriptit, ulostulo näyttää, jos brute force hyökkäys onnistui ja, jos niin, näyttää löydetty käyttäjätunnus ja salasana. Haavoittuvaisuuskomentosarjojen tapauksessa tuloste osoittaa, onko haavoittuvuus kohdejärjestelmässä (kohdejärjestelmissä). Ja kun kyseessä on hyväksikäyttö skriptejä, ulostulo antaa tietoa hyötykuorma, joka on myöhemmin toimitettu kohdejärjestelmään.

Scripting with Nmap

Oman integroidun komentosarjamoottorin lisäksi nmap tukee myös useita tulostusvaihtoehtoja, joiden avulla on helppo käyttää perinteisiä komentosarjakieliä ulostuloanalyysin suorittamiseen. Kaksi tulostusmuotoa, joista voi olla hyötyä skriptauksessa, ovat greppable output (-oG) ja XML output (-oX). XML voi olla tehokas korkeamman tason skriptauskielissä, joissa on moduuleja, jotka voidaan tuoda XML-jäsennykseen ja greppable output voidaan käyttää yhdessä bash shell-skriptauksen kanssa Nmap-tulosten analysoinnin virtaviivaistamiseksi. Osoittaaksemme, miten tätä tulostusominaisuutta voitaisiin käyttää yhdessä skriptauksen kanssa, tarkastelemme yksinkertaista 4-rivistä bash shell-komentosarjaa, joka näkyy kuvassa 11 analysoidaksemme Nmap-skannauksen tuloksia.

f11

Kuva 11. Nmap Result Analysis bash Script

harkitse skenaariota, jossa nmap-skannaus on jo suoritettu hyvin suurta verkkoa vastaan ja skannauksen ulostulo on tallennettu greppable-muodossa networkscaniin.txt-tiedosto. Ja oletetaan, että haluamme käyttää hydraa suorittamaan raa ’ an voimahyökkäyksen kaikkia verkon FTP-palveluita vastaan, mutta emme halua tuhlata aikaa, joka tarvittaisiin koko verkon portin 21 skannaamiseen uudelleen. Tämä yksinkertainen skripti purkaa kaikki järjestelmät, joissa on määritetty portti auki. Ensimmäinen rivi pyytää käyttäjältä portin numeron. Toinen rivi määrittää käyttäjän syötteen arvon ’portti’ – muuttujalle. Kolmas rivi osoittaa käyttäjälle, että kaikki järjestelmät, joissa on kyseinen avoin portti, luetellaan. Ja lopuksi, viimeinen komento on, jossa me grep Out tulokset nmap greppable ulostulo. Skripti käyttää grep-komentoa poistaakseen kaikki rivit tulostetiedostosta, jotka viittaavat määritettyyn porttiin. Tämä sisältää rivit, jotka luettelevat jokaisen esiintymän, jossa portti on auki, suljettu tai suodatettu. Sitten, se putket että lähtö yli toiseen grep toiminto, joka poimii vain tapauksia, joissa määritetty portti on auki. Tämä ulostulo johdetaan sitten cut-funktioon, joka määrittää erottimeksi välilyöntimerkin ja lähettää sitten toisen kentän. Tekemällä tämän, meidän script sitten tulostaa IP-osoite kunkin järjestelmän, joka on määritetty portti auki. Kuva 12 näyttää komentosarjan tulosteen.

f12

Kuva 12. Nmap Result Analysis Script Output

vaikka tämä on hyvin yksinkertainen script, se osoittaa, kuinka helppoa se voi olla poimia tietoja greppable tulostusmuoto. Kun tämä kerätty tieto on hankittu, sitä voidaan helposti käyttää edelleen skriptaamiseen. Sitä voitiin käyttää lähtökohtana jonkin muun myöhemmän tehtävän suorittamiseen jokaista järjestelmää vastaan, jolla todettiin olevan tietty portti auki.

All-In-One Penetration Testing Tool

yhdistämällä sen eri ominaisuudet voidaan helposti suorittaa täydellinen penetraatiotesti pelkällä nmap: lla. Ei ole epäilystäkään siitä, että Nmap, sen vaikuttava luettelo toimintoja ja ominaisuuksia, on todella tehokas työkalu. Ja vuosien kuluessa siitä tulee todennäköisesti entistä voimakkaampi, kun yhä useammat ihmiset osallistuvat tähän hankkeeseen. Kuten lapsi isänsä aseen kanssa, nmap voi olla vaarallinen työkalu väärissä käsissä. Mutta oikein käytettynä se voi olla korvaamaton voimavara verkkoinfrastruktuurin turvallisuuden varmistamisessa. Muista siis aina käyttää sitä viisaasti ja hyvin.

tekijästä

jh

Justin Hutchens tekee tällä hetkellä verkkohaavoittuvuuden analysointia, tunkeutumisen havaitsemista ja digitaalista rikosteknistä tutkimusta suurelle yritysverkolle, jossa on yli 33 000 verkotettua järjestelmää. Hän on toiminut tietotekniikka-alalla lukuisissa eri tehtävissä muun muassa verkon suunnittelussa, järjestelmäkehityksessä, tietokantojen hallinnossa ja verkkoturvallisuudessa. Tällä hetkellä hän opettaa myös penetraatiotestausta Backtrack-ja Kali-Linux-käyttöjärjestelmillä. Hänellä on tällä hetkellä Bachelor ’ s degree in Information Technology and multiple professional certifications to include CISSP (Certified Information System Security Professional), CEH (Certified Ethical Hacker), ECSA (EC-Council Certified Security Analyst) ja CHFI (Computer Hacking Forensic Investigator).

Write a Comment

Sähköpostiosoitettasi ei julkaista.