Důležitou metodou, jak přesně zjistit, jaké služby běží ve vaší síti, je provést skenování portů. Spuštění skenování portů vám může poskytnout přesný přehled o útočné ploše vašeho počítače a sítě. V některých případech můžete zjistit, že máte spuštěné služby, které jste možná nečekali.
Transmission Control Protocol neboli TCP je standard, který umožňuje připojení mezi počítači přes síť. TCP používá třícestný handshake k otevření připojení, které pak zůstane otevřené, dokud nevyprší časový limit nebo dokud nebude připojení uzavřeno. To neznamená, že připojení vždy přenáší data, znamená to pouze, že obě strany uloží podrobnosti o připojení a mohou okamžitě obnovit odesílání a přijímání dat.
Nmap je standardní nástroj pro provádění skenování portů. Je navržen primárně pro běh na Linuxu, ale existují také verze pro Windows. K dispozici je také grafické rozhraní, ale použití příkazového řádku je stále standardem.
Jak používat Nmap
Chcete-li otestovat, zda máte na počítači se systémem Linux nainstalovaný Nmap, spusťte příkaz „nmap“. Pokud získáte stránku nápovědy, je nainstalována a připravena ke spuštění, pokud se zobrazí chyba, že příkaz nebyl nalezen, musíte nainstalovat Nmap.
Stránka nápovědy je velmi hustá a zobrazuje spoustu možností, které mohou být matoucí. Základy, které potřebujete ke skenování TCP portů, jsou relativně jednoduché. Základní struktura, kterou potřebujete, je „nmap [typ skenování] [možnosti] {specifikace cíle}“.
Pro skenování TCP portů budete chtít použít jeden ze dvou typů skenování, TCP nebo SYN. Skenování TCP se pokusí vytvořit úplné připojení ke každému portu a dokončí třístranné navázání spojení. Skenování SYN mírně zneužívá protokol a nikdy neodešle třetí zprávu třístranného podání ruky. Skenování SYN často méně zatěžuje systémové prostředky, protože zařízení nemusí udržovat otevřených mnoho připojení najednou protože připojení nejsou nikdy plně navázána, také běží rychleji než skenování TCP, ale budou potřebovat root oprávnění. Skenování TCP je specifikováno příznakem „-sT“, zatímco skenování SYN je specifikováno pomocí „-sS“.
Tip: Třícestný handshake je způsob inicializace TCP spojení, zahrnuje tři zprávy, „SYN, SYN-ACK a ACK“ zasílané z klienta na server, ze serveru na klienta a poté z klienta na server resp.
Jak určit možnosti skenování
Sekce možností je zcela volitelná, ale existuje řada, která může být obecně užitečná. Podrobnější výsledky skenování můžete povolit zvýšením výřečnosti pomocí „-v“, výřečnost můžete dále zvýšit až na třetí úroveň pomocí „-vvv“. Detekci operačního systému, detekci verzí, skenování skriptů a traceroutes můžete spustit pomocí příznaku „-A“, i když to bude trvat o něco déle.
Adresy IPv4 nebo IPv6 můžete skenovat najednou, výchozí je IPv4, pokud chcete skenovat adresy IPv6, musíte použít příznak „-6“. Nmap někdy spustí rychlou kontrolu pingu, aby zjistil, které hots jsou aktivní, pokud to přeskakuje hostitele, které chcete otestovat, můžete to vypnout příznakem „-Pn“. Pokud zadáte velký rozsah, může skenování trvat dlouho. Příznak „-T4“ spustí skenování rychleji a je nepravděpodobné, že by něco vynechal, může zahltit pomalé sítě nebo zařízení, protože se výrazně zvýší výkon.
Jak zadat IP adresu a rozsahy portů
Ve výchozím nastavení Nmap prohledá 1000 nejčastěji používaných portů, rozsah portů můžete nastavit ručně pomocí příznaku „-p“ a poté zadat rozsah bez mezer. Rozsahy portů lze zadat pomocí hodnot oddělených čárkami, rozsahů s pomlčkou nebo kombinací obou. Například příznaky „-p22“, „-p1-65535“ a „-p21-25,80,139,8080“ prohledají port 22, všechny porty mezi 1 a 65535 a porty 21 až 25, 80, 239, respektive 8080. Je také možné zadat příznak „–top-ports [číslo]“ místo toho, aby se skenovaly horní [číslo] nejběžnějších portů. Pokud chcete specifikovat všechny porty, můžete použít zkratku „-p-“.
Tip: Čísla portů se pohybují mezi 0 a 65535, ačkoli 0 technicky nelze použít.
Poslední věcí, kterou musíte zadat, jsou IP adresy zařízení, která chcete testovat. Chcete-li tak učinit, jednoduše vypište všechny adresy IP, které chcete skenovat, měly by být odděleny mezerami a lze je vypsat jednotlivě, podle rozsahů s pomlčkou nebo pomocí zápisu CIDR. Například „191.168.0.1“ prohledá tuto jedinou IP adresu, „192.168.0.1-5“ prohledá pět IP adres mezi 102.168.0.1 a 192.168.0.5, nakonec „192.168.0.1/24“ prohledá všechny IP adresy mezi 192.168.0.1 a 192.168.0.255.
Celkový příkaz by měl vypadat přibližně jako následující příklady: „nmap -sS -vvv -A -p- 127.0.0.1“, „nmap -sS -v -p80,443,8080 192.168.0.1/24“, „nmap -sS –horní porty 10000 -6 ::1”