jen po konfigurační fázi bylo nutno nastavit hodnotu HAVE_IP_IP_SUM v souboru nbase/nbase_config na nulu, čímž bylo chování Nmapu v SL 9 napraveno.



Podobné dokumenty
Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Tento článek se zaměřuje na oblast správy systému.

Semestrální projekt do předmětu SPS

Nmap port skener. Obsah

Počítačové sítě Transportní vrstva. Transportní vrstva

Úvod do analýzy. Ústav informatiky, FPF SU Opava Poslední aktualizace: 8. prosince 2013

Firewally a iptables. Přednáška číslo 12

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Audit bezpečnosti počítačové sítě. Předmět: Správa počítačových sítí Jiří Kalenský

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Analýza protokolů rodiny TCP/IP, NAT

Instalace IBM Notes 9 na Windows Server 2012 Core

Audit bezpečnosti počítačové sítě

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

Zabezpečení v síti IP

Obsah PODĚKOVÁNÍ...11

Instrukce pro vzdálené připojení do učebny 39d

Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Access Control Lists (ACL)

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními

Základní techniky skenování TCP portů

PB169 Operační systémy a sítě

PRŮZKUM VLASTNOSTÍ VOLNĚ DOSTUPNÝCH IMPLEMENTACÍ HONEYPOTŮ A BLACKHOLE NETWORKS S OHLEDEM NA JEJICH POUŽITÍ VE VIRTUÁLNÍ LABORATOŘI POČÍTAČOVÝCH SÍTÍ

Y36PSI Protokolová rodina TCP/IP

BEZPEČNOST SLUŽEB NA INTERNETU

Bezpečnost sítí útoky

Bezpečnost webových stránek

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina Ver. 1.0 leden 2006

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

FIREWALL - IPTABLES. 1. Co je to firewall 2. IPTABLES 3. Manuálové stránky 4. Nastavení směrovače 5. Příklady. 1. Co je to firewall?

Y36SPS Bezpečnostní architektura PS

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Cisco IOS TCL skriptování využití SMTP knihovny

Site - Zapich. Varianta 1

Typy samostatných úloh PSI 2005/2006

SSL Secure Sockets Layer

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Správa sítí. RNDr. Ing. Vladimir Smotlacha, Ph.D.

CCNA 2/10 Další funkce TCP/IP Aleš Mareček Jaroslav Matějíček 1

Provádí ochranu sítě před napadením (ochrana počítačů nestačí) Odděluje uživatele (prvek nespolehlivosti) od prvků ochrany

VLAN Membership Policy Server a protokol VQP Dynamické přiřazování do VLANů.

Implementace Windows Load Balancingu (NLB)

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

Další nástroje pro testování

Analýza aplikačních protokolů

Útoky DoS a DDoS. Přehled napadení. Projektování distribuovaných systémů Ing. Jiří ledvina, CSc. Lokální útoky. Vzdálené útoky

Y36SPS Bezpečnostní architektura PS

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

6. Transportní vrstva

VirtualBox desktopová virtualizace. Zdeněk Merta

Identifikátor materiálu: ICT-3-03

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Instalace a konfigurace web serveru. WA1 Martin Klíma

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

Inovace výuky prostřednictvím šablon pro SŠ

Střední odborná škola a Střední odborné učiliště, Hořovice

BEZPEČNOST SLUŽEB NA INTERNETU

3.17 Využívané síťové protokoly

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Počítačové sítě II. 13. Směrování Miroslav Spousta,

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

VŠB - Technická univerzita Ostrava

Autentizace uživatele připojeného přes 802.1X k přepínači Cisco Catalyst 2900/3550 pomocí služby RADIUS

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Směrovací protokol OSPF s využitím systému Mikrotom. Ing. Libor Michalek, Ph.D.

Počítačové sítě II. 13. Směrování. Miroslav Spousta, 2004

VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.)

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Počítačové sítě 1 Přednáška č.6 Transportní vrstva

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

KLASICKÝ MAN-IN-THE-MIDDLE

