You are on page 1of 4

Üzemeltetés

A kismalac és a farkasok – Az nmap használata

C
ikkemben megpróbálom rendszerkapukat, ahol csak rendszer- Legegyszerûbb példa erre TCP portok
a teljesség igénye nélkül, gazdai jogosultságú folyamatok mû- estében a telnet program, amivel min-
de a lehetõségek legszélesebb ködhetnek, az 1024-49151-ig terjedõ den egyes portra csatlakozva ellen-
skáláját érintve bemutatni az nmap skálát, ami a nem rendszergazdai õrizhetjük, fut-e azon valamilyen
(Network Mapper) programot, vagyis jogokkal bíró folyamatok kapuit tartal- szolgáltatás. Beláthatjuk, hogy ez
egy olyan népszerû és sokat próbált mazza, és az ezen felüli ún. magánka- nem egy kényelmes és fejlett módja
hálózati eszközt, melynek rendszeres pukat, amiken azok a szolgáltatások a felderítésnek.
és szakszerû használatával jelentõsen futnak, melyek nem kapcsolódnak Itt jön a képbe Fjodor és az általa írt
növelhetjük hálózatba kötött számító- az internethez. A TCP és az UDP nmap  http://insecure.org/nmap/
gépeink biztonságát. protokollhoz külön-külön 65536 pásztázó. Az nmap három különbö-
Egyesek szerint a rendszergazdákkal port érhetõ el, így elõfordulhat, hogy zõ fázisban gyûjt információt
szemben a hackerek egyik legnagyobb ugyanazon a számú kapun szolgáltat a célrendszerrõl:
elõnye az, hogy õk 24 órában tevé- egy TCP és egy UDP folyamat.
kenykednek, s így mindig lépéselõny- Szót kell még ejteni a hivatalos port- • Kiszolgáló felderítése (host scan):
ben vannak. Ezen lépéselõny leküzdé- hozzárendelésekrõl, melyeket Linux A hálózatban elérhetõ számítógé-
sére a rendszergazdák a hackerek rendszereken a /etc/services állomány pek felderítése.
által használt eszközöket vetik be saját tartalmaz. A lényege, hogy egy adott • Kapupásztázás (port scan): Egy
hálózataik ellen, hogy kiderítsék, számú TCP vagy UDP kapun minden adott számítógépen futó szolgálta-
milyen sebezhetõségre lelhet rá egy rendszeren ugyanaz a szolgáltatás fut. tások és azok verzióinak felderítése.
betolakodó, amíg õk otthon éppen Például a 23-as TCP porton a telnet • Operációs rendszer ujjlenyomat
a legédesebb álmukat alusszák. szolgáltatás érhetõ el. Ami miatt ez általi azonosítása (OS scan): Egy
Ehhez a rendszerellenõrzéshez jelen- nem egy szabvány, az az, hogy egy adott számítógépen futó operációs
leg az egyik legalkalmasabb eszköz az szolgáltatást könnyen áthelyezhetünk rendszer felderítése.

Az nmap beszerzése és telepítése


nmap pásztázó (portscanner), ami el- egy másik kapura. Ezért ha azt látjuk,
lenõrzi, hogy egy adott számítógépen hogy egy számítógépen nyitott a 23-as
mely portok vannak nyitva, azokon kapu, azaz lehet rá csatlakozni, még Az nmap népszerûségének köszön-
milyen, és hányas verziószámú szol- nem biztos, csak valószínû, hogy hetõen minden Linux terjesztésnek
gáltatások üzemelnek, valamint azt egy telnet démon használja. a részét képezi. Ezenkívül elérhetõ
milyen operációs rendszer fut rajta. A számítógép egy másikhoz történõ még Windows, Free/Open/NetBSD,
Ezek alapján talán már érthetõ, kapcsolódásakor forrás- és célkapukat MacOS X, Solaris, Amiga és HP-UX
miért elengedhetetlen az ismerete. használ. A célkapu az elõbb említett rendszerekre is. Linux alatt

