Egy gyors portvizsgálati bemutató

author
9 minutes, 27 seconds Read

Egy gyors portvizsgálati bemutató

Az egyik célom az Nmap fejlesztése során az volt, hogy a legáltalánosabb használatot egyszerűvé tegyem, ugyanakkor megőrizzem a rugalmasságot az egyéni és haladó vizsgálatokhoz. Ezt a parancssori felületen úgy érem el, hogy több tucatnyi opciót kínálok, de józan alapértelmezett értékeket választok, ha azok nincsenek megadva. Egy újonc kezdheti egy olyan egyszerű paranccsal, mint aznmap <target>.Eközben a haladó felhasználók néha olyan sok opciót adnak meg, hogy a terminálvonaluk körbetekeredik.

A parancsok kimeneténél is hasonló egyensúlyt kell teremteni. A legfontosabb eredményeknek még az alkalmi felhasználó számára is ki kell tűnniük, aki még a man oldalt sem olvasta el. Ugyanakkor a kimenetnek elég átfogónak és tömörnek kell lennie ahhoz, hogy megfeleljen a professzionális penetrációs tesztelőknek, akik naponta több ezer gépen futtatják az Nmapet. Azok a felhasználók, akik elég okosak ahhoz, hogy elolvassák ezt a könyvet vagy az Nmap forráskódját, nagyobb kontrollt kapnak a szkenner felett, és betekintést nyerhetnek abba, hogy mit is jelent valójában az Nmap kimenete.

Ez a bemutató bemutat néhány gyakori Nmap portvizsgálati forgatókönyvet, és elmagyarázza a kimenetet. Ahelyett, hogy megpróbálnánk átfogóvá válni, a cél egyszerűen az, hogy az új felhasználókat elég jól megismertessük ahhoz, hogy megértsék a fejezet további részét.

A legegyszerűbb Nmap parancs az nmap önmagában. Ez kiírja a gyakori Nmap-opciók és szintaxis puskát.Érdekesebb parancs az nmap<target>, amely a következőket teszi:

  1. Konvertálja a <target> parancsot egy hostnévből IPv4-címmé a DNS segítségével. Ha hostnév helyett IP-cím van megadva, ez a keresés kimarad.

  2. Pingeli a hosztot, alapértelmezés szerint egy ICMP echo request csomaggal és egy TCP ACK csomaggal a 80-as porton, annak megállapítására, hogy az működik-e. Ha nem, az Nmap jelenti ezt a tényt, és kilép. Megadhattam volna -Pn, hogy kihagyjam ezt a tesztet. Lásd a 3. fejezetet, Host Discovery (“Ping Scanning”).

  3. A cél IP-címét fordított DNS-lekérdezéssel visszaalakítja névvé. A DNS működése miatt a fordított név nem biztos, hogy megegyezik a parancssorban megadott <target> névvel. Ez a lekérdezés a -n opcióval kihagyható a sebesség és a lopakodás javítása érdekében.

  4. Elindítja a nmap-services pontban felsorolt legnépszerűbb 1000 port TCP portjának vizsgálatát. Általában SYN lopakodó vizsgálatot használ, de a connect vizsgálat helyettesíthető a nem root Unix felhasználók számára, akiknek nincsenek meg a nyers csomagok küldéséhez szükséges jogosultságaik.

  5. Az eredményeket normál, ember által olvasható formátumban kiírja a standard kimenetre, és kilép. Más kimeneti formátumok és helyek (fájlok) is megadhatók a 13. fejezetben (Nmap kimeneti formátumok) leírtak szerint. A 4.2. példa megjeleníti az eredményeket, ha a scanme.nmap.org <target>.

Példa 4.2. Egyszerű vizsgálat: nmap scanme.nmap.org

# Starting Nmap ( http://nmap.org )Nmap scan report for scanme.nmap.org (64.13.134.52)Not shown: 994 filtered portsPORT STATE SERVICE22/tcp open ssh25/tcp closed smtp53/tcp open domain70/tcp closed gopher80/tcp open http113/tcp closed authNmap done: 1 IP address (1 host up) scanned in 4.99 seconds