Instalace SQL 2008 R2 na Windows 7 (64bit)

Bezpečnost sí, na bázi IP

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

Inovace výuky prostřednictvím šablon pro SŠ

Praktikum WIFI. Cíl cvičení:

Bezpečnostní aspekty informačních a komunikačních systémů KS2

Ing. Jitka Dařbujanová. , SSL, News, elektronické konference

Wireshark, aneb jak odposlouchávat síť - 1.díl

Technologie počítačových sítí 11. přednáška

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Administrace služby - GTS Network Storage

Hot Standby Router Protocol (zajištění vysoké spolehlivosti výchozí brány)

Operační systémy: funkce

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

LINUX - INSTALACE & KONFIGURACE

Instalace. Samotný firewall již je s největší pravděpodobností nainstalovaný Zjistíme dle parametru při použití. aptitude search iptables

Úvod do počítačových sítí

Desktop systémy Microsoft Windows

Transkript:

Zkoumáme síť s Nmapem 23.08.2004, Bobek Vladimír Nástroj Nmap má v povědomí asi každý linuxový administrátor. Na otázku, co je to Nmap většina administrátorů odpoví, že se jedná zřejmě o nejpoužívanější skener portů. Funkcionalita Nmapu je však širší. Je to volně dostupný opensourcový program pro průzkum sítě nebo bezpečnostní audit. Byl navržen tak, aby umožňoval rychle získat informace o rozsáhlých sítích, i když nejčastěji se používá ke skenování jednotlivých počítačů. Nmap umí pomocí různých druhů IP paketů zjistit, jaké počítače jsou v síti dostupné, jaké služby nabízí, jaké operační systémy na nich běží, typy použitých paketových filtrů a firewallů a mnoho dalších charakteristik. Dnes existuje Nmap na mnoha platformách (samozřejmostí je Linux, ale také BSD systémy, Solaris, MAC OS X a dokonce i MS Windows), má jak konzolovou verzi, tak grafické rozhraní. Nmap má možná trochu neprávem pověst nástroje zlých hochů" snažících se proniknout do cizích počítačů, přitom je velmi užitečný i při každodenní správě síťových systémů. V tomto článku vám chci přiblížit princip činnosti Nmapu a některé techniky, které používá. Zaměřím se na linuxovou verzi, samozřejmě nebudou chybět praktické příklady pro příkazovou řádku. Text předpokládá alespoň základní znalosti protokolů TCP/IP. Instalace Přímo na domovských stránkách projektu se nalézají jak zdrojové kódy, tak balíček ve formátu RPM. Nmap je součástí mnoha linuxových distribucí, a nechybí ani v mnou používaném SuSE Linuxu 9.0. Tato distribuce však obsahuje v jádře bug, který zabraňuje korektnímu použití Nmapu pod uživatelem root. Jelikož škála voleb dostupných obyčejnému uživateli je omezená, skončil jsem u kompilace zdrojových kódů vlastními silami. Proces se skládal z klasické trojkombinace./configure./make./make install jen po konfigurační fázi bylo nutno nastavit hodnotu HAVE_IP_IP_SUM v souboru nbase/nbase_config na nulu, čímž bylo chování Nmapu v SL 9 napraveno. Jak to vlastně funguje Pokud máme Nmap nainstalován, můžeme jej rovnou začít používat. Jediným povinným parametrem je IP adresa zařízení, které má Nmap zkoumat, pomocí přepínačů lze jeho chování mnoha způsoby modifikovat. Činnost Nmapu má obecně 3 fáze. Nejdříve probíhají testy dostupnosti cílového stroje (nebo jejich skupiny). Teprve v případě, že je cílový stroj považován za dostupný, přichází na řadu vlastní skenování portů. V poslední fázi se Nmap snaží uhodnout typ a verzi operačního systému, který je na stroji provozován. Věnujme se jednotlivým fázím blíže. První fáze - testování dostupnosti Ať už je Nmap spuštěn ve kterémkoli režimu (nejjednodušeji např. nmap 192.168.145.1), testuje nejdříve dostupnost cíle zkoumání, popř. může být explicitně spuštěn přímo s úkolem jen ověřit, že daný stroj běží (např. nmap -sp 192.168.145.1). Během tohoto procesu vysílá na všechny cílové stroje jednak ICMP pakety Žádost o echo", jednak tzv. TCP ping paket s nastaveným příznakem ACK pro port 80 na cílovém stroji. Pokud je cílový stroj dosažitelný, má povinnost na zmíněný ICMP paket odpovědět paketem ICMP Echo. Co

