2022. március 1., kedd

Ismeretlen hálózat feltérképezése

Parancsok és programok

netstat
traceroute
nslookup
ipscanner
portscanner
netdiscover(linux)
network mapper (linux)

A célpont meghatározása
Az Nmap parancssorban mindent, ami nem paraméter (vagy paraméter kiegészítés) célpont meghatározásként értelmez. Célpont meghatározása legegyszerűbben IP cím vagy állomásnév megadásával lehetséges.

Néha szükség lehet szomszédos állomások teljes hálózatának letapogatására. Ennek érdekében az Nmap támogatja a CIDR stílusú címzést. Hozzáfűzheti a ​/<numbits> paramétert az IP címhez vagy az állomásnévhez és az Nmap letapogat minden IP címet, mely a <numbits> paraméter alapján a megadott IP címmel vagy állomással egy alhálózaton található. Például a 192.168.10.0/24 címzéssel letapogatható a 192.168.10.0 (bináris: 11000000 10101000 00001010 00000000) és a 192.168.10.255 (bináris: 11000000 10101000 00001010 11111111) címek közötti 256 állomás. A 192.168.10.40/24 címzést szintén ugyanezt az eredményt adja. Megadva a scanme.nmap.org állomást az IP címe 205.217.153.62. Így a scanme.nmap.org/16 címzéssel 65,536 IP cím tapogatható le a 205.217.0.0 és a 205.217.255.255 címek között. A legkisebb megadható érték a /1, mellyel az Internet fele tapogatható le. A legnagyobb megadható érték a 32, mellyel a megadott állomás vagy IP cím tapogatható le, mivel itt a címbitek rögzítettek.

A CIDR jelölés rövid, de nem eléggé rugalmas minden esetben. Például szeretné letapogatni a 192.168.0.0/16 címtartományt, de szeretné kihagyni a 0-ra és 255-re végződő IP címeket, mivel ezek általában üzenetszórási címek. Az Nmap ezt az úgynevezett oktett tartomány címzésen keresztül biztosítja. Ahelyett, hogy hagyományos IP címeket adna meg, megadhat vesszővel elválasztott számsorozatot vagy tartományt minden egyes oktettben. Például a 192.168.0-255.1-254 címzéssel átugorhat minden olyan IP címet, melynek utolsó oktettje 0-ra vagy 255-re végződik. A tartományok nem korlátozódnak kizárólag az utolsó oktettre: a 0-255.0-255.13.37 címzéssel a teljes Internet címtérből letapogathatja azokat az állomásokat, melyeknek IP címük 13.37 -re végződik. Az ilyen nagy terjedelmű mintavétel hasznos lehet Internetes kutatásoknál és felméréseknél.

Az IPv6 címek kizárólag teljes alakjukban vagy állomásnév alakban adhatóak meg. CIDR címzés és oktett tartományok nem támogatottak az IPv6 címzésnél, mivel ezek itt ritkán hasznosak.

Az Nmap a parancssorban többféle célpont meghatározást elfogad és ezeknek nem kell azonosaknak lenniük. Az nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 parancs erre mutat egy példát.

Bár a célpontok meghatározása általában a parancssorban történik, a következő paraméterek szintén használhatóak a célpontok megadására:

-iL <fájlnév> (Bemenet listából)​
A célpontok kiválasztása a <fájlnév> által meghatározott fájlból. Nagyobb mennyiségű célpont megadása a parancssorban eléggé kényelmetlen, de mindennapos feladat. Például az Ön DHCP kiszolgálója nyilvántart 10,000 aktuális klienst, melyeket Ön mind le akar tapogatni. Vagy például le akarja tapogatni a teljes IP tartományt, kivéve a nyilvántartott címeket, hogy megtalálja azokat az állomásokat, amelyek érvénytelen statikus IP címet használnak. Egyszerűen generálja le a letapogatni kívánt állomások listáját és adja át a fájlnevet a -iL paraméteren keresztül az Nmap részére. A bejegyzések minden olyan formátumban szerepelhetnek, melyet az Nmap a parancssorán keresztül is elfogad (IP cím, állomásnév, CIDR, IPv6 vagy oktett tartomány). A bejegyzések elválasztására használhat a szóköz, a tabulátor, vagy írhat minden bejegyzést új sorba. Ha fájlnévként az elválasztójelet (-) adja meg, akkor az Nmap a célpontok adatait a standard bemenetről veszi át.

-iR <állomások száma> (Véletlen célpontok kiválasztása)​
A teljes Internetet felölelő megfigyeléseknél és más kutatásoknál szükség lehet véletlenszerű célpontok kiválasztására. Az <állomások száma> paraméterrel meghatározhatja, hogy az Nmap hány IP címet generáljon. A nemkívánatos IP címek - privát, többesküldéses vagy ki nem osztott tartományok - automatikusan kikerülnek a listából. Ha a 0 paramétert adja meg, akkor a címek generálása a végtelenségig folytatódik. Vegye figyelembe, hogy néhány rendszergazdát zavarja, ha a hálózatát felhatalmazás nélkül vizsgálja és panasszal élhet. Így ezt a paramétert kizárólag saját felelősségére használja. Ha egy esős délutánon unatkozik, próbálja ki ezt a parancsot: nmap -sS -PS80 -iR 0 -p80. Így véletlenszerűen keresgélhet eddig ismeretlen webkiszolgálók után.