Mik azok a portok?


némileg szabványos port-hozzárende- a legegyszerûbben az általunk
lések közül az egyik, amin egy szol- használt disztribúció csomagkezelõ-
Mielõtt elmélyülnénk a program adta gáltatást szeretnénk elérni. A forráska- jével telepíthetjük. Ha a legfrissebb
lehetõségekben, tegyünk egy rövid pu – ahonnan a kapcsolatot kezdemé- stabil változatot szeretnénk használ-
hálózatelméleti kitekintést. A portok nyezzük – sorszáma elõre nem meg- ni, töltsük le a forrást
vagy kapuk lehetõvé teszik, hogy egy határozott, alkalmazásfüggõ, amit a  http://insecure.org/nmap/
adott IP címmel rendelkezõ számító- a rendszer dinamikusan oszt ki. download.html oldalról, majd

Mit jelent a kapupásztázás?


gépen egyszerre több különbözõ szol- a kicsomagolás után a forráskód
gáltatást is el lehessen érni. Minden könyvtárába lépve a
démon és program, ami hálózati kap- A kapupásztázás leegyszerûsítve
csolatokat használ, legyen az TCP annyit tesz, hogy megpróbálunk ./configure
vagy UDP kapcsolat, portokon keresz- a célgép minden egyes portjára make
tül kommunikál a hálózaton. A kapu- csatlakozni. Ha sikerrel járunk, el- su root
számok 1-tõl 65536-ig terjednek. Ezen könyvelhetjük, hogy a port nyitott, make install
belül három csoportot lehet megkü- sikertelen csatlakozás esetén pedig
lönböztetni, az 1-1023-ig terjedõ ún. azt, hogy a vizsgált kapu zárva van. parancsokkal telepítjük.

69
Üzemeltetés

A grafikus felület kedvelõire gondolva Kiszolgáló felderítése


az nmap rendelkezik grafikus kezelõ- -sP (Ping scan): Végigpingeli
1. Lista Egyszerû kapupásztázás