se týče TCP pingu, příznak ACK mají normálně nastaveny pakety spojení, které bylo navázáno již dříve, v tomto případě se jedná o první paket komunikace, který není součástí předchozího spojení a předpokládá se tedy, že cílový stroj na TCP ping odpoví TCP paketem s příznakem RST (tj. odmítnutí spojení). Tyto odpovědi signalizují, že cílový uzel dostupný je, ale nemusí to být tak jednoduché. Uzel může být chráněn firewallem, který může být nakonfigurován tak, že žádosti o echo popř. odpovědi na ně blokuje a iniciátor komunikace tak na ně nedostane odpověď, i když dané stroje v síti jsou. Pokud se standardním procesem dostupnost cíle např. díky firewallu na cestě zjistit nepodaří, nemusí být všem dnům konec. Když stavový firewall přijme klasický TCP ping s příznakem ACK, podívá se do stavové tabulky, zda daný paket přísluší k nějakému dříve navázanému spojení. Jakmile zjistí opak, paket zahodí. Nmap však dovoluje TCP ping dále konfigurovat. Například lze nastavit paketu příznak SYN, který signalizuje, že jde o paket navazující spojení: nmap -sp -PS 192.168.145.1 popřípadě lze určit cílový port paketu: nmap -sp -PS25 192.168.145.1 paket je v tomto případě směrován na port 25 (standardně SMTP). Snažíme se tak zjistit, zda je stroj dostupný alespoň na některých portech, stále se ale nejedná o sken. Podobně lze změnit pakety typu ICMP: nmap -sp -PP 192.168.145.1 vysílá ICMP paket typu timestamp request, tj. požadavky na časovou synchronizaci a očekává odpověď typu timestamp reply. I když takto nastavené pakety projdou firewallem, může se stát, že odpovědi nepřijdou, protože tyto požadavky nejsou implementovány v cílovém zařízení. Cílový uzel nmapu může být definován rozsahem IP adres, nebo dokonce síťovou adresou a v průběhu činnosti nmapu jsou pak testovány všechny IP adresy dané specifikace: nmap -sp 192.168.145.0/24 Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-08-08 04:29 PDT Host 192.168.145.1 appears to be up. Host 192.168.145.131 appears to be up. Nmap run completed -- 256 IP addresses (2 hosts up) scanned in 4.252 seconds Druhá fáze - sken Když už víme, že objekt našeho zájmu je dostupný, jistě bychom rádi věděli jaké služby daný stroj nabízí. Chceme tedy zjistit, na jakých portech stroj naslouchá a je připraven přijmout příchozí spojení. Nmap k tomuto účelu má několik technik, některé z nich si popíšeme v následujících řádcích. TCP ping Jedná se o základní formu skenu, který se snaží prostřednictvím systémového volání implementovaného vaším operačním systémem otevřít spojení na jakémkoliv portu cílového stroje. Jedná se o techniku popsanou výše u testování dostupnosti. Výhodou je, že sken může provést uživatel bez zvláštních oprávnění. Dalším kladem je rychlost požadavky lze paralelizovat. Nevýhodou je jednoduchá detekce a filtrace skenů tohoto typu cílový stroj generuje chybová hlášení pro každou službu, jejíž port je otevřen a se kterým tedy

