Szolgáltatás és változat érzékelés

Állítsa rá az Nmap programot egy távoli állomásra és megtudhatja, hogy a 25/tcp, 80/tcp és az 53/udp kapuk nyitottak. Az nmap-services adatbázisa alapján kb. 2200 jól ismert szolgáltatás azonosítható, így az előbb felsorolt kapuk valószínűleg egy levelező- (SMTP), web- (HTTP) és névkiszolgálóra (DNS) utalnak. Ez a lekérdezés általában pontos - az esetek jelentős részében a levelezőkiszolgálók a 25-ös TCP kapun figyelnek. Ennek ellenére nem lehet csak erre alapozni a következtetéseinket! Az emberek gyakran futtatnak megszokott szolgáltatásokat furcsa kapukon.

Még ha az Nmap helyesen is következtet és a fent említett kiszolgálók valóban SMTP, HTTP és DNS kiszolgálók, ez akkor sem túl so információ. Ha a cége vagy az ügyfelei részére felmérést készít a sebezhetőségekről (vagy csak egy egyszerű hálózati leltárt készít), szüksége lehet a működő levelező- és a DNS kiszolgáló típusára és változatszámára. A pontos változatszám ismeretében sokkal könnyebb meghatározni, hogy az adott kiszolgáló mely sérülékenységekre érzékeny. A változat érzékelés segít kideríteni ezt az információt.

Miután valamelyik letapogatási módszer felderítette az elérhető TCP és UDP kapukat, a változat érzékelő kivallatja azokat a rajtuk futó alkalmazásokról. Az nmap-service-probes adatbázis számos próbát és válaszkifejezést tartalmaz a szolgáltatások azonosításához. Az Nmap megpróbálja meghatároznia szolgáltatás protokollját (pl. FTP, SSH, telnet, http), Az alkalmazás nevét (pl. ISC BIND, Apache httpd, Solaris telnetd), a szolgáltatás változatszámát, az állomás nevét, az eszköz típusát (pl. nyomtató, útválasztó), az operációs rendszer családját (pl. Windows, Linux) és néhány kiegészítő részletet (pl. fut-e kapcsolatra váró X kiszolgáló, az SSH milyen protokollverziót használ, vagy a KaZaA felhasználói név). Természetesen a legtöbb szolgáltatás nem adja ki az összes információt. Ha az Nmap programot SSL támogatással fordították, akkor kapcsolódik az SSL kiszolgálókhoz, hogy meghatározza a titkosítási réteg mögött található szolgáltatást. Ha RPC szolgáltatást talált, a program RPC "darálója" (-sR) automatikusan megpróbálja kideríteni az RPC program típusát és változatát. Néhány UDP kapu nyitott|szűrt állapotban maradhat egy UDP letapogatás után, mivel a program nem tudja pontosan meghatározni az állapotát. A változat érzékelő megpróbál választ kicsalni ezekből a kapukból (csakúgy, mint a nyitott kapukból) és siker esetén nyitottra változtatja a kapu állapotát. A nyitott|szűrt TCP kapukat hasonló módon kezeli. Jegyezze meg, hogy az Nmap -A paramétere más dolgok mellett a változat érzékelést is engedélyezi. A változat érzékelés működéséről, használatáról és paraméterezéséről a https://nmap.org/vscan/ címen talál részletes leírást.

Ha az Nmap kap ugyan választ egy szolgáltatástól, de az adatbázis alapján nem tudja azonosítani, kinyomtat egy különleges ujjlenyomatot és egy URL-t. Ha biztos abban, hogy milyen szolgáltatás fut az adott kapun, a megadott címen az ujjlenyomat segítségével megadhatja a szolgáltatás típusát. Szánjon erre pár percet, hogy mindenki élvezhesse az Ön felfedezésének eredményét. Ezeknek az adatoknak köszönhetően az Nmap kb. 3000 mintát ismer több, mint 350 protokollhoz.

A változat érzékelés a következő paraméterekkel engedélyezhető és vezérelhető:

-sV (Változat érzékelés)

Engedélyezi a változat érzékelést az előbbiekben leírt módon. Emellett használhatja még a -A paramétert is, mely a változat érzékelés mellett más dolgokat is engedélyez.

--allports (Ne hagyjon ki egy kaput sem a változat érzékelésből)

Alapesetben az Nmap változat érzékelője átugorja a 9100/TCP kaput, mivel néhány nyomtató mindent kinyomtat, ami erre a kapura érkezik. Ez több oldal kinyomtatott http vagy SSL munkamenet kéréshez vezethet. Ez a viselkedés megváltoztatható, ha átírja vagy eltávolítja az Exclude irányelvet az nmap-service-probes fájlban, vagy ha megadja az --allports paramétert, amellyel teljesen felülbírálhatja az Exclude irányelveket.

--version-intensity <intenzitás> (Beállítja a változat érzékelés erősségi szintjét)

Amikor változat érzékelést hajt végre (-sV), az Nmap egy sor próbát hajt végre, melyek mindegyikéhez egy-egy gyakoriság érték van rendelve 1 és 9 között. Az alacsonyabb számú próbák jól használhatók az általánosan használt szolgáltatások széles skálája ellen, míg a magasabb számúak ritkábban hasznosak. Ezzel a paraméterrel megadhatja, hogy mely próbák legyenek végrehajtva. Minél magasabb a szám, annál valószínűbb, hogy a szolgáltatás azonosítása pontosan sikerül. Azonban jó tudni, hogy a magasabb intenzitás hosszabb végrehajtást is jelent. A szintnek 0 és 9 közé kell esnie, az alapérték 7. Ha egy próba az nmap-service-probes fájlban egy kapuhoz van rendelve a ports irányelv alatt, akkor ezt a próbát az intenzitás beállításától függetlenül végrehajtja a program. Ezzel biztosítható, hogy a nyitott 53-as kapukon mindig lefutnak a DNS próbák és a 443-as kapukon az SSl próbák stb.

--version-light (Tapintatos mód engedélyezése)

Ez egy kényelmesebb megnevezése a --version-intensity 2 paraméternek. Ezzel a móddal a változat érzékelés felgyorsítható, de a szolgáltatások azonosítása is bizonytalanabbá válik.

--version-all (Minden próba végrehajtása)

A --version-intensity 9 paraméter helyettesítése, mellyel minden kapun minde próbát elvégez a program.

--version-trace (A változat érzékelés nyomkövetése)

Ennek a paraméternek a hatására az Nmap bőséges hibakeresési információt nyomtat ki az éppen futó változat érzékelési próbáról. Ez egy részhalmaza a --packet-trace paraméter által visszaadott információknak.

-sR (RPC letapogatás)

Ez az eljárás az Nmap legtöbb kapuletapogatási eljárásával együtt dolgozik. Veszi az összes nyitva talált TCP/UDP kaput és elárasztja őket a SunRPC program NULL parancsaival hogy meghatározza, melyek az RPC kapuk és milyen programot futtatnak. Így pontosan ugyanazokat az információkat szerezheti meg, melyeket az rpcinfo -p paranccsal, még akkor is ha a célpont tűzfal mögött van (vagy TCP burkoló védi). Az RPC letapogatáshoz jelenleg nem használhatók csalétkek. Ez a letapogatás automatikusan lezajlik, ha a változat érzékelést (-sV) engedélyezi. Mivel a változat érzékelés tartalmazza ezt a letapogatást és sokkal átfogóbb eredményt ad, ezért a -sR paraméterre ritkán van szükség.