felülettel is, de mivel ez nem tartalmaz azoknak a számítógépeknek
annyi lehetõséget és nem olyan fino- a listáját, amit megadunk neki, pingelés nélkül
man hangolható, mint parancssorból, ezáltal kideríthetõ, melyek
ezért itt csak megemlítjük a létezését. a hálózaton aktuálisan elérhetõ csaba@lcs:~$ nmap -sT -P0
Az nmap nem rendelkezik konfigurá- gépek.  scanme.nmap.org
ciós fájllal, minden opciót parancssori • -P0 (P nulla): A kapupásztázást
kapcsolók segítségével adhatunk meg. nem elõzi meg az aktivitást Starting Nmap 4.20
Mivel a program nagyrészt nyers cso- ellenõrzõ ping. Akkor hasznos,  ( http://insecure.org ) at
magokat küld a hálózatra, futtatásá- ha tudjuk, hogy a célszámítógép  2006-12-28 18:08 CET
hoz több esetben rendszergazdai üzemel, illetve ha az úgy van Interesting ports on
hozzáférésre lesz szükségünk. Most „tanítva”, hogy ne válaszoljon  scanme.nmap.org
pedig a három fõ pásztázási fázist a ping-re. Az nmap ezzel  (205.217.153.62):
áttekintve ismerkedjünk meg a prog- a kapcsolóval minden eset- Not shown: 1691 filtered
ramban rejlõ lehetõségekkel. ben megpróbálja pásztázni  ports
Pataméterezésének az alaplogikája az adott gépet. PORT STATE SERVICE
a következõ: • -PS <portlista> (TCP SYN 22/tcp open ssh
Ping): SYN jelzõbittel ellátott 25/tcp closed smtp
nmap [Pásztázás típusa(i)] csomagot küld a gép adott 53/tcp open domain
 [Kapcsolók] {Célgép(ek)} portjára. Ez a port alapértel- 70/tcp closed gopher
80/tcp open http
Célgépek meghatározása
mezetten a 80-as port, de
a <portlistában> megadható, 113/tcp closed auth
Mindenek elõtt azt kell tudnunk, hogy mely portokra küldje
hogyan adhatjuk át az nmap számára ezeket a csomagokat. Ha RST Nmap finished: 1 IP address
a pásztázni kívánt gépek neveit. csomag érkezik vissza, zárva  (1 host up) scanned in
Mindez történhet egyszerû felsorolás- van a port, ha SYN/ACK csomag,  68.421 seconds
sal, vagy egy már elõre elkészített lista akkor nyitva. csaba@lcs:~$
beolvasásával. Az nmap nagyon rugal- • -PA <portlista> (TCP ACK
masan kezeli a célgépek IP címeit. Ping): ACK jelzõbites csomagok
A 10.200.21.8, 10.200.21-23.8, használata a pásztázáskor. Mûkö- • Szûrt (filtered): Az nmap nem
10.200.21.0/24, 10.200.21.1,2,3,4,21,54 dése megegyezik a SYN Pingével. tudja eldönteni, hogy az adott
mind elfogadott formátum. Érdemes mind a kettõt használni, port nyitva van-e, ugyanis vala-
mert sokszor a SYN csomagokat milyen csomagszûrési eljárás
• -iL <lista.txt>: A listában fel- eldobják a tûzfalak. megakadályozza, hogy elérje
sorolt számítógépek ellenõrzése • -PU <portlista> (UDP Ping): a kaput.
• -iR <szám>: <szám> darabnyi vé- Üres UDP csomagot küld a 31338- • Nem szûrt (unfiltered): A port
letlen IP címet generál, és azokat es portra, ezzel ellenõrizve a gép elérhetõ, de az nmap nem tudja
pásztázza végig. Akkor hasznos, állapotát. eldönteni, hogy nyitva van-e vagy
ha az interneten olyan számítógé- • -PR (ARP Ping): Ethernet hálóza- sem. Csak a tûzfalszabályok felfe-
peket keresünk, amelyeken nyitva tok ellenõrzésekor ez a javasolt dezésére használatos ACK pásztá-
van egy adott port. Ha a szám eljárás. Olyannyira, hogy az zás sorolja ebbe a csoportba
értéke nulla, végtelen számú IP cí- nmap automatikusan erre vált a portokat.
met generál. A multicast és belsõ át, ha azt érzékeli, ha helyi • Nyitott|Szûrt (open|filtered):
hálózati IP címek automatikusan hálózaton pásztázunk mûködõ nem lehet eldönteni, h a port
át lesznek ugorva. gépek után. nyitva van, vagy szûrt. Az UDP,
--exclude <ipcím1,ipcím2>:
Kapupásztázási technikák
• IP protokoll, FIN, Null, és Xmas
Ide jönnek vesszõvel elválasztva pásztázás sorolja ebbe a csoportba
azoknak a gépeknek az IP címei, Az nmap a portok állapotát 6 külön- a kapukat.
amiket ki akarunk hagyni a tarto- féle csoportba sorolja. • Zárt|Szûrt (closed|filtered):
mány vizsgálatakor. Ez akkor Nem eldönthetõ, hogy a port zárt
hasznos, ha egy teljes hálózatot • Nyitott (open): Valamilyen TCP vagy szûrt. Az Idle pásztázás által
ellenõrzünk, de néhány gépre vagy UDP protokollt használó használt jelölés.
vagy alhálózatra nem mi fel- szolgáltatás fut az adott porton.
ügyelünk. A hackerek számára ez jelenti • -sS (TCP SYN scan): Az alapér-
• --excludefile <kihagy.txt>: a fõnyereményt, hiszen minden telmezett pásztázási eljárás,
Ugyanaz, mint az elõzõ, csak nyitott port egy potenciális ami SYN csomagokat használ.
egy fájlban szerepel az ellenõr- támadási lehetõség. Gyors és pontos. A SYN pásztá-
zésbõl kihagyni kívánt számító- • Zárt (closed): Elérhetõ, de nem fut zás nem fejezi be a háromlépé-
gépek listája. rajta semmilyen szolgáltatás. ses TCP kézfogást.

70
Üzemeltetés

A második lépés, a SYN/ACK hibaüzenettel válaszolnak, így


csomag után RST csomaggal ezek a szûrt (filtered) csoportba
zárja a kapcsolatot. sorolódnak. 2. Lista FIN, UDP és RCP pásztá-
• -sT (TCP Connect() scan): • -sW (TCP Window scan): Hason- zás portszûkítéssel
Az alapértelmezett pásztázási ló, mint az ACK pásztázás, azzal
eljárás abban az esetben, ha a különbséggel, hogy a nyitott csaba@lcs:~$ sudo nmap -sFUR
nincs megfelelõ jogosultságunk és a zárt kapukat képes meg-  -p 20-25,53,68,110-140 lcs
ahhoz, hogy nyers csomagokat különböztetni egymástól.
tudjunk küldeni a hálózatra, • --scanflags: Mi adhatjuk meg, Starting Nmap 4.20
illetve IPv6 hálózatok pásztá- hogy milyen jelzõbiteket szeret-  ( http://insecure.org ) at
zásakor. A Connect() rendszer- nénk beállítani a pásztázáshoz  2006-12-28 18:26 CET
hívást használva teljes kapcso- használt csomagokban. Interesting ports on lcs
latot épít fel az ellenõrizni kí- Az URG, ACK, PSH, RST, SYN,  (192.168.1.1):
vánt géppel, ezáltal könnyebb és FIN jelzõbitek használata Not shown: 71 closed ports
felfedezni. a megengedett. PORT STATE SERVICE VERSION
-sU (UDP scan): Annak ellené- 21/tcp open|filtered ftp
Pásztázni kívánt portok szûkítése

re, hogy a legnépszerûbb háló- 22/tcp open|filtered ssh
zati szolgáltatások TCP proto- • -p <port tartomány>: 25/tcp open|filtered smtp
kollt használnak, az UDP-t Csak bizonyos portok vizsgálata. 139/tcp open|filtered
használó programok közül is Megadhatunk konkrét port-  netbios-ssn
akad néhány híresebb. Ilyen számokat, de tartományokat is. 68/udp open|filtered dhcpc
például a DNS, a DHCP, Ezen kívül szûkíthetjük a vizs- 137/udp open|filtered
SNMP. Úgy mûködik, hogy gálatot TCP vagy UDP kapuk  netbios-ns
küld egy üres UDP fejlécet szerint is. 138/udp open|filtered
a célportra, és a válaszból A TCP portok 21-tõl 80-ig, míg az  netbios-dgm
következtet a port állapotára. UDP kapuk közül csak az 53-as
Mûködik a TCP pásztázások- ellenõrzése: -p T:21-80,U:53. Nmap finished: 1 IP address
kal együtt. • -F (Fast (limited port) scan):  (1 host up) scanned in
• -sF (TCP FIN scan): A FIN Gyorsabb ellenõrzés azáltal,  4.865 seconds
bit van beállítva a csomagban, hogy az nmap csak azon kapukat csaba@lcs:~$
vagyis a kapcsolat lezárását jelzi vizsgálja, melyek szerepelnek az
a célgépnek. nmap-services fájlban.
• -sN (TCP Null scan): Jelö-
letlen TCP csomagot küld
a célkapura.
• -sX (Xmas scan): A FIN, PSH, 3. Lista A szolgáltatások verzióinak kiderítése
URG jelzõbitek vannak beállítva
a pásztázáshoz használt csoma- csaba@lcs:~$ sudo nmap -sSURV -P0 -T5 lcs
gokban.
Starting Nmap 4.20 ( http://insecure.org ) at 2006-12-28 18:33 CET
Ez az utóbbi három pásztázási mód- Interesting ports on lcs (192.168.1.1):
szer ugyanarra az RFC 793-ban leírt Not shown: 3177 closed ports
eljárásra támaszkodik, amelynek lé- PORT STATE SERVICE VERSION
nyege, hogy a zárt portok RST választ 21/tcp open ftp ProFTPD 1.3.0
küldenek, míg a nyitott portok eldob- 22/tcp open ssh OpenSSH 4.3p2 Debian 5ubuntu1
ják a küldött csomagot.  (protocol 2.0)
25/tcp open smtp Postfix smtpd
• -sA (TCP ACK scan): Arra való, 139/tcp open netbios-ssn Samba smbd 3.X (workgroup: MSHOME)
hogy feltérképezzük egy adott 445/tcp open netbios-ssn Samba smbd 3.X (workgroup: MSHOME)
tûzfal szabályait. Ez a gyakor- 68/udp open| dhcpc
latban úgy néz ki, hogy ha tûz- filtered
fallal nem védett portokat pász- 137/udp open netbios-ns Microsoft Windows XP netbios-ssn
tázunk, a nyitott és a zárt ka- 138/udp open|filtered netbios-dgm
puk is RST csomaggal válaszol- Service Info: Host: lcs; OSs: Unix, Linux, Windows
nak, amit az nmap a nem szûrt
(unfiltered) csoportba sorol, Service detection performed. Please report any incorrect results
függetlenül attól, hogy nyitott  at http://insecure.org/nmap/submit/ .
vagy zárt kapuról van szó. Nmap finished: 1 IP address (1 host up) scanned in 51.379 seconds
Azonban a tûzfallal védett csaba@lcs:~$
portok vagy nem, vagy ICMP

71
Üzemeltetés

a kapcsolók, melyek hasznosak,


de nem tartoznak szervesen egyik
4. Lista A számítógépen futó operációs rendszer kiderítése tárgyalt témához sem.

csaba@lcs:~$ sudo nmap -sS -O -T4 -P0 scanme.nmap.org • -oN <fájlnév>: A kimenet egy
egyszerû szövegfájlba történõ
Starting Nmap 4.20 ( http://insecure.org ) at 2006-12-28 mentése.
 18:27 CET • -oX <fájlnév>: A kimenetet XML
Interesting ports on scanme.nmap.org (205.217.153.62): formátumba menti.
Not shown: 1691 filtered ports • --append-output <fájlnév>:
PORT STATE SERVICE A fájlt nem írja felül, hanem
22/tcp open ssh hozzáfûzi az újabb kimenetet.
25/tcp closed smtp • -v: Verbose, azaz beszédes kimene-
53/tcp open domain tet biztosít. Kétszeri ismétlésére az
70/tcp closed gopher nmap további részleteket árul el.
80/tcp open http • -T<0-5>: A kapcsoló és a mögötte
113/tcp closed auth álló szám segítségével közölhetjük
Device type: general purpose a programmal, milyen idõközön-
Running: Linux 2.6.X ként küldjön csomagokat a cél-
OS details: Linux 2.6.15-27-686 (Ubuntu Dapper, X86) gépnek. A 0 érték jelenti a legna-
Uptime: 11.093 days (since Sun Dec 17 16:14:38 2006) gyobb idõközt, ami 15 perc min-
den elküldött csomag után, míg
OS detection performed. Please report any incorrect results at az 5 a legkisebbet, ami 5ms vára-
 http://insecure.org/nmap/submit/ . kozási idõt jelent. IDS rendszerek
Nmap finished: 1 IP address (1 host up) scanned in 45.142 ellen a 0 és az 1 érték a javasolt,
 seconds míg a hétköznapokban a 4 tûnik
csaba@lcs:~$ jó választásnak.
• -D <csalétek1, csalétek2,
csalétek3...>: A célgép szemszö-
Verzióinformációk dolgát, ha tudja, milyen operációs gébõl úgy látszik, mintha a csalétek
Ahogyan azt már említettem a cikk rendszerrel van dolga. Ehhez mind- gépek pásztáznák a portjait.
elején, attól függetlenül, hogy létezik össze egy nyitott és egy zárt kapura • -6: Ipv6 protokoll használata. Csak
egy szabvány arra vonatkozóan, me- van szüksége a célrendszeren. a Ping scan (-sP), TCP Connect()
lyik számú TCP illetve UDP kapun Az ehhez használt kapcsoló a -O. scan (-sT) és List scan (-sL) esetén
milyen szolgáltatás figyel, még nincs Ilyenkor a folyamat a második gene- mûködik.
rá garancia, hogy a vizsgált számítógé- rációs felderítéssel kezdõdik, majd • -A: Operációs rendszer detektálás
pen is hasonló a helyzet. Egy sima annak sikertelensége esetén az elsõ és verzióinformációk lekérése.
pásztázással csak annyit tudhatunk generációs is lefut. Kérhetjük a prog- Ugyanaz, mint a -sV -O páros.
meg, hogy az adott kapu nyitva van-e ramot, hogy kifejezetten csak elsõ Fjodor a késõbbiekben tervezi
vagy sem, de a mögötte lévõ szolgálta- vagy második generációs felderítést ennek a kapcsolónak a további
tás rejtve marad. használjon. Erre valók az -O1 illetve szolgáltatásokkal történõ bõvítését,
Ehhez nyújt segítséget az nmap -sV az -O2 kapcsolók. azért, hogy a felhasználóknak
kapcsolója, amely a szolgáltatások ne- Elõfordulhat, hogy az nmap nem tud- ne kelljen annyi kapcsolót meg-
vét és verziószámát hivatott kifürkész- ja megállapítani a használt operációs jegyezniük.
ni. Itt említhetõ meg a -sR kapcsoló is,
Összegzés
rendszer típusát, ilyenkor a beér-
aminek a segítségével az úgynevezett kezett ujjlenyomatot jeleníti meg
RPC portok és a szolgáltatásaik ver- a képernyõn. Ha segíteni akarjuk Az nmap további, olykor megdöbbentõ
ziószáma tudható meg. Ez a kapcsoló Fjodor fejlesztõi munkáját, képességeinek felfedezését már
is használható együtt a TCP és UDP a  http://insecure.org/nmap/submit az Olvasóra bízom. Remélem a fentiek-
pásztázásokkal. oldalon elküldhetjük ezt az ujjlenyo- bõl remekül kitûnt az az összetettség és

Az operációs rendszer felderítése


matot a pásztázott rendszer pontos rugalmasság, amit az nmap kapupász-
paramétereivel együtt. tázó program magában hordoz, és ami-

Kimenet és egyéb érdekességek


Az nmap az alapján, hogy a célgép bi- vel elõsegíti számítógépeink hálózati
zonyos csomagokra milyen válaszcso- biztonságának megerõsítését. Forgas-
magot (ujjlenyomatot) generál, képes Elõfordulhat, hogy a pásztázás suk nagy haszonnal és megelégedéssel,
megállapítani az adott gépen futó ope- eredményét a késõbbiekben még látni de ne feledjük, csak jó célra!
rációs rendszer típusát, a kernelverzió szeretnénk, ha másért nem, a rend-
számát, valamint az üzemidõt. Talán szerbiztonság megerõsítése utáni Leszkoven Csaba
nem kell túlzottan részleteznem, összehasonlítás végett. Ezen kívül (leszkovencsaba@gmail.com)
mennyire megkönnyítheti egy támadó ebbe a bekezdésbe kerültek azok

72

You might also like