--exclude <állomás1[,állomás2][,állomás3],...> (Állomások/hálózatok kihagyása)​
Azoknak a célpontoknak a vesszővel elválasztott listája, melyeket ki akar hagyni a letapogatásból, még ha tagjai is a megadott hálózati tartománynak. Az átadott lista a megszokott Nmap szintaxist követi, tehát szerepelhet benne állomásnév, CIDR tartomány, oktett tartomány stb. Ez akkor lehet hasznos, ha a letapogatni kívánt hálózat olyan kritikus kiszolgálókat vagy rendszereket tartalmaz, melyek nem várt módon reagálnak a kapuletapogatásra, illetve ha a letapogatni kívánt hálózat egy részét más valaki üzemelteti.

--excludefile <fájlnév> (A kivételek listája)​
Ez ugyanazt a funkciót valósítja meg, mint az --exclude paraméter, csak a kivételeket nem a parancssorban adja át, hanem a <fájlnév> által meghatározott fájlban. A fájl formátumára ugyanazok érvényesek, mint a célpontokat tartalmazó fájlra.

Bármilyen hálózati felderítési feladat legelső lépése, hogy a (sokszor) hatalmas IP tartományt leszűkítsük egy olyan listára, mely csak az aktív vagy érdekes állomásokat tartalmazza. Minden IP cím minden egyes kapujának letapogatása lassú és általában szükségtelen is. Természetesen hogy mi tesz egy állomást érdekessé, az nagymértékben függ a letapogatás céljától. Rendszergazdák érdeklődhetnek csak egy bizonyos szolgáltatást futtató állomások után, míg egy biztonsági ellenőrzésnél érdekes lehet minden berendezés, amelynek IP címe van. Egy rendszergazdának elegendő lehet egy ICMP visszhang alapú letapogatás, hogy felderítse a hálózatán lévő állomásokat, míg egy behatolási teszt során próbák ezreinek különféle csoportjait is be kell vetni egy tűzfal korlátozásainak megkerülésére.

Mivel a felderítési igények teljesen különbözőek, ezért az Nmap a használt technikák testreszabásához rengeteg lehetőséget kínál. Az állomás felderítést sokan egyszerűen csak PING letapogatásnak hívják, pedig ez sokkal több, mint egyszerű ICMP visszhang kérés küldése (erre kiválóan alkalmasa a széles körben elterjedt ping eszköz. A felhasználók teljesen kihagyhatják a visszahang kérést a lista alapú letapogatással (-sL), a visszhang tiltásával (-PN) vagy a hálózathoz kötött, több kapura kiterjedő TCP SYN/ACK, UDP, és ICMP próbák tetszőleges kombinációjával. Ezeknek a próbáknak a célja olyan válaszok kérése, melyek megmutatják, hogy egy adott IP cím aktív-e (használja-e valamely állomás, vagy hálózati eszköz). A legtöbb hálózaton egy megadott időben az IP címeknek csak egy kis része aktív. Ez különösen igaz az RFC1918 által meghatározott privát címekre, mint például a 10.0.0.0/8 hálózat. Ebbe a hálózatba 16 millió IP cím tartozik, mégis a legtöbbször olyan vállalatok használják, melyeknek nincs 1000-nél több gépük. Az állomás felderítéssel ezek az elszórt gépek megtalálhatók az IP címek tengerében.

Ha nincs megadva állomás felderítési paraméter, az Nmap minden egyes célpont felé elküld egy TCP ACK csomagot a 80-as kapura, valamint elküld egy ICMP visszhang kérést is. Kivételt képez, ha egy helyi ethernet hálózaton végez ARP letapogatást. Ha nem rendszergazdaként futtatja a programoz, akkor az ACK helyett egy SYN csomag kerül elküldésre a connect() rendszerhíváson keresztül. Ezek az alapértékek ugyanazok, mintha a -PA -PE paramétereket használta volna. A helyi hálózatokon ezek az állomásfelderítési próbák általában elegendőek, azonban egy biztonsági ellenőrzés során javasolt egy sokkal átfogóbb felderítést végezni.

A -P* paraméterek (melyekkel a visszhang típusok adhatók meg) kombinálhatóak. Egy szigorú tűzfalon való átjutás esélyét növelheti, ha többféle próbát indít el különböző TCP kapukra, különféle jelzőbeállításokkal és ICMP kódokkal. Figyeljen arra, hogy a helyi ethernet hálózaton lévő célpontok esetén akkor is végrehajtódik egy ARP felderítés (-PR), ha megad más -P* paramétert, mivel ez szinte minden esetben gyorsabb és sokkal hatékonyabb.

Alaphelyzeben az Nmap elvégez egy állomás felderítést és ezután kezdi el az élő állomásoikon a kapuk letapogatását. Ez akkor is igaz, ha egy nem alapértelmezett állomás felderítési módot határozott meg, mint például az UDP próbák (-PU). Olvassa el a -sP paraméter leírását, ha további információkra kiváncsi arról, hogyan hajthat végre csak állomás felderítést. Használja a -PN paramétert, ha ki akarja hagyni az állomás felderítési lépést és egyből a célpontok kapuletapogatására akar lépni. A következő paraméterekkel vezérelheti az állomások felderítését:

-sL (Lista Letapogatás)​​
A lista letapogatás az állomás felderítés legprimitívebb módja. Egyszerűen kilistázza a megadott hálózat(ok)on található állomásokat anélkül, hogy bármilyen adatcsomagot küldene. Alaphelyzeben az Nmap még ekkor is elvégez egy fordított DNS lekérdezést azért, hogy megkapja az állomások neveit. Gyakran meglepően sok információval szolgálhat egy egyszerű állomásnév is. Például az fw.chi egy vállalat Chicagoban lévő tűzfalának a neve. A lista végén az Nmap megadja az IP címek számát is. A lista letapogatással könnyen ellenőrizhető, hogy a célba vett állomásokhoz a megfeleő IP címek állnak-e rendelkezésre. Ha az állomás esetleg ismeretlen tartománynevet ad vissza, érdemes további ellenőrzést is elvégezni, nehogy véletlenül más hálózatot tapogasson le.

Mivel az alapötlet az, hogy egyszerűen nyomtassunk egy listát a célpontokról, ezért a magasabb szintű funkciók, mint például a kapuletapogatás, az operációs rendszer érzékelése vagy a visszhang letapogatás nem kombinálható ezzel a funkcióval. Ha szeretné letiltani a visszhang letapogatást mialatt magasabb szintű funkciókat használ, olvassa el a -PN paraméter leírását.

-sP (Visszhang Letapogatás)
Ezzel a paraméterrel arra utasítja az Nmap programot, hogy kizárólag​​visszhang letapogatást (állomás felderítést) hajtson végre, majd nyomtasson egy listát azokról az állomásokról, amelyek válaszoltak a letapogatásra. Semmilyen további teszt (mint például kapuletapogatás, vagy operációs rendszer felderítése) nem kerül végrehajtásra. Ez a lépés némileg tolakodóbb, mint a lista letapogatás és gyakran ugyanolyan céllal használják. Ez lehetőséget biztosít a célhálózat finom felderítésére anélkül, hogy túlságosan felkeltené a figyelmet. Egy támadó számára sokkal hasznosabb azt tudni, hogy hány élő állomás van a célhálózatban, mint a lista letapogatás által visszaadott állomásneveknevek és IP címek halmaza.

A rendszergazdák szintén hasznosnak fogják találni ezt a paramétert. Egyszerűen felderíthető vele a hálózatban elérhető állomások száma vagy ellenőrizhető egy kiszolgáló elérhetősége. Gyakran nevezik ezt a funkciót visszhang pásztázásnak is és sokkal megbízhatóbb, mint az üzenetszórási címre küldött viszhang kérés, mivel sok állomás nem válaszol az üzenetszórási címre küldött kérésre.

Az -sP paraméter alapesetben egy ICMP visszhang kérést küld, valamint egy TCP csomagot a 80-as kapura. Ha a parancsot nem rendszergazdaként adjuk ki, csak egy SYN csomag kerül elküldésre (a connect() rendszerhívásonkeresztül) a célállomás 80-as kapujára. Ha rendszergazdaként a helyi hálózaton próbál állomásokat letapogatni, akkor egy ARP kérés (-PR) kerül elküldésres, hacsak nem adja meg a --send-ip paramétert. A nagyobb rugalmasság érdekében az -sP paraméter kombinálható bármelyik felderítési próbával (-P* paraméterek, kivéve a -PN paramétert). Ha ezeket a próbatípusokat használja, akkor az alapértelemzett próbák (ACK csomag és visszhang kérés) kimaradnak. Ha az Nmap programot futtató gép és a célállomás között szigorú szabályokkal működő tűzfal találhat, akkor ezeknek a fejlett technikáknak az alkalmazása mindenképpen ajánlott. Máskülönben kimaradhatnak állomások, ha a tűzfal eldobálja a próbákat, vagy a célállomások válaszait.

-PN (Nincs visszhang)​
Ezzel a paraméterrel az Nmap állomás felderítési lépése teljesen elhagyható. Normál esetben az Nmap ezt a lépést használja az aktív állomások meghatározására a további letapogatás előtt. Alapesetben az Nmap az erőteljesebb próbákat (kapuk letapogatása, változat érzékelés, operációs rebdszer érzékelése) csak azokon az állomásokon hajtja végre, amelyeket aktívnak érzékelt. Ha a -PN paraméterrel letiltja a felderítési funkciót, az Nmap valamennyi megadott célpont IP címén végrehajtja a kért letapogatási műveleteket. Tehát ha egy B osztályú címtartományt adott meg célpontként (/16), akkor mind a 65,536 IP cím letapogatásra kerül. Csakúgy, mint a lista letapogatásnál, a megfelelő állomás felderítési lépés kimarad, viszont a célpontok listájának kinyomtatása és a kilépés helyett az Nmap folytatja a kért műveletek végrehajtását és feltételezi, hogy valamennyi célpont aktív. A helyi ethernet hálózaton lévő gépeken az ARP letapogatás ekkor is végrehajtásra kerül (hacsak a --send-ip paramétert meg nem adja), mivel a további letapogatásokhoz az Nmap-nek szüksége van a MAC címre. Ennek a paraméternek a régi meghatározása a P0 volt, de átnevezésre került, hogy megakadályozható legyen a protokoll visszhang PO paraméterével való keveredése.

-PS [kapulista] (TCP SYN visszhang)​​
Ez a paraméter egy beállított SYN zászlójú üres TCP csomagot küld a célpont felé. Az alapértelmezett célkapu a 80-as (ez fordítási időben megváltoztatható az nmap.h) fájlban a DEFAULT_TCP_PROBE_PORT_SPEC paraméterrel. Futásidőben is megadható más célkapu paraméterként. A szintaxis ugyanaz, mint a -p paraméternél, kivéve hogy a kaputípus megadása - mint például a T: - nem engedélyezett. Néhány példa: -PS22 és -PS22-25,80,113,1050,35000. Figyeljen arra, hogy a -PS paraméter és a kapulista között nem lehet szóköz. Ha több kaput is megadott, a próbák párhuzamosan kerülnek végrehajtásra.

A beállított SYN zászló azt sugallja a célpontnak, hogy Ön kapcsolatot kíván kezdeményezni. Normál helyzetben a célkapu zárva lesz és a célpont egy RST (reset) csomagot küld vissza. Ha a kapu nyitva van, a célpont végrehajtja a 3 lépéses kapcsolatfelépítés második lépését és egy SYN/ACK TCP csomagot küld vissza. Ezután az Nmap-et futtató állomás egy RST csomag küldésével lebontja az éppen felépülő kapcsolatot ahelyett, hogy egy ACK csomag küldésével teljesen felépítené a kapcsolatot. Az RST csomagot nem az Nmap küldi, hanem a programot futtató állomás rendszermagja, válaszul a nem várt SYN/ACK csomagra.

Az Nmap nem foglalkozik azzal, hogy a kapu nyitott vagy zárt. Mind az RST mind a SYN/ACK válasz azt jelzi, hogy a célállomás elérhető és válaszol.

Unix rendszereken kizárólag a kiemelt root felhasználó képes nyers TCP csomagok küldésre és fogadására. Normál felhasználók esetén egy kerülő megoldást alkalmazunk a connect() rendszerhívás használatakor, minden egyes kapu esetén. Ennek során egy kapcsolat felépítését kezdeményező SYN csomagot küldünk a célpont felé. Ha a connect() sikeresen vagy az ECONNREFUSED hibával tér vissza, akkor az alsóbb TCP verem vagy SYN/ACK vagy RST csomagot fogadott. Ilyenkor a célállomás elérhetőnek lesz jelölve. Ha a kapcsolódási kísérlet az időzítés lejártáig függőben marad, a célállomás elérhetetlenként lesz jelölve. Ugyanez a kerülőút kerül alkalmazásra az IPv6 kapcsolatok esetén is, mivel jelenleg az Nmap nem rendelkezik nyers IPv6 csomagok összeállításának képességével.

-PA [kapulista] (TCP ACK Visszhang)​​
A TCP ACK visszhang próba meglehetősen hasonlít az előzőekben tárgyalt SYN visszhang próbához. A különbség annyi, hogy a SYN zászló helyett az ACK zászló a beállított állapotú. Az ACK csomag jelzi, hogy a csomagot küldő fél készen áll az adatok fogadására a felépített kapcsolaton keresztül. Azonban jelen esetben nincs ilyen létező kapcsolat. A célállomások ilyenkor szinte minden esetben egy RST csomagot küldenek, felfedvén ezzel a jelenlétüket.

A -PA paraméter a SYN próbához hasonlóan ugyanazt az alapértelmezett kaput használja és ugyanolyan formátumban adható át neki más célkapuk listája is. Ha nem kiemelt felhasználó próbálja használni ezt a funkciót, vagy a célpont IPv6 formátumú, akkor az előzőekben már tárgyalt kerülőút kerül alkalmazásra. Azonban jelen esetben ez nem tökéletes, mivel a connect() valójában SYN csomagot küld, nem ACK csomagot.

Azért található meg mind a SYN, mind az ACK próba, hogy a lehető legjobban megnöveljük az esélyét a tűzfalak megkerülésének. A legtöbb rendszergazda úgy állítja be az útválasztóit és más egyszerű tűzfalait, hogy a nyilvános szolgáltatások felé tartó forgalom (pl. céges web- vagy levelező kiszolgáló) kivételével minden bejövő SYN csomagot dobjon el. Ez megakadályozza a bejövő forgalmat a céges hálózatba, viszont a felhasználók részére zavartalan kimenő forgalmat biztosít az Internet felé. Ez a nem-állapottartó megközelítés kevesebb erőforrást igényel a tűzfalakon/útválasztókon és széles körben támogatott. A Linux Netfilter/iptables tűzfalprogramja a --syn paraméteren keresztül valósítja meg ezt a nem-állapottartó működést. Az ilyen állapot nélküli tűzfalszabályok a SYN visszhang próbákat (-PS) nagy valószínűséggel elutasítják, ha azok zárt kaput céloznak. Ilyenkor az ACK próba sikeresen vágja át magát ezeken a szabályokon.

Más általánosan használt tűzfalak állapottartó szabályok használatával utasítják el a nem várt csomagokat. Kezdetben ez a jellemző csak a felső kategóriás tűzfalakban volt megtalálható, de az utóbbi években egyre inkább elterjed az alsóbb kategóriákban is. A Linux Netfilter/iptables rendszere a --state paraméteren keresztül valósítja ezt meg, melyben a csomagokat a kapcsolat állapota alapján kategorizálja. Az ilyen rendszerek ellen a SYN próbák hatásosabbak, mivel a nem várt ACK csomagokat hamisnak tekintik és eldobják. Ezt a zavart úgy lehet elhárítani, ha mind a SYN, mind ACK próbát végrehajtjuk a -PS és -PA paraméterek megadásával.

-PU [kapulista] (UDP Visszhang)​​
Egy újabb állomás felderítési módszer az UDP visszhang próba, mely során egy üres (hacsak nem adja meg a --data-length paramétert) UDP csomagot küldünk a megadott kapu felé. A kapulista formátuma megegyezik az előző pontokban tárgyalt -PS és -PA paraméterekével. Ha nem adunk meg kaput, akkor alapértelmezettként a 31338-as kapu kerül használatra. Ez fordítási időben megváltoztatható az nmap.h állomány DEFAULT_UDP_PROBE_PORT_SPEC paraméterén keresztül. Ennél a letapogatásnál nem kifejezetten jó, ha egy nyitott kapuval próbálkozunk, ezért választunk egy magas számú, nagy valószínűséggel nem használt kaput.

Ha a célponton egy zárt kaput tapogatunk le az UDP próbával, a célállomásból kicsalhatunk egy kapu nem elérhető (port unreachable) ICMP válaszcsomagot. Ez jelzi az Nmap-nek, hogy a célpont él és elérhető. Bármilyen más ICMP hibaüzenet (pl. állomás/hálózat nem elérhető, TTL élettartam lejárt) azt jelzi, hogy a célállomás nem érhető el. A válasz hiányát szintén így értelmezi a program. Ha nyitott kaput érünk el, a legtöbb szolgáltatás figyelmen kívül hagyja az üres csomagot és nem küld vissza semmilyen választ. Ezért használjuk alapértelmezésként a 31338-as kaput, melyet nagy valószínűséggel nem használ semmi. Néhány szolgáltatás, mint például a chargen válaszol az üres csomagokra is, mely így szintén azt jelzi, hogy a célpont elérhető.

A legfőbb előnye ennek a letapogatásnak, hogy megkerüli azokat a szűrőket és útválasztókat, melyek kizárólag a TCP forgalmat figyelik. Például a program készítőjének volt egy Linksys BEFW11S4 vezeték nélküli útválasztója, mely a külső csatolóján az összes TCP kaput szűrte. Azonban az UDP próbák ellen védtelen volt.

-PE; -PP; -PM (ICMP Visszhang Típusok)​​​​
Az előzőekben tárgyalt szokatlan TCP és UDP állomás felderítési típusok mellett az Nmap képes a széles körben elterjedt ping program által használt csomagok küldésére is. Az Nmap egy 8-as típusú (visszhang kérés) ICMP csomagot küld a cél IP címre és egy 0-ás típusú (visszhang válasz) csomagot vár vissza az elérhető állomásoktól. A hálózati felderítők bánatára a legtöbb állomás és tűzfal blokkolja ezeket a csomagokat ahelyett, hogy az RFC 1122 leírás szerint válaszolna rájuk. Emiatt a kizárólag ICMP alapú letapogatások ritkán adnak megbízható eredményt ismeretlen célpontok felderítésekor. Azonban belső hálózatokat felügyelő rendszergazdák számára praktikus és hasznos eszköz lehet. Használja a -PE paramétert a visszhang kérés engedélyezésére.

Noha a visszhang kérés a szabványos ICMP kérés, az Nmap ennél tovább megy. Az ICMP szabvány (RFC 792) emellett meghatároz még időbélyeg kérést (13-as kód), információ kérést (15-ös kód) és címmaszk kérést (17-es kód) is. Noha látszólag ezek a kérések arra szolgálnak, hogy információkat szerezzünk (például címmaszk vagy időbélyeg), de emellett könnyen használhatóak állomások felderítésére is. Amelyik rendszer válaszol az élő és elérhető. Az Nmap jelenleg nem támogatja az információ kérés csomagot, mivel ezt nem támogatják széles körben. Az RFC 1122 ragaszkodik ahhoz, hogy „az állomásoknak nem kellene támogatniuk ezeket az üzeneteket”. Az időbélyeg és a címmaszk kérések a -PP és a -PM paramétereken keresztül küldhetőek el. Az időbélyeg válasz (14-es ICMP kód) vagy a címmaszk válasz (18-as kód) elárulja, hogy az állomás elérhető. Ezek a kérések különösen akkor válnak értékessé, ha a rendszergazda letiltotta a visszhang kéréseket, miközben elfelejtett, hogy más ICMP kérések is használhatóak erre a célra.

-PO [protokollista] (IP Protokoll Visszhang)​​
Egy másik állomás federítési módszer az IPProto visszhang, amely az IP fejléc protokoll mezőjében megadott típusú IP csomagokat küld el. A protokoll lista ugyanolyan formátumú, mint az előzőekben tárgyal TCP és UDP felderítési paramétereknél használ kapulista. Ha nincs megadva protokoll, akkor alapértelmezettként ICMP (1-es protokoll), IGMP (2-es protokoll és IP-in-IP (4-es protokoll) csomagok lesznek elküldve. Az alapértelmezett protokollok fordítási időben adhatók meg az nmap.h állomány DEFAULT_PROTO_PROBE_PORT_SPEC változójában. Figyeljen arra, hogy az ICMP, IGMP, TCP (6-os protokoll és UDP (17-es protokoll) protokollok esetén a csomagok további fejlécekkel kerülnek elküldésre, míg más protokolloknál az IP fejléc mögött más adat nem kerül elküldésre (kivéve, ha a --data-length paramétert is megadta).

Ez a felderítési metódus kétféle választ vár. Vagy az elküldött protokollnak megfelelő válasz érkezik, vagy egy 'Protocol Unreachable' ICMP üzenet, mely szerint az állomás nem támogatja az adott protokollt (mellyel el is árulta a létezését).

-PR (ARP Visszhang)​​
Az Nmap egyik leggyakoribb használata a helyi ethernet hálózat letapogatása. A legtöbb helyi hálózaton, különösen melyek az áldott RFC1918 alapú privát címtartományt használják, az IP címek legnagyobb része általában nincs használatban. Amikor az Nmap nyers IP csomagot próbál küldeni (például egy ICMP visszhang kérést), az operációs rendszernek meg kell határoznia a célpont IP címe alapján a hardvercímet (ARP) azért, hogy az ethernet keretet megfelelően tudja címezni. Ez gyakran lassú és problémás, mivel az operációs rendszereket nem úgy tervezik, hogy rövid ídő alatt több millió ARP kérést küldjenek el elérhetetlen állomások felé.

Az ARP letapogatásnál az ARP kéréseket az Nmap program kifinomult algoritmusára bízzuk. Ha itt válasz érkezik, akkor már nem szükséges az IP alapú visszhang kérésekkel foglalkozni, mivel a célpont elérhető. Ezért az ARP letapogatás sokkal gyorsabb és megbízhatóbb, mint az IP alapú letapogatások. Ezért ezt a letapogatást az Nmap alaphelyzetben elvégzi, ha úgy érzékeli, hogy a célpont a helyi ethernet hálózaton található. A helyi hálózaton az Nmap még akkor is az ARP letapogatást fogja végrehajtani, ha más visszhang alapú letapogatást adtunk meg (mint például a -PE vagy a -PS). Ha egyáltalán nem kívánja használni az ARP letapogatást, adja meg a --send-ip paramétert.

--traceroute (Útvonal nyomkövetése az állomáshoz)​​
Az útvonal nyomkövetése a letapogatás után történik meg, a letapogatás eredményének figyelembe vételével. A nyomkövetéshez a célponton elérhető kapuk és protokollok közül azok lesznek felhasználva, melyekkel a célpont nagy valószínűséggel elérhető. A nyomkövetés a kapcsolódási letapogatás (connect (-sT)) és az üresjárati letapogatás (idle (-sI)) kivételével minden letapogatási típussal működőképes. Minden nyomkövetés az Nmap dinamikus időzítési modelljét használja és párhuzamosan kérül végrehajtásra.

A nyomkövetéskor a csomagokat alacsony élettartam (time-to-live (TTL)) értékkel küldjük el, hogy az útvonalon lévő közbenső állomásokból az Időzítés letelt (Time Exceeded) ICMP hibaüzenetet tudjunk kicsalni. Alapesetben a nyomkövetésnél TTL=1 értékkel kezdünk és addig növeljük a TTL értékét, amíg el nem érjük a célállomást. Az Nmap nyomkövetése magas TTL értékkel indít és egészen nuuláig csökken. A visszafelé történő kereséssel és egy ügyes gyorstároló algoritmussal az Nmap felgyorsítja a több állomáson keresztül végzett nyomkövetést. Átlagban az Nmap 5-10 csomaggal kevesebbet küld el állomásonként, de ez nagyban függ a hálózat állapotától. Ha csak egy alhálózat letapogatása történik (pl. 192.168.0.0/24), az Nmap a legtöbb állomáshoz valószínűleg csak egy csomagot küld.

--reason (Állomás- és kapuállapot oka)​​
Megjeleníti, hogy az egyes állomások és kapuk miért lettek a megadott állapotúnak jelölve. Ez a paraméter megjeleníti annak a csomagnak a típusát, amely az állomás vagy kapu állapotát meghatározta. Például egy RST csomag egy zárt kapuról vagy egy visszhang válasz egy működő állomásról. Az Nmap által szolgáltatott információk a letapogatás vagy a visszhang típusától függenek. A SYN letapogatás és a SYN visszhang (-sS és -PT) eredményei például nagyon részletesek, míg a TCP kapcsolódási letapogatás és visszhang (-sT) eredményei korlátozottak a connect rendszerhívás megvalósítása miatt. Ezt a jellemzőt a hibakeresési paraméter (-d) automatikusan engedélyezi. Az eredmények egy XML fájlban tárolódnak akkor is, ha ezt a paramétert nem adja meg.

-n (Nincs DNS feloldás)​
Utasítja az Nmap programot, hogy soha ne végezzen fordított DNS feloldást az aktívnak talált IP címeken. Mivel a DNS még az Nmap beépített párhuzamos DNS feloldójával is lassú lehet, ennek a paraméternek a megadása felgyorsíthatja a letapogatást.

-R (DNS feloldás minden célpontra)​
Utasítja az Nmap programot, hogy mindig végezzen fordított DNS feloldást a célpontok IP címeire. Normál helyzetben csak az elérhető (online) állomásokon történik fordított DNS feloldás.

--system-dns (Használja a rendszer DNS feloldóját)​
Alaphelyzetben az Nmap a névfeloldást maga végzi úgy, hogy a rendszeren beállított névkiszolgáló felé közvetlenül küldi el a kéréseket és vár a válaszra. A teljesítmény javítása érdekében több kérés kerül elküldésre párhuzamosan (gyakran többszáz). A rendszer DNS feloldójának használatához adja meg ezt a paramétert (egyszerre egy IP a getnameinfo() rendszerhíváson keresztül). Ez sokkal lassabb és ritkán hasznos, kivéve ha valamilyen hibát talál az Nmap párhuzamos feloldójában (kérjük jelezze, ha így van). Az IPv6 letapogatásokhoz mindig a rendszer feloldóját használja a program.

--dns-servers <server1[,server2],...> (A fordított DNS feloldáshoz használt kiszolgálók)​
Alaphelyzetben az Nmap a DNS kiszolgálók adatait a resolv.conf fájlból (UNIX) vagy a regisztrációs adatbázisból (Windows) próbálja meg kinyerni. Ezzel a paraméterrel Ön más kiszolgálókat is megadhat. A program nem veszi figyelembe ezt a paramétert, ha a --system-dns paramétert használja, vagy IPv6 letapogatást hajt végre. Több DNS kiszolgáló használat gyakran felgyorsítja a feloldást, különösen ha a célpont IP tartományának meghatalmazott kiszolgálóját használja. Ezzel a paraméterrel fokozható a rejtőzködés is, mivel a kérések tküldhetők több rekurzív DNS kiszolgálón is.

Szintén hasznos lehet ez a paraméter a magánhálózatok letapogatásakor. Néha csak néhány névkiszolgáló ad vissza megfelelő fordított DNS információkat és nem mindig tudhatja, hogy ezek hol vannak. Letapogathatja a hálózatot az 53-as kapura keresve (esetleg változat érzékeléssel együtt), ezután kipróbálhatja a lista alapú letapogatást (-sL) egyesével megadva a névkiszolgálókat a --dns-servers paraméterben addig, amíg meg nem találja a megfelelőt.

Bár az Nmap funkciói folyamatosan bővültek az évek folyamán, kezdetben még csak egy hatékony kapuletapogató volt és ez is maradt a fő funkciója. Az egyszerű nmap <célpont> parancs kiadásával több, mint 1660 TCP kaput tapogathatunk le a <célpont> gépen. Míg a legtöbb kapuletapogató hagyományosan csak nyitott vagy zárt csoportba sorolja a kapukat, az Nmap sokkal finomabban dolgozik. A kapukat hat csoportba sorolja: nyitott, zárt, szűrt, szűretlen, nyitott|szűrt, vagy zárt|szűrt.

Ezek nem a kapu valódi állapotát jelzik, hanem azt, hogy az Nmap hogyan látja őket. Például a célponttal egyező hálózatból induló Nmap letapogatás mutathatja a 135/tcp kaput nyitottnak, míg ugyanabban az időben, ugyanolyan paraméterekkel az Internet felől a letapogatás mutathatja a kaput szűrt állapotúnak.

Az Nmap által felimert hat kapuállapot
nyitott
Egy alkalmazás ezen a kapun aktívan fogadja a TCP kapcsolatokat vagy az UDP csomagokat. A kapuletapogatás elsődleges célja ezeknek a felderítése. Biztonság-tudatos emberek tudják, hogy minden nyitott kapu sugárút egy támadáshoz. A támadók és a tesztelők szeretnék kihasználni ezeket a nyitott kapukat, míg a rendszergazdák megpróbálják lezárni, vagy tűzfallal védeni őket anélkül, hogy a jogosult felhasználókat akadályoznák a használatban. A nyitott kapuk nem csak biztonsági szempontból lehetnek érdekesek, mivel valamilyen hálózaton keresztül elérhető szolgáltatást mutatnak.

zárt
Egy zárt kapu elérhető (fogadja az Nmap próbacsomagjait és válaszol rájuk), de nem fut rajta semmilyen alkalmazás. Segítséget nyújtanak annak meghatározásában, hogy az IP címhez tartozó állomás működik (állomás felderítés, vagy visszhang letapogatás), valamint felhasználhatók az operációs rendszer meghatározására is. Mivel a zárt kapuk elérhetők, érdemes lehet őket később ismét letapogatni, hátha menet közben nyitottá válnak. A rendszergazdáknak érdemes figyelni arra, hogy az ilyen kapukat tűzfallal blokkolják. Ezután ezek a kapuk szűrt állapotot fognak mutatni, ahogy azt a következő rész is mutatja.

szűrt
Az Nmap nem tudja meghatározni, hogy a kapu nyitott-e, mert egy csomagszűrő megakadályozza, hogy a próbák eljussanak a kapuig. A szűrés történhet külön tűzfallal, útválasztó szabályokkal vagy az állomásra telepített tűzfal programmal. Ezek a kapuk zavarják a támadókat, mivel nagyon kevés információt közölnek. Néhány esetben visszaküldhetnek ICMP hibaüzeneteket (pl. ICMP 3-as típus 13-as kód: a célpont nem érhető el, a kommunikáció tiltott), de a legáltalánosabb, hogy a szűrők egyszerűen eldobálják a próbacsomagokat. Ez arra készteti az Nmap programot, hogy néhányszor újra megpróbálja a kapcsolódást, hogy kiszűrhetőek legyenek a hálózati hiba miatti csomagvesztések. Ez viszont drámai módon lelassítja a letapogatást.

szűretlen
A szűretlen állapot azt jelenti, hogy a kapu elérhető, de az Nmap nem tudja meghatározni, hogy zárt vagy nyitott. Csak a tűzfal szabályok feltérképezésére használt ACK letapogatás sorolja a kapukat ebbe a csoportba. A szűretlen kapuk ismételt letapogatása más módszerekkel (pl. Window, SYN vagy FIN letapogatás) segíthet a kapu állapotának pontosabb meghatározásában.

nyitott|szűrt
Az Nmap akkor sorolja a kapukat ebbe a csoportba, ha nem tudja meghatározni, hogy nyitott vagy szűrt. Ez olyan letapogatási típusoknál fordul elő, amelynél a nyitott kapu nem ad választ. A válasz hiánya jelentheti azt is, hogy egy csomagszűrő eldobta a próbacsomagot vagy a visszaadott választ. Így az Nmap nem tudja bioztosan meghatározni, hogy a kapu nyitott vagy szűrt. Az UDP, az IP protokoll, a FIN, a Null és az Xmas letapogatás minősíti így a kapukat.

zárt|szűrt
Ezt az állapotot akkor adja vissza az Nmap, amikor nem tudja meghatározni, hogy a kapu zárt vagy szűrt állapotú. Csak az IP ID üresjárati letapogatásnál használt.

Hálózati felfedezés a Windows operációs rendszer egy hálózati beállítás, amellyel beállíthatja, hogy a hálózat többi számítógépe meg tudja-e jeleníteni a számítógépet, vagy hogy a számítógép megtalálja-e a számítógépen más számítógépeket és eszközöket. Ha a Network Discovery engedélyezve van, a fájlok és nyomtatók hálózaton keresztüli megosztása könnyebbé válik.

Ha emlékeznék arra, amikor először csatlakozott a Windows PC bármely hálózatához, megkérdezték volna, hogy ez egy privát, nyilvános vagy egy domain bázishálózat volt-e.

A hálózati felfedezés engedélyezése vagy letiltása!

Ha önálló PC-t használ, lehet, hogy letiltja a Hálózati felfedezést, mivel nem lesz használva. A Hálózati felderítés funkciót a Windows 10-es beállításai vagy a Vezérlőpult vagy a Windows 10/8/7-es verziójú parancsok segítségével kapcsolhatja ki. Lássuk, hogyan kell csinálni.

https://nmap.org/man/hu/man-port-scanning-techniques.html
https://szit.hu/doku.php?id=oktatas:halozat:halozat_felderitese

Nincsenek megjegyzések:

Megjegyzés küldése