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 http://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.