Rychlý návod na skenování portů

author
8 minutes, 45 seconds Read

Rychlý návod na skenování portů

Jedním z mých cílů při vývoji Nmapu je zachovat jednoduchost nejběžnějšího použití při zachování flexibility pro vlastní a pokročilé skenování. Toho je dosaženo tím, že rozhraní příkazového řádku nabízí desítky možností, ale volí rozumné výchozí hodnoty, pokud nejsou zadány. Nováček může začít s tak jednoduchým příkazem, jako jenmap <target>.Zatímco pokročilí uživatelé někdy zadají tolik voleb, že se jim terminální řádek obtáčí.

Podobnou rovnováhu je třeba najít i u výstupu příkazů. Nejdůležitější výsledky by měly vyniknout i příležitostnému uživateli, který si ani nepřečetl manuálovou stránku. Přesto by měl být výstup dostatečně komplexní akonkrétní, aby vyhovoval profesionálním penetračním testerům, kteří denně spouštějí Nmapna tisících strojích. Uživatelé, kteří jsou dostatečně chytří na to, aby si přečetli tuto knihu nebo zdrojový kód Nmapu, získají větší kontrolu nad skenerem a vhled do toho, co výstup Nmapu skutečně znamená.

Tento kurz demonstruje některé běžné scénáře skenování portů Nmapu a vysvětluje jejich výstup. Spíše než snahou o vyčerpávající výklad je cílem jednoduše seznámit nové uživatele natolik dobře, aby porozuměli zbytku této kapitoly.

Nejjednodušším příkazem Nmap je samotný příkaz nmap. Tím se vytiskne tahák s běžnými volbami a syntaxí Nmapu. zajímavějším příkazem je nmap<target>, který provádí následující:

  1. Převede <target> ze jména hostitele na adresu IPv4 pomocí DNS. Pokud je místo názvu hostitele zadána IP adresa, je toto vyhledávání přeskočeno.

  2. Vyzve hostitele, ve výchozím nastavení pomocí paketu ICMP echo request a paketu TCP ACK na port 80, aby zjistil, zda je v provozu. Pokud ne, Nmap tuto skutečnost ohlásí a ukončí činnost. Mohl jsem zadat -Pn, abych tento test vynechal. Viz kapitola 3, Zjišťování hostitele („Skenování pomocí pingu“).

  3. Převede cílovou IP adresu zpět na jméno pomocí reverzního dotazu DNS. Vzhledem ke způsobu fungování DNS nemusí být reverzní název stejný jako <target> zadaný na příkazovém řádku. Tento dotaz lze vynechat pomocí volby -n pro zvýšení rychlosti a skrytosti.

  4. Spustí kontrolu portů TCP nejpopulárnějších 1000 portů uvedených v nmap-services. Obvykle se používá skryté skenování SYN, ale pro uživatele Unixu, kteří nemají práva roota a nemají potřebná práva k odesílání nezpracovaných paketů, se místo toho použije skenování connect.

  5. Vypíše výsledky na standardní výstup v normálním lidsky čitelném formátu a ukončí se. Lze zadat další výstupní formáty a umístění (soubory), jak je popsáno v kapitole 13, Výstupní formáty Nmap. Příklad 4.2 zobrazuje výsledky při použití adresy scanme.nmap.org jako <target>.

Příklad 4.2. Jednoduché skenování: nmap scanme.nmap.org

# Starting Nmap ( http://nmap.org )Nmap scan report for scanme.nmap.org (64.13.134.52)Not shown: 994 filtered portsPORT STATE SERVICE22/tcp open ssh25/tcp closed smtp53/tcp open domain70/tcp closed gopher80/tcp open http113/tcp closed authNmap done: 1 IP address (1 host up) scanned in 4.99 seconds

První výstupní řádek vPříklad 4.2 jednoduše uvádí adresu URL pro stažení Nmap. Obvykle se uvádí také čas spuštění Nmapu a číslo verze, ačkoli v této knize byly z důvodu konzistence a zamezení obtékání řádků zpravidla odstraněny.

Následující řádek uvádí cílovou IP adresu (v tomto případě IPv4) a reverzní DNS jméno (známé také jako PTR záznam), pokud je k dispozici. Nmap slibuje zobrazení „zajímavých portů“, ačkoli jsou zohledněny všechny skenované porty. Porty, které jsou považovány za nejzajímavější, protože jsou pro daného hostitele otevřené nebo ve zřídka viditelném stavu, jsou uvedeny jednotlivě. Pokud je mnoho portů v jediném otevřeném stavu, jsou považovány za výchozí stav a agregovány do jednoho řádku, aby se zabránilo rozmělnění výsledků tisíci nezajímavými položkami. V tomto případě Nmap zaznamená, že 994 portů jefiltrováno.

Následuje tabulka zajímavých portů, která poskytuje výsledky vyhledávání klíčů. Sloupce se liší v závislosti na použitých volbách, ale vtomto případě poskytují číslo portu a protokol, stav a protokol služby pro každý port. Služba je zde pouze odhad provedený vyhledáním portu v nmap-services. Služba by byla uvedena jako unknown, pokud by některý z portů neměl v tomto souboru zaregistrováno žádné jméno. Tři z těchto portů jsou otevřenéa tři jsou uzavřené.

Nakonec Nmap před ukončením hlásí některé základní časové statistiky. tyto statistiky jsou počet zadaných cílů, počet těch, které ping scan našel jako aktivní, a celkový čas, který zabral.