bylo iniciováno spojení. nmap -st 192.168.145.1 TCP SYN Tato technika byla také popsána výše, často nazývána tzv. half-open, protože neotvírá úplné TCP spojení. Odesílán je tedy paket s příznakem SYN. Pokud jako odpověď přijde paket s příznakem SYN/ACK, což znamená otevřený port, spojení je ihned uzavřeno paketem s příznakem RST. Zavřenému portu na cílovém stroji odpovídá paket s příznakem RST. Výhodou je, že tento druh skenu není tak často odhalen. nmap -ss 192.168.145.1 TCP FIN Tato metoda patří k pokročilejším. Odesílané pakety mají příznak FIN (popřípadě navíc URG a PUSH). Vychází z toho, že podle RFC 793 specifikujícího protokol TCP by měl cílový stroj v případě zavřených portů odpovědět na paket tohoto typu paketem s příznakem RST, zatímco otevřené porty pakety FIN zcela ignorují. Existují však systémy, které tuto specifikaci nedodržují (MS Windows, Cisco, i některé UNIXy) a odpovídají příznakem RST na všech portech. nmap [-sf sx sn] 192.168.145.1 Informativnější sken Nmap nabízí režim, který vám dodá další informace o případných otevřených portech. Po detekci otevřených portů Nmap pokračuje v komunikaci, během níž se snaží odhalit protokol služby, která běží na daném portu, název a verzi programu, který ji na cílovém stroji zajišťuje verzi a případně další údaje. nmap -sv 192.168.145.0/24 Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-08-08 05:20 PDT Interesting ports on 192.168.145.1: (The 1655 ports scanned but not shown below are in state: closed) PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 1025/tcp open msrpc Microsoft Windows msrpc 5000/tcp open upnp Microsoft Windows UPnP

Interesting ports on 192.168.145.131: (The 1657 ports scanned but not shown below are in state: closed) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 3.7.1p2 (protocol 1.99) 111/tcp open rpcbind 2 (rpc #100000) 6000/tcp open X11 (access denied) Nmap run completed -- 256 IP addresses (2 hosts up) scanned in 52.306 seconds UDP ping Tato technika slouží k detekci služeb založených na protokolu UDP (například RPC). Na každý port odesílá UDP paket o nulové velikosti. Pokud neobdržíme ICMP zprávu, která informuje o nedostupnosti portu, předpokládá se, že port je otevřený. Sken může být velmi pomalý na mnoha systémech, protože podle RFC 1812 by měla být omezena četnost odesílání chybových zpráv ICMP. Specifikaci nedodržují systémy MS Windows, tudíž jejich sken naopak proběhne velmi rychle. nmap -su 192.168.145.1 Idle sken Nmap nabízí ještě mnoho dalších typů skenů, z nichž mě nejvíce zaujal právě tzv. idle sken, který vlastně rozšiřuje funkčnost ostatních typů skenů z nich vychází. Umožňuje totiž určitým způsobem falšovat identitu stroje, ze kterého sken probíhá - podvrhuje zdrojovou IP adresu. Jistě se ptáte, jak tedy dovede Nmap získat příslušné informace, když z pohledu cílového stroje žádný kontakt mezi ním a strojem spouštějícím Nmap není.princip je následující: Port je považován za otevřený, pokud na něm naslouchá nějaká aplikace (většina síťových služeb naslouchá na TCP portech). Jednou z cest, jak určit, že port je otevřený, je odeslání paketu SYN, na který odpoví cílový stroj v případě otevřeného portu paketem SYN/ACK (potvzení navázání spojení), v případě zavřeného portu paketem RST. Na nevyžádaný paket SYN/ACK odpoví příjemce paketem RST, nevyžádané pakety RST jsou ignorovány. Každý IP paket má tzv. IPID své identifikační číslo. Mnoho operačních systémů implementuje přidělování tohoto čísla jednoduše tak, že každý následující paket má IPID o 1 vyšší než předchozí. Zdrojový stroj zaměňuje svou identitu za identitu jiného stroje a vypadá to, jako by skenování prováděl tento jiný stroj pouhý prostředník. Zdrojový stroj dále udržuje postranní kanál mezi sebou a tímto prostředníkem a testuje právě IPID. Pomocí této techniky lze jednat prověřovat, zda mezi prostředníkem a cílovým strojem existuje nějaký jiný vztah než mezi zdrojovým a cílovým strojem skenování probíhá z perspektivy prostředníka. Dále pokud na cílovém stroji běží IDS, který odhalí skenování, je za jeho původce považován prostředník a případné akce IDS nejsou tedy směrovány vůči skutečnému viníkovi. Třetí fáze hádání typu a verze OS Operační systém vzdáleného stroje lze hádat různými způsoby. Nejjednodušší klasickou technikou je navazování spojení se vzdáleným strojem pomocí obyčejných aplikací. Různé síťové služby při připojení k nim často hlásí název a verzi aplikace, která danou službu na vzdáleném stroji implementuje:

ftp 193.51.37.2 Connected to 193.51.37.2 220 FTP server (Version wu-2.4.2-academ[beta-18](1) Wed Nov 28 19:04:27 GMT 2001) ready. Name (193.51.37.2:xvlad): Těmto zprávám se říká tzv. bannery. Mnoho systémů v implicitním nastavení naivně hlásí identitu svých programů a mnoho administrátorů si nedá tu práci tato hlášení odstranit. Nmap však využívá jinou metodu, tzv. tcp stack fingerprinting. Doslovný překlad by zněl asi otisk tcp zásobníku v čem to spočívá? Ačkoli existuje standardizovaný návrh protokolů TCP/IP, jednotlivé operační systémy mají tyto protokoly v některých ohledech implementován různě. Nmap si udržuje vlastní databázi otisků různých systémů a ví tedy, jak dané systémy na různé testy reagují. Při provádění těchto testů tedy porovnává získané odpovědi se svou databází a podle toho vydedukuje výsledek. Testuje se například velikost počátečního TCP okna, způsob výpočtu IPID, hodnota pole ACK, a mnohé další parametry TCP komunikace. Implicitně Nmap verzi operačního systému nezjišťuje, k tomu slouží přepínač -O. Příkaz pak může mít například tento tvar: nmap -O -vvv 192.168.145.1 Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-08-10 03:13 CEST Host www1.intra-net.cz (192.168.145.1) appears to be up... good. Initiating SYN Stealth Scan against www1.transmeta.com (63.209.4.201) at 03:13 Adding open port 80/tcp The SYN Stealth Scan took 126 seconds to scan 1660 ports. For OSScan assuming that port 80 is open and port 443 is closed and neither are firewalled Interesting ports on www1.intra-net.cz (192.168.145.1): (The 1658 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE 80/tcp open http 443/tcp closed https Device type: general purpose Running: Linux 2.1.X 2.2.X OS details: Linux 2.1.19 2.2.25 OS Fingerprint: Tseq(Class=RI%gcd=1%SI=1B981B%IPID=I%TS=100HZ) T1(Resp=Y%DF=Y%W=7F53%ACK=S++%Flags=AS%Ops=MENNTNW) T2(Resp=N) T3(Resp=N) T4(Resp=N) T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=) T6(Resp=N) T7(Resp=N)

PU(Resp=Y%DF=N%TOS=0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E) Uptime 170.030 days (since Sun Feb 22 01:33:17 2004) TCP Sequence Prediction: Class=random positive increments Difficulty=1808411 (Good luck!) TCP ISN Seq. Numbers: 783855AD 78044726 784DCFB7 78800C72 78FEAF66 78B22D13 IPID Sequence Generation: Incremental Nmap run completed -- 1 IP address (1 host up) scanned in 134.626 seconds Závěr No a jsme u konce. I já používám Nmap hlavně pro triviální ověření, zda na mých strojích běží všechny služby, které tam běžet mají. Ale jak vidíte, jeho uplatnění může být širší. Doufám, že tento článek pro vás nebyl zbytečným čtením. Až si budete s Nmapem sami hrát, berte si na mušku radši jen stroje, které máte pod správou. Jednak se vám může stát, že se dočkáte protiakcí různých účinků, jednak skenování cizích strojů je přece pod vaši administrátorskou etiku.