A 4.2. példa első kimeneti sora egyszerűen megadja az Nmap letöltésének URL-címét. Az Nmap indításának idejét és a verziószámot is meg szokták adni, bár ezeket általában eltávolították ebből a könyvből a következetesség és a sortörés elkerülése érdekében.

A következő sor megadja a cél IP-címét (ebben az esetben IPv4) és a fordított DNSnevet (más néven PTR-rekordot), ha az elérhető. Az Nmap azt ígéri, hogy megmutatja az “érdekes portokat”, bár minden beolvasott portot figyelembe vesz. Azokat a portokat, amelyeket a legérdekesebbnek tartanak, mert nyitva vannak vagy ritkán látható állapotban vannak az adotthost számára, külön-külön felsorolja. Ha sok port egyetlen nyitott állapotban van, akkor ezeket alapértelmezett állapotnak tekintjük, és egyetlen sorba gyűjtjük őket, hogy elkerüljük az eredmények felhígulását több ezer érdektelen bejegyzéssel. Ebben az esetben az Nmap megjegyzi, hogy 994 port van szűrve.

Az érdekes portok táblázata következik, és a kulcsok vizsgálatának eredményeit tartalmazza. Az oszlopok a használt opcióktól függően változnak, de ebben az esetben minden porthoz megadják a portszámot és a protokollt, az állapotot és a szervizprotokollt. A szolgáltatás itt csak egy találgatás, amelyet a nmap-services-ben található port keresésével végeztünk. A szolgáltatás unknown-ként szerepelne, ha bármelyik port neve nem lenne regisztrálva ebben a fájlban. Ezek közül a portok közül három nyitott és három zárt.

Végül az Nmap jelent néhány alapvető időzítési statisztikát, mielőtt kilép.Ezek a statisztikák a megadott célpontok száma, azok száma, amelyekről a ping vizsgálat megállapította, hogy működnek, és a teljes időigény.

Míg gyakran csak erre az egyszerű parancsra van szükség, a haladó felhasználók gyakran sokkal tovább mennek. A 4.3. példában a keresés négy opcióval módosul. -p0- arra kéri az Nmap-et, hogy minden lehetségesTCP portot vizsgáljon, -v arra kéri az Nmap-et, hogy legyen bőbeszédű,-A agresszív teszteket engedélyez, mint például a távoli operációs rendszer észlelése, a szolgáltatás/verzió észlelése és az Nmap Scripting Engine(NSE). Végül a -T4 agresszívabb időzítési politikát engedélyez a vizsgálat felgyorsítása érdekében.

Példa 4.3. Bonyolultabb: nmap -p0- -v -A -T4 scanme.nmap.org

# Starting Nmap ( http://nmap.org )Completed Ping Scan at 00:03, 0.01s elapsed (1 total hosts)Scanning scanme.nmap.org (64.13.134.52) Discovered open port 22/tcp on 64.13.134.52Discovered open port 53/tcp on 64.13.134.52Discovered open port 80/tcp on 64.13.134.52SYN Stealth Scan Timing: About 6.20% done; ETC: 00:11 (0:07:33 remaining)Completed SYN Stealth Scan at 00:10, 463.55s elapsed (65536 total ports)Completed Service scan at 00:10, 6.03s elapsed (3 services on 1 host)Initiating OS detection (try #1) against scanme.nmap.org (64.13.134.52)Initiating Traceroute at 00:1064.13.134.52: guessing hop distance at 9Completed SCRIPT ENGINE at 00:10, 4.04s elapsedHost scanme.nmap.org (64.13.134.52) appears to be up ... good.Nmap scan report for scanme.nmap.org (64.13.134.52)Not shown: 65530 filtered portsPORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 4.3 (protocol 2.0)25/tcp closed smtp53/tcp open domain ISC BIND 9.3.470/tcp closed gopher80/tcp open http Apache httpd 2.2.2 ((Fedora))|_HTML title: Go ahead and ScanMe!113/tcp closed authDevice type: general purposeRunning: Linux 2.6.XOS details: Linux 2.6.20-1 (Fedora Core 5)Uptime guess: 2.457 days (since Thu Sep 18 13:13:24 2008)TCP Sequence Prediction: Difficulty=204 (Good luck!)IP ID Sequence Generation: All zerosTRACEROUTE (using port 80/tcp)HOP RTT ADDRESS9 10.36 metro0.sv.svcolo.com (208.185.168.173)10 10.29 scanme.nmap.org (64.13.134.52)Nmap done: 1 IP address (1 host up) scanned in 477.23 seconds Raw packets sent: 131432 (5.783MB) | Rcvd: 359 (14.964KB)

A 4.3. példában az Nmap biztosan biztosította a kért szóbeliséget! Szerencsére az extraoutput könnyen érthető. Az első 13 új sor futásidejű információ, amely tudatja a felhasználóval, hogy mi történik, miközben várakozóan bámulja a terminált, jó híreket remélve. Hogy mi számít jó hírnek, az attól függ, hogy a felhasználó rendszergazda, akinek problémákat kell kijavítania, vagy pen-tesztelő, akinek jelenteni kell néhány problémát, vagy egy fekete kalapos cracker, aki megpróbálja kihasználni a problémákat. Körülbelül egy tucat hasonló sort töröltünk a rövidség kedvéért. A “felfedezett nyitott port” sorok azonnal értesítést adnak a nyitott portokról, így még a vizsgálat befejezése előtt megkezdheti azok megdöntését. A “scan timing” sor a vizsgálat befejezésének becsült idejét adja meg, így tudja, hogy tovább bámulja-e a képernyőt, vagy ebédeljen. Mivel a hálózati feltételek (késleltetés, torlódás, sávszélesség stb.) és a csomagszűrési szabályok nagyon eltérőek, ugyanazok a keresési opciók 30 másodpercig tarthatnak az egyik állomáson, míg egy másikon 45 percig. Ha az aktuális becsült időre van szüksége a keresés közben, csak nyomja meg az enter billentyűt.

A porttáblázat nem mutat új portokat. Minden további beolvasott port szűrt állapotban van, így a szűrt portok száma 994-ről 65 530-ra emelkedik. Bár nincsenek új tételes portok, a bejegyzések megváltoztak. Egy új VERSION oszlop tartalmazza az alkalmazás nevét és a hallgatott szolgáltatás verziójának adatait. Ez a -A opció által engedélyezett egyik szolgáltatásérzékelésből származik.A szolgáltatásérzékelés másik jellemzője, hogy a SERVICE oszlopban szereplő összes szolgáltatási protokollt ténylegesen ellenőrizték. Az előző vizsgálat során ezek a nmap-services portszámok keresésének viszonylag gyenge heurisztikáján alapultak.Ez a táblázatos keresés ezúttal történetesen helyes volt, de nem lesz mindig az.

A -A által hozzáadott másik funkció az NmapScripting Engine, amelyet a 9. fejezet, Nmap Scripting Engine című fejezetben tárgyalunk részletesen. Az egyetlen itt látható szkript a HTMLtitle. Több tucat más szkript létezik, de egyik sem talált hasznos kimenetet ezen a gépen. A tracerouteredményeket is a -A adta hozzá. Ez az opció hatékonyabb és erőteljesebb, mint a legtöbb traceroute program, mivel a szondák párhuzamosan kerülnek végrehajtásra, és az Nmap a szkennelési eredményeket használja a kedvező szondatípus meghatározásához (ebben az esetben TCP csomagok a 80-as portra).

A többi új sor többsége az operációs rendszer észleléséből származik (szintén a -A által engedélyezve), amelyet a 8. fejezet, Távoli operációs rendszer észlelése című fejezetben tárgyalunk részletesen. Az utolsó sor mutatja, hogy ennek a sok extrainfónak ára volt – a vizsgálat majdnem 100-szor hosszabb ideig tartott, mint a 4.2. példa, “Egyszerű vizsgálat: nmap scanme.nmap.org” (477 másodperc az 5 másodperccel szemben).

Similar Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.