Ačkoli tento jednoduchý příkaz je často vše, co je potřeba, pokročilí uživatelé jdou často mnohem dál. V příkladu 4.3 je skenování upraveno pomocíčtyř možností. -p0- požádá Nmap, aby prohledal všechny možnéTCP porty, -v požádá Nmap, aby byl v tomto ohledu slovní,-A povolí agresivní testy, jako je vzdálená detekce OS, detekce služeb/verzí a Nmap Scripting Engine(NSE). A konečně -T4 povoluje agresivnější politiku časování pro urychlení skenování.

Příklad 4.3. Složitější: nmap -p0- -v -A -T4 scanme.nmap.org

# Starting Nmap ( http://nmap.org )Completed Ping Scan at 00:03, 0.01s elapsed (1 total hosts)Scanning scanme.nmap.org (64.13.134.52) Discovered open port 22/tcp on 64.13.134.52Discovered open port 53/tcp on 64.13.134.52Discovered open port 80/tcp on 64.13.134.52SYN Stealth Scan Timing: About 6.20% done; ETC: 00:11 (0:07:33 remaining)Completed SYN Stealth Scan at 00:10, 463.55s elapsed (65536 total ports)Completed Service scan at 00:10, 6.03s elapsed (3 services on 1 host)Initiating OS detection (try #1) against scanme.nmap.org (64.13.134.52)Initiating Traceroute at 00:1064.13.134.52: guessing hop distance at 9Completed SCRIPT ENGINE at 00:10, 4.04s elapsedHost scanme.nmap.org (64.13.134.52) appears to be up ... good.Nmap scan report for scanme.nmap.org (64.13.134.52)Not shown: 65530 filtered portsPORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 4.3 (protocol 2.0)25/tcp closed smtp53/tcp open domain ISC BIND 9.3.470/tcp closed gopher80/tcp open http Apache httpd 2.2.2 ((Fedora))|_HTML title: Go ahead and ScanMe!113/tcp closed authDevice type: general purposeRunning: Linux 2.6.XOS details: Linux 2.6.20-1 (Fedora Core 5)Uptime guess: 2.457 days (since Thu Sep 18 13:13:24 2008)TCP Sequence Prediction: Difficulty=204 (Good luck!)IP ID Sequence Generation: All zerosTRACEROUTE (using port 80/tcp)HOP RTT ADDRESS9 10.36 metro0.sv.svcolo.com (208.185.168.173)10 10.29 scanme.nmap.org (64.13.134.52)Nmap done: 1 IP address (1 host up) scanned in 477.23 seconds Raw packets sent: 131432 (5.783MB) | Rcvd: 359 (14.964KB)

Nmap v příkladu 4.3 určitě poskytl požadovaný slovosled! Naštěstí je extravýstup snadno pochopitelný. Prvních 13 nových řádků jsou runtimeinformace informující uživatele o tom, co se děje, když s očekáváním zírá na terminál a doufá v dobré zprávy. Co je dobrou zprávou, záleží na tom, zda je správcem systému, který musí opravit problémy, pen-testerem, který potřebuje nějaké problémy nahlásit, nebo black-hat crackerem, který se je snaží zneužít. Asi tucet podobných řádků byl pro stručnost odstraněn. Řádky „discovered open port“ (objevený otevřený port) poskytují průběžné upozornění na otevřené porty, takže na ně může začít bušit ještě před dokončením skenování. Řádek „scan timing „poskytuje odhad času dokončení, takže ví, jestli má dál zírat na obrazovku, nebo jít na oběd. Protože se podmínky sítě (latence, přetížení, šířka pásma atd.) a pravidla filtrování paketů velmi liší, může dokončení stejných možností skenování trvat 30 sekund proti jednomu hostiteli a 45 minut proti jinému. Pokud chcete během skenování získat aktuální časový odhad, stačí stisknout klávesuenter.

Tabulka portů nezobrazuje žádné nové porty. Všechny dodatečně skenované portyjsou ve stavu filtrováno, čímž se celkový počet filtrovaných portů zvýšil z 994 na 65 530. Ačkoli se neobjevily žádné nové položkové porty, položky se změnily. Nový sloupec VERSION poskytuje údaje o názvu aplikace a verzi naslouchající služby. To pochází z detekce služeb, jedné z funkcí povolených volbou -A. další vlastností detekce služeb je, že všechny protokoly služeb ve sloupci SERVICE byly skutečně ověřeny. Při předchozím skenování byly založeny na poměrně chabé heuristice vyhledávání čísla portu nmap-services. toto vyhledávání v tabulce bylo tentokrát náhodou správné, ale nebude tomu tak vždy.

Další funkcí přidanou pomocí -A je NmapScripting Engine,který je podrobně popsán v kapitole 9, Nmap Scripting Engine. Jediný zde uvedený skript je HTMLtitle. Existují desítky dalších skriptů, ale žádný z nich nenalezl užitečnývýstup pro tento počítač. Výsledky trasování byly také přidány pomocí -A. Tato volba je efektivnější a výkonnější než většina programů traceroute, protože sondy jsou prováděny paralelně a Nmap používá výsledky skenování k určení příznivého typu sondy (v tomto případě pakety TCP na port 80).

Většina zbývajících nových řádků pochází z detekce operačního systému (rovněž povolena pomocí -A), která je podrobně popsána v kapitole 8, Vzdálená detekce operačního systému. Poslední řádek ukazuje, že všechny tyto extrainformace přišly draho – skenování trvalo téměř stokrát déle nežPříklad 4.2, „Jednoduché skenování: nmap scanme.nmap.org“ (477 sekund oproti 5).

Similar Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.