Nse skripty. Referenčná príručka Nmap (manuálna stránka). Vyhľadanie aktívnych počítačov v sieti

Nmap je kultový skener, bez ktorého sa nezaobíde takmer žiadny hacker, takže téma rozširovania jeho možností, myslím, zaujíma mnohých. Používanie iných nástrojov v spojení s Nmapom je bežnou praxou. Tento článok bude hovoriť o tom, ako jednoducho automatizovať Nmap pomocou vašich obľúbených nástrojov. Je pohodlnejšie „stlačiť jedno tlačidlo“ a získať výsledok, ako neustále vykonávať rovnakú postupnosť akcií. Používanie skriptov v Nmap môže pomôcť hackerom preniknúť do systémov automatickyjšie a správcovia systémov môžu skontrolovať, či v systéme nie sú predvolené diery a včas ich opraviť.

Pár slov o Nmape

Som si istý, že väčšina čitateľov magazínu Hacker vie, čo je Nmap, a pravdepodobne ho už viac ako raz použili na preskúmanie siete a zhromažďovanie informácií. Pre tých, ktorí zabudli alebo nevedia, pre každý prípad mi dovoľte pripomenúť:

  • Nmap je multiplatformový nástroj na skenovanie siete, kontrolu jej bezpečnosti, určovanie verzií OS a rôznych služieb a mnoho ďalšieho. Toto je veľmi flexibilný a ľahko rozšíriteľný nástroj a skriptovacie jadro NSE to robí;
  • NSE (Nmap Scripting Engine) je výkonný komponent Nmap, ktorý umožňuje používateľom písať skripty na automatizáciu širokej škály sieťových úloh: flexibilnejšia interakcia s existujúcimi schopnosťami Nmap, detekcia a využívanie zraniteľností a ďalšie. NSE je založený na tlmočníkovi jazyka Lua;
  • Lua je skriptovací jazyk podobný JavaScriptu.

Formulácia problému

Ako už bolo spomenuté, dnes rozšírime funkčnosť Nmap o písanie vlastných skriptov. Akýkoľvek hack/pentest zvyčajne začína prieskumom a zberom dát. Jednou z prvých kontrol je prítomnosť otvorených portov na skúmanom hostiteľovi a identifikácia spustených služieb. Najlepší nástroj zbierať takéto informácie ako Nmap, možno nie. Ďalším krokom po skenovaní je zvyčajne buď hľadanie sploitu pre nájdenú zraniteľnú službu, alebo výber dvojice login:heslo pomocou metódy hrubej sily.

Povedzme, že aktívne používate THC-Hydra brute-forcer na uhádnutie hesiel viacerých služieb (napríklad HTTP-Basic, SSH, MySQL). V tomto prípade musíte nastaviť hydru na každej službe samostatne, musíte si zapamätať vlastnosti služieb a príznaky potrebné na spustenie hydry. A ak bude potrebné zničiť oveľa viac ako päť služieb? .. Prečo to nezautomatizovať?

Preto si napíšme jednoduchý skript, ktorý zautomatizuje proces spúšťania Hydry na výber loginov / hesiel pre jednu službu (napríklad PostgreSQL). Na to potrebujeme nasledujúce nástroje:

Ak ešte nemáte nainštalovaný Nmap a/alebo Hydra, okamžite to opravte:

$ sudo apt-get nainštalovať nmap hydra

Dobre, začnime. Skripty pre Nmap sú obvyklé textové súbory s príponou *.nse. Takže otvorte svoj obľúbený textový editor a vytvorte nový súbor. Použijem Vim:

$ vim hydra.nse

Štruktúra skriptu NSE

Skôr než prejdeme k písaniu, treba povedať, že všetky skripty majú určitú štruktúru. Okrem samotného kódu, ktorý automatizuje určité akcie, obsahuje popis skriptu (na čo je určený a ako ho používať), informácie o autorovi, licenciách, závislosti od iných skriptov, kategórie, do ktorých skript patrí. , a tak ďalej. Pozrime sa bližšie na každú z týchto častí.

Popis skriptu (popis)

Táto časť obsahuje popis skriptu, komentáre autora, príklad zobrazenia výsledku vykonania skriptu na obrazovke a ďalšie funkcie.

Pre náš skript, ktorý vyberá prihlasovacie údaje / heslá pre PostgeSQL, bude popis vyzerať takto:

Popis = [[ Hrubá sila všetkých služieb spustených na cieľovom hostiteľovi. Výsledky sa vrátia v tabuľke s každou cestou, zistenou metódou, prihlasovacím menom a/alebo heslom. ]] --- -- @použitie -- nmap --script hydra [--script-args "lpath= , ppath= "] -- -- @output -- SLUŽBA STAVU PORTU -- 80/tcp otvorené http -- | hydra: -- | spôsob cesty prihlasovacie heslo -- | 127.0.0.1/private/index.html Priechod denníka súhrnu -- |_ 127.0.0.1/simple/index.txt Základný používateľ qwerty -- -- @args hydra.lpath: cesta k súboru s prihláseniami. Napríklad -- nmap --script hydra --script-args="lpath=/home/my_logins.txt" -- @args hydra.ppath: cesta k súboru s heslami. Napríklad -- nmap --script hydra --script-args="ppath=/home/my_pass.txt"

Komentár; -- - viacriadkový komentár; @usage, @output, @args - príklad volania skriptu, zobrazenie výsledku na obrazovke, potrebné argumenty pri volaní.

Vyššie v @usage vidíme formát spúšťania skriptu. V tomto prípade je zadaný iba názov skriptu (hydra). Toto je možné, ak je skript umiestnený v adresári / /nmap/scripts/ , inak k nemu budete musieť zadať absolútnu alebo relatívnu cestu. V budúcnosti umožníme nastavenie argumentov pri spúšťaní skriptu. Argumenty sa nastavujú pomocou príznaku --script-args " " . V našom prípade nastavíme cestu k prihlasovaciemu súboru (lpath) a k súboru s heslami (ppath). Argumenty sú voliteľné: štandardne budeme hľadať súbory s názvom login.txt a password.txt v aktuálny adresár.

Kategórie, kde sa skript nachádza (kategórie)

Pri písaní skriptu NSE môžete určiť jeho kategóriu (alebo niekoľko kategórií). To je uzitocne, ked pouzivatel Nmap nechce pouzit specificky skript, ale sadu skriptov, ktore su v rovnakej kategorii. Príklady niektorých kategórií:

  • auth – kategória, v ktorej skripty definujú autentifikačné údaje cieľového hostiteľa;
  • brute - kategória, ktorej skripty pomáhajú určiť prihlasovacie mená a heslá pre rôzne služby;
  • default - kategória, ktorá obsahuje hlavné skripty. Existuje niekoľko kritérií, ktoré určujú, či skript patrí do tejto kategórie: rýchlosť skenovania, užitočnosť, spoľahlivosť, dôvernosť, vizuálny výstup;
  • malvér – kategória, ktorá pomáha identifikovať malvér.

Napríklad, ak potrebujete spustiť všetky skripty z kategórie auth, príkaz bude vyzerať takto:

$ nmap --script=auth example.com

V tomto prípade budú skripty tejto kategórie spustené postupne pre zadaného hostiteľa. Náš scenár patrí do kategórie brutálnych. Pridajme do súboru nasledujúci riadok:

Kategórie = ("hrubé")

Informácie o autorovi (autor)

Každý skript obsahuje informácie o jeho autorovi. V mojom prípade:

Autor = "Oľga Barinová"

Informácie o používanej licencii (licencia)

Nmap víta všetok používateľský vývoj a podporuje zdieľanie, vrátane skriptov NSE. Pri zadávaní licencie potvrdzujete právo zdieľať skript s komunitou. Štandardná licencia Nmap vyzerá takto:

Licencia = "Rovnaké ako Nmap – pozri http://nmap.org/book/man-legal.html"

Pridajme tento riadok aj do nášho skriptu.

Závislosti na iných skriptoch (závislosti)

Táto oblasť obsahuje názvy skriptov NSE, ktoré sa musia vykonať pred spustením tohto skriptu, aby sa získali potrebné informácie. Napríklad,

Závislosti = („smb-brute“).

V našom prípade táto funkcia nebude potrebná, takže nebudeme pridávať závislosti.

Hostiteľ a port (hostiteľ a port)

Nmap potrebuje vediet, pre ktore sluzby a na akych portoch spusti skript. Na to existujú špeciálne pravidlá:

  • prerule() - skript sa vykoná raz pred skenovaním akéhokoľvek hostiteľa, ktorý sa používa na niektoré sieťové operácie;
  • hostrule(host) - skript sa vykoná pre každého hostiteľa z tabuľky, ktorú berie ako argument;
  • portrule(hostiteľ, port) - skript sa spustí pre každého hostiteľa a pre každý port z tabuliek, ktoré berie ako argumenty;
  • postrule() - skript sa vykoná raz po skenovaní ľubovoľného hostiteľa. Slúži najmä na spracovanie výsledkov, zhrnutie štatistík a podobne.

Na tvorbu takýchto pravidiel existujú knižnice. Náš skript potrebuje zadať iba číslo portu (5432) a názov služby (postgresql) a potom bude fungovať iba pre tento prístav a servis. V NSE je pomerne populárna knižnica shortport, ktorá obsahuje rôzne metódy. Použijeme metódu

Port_or_service (porty, služby, protokoly, stavy)

kde porty sú čísla portov, služby sú názvy služieb, protokoly sú názvy protokolov (napríklad udp), stavy sú stavy.

Táto metóda vráti hodnotu true, ak je služba, ktorá sa práve analyzuje, na jednom z portov v zozname portov alebo sa zhoduje s niektorou službou v zozname služieb a protokol a stav sa skontrolujú na zhodu, inak sa vráti hodnota false.
Aby náš skript fungoval s PostgreSQL, musíme pridať číslo portu a názov služby:

Portrule = shortport.port_or_service((5432), ("postgresql"))

Prepojenie knižníc

Odbočme na chvíľu od štruktúry skriptu a zamyslime sa nad tým, ako sú prepojené externé knižnice, ku ktorým funkciám potrebujeme pristupovať.

Pokračovanie dostupné len pre členov

Možnosť 1. Pripojte sa ku komunite „stránky“ a prečítajte si všetky materiály na stránke

Členstvo v komunite počas určeného obdobia vám umožní prístup ku VŠETKÝM materiálom Hackerov, zvýši vašu osobnú kumulatívnu zľavu a umožní vám získať profesionálne hodnotenie Xakep Score!

Nmap je veľmi populárny sieťový skener s otvoreným zdrojovým kódom, ktorý je možné použiť v systéme Windows aj Linux. Nmap alebo Network Mapper vyvinul Gordon Luon a v súčasnosti ho používajú profesionáli v oblasti bezpečnosti a správcovia systémov po celom svete.

Tento program pomáha správcom systému veľmi rýchlo pochopiť, ktoré počítače sú pripojené k sieti, zistiť ich názvy a tiež zistiť, aký softvér je na nich nainštalovaný, aký operačný systém a aké typy filtrov sa používajú. Funkcionalitu programu je možné rozšíriť o vlastný skriptovací jazyk, ktorý umožňuje administrátorom automatizovať mnohé akcie.

Skripty môžu napríklad automaticky odhaliť nové bezpečnostné chyby vo vašej sieti. Namp je možné použiť s dobrým alebo zlým úmyslom, dávajte si pozor, aby ste nepoužívali nmap v rozpore so zákonom. V tomto návode sa pozrieme na to, ako používať namp na skenovanie portov operačný systém linux. Najprv sa však musíte pokúsiť pochopiť, ako tento nástroj funguje.

AT počítačové siete Všetky pripojené zariadenia majú svoju vlastnú IP adresu. Každý počítač podporuje protokol ping, ktorý možno použiť na zistenie, či je pripojený k sieti. Do počítača jednoducho odošleme požiadavku ping a ak odpovie, predpokladáme, že je pripojený. Nmap má trochu iný prístup. Počítače tiež reagujú určitým spôsobom na určité sieťové pakety, obslužný program jednoducho odošle potrebné pakety a pozrie sa, ktorí hostitelia poslali odpoveď.

Ale o tom už asi viete. Zaujímavejšie je, ako Nmap vie, ktoré služby sú spustené na počítači. Podstata práce všetkých sieťových programov je založená na portoch. Ak chcete prijať správu zo siete, program musí otvoriť port na vašom počítači a počkať na prichádzajúce pripojenia. A na odoslanie správy cez sieť sa musíte pripojiť k inému programovému (cieľovému) portu. Program potom bude musieť otvoriť port, na ktorom bude čakať na odpoveď.

Nástroj nmap iteruje dostupný rozsah portov počas skenovania siete a pokúša sa pripojiť ku každému z nich. Ak je spojenie úspešné, vo väčšine prípadov prenosom viacerých balíkov program dokáže zistiť aj verziu softvér, ktorý čaká na pripojenia na tomto porte. Teraz, keď sme prebrali základy, pozrime sa, ako používať nmap na skenovanie portov a siete.

Syntax Nmap

Príkaz na spustenie Nmap je veľmi jednoduchý, stačí mu zadať cieľovú IP adresu alebo sieť v parametroch a v prípade potreby zadať možnosti:

$ možnosti adresy nmap

Teraz sa pozrime na hlavné možnosti, ktoré budeme v tomto článku potrebovať.

  • -sl- stačí vytvoriť zoznam bežiacich hostiteľov, ale nekontrolovať porty nmap;
  • -sP- iba skontrolujte, či je hostiteľ dosiahnuteľný pomocou príkazu ping;
  • -PN- zvážiť všetkých dostupných hostiteľov, aj keď neodpovedajú na ping;
  • -sS/sT/sA/sW/sM- skenovanie TCP;
  • -sU- UDP skenovanie nmap;
  • -sN/sF/sX- skenovanie TCP NULL a FIN;
  • -sC- spustiť predvolený skript;
  • -sI- lenivé indle skenovanie;
  • -p- špecifikovať rozsah portov na kontrolu;
  • -sV- podrobná štúdia prístavov na určenie verzií služieb;
  • -O- určiť operačný systém;
  • -T- rýchlosť skenovania, čím viac, tým rýchlejšie;
  • -D- skenovanie masky pomocou fiktívnych IP;
  • -S- zmeniť svoju IP adresu na zadanú;
  • -e- používať špecifické rozhranie;
  • --spoof-mac- nastavte svoju MAC adresu;
  • -A- detekcia operačného systému pomocou skriptov.

Teraz, keď sme pokryli všetky základné možnosti, poďme sa rozprávať o tom, ako funguje skenovanie portov nmap.

Ako používať Nmap na skenovanie portov v systéme Linux

Ďalej sa pozrime na príklady nmap. Najprv sa pozrime na to, ako nájsť všetky zariadenia pripojené k sieti, na to stačí použiť možnosť -sL a špecifikovať našu sieťovú masku. v mojom prípade je to 192.168.1.1/24. tvoja maska lokálna sieť môžete nájsť spustením príkazu:

Z výstupu pre použité rozhranie vezmite číslo za lomkou a pred lomkou zadajte IP adresu vášho smerovača. Príkaz nmap network scan bude vyzerať takto:

nmap -sL 192.168.1.1/24

Niekedy toto skenovanie nemusí vrátiť žiadne výsledky, pretože niektoré operačné systémy majú ochranu skenovania portov. Dá sa to však obísť jednoduchým použitím príkazu ping na skenovanie všetkých adries IP v sieti, na to existuje možnosť -sn:

nmap -sn 192.168.1.1/24

Ako vidíte, program teraz zistil aktívne zariadenia v sieti. Ďalej môžeme skenovať porty nmap pre požadovaný hostiteľ spustením pomôcky bez možností:

sudo nmap 192.168.1.1

Teraz vidíme, že máme otvorených niekoľko portov, pričom všetky z nich používa nejaká služba na cieľovom počítači. Každý z nich môže byť potenciálne zraniteľný, takže nie je bezpečné mať na počítači veľa otvorených portov. Ale to nie je všetko, čo môžete urobiť, ďalej sa naučíte používať nmap.

Ak chcete vedieť viac detailné informácie o stroji a službách, ktoré na ňom bežia, môžete použiť voľbu -sV. Nástroj sa pripojí ku každému portu a určí všetky dostupné informácie:

sudo nmap -sV 192.168.1.1

Na našom počítači je spustený ftp, takže sa môžeme pokúsiť preskúmať túto službu podrobnejšie pomocou štandardných skriptov nmap. Skripty umožňujú podrobnejšie skontrolovať port, nájsť možné zraniteľnosti. Ak to chcete urobiť, použite voľbu -sC a -p na nastavenie portu:

sudo nmap -sC 192.168.56.102 -p 21

Spustili sme predvolený skript, ale existujú aj iné skripty, napríklad všetky skripty pre ftp nájdete príkazom:

sudo find /usr/share/nmap/scripts/ -name "*.nse" | grep ftp

Potom sa pokúsime použiť jeden z nich, na to ho stačí zadať pomocou voľby --script. Najprv sa však môžete pozrieť na informácie o skripte:

sudo nmap --script-help ftp-brute.nse

Tento skript sa pokúsi určiť FTP prihlasovacie meno a heslo na vzdialenom hostiteľovi. Potom spustite skript:

sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21

V dôsledku toho skript vybral prihlasovacie meno a heslo, admin / admin. Preto nemusíte používať predvolené možnosti prihlásenia.

Pomôcku môžete spustiť aj s voľbou -A, ktorá aktivuje agresívnejší režim pomôcky, s ktorým získate väčšinu informácií jedným príkazom:

sudo nmap -A 192.168.1.1

Všimnite si, že tu sú zahrnuté takmer všetky informácie, ktoré sme predtým videli. Dá sa použiť na zvýšenie obranyschopnosti tohto stroja.

závery

V tomto článku sme sa pozreli na to, ako sa vykonáva skenovanie portov nmap, ako aj na niekoľko jednoduchých príkladov použitia tohto nástroja. Tieto príkazy nmap môžu byť užitočné pre mnohých systémových administrátorov na zlepšenie bezpečnosti ich systémov. To však nie sú všetky možnosti tohto nástroja. Pokračujte v experimentovaní s nástrojom, aby ste zistili viac, len nie na sieťach iných ľudí!

o autorovi

Zakladateľ a správca stránky, má rád softvér s otvoreným zdrojovým kódom a prevádzkuje ho Linuxový systém. Momentálne používam Ubuntu ako svoj hlavný OS. Okrem Linuxu ma zaujima vsetko co suvisi informačné technológie a modernej vedy.

  • Objavovanie služieb a ich verzií
  • Definícia OS
  • Možnosti riadenia času a výkonu
  • Rôzne možnosti
  • Interakcia za behu
  • Príklady
  • Informácie o skriptoch Nmap (v angličtine):

    Skryté pred hosťami


    Najnovšia verzia dokumentácie Nmap (v angličtine):

    Skryté pred hosťami


    Oficiálna kniha o Nmap od tvorcov Nmap (v angličtine):

    Skryté pred hosťami

    Preambula

    nmap - Nástroj na prieskum siete a skener portov

    Nmap („Network Mapper“) je nástroj na prieskum a zabezpečenie siete s otvoreným zdrojom. Bol navrhnutý na rýchle skenovanie veľkých sietí, aj keď dobre funguje aj pre jednotlivé ciele. Nmap používa prvotné IP pakety originálnym spôsobom na určenie toho, ktorí hostitelia sú v sieti k dispozícii, aké služby (názov a verzia aplikácie) ponúkajú, aké operačné systémy (a verzie OS) používajú, aké typy paketových filtrov/brány firewall sa používajú, a desiatky ďalších vlastností. . Zatiaľ čo Nmap sa bežne používa na bezpečnostné kontroly, mnohé sieťové a správcov systému považujú ho za užitočné pri bežných úlohách, ako je monitorovanie štruktúry siete, správa plánov spúšťania služieb a sledovanie dostupnosti hostiteľa alebo služby.

    Výstupom Nmapu je zoznam naskenovaných cieľov s ďalšími informáciami o každom v závislosti od daných možností. Kľúčové informácie je „tabuľka dôležitých portov“. Táto tabuľka obsahuje číslo portu, protokol, názov služby a stav. Stav môže byť otvorený (otvorený), filtrovaný (filtrovaný), zatvorený (zatvorený) alebo nefiltrovaný (nefiltrovaný). Open znamená, že aplikácia na cieľovom počítači je pripravená na pripojenie/prijímanie paketov na tomto porte. Filtrovany znamena, ze firewall, sietovy filter alebo nejaka ina sietova prekazka blokuje port a Nmap nemoze urcit, ci je port otvoreny alebo zatvoreny. Uzavreté porty nie sú spojené so žiadnou aplikáciou, takže je možné ich kedykoľvek otvoriť. Porty sa považujú za nefiltrované, keď odpovedajú na požiadavky Nmap, ale Nmap nedokáže určiť, či sú otvorené alebo zatvorené. Nmap vydáva otvorené|filtrované a zatvorené|filtrované kombinácie, keď nedokáže určiť, ktorý z dvoch stavov port popisuje. Táto tabuľka môže na požiadanie poskytnúť aj podrobnosti o verzii softvéru. Pri skenovani cez IP protokol (-sO), Nmap poskytuje informacie o podporovanych IP protokoloch, nie o otvorenych portoch.

    Okrem tabuľky dôležitých portov môže Nmap poskytnúť ďalšie cieľové informácie: vyriešené názvy DNS, odhad operačného systému, typy zariadení a adresy MAC.

    Typické skenovanie pomocou Nmap je uvedené v príklade 1. Jediné argumenty použité v tomto príklade sú -A, na určenie verzie OS, skenovanie skriptov a sledovanie; -T4 pre rýchlejšie vykonávanie; potom dvaja cieľoví hostitelia.

    Príklad 1. Typický príklad skenovania pomocou Nmap:

    # nmap -A -T4 ihrisko scanme.nmap.org Spúšťa sa Nmap (https://nmap.org/) Zaujímavé porty na scanme.nmap.org (64.13.134.52): (1663 naskenovaných portov, ktoré nie sú zobrazené nižšie, je v stave : filtrované) STAV PORTU SERVISNÁ VERZIA 22/tcp otvorený ssh OpenSSH 3.9p1 (protokol 1.99) 53/tcp otvorená doména 70/tcp uzavretý gopher 80/tcp otvorený http Apache httpd 2.0.52 ((Fedora)) 113 authcp uzavretý typ: všeobecné použitie Beh: Linux 2.4.X|2.5.X|2.6.X Podrobnosti OS: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Zaujímavé porty na ihrisku.nmap.org (192.168.0.40 ): (1659 naskenovaných portov, ktoré nie sú zobrazené nižšie, je v stave: zatvorené) STAV PORTU SERVISNÁ VERZIA 135/tcp otvorený msrpc Microsoft Windows RPC 139/tcp otvorený netbios-ssn 389/tcp otvorený ldap? 445/tcp otvorené microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp otvorené okná-icfw? 1025/tcp otvorený msrpc Microsoft Windows RPC 1720/tcp otvorený H.323/Q.931 CompTek AquaGateKeeper 5800/tcp otvorený vnc-http RealVNC 4.0 (rozlíšenie 400 x 250; port VNC: 5900 MAC/tc. 390 otvorený) 590 MAC/tc. Adresa: 00:A0:CC:63:85:4B (Lite-on Communications) Typ zariadenia: všeobecné použitie Beží: Microsoft Windows NT/2K/XP Podrobnosti OS: Microsoft Windows XP Pro RC1+ do finálneho vydania Servisné informácie: OS: Windows , Windows XP Nmap dokončený: 2 adresy IP (2 hostitelia hore) naskenované za 88,392 sekúnd

    Súhrn možností

    Použitie:
    nmap [Typy skenovania] [Možnosti] (špecifikované_ciele)

    URČENIE ÚČELU SKENOVANIA:

    Dokáže pracovať s názvami hostiteľov, IP adresami, sieťami atď.
    Napríklad: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10,0,0-255,1-254
    -il<ввести_имя_файла>: Import zo zoznamu hostiteľov/sietí
    -iR<количество хостов>: Náhodný výber cieľa
    -- vylúčiť : Vylúčiť hostiteľov/siete
    --excludefile<файл_с_исключениями>: Vylúčiť zoznam zo súboru

    HOSTITEĽSKÝ OBJAV:

    SL: Skenovať do zoznamu – jednoducho vytvorte zoznam cieľov na skenovanie
    -sn: Ping scan - jednoduché zistenie, či je hostiteľ zapnutý
    -Pn: Zaobchádzať so všetkými hostiteľmi ako hore - preskočiť zisťovanie hostiteľa
    -PS/PA/PU/PY [zoznam portov]: TCP SYN/ACK, UDP alebo SCTP ping daných hostiteľov
    -PE/PP/PM: Ping pomocou požiadaviek na odozvu protokolu ICMP, požiadaviek na časovú pečiatku a masku siete
    -PO[zoznam protokolov]: Ping pomocou protokolu IP
    -n/-R: Nikdy nevyriešiť DNS/Vždy vyriešiť [predvolené: niekedy]
    -dns-servery<сервер1[,сервер2],…>: Nastavte si vlastné servery DNS
    --system-dns: Použiť systémový DNS resolver
    --traceroute: Sledovanie (cesta) ku každému hostiteľovi

    RÔZNE TECHNIKY SKENOVANIA:

    SS/sT/sA/sW/sM: TCP SYN/pomocou skenovania systémových volaní Connect()/ACK/Window/Maimon
    -sU: skenovanie UDP
    -sN/sF/sX: skenovanie TCP Null, FIN a Xmas
    --scanflags<флаги>: Nastavenie vlastných príznakov TCP
    -sI<зомби_хост[:порт]>: Skenovanie pri nečinnosti
    -sY/sZ: SCTP INIT/COOKIE-ECHO skenovanie
    -sO: skenovanie protokolu IP
    -b : FTP bounce scan

    DEFINÍCIA PORTOV A PORADIE SKENOVANIA:

    P<диапазон_портов>: Skenovať iba špecifické porty
    Príklad: -p22; -pl-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
    -F: Rýchle skenovanie - Skenovanie obmedzeného počtu portov
    -r: Skenovanie portov postupne - nenáhodne porty
    --top-porty<количество_портов>: Skenovať<количество_портов>najbežnejšie porty
    --port-ratio<рейтинг>: Skenovanie portov s hodnotením vyšším ako<рейтинг>

    DEFINÍCIA SLUŽIEB A ICH VERZÍ:

    SW: Preskúmajte otvorené porty na definovanie informácií o službe/verzii
    --version-intensity<уровень>: Nastavte od 0 (jednoduché) do 9 (vyskúšajte všetky požiadavky)
    --version-light: Obmedzenie na najľahšie dopyty (váha 2)
    --version-all: Použiť každú jednu požiadavku (sadzba 9)
    --version-trace: Vytlačí podrobné informácie o procese skenovania (na ladenie)

    SKENOVANIE POMOCOU SKRIPTOV:

    SC: ekvivalent k --script=predvolená možnosť
    --script= : je čiarkami oddelený zoznam adresárov, súborov skriptov alebo kategórií skriptov
    --script-args=<имя1=значение1,[имя2=значение2,…]>: Odovzdávanie argumentov do skriptov
    --script-args-file=názov súboru: Preniesť argumenty súboru NSE do skriptov
    --script-trace: Vytlačí všetky prijaté a odoslané údaje
    --script-updatedb: Aktualizácia databázy skriptov
    --script-help= : Zobraziť pomoc o skriptoch. zoznam skriptov oddelených čiarkami alebo zoznam kategórií skriptov.

    DEFINÍCIA OS:

    O: Povolenie funkcie detekcie OS
    --osscan-limit: Používať detekciu OS iba pre „sľubných“ hostiteľov
    --osscan-guess: Hádaj výsledky detekcie OS

    MOŽNOSTI RIADENIA ČASU A VÝKONU:

    Možnosti, ktoré vyžadujú argument<время>, sú v milisekundách, kým k hodnote (napr. 30 m) nepripočítate „s“ (sekundy), „m“ (minúty) alebo „h“ (hodiny).
    -T<0-5>: Nastavte predvoľbu správy času (väčšie je rýchlejšie)
    --min-hostgroup/max-hostgroup<кол_хостов>: Nastavenie veľkosti skupín pre paralelné skenovanie
    --min-paralelnosť/maximálna-rovnobežnosť<кол_хостов>: Riadi paralelizmus dotazov
    --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout<время>: Upravuje čas čakania na odpoveď na požiadavku
    --maximálny počet opakovaní<количество_попыток>: Určuje maximálny počet opakovaní požiadavky
    --host-timeout<время>: Zastaví skenovanie pomalých cieľov
    --scan-delay/-max-scan-delay<время>: Upravuje oneskorenie medzi požiadavkami
    -min.sadzba<число>: Posielajte žiadosti rýchlosťou, ktorá nie je nižšia ako<число>za sekundu
    --maximálna sadzba<число>: Posielajte požiadavky rýchlosťou nie vyššou ako<число>za sekundu

    OBCHÁDZANIE FIREWALLOV/IDS:

    F; -mtu<значение>: Fragmentujte pakety (voliteľné s nastavenou hodnotou MTU)
    -D<фикт_хост1,фикт_хост2[,ME],…>: Maskovanie skenov falošnými hostiteľmi
    -S : Zmeňte zdrojovú adresu
    -e<интерфейс>: Použite špecifické rozhranie
    -g/-source-port<номер_порта>: Použite zadané číslo portu
    – proxy : Reléové pripojenia cez HTTP/SOCKS4 proxy
    --data-length<число>: Pridanie ľubovoľných údajov do odosielaných paketov
    --ip-options<опции>: Odoslať paket s danými možnosťami IP
    -ttl<значение>: Nastavenie doby životnosti poľa IP
    --spoof-mac : Nastavte si vlastnú MAC adresu
    --badsum: Odosielanie paketov s falošnými kontrolnými súčtami TCP/UDP/SCTP

    VÝSLEDKY:

    ON/-oX/-oS/-oG Výstup normálny, XML, s| -oA<базовове_имя_файла>: Použite tri hlavné výstupné formáty naraz
    -v: Zvýšte úroveň výrečnosti (zadajte dvakrát alebo viackrát, aby ste zvýšili účinok)
    -d: Zvýšte alebo nastavte úroveň ladenia (až 9)
    --reason: Zobrazí dôvod, prečo je port v konkrétnom stave
    --open: Zobraziť iba otvorené (alebo prípadne otvorené) porty
    --packet-trace: Sledovanie prijatých a odoslaných paketov
    --iflist: Zoznam rozhraní a smerovačov (na ladenie)
    --log-errors: Log chyby/varovania do výstupného súboru v normálnom režime
    --append-output: Namiesto prepisovania výstupných súborov pripája
    -pokračovať<имя_файла>: Obnovenie prerušeného skenovania
    --stylesheet<путь/URL>: Nastaví šablónu so štýlmi XSL na konverziu výstupu XML do HTML
    --webxml: Načíta šablónu so štýlmi z Nmap.Org
    --no-stylesheet: Odstráňte deklaráciu šablóny so štýlmi XSL z XML

    RÔZNE MOŽNOSTI:

    6: Povoľte skenovanie IPv6
    -A: Povoliť zisťovanie OS a verzie, skenovanie a sledovanie pomocou skriptov
    --datadir<имя_директории>: Určuje umiestnenie súborov Nmap
    --send-eth/ --send-ip: Použiť surovú ethernet/IP vrstvu
    --privileged: Predpokladajme, že používateľ má všetky privilégiá
    --unprivileged: Predpokladajme, že používateľ nemá privilégiá na používanie raw soketov
    -V: Zobrazenie čísla verzie
    -h: Zobrazí túto stránku pomocníka

    INTERAKTÍVNE PRÍKAZY:

    POMOC: Nebude fungovať s "sudo nmap", takže použite "sudo -i"
    Počas prevádzky môžete dotazovať nmap pomocou nasledujúcich prepínačov:
    ? Ukážte tieto informácie
    v/V zvýšenie/zníženie výrečnosti
    d/D zvýšenie/zníženie ladenia
    p/P povoliť/zakázať sledovanie paketov
    a ďalšie tlačidlá, ktoré sa majú vytlačiť v stave

    PRÍKLADY:
    Určenie účelu skenovania

    Na príkazovom riadku Nmap sa všetko, čo nie je možnosťou (alebo argumentom možnosti), považuje za cieľ skenovania. V najjednoduchšom prípade sa na skenovanie použije adresa IP alebo názov siete cieľového zariadenia.

    Niekedy je potrebné skenovať celú sieť. Na tento účel Nmap podporuje adresovanie CIDR. Môžete pridať /<кол-во бит>na IP adresu alebo nazov siete a Nmap naskenuje kazdu IP adresu, pre ktoru je prva<кол-во бит>rovnaký ako daný hostiteľ. Napríklad 192.168.10.0/24 prehľadá 256 hostiteľov medzi 192.168.10.0 (binárne: 11000000 10101000 00001010 00000000) a 100000000010101105 (binárne 10:2500000000000000000000000000 192.168.10.40/24 urobí presne to isté. S vedomím, že IP adresa scanme.nmap.org je 64.13.134.52, záznam ako scanme.nmap.org/16 naskenuje 65 536 IP adries medzi 64.13.0.0 a 64.13.255.255. Najmenšia povolená hodnota je /0, ktorá prehľadá celý internet. Najvyššia hodnota je /32, pri ktorej sa bude skenovať iba zadaný hostiteľ alebo adresa IP. všetky bity adresy sú zakázané.

    Notácia CIDR je krátka, ale nie vždy dostatočne flexibilná. Napríklad chcete skenovať 192.168.0.0/16, ale preskočiť všetky adresy IP končiace na .0 alebo .255, pretože zvyčajne sú to vysielacie adresy. Nmap dokáže toto skenovanie vykonať zadaním rozsahov v oktetoch. Namiesto zadania bežnej adresy IP môžete zadať buď zoznam čísel oddelených čiarkami alebo rozsah pre každý oktet. Napríklad 192.168.0-255.1-254 preskočí všetky adresy v rozsahu končiacom na .0 a .255. Rozsahy nemusia byť zadané len v posledných oktetoch: zápis 0-255.0-255.13.37 vyhľadá všetky internetové adresy končiace na 13.37. Tento typ skenovania môže byť užitočný pri prehliadaní internetu a rôznych štúdiách.

    Adresy IPv6 je možné zadať iba vo forme, ktorá plne zodpovedá správnemu zápisu adries IPv6. CIDR a použitie rozsahov v oktetoch sa nevzťahuje na adresy IPv6, as používajú sa zriedka.

    Na príkazovom riadku Nmap môžete zadať viacero definícií cieľa, nie nevyhnutne rovnakého typu. Tím nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 urobí to, čo očakávate.

    Ciele skenovania sa zvyčajne nastavujú na príkazovom riadku a existujú rôzne možnosti na ovládanie výberu cieľov:

    IL<имя_файла>(Zadajte zo zoznamu)

    Číta ciele z<имя_файла>. Hoci je bežné odovzdať na skenovanie veľký zoznam hostiteľov, nie je to vhodné. Napríklad váš server DHCP vám poskytuje zoznam 10 000 adries, ktoré momentálne používa, a vy ho chcete skenovať. Alebo možno chcete skenovať všetky adresy IP okrem tých, ktoré im boli odovzdané, aby ste zistili neoprávnené použitie statických adries IP. Jednoducho vygenerujte zoznam hostiteľov na skenovanie a odovzdajte názov súboru Nmap ako argument pre voľbu -iL. Položky v súbore môžu byť v akejkoľvek forme prijateľnej pre Nmap (IP adresy, názvy sietí, CIDR, IPv6 alebo rozsahy oktetov). Každý záznam musí byť oddelený medzerou alebo viacerými medzerami, tabulátormi alebo novými riadkami. Ak chcete, aby Nmap čítal zoznam hostiteľov zo štandardného vstupu, a nie zo súboru, môžete zadať pomlčku (-) ako argument názvu súboru.

    IR<кол-во хостов>(Vyberá ľubovoľné ciele)

    Na skenovanie na celom internete alebo akýkoľvek druh výskumu možno budete musieť vybrať ciele náhodne. Argumentovať<кол-во хостов>určuje, koľko IP adries sa má vygenerovať. Nevhodné IP adresy, ako sú súkromné, vysielané alebo nelokalizované rozsahy adries, sa automaticky preskočia. Argument 0 môže byť odovzdaný pre nekonečné skenovanie. Uvedomte si, že niektorí správcovia systému nemusia mať radi neoprávnené kontroly ich sietí a môžu sa sťažovať. Túto možnosť používajte na vlastné riziko! Ak sa počas daždivého dňa nudíte, vyskúšajte nmap -sS -PS80 -iR 0 -p 80 na skenovanie ľubovoľných webových serverov.

    -- vylúčiť<хост1>[,<хост2>[,…]] (Vylúčiť hostiteľov/siete)

    Určuje čiarkami oddelený zoznam cieľov, ktoré sa majú vylúčiť z kontroly, aj keď sú súčasťou vami zadaného rozsahu kontroly. Odovzdaný zoznam používa štandardnú syntax Nmap, takže môže obsahovať názvy sietí, adresy CIDR, rozsahy v oktetoch atď. Táto možnosť môže byť užitočná, ak sieť, ktorú chcete kontrolovať, obsahuje servery alebo systémy, ktoré nereagujú dobre na kontroly portov, alebo podsiete, ktoré spravujú iní ľudia.

    --excludefile<имя_файла>(Vylúčiť zoznam zo súboru)

    Táto možnosť robí to isté ako --exclude, okrem toho, že ciele, ktoré sa majú vylúčiť, sú oddelené medzerami, tabulátormi alebo riadkami<файле>, nie na príkazovom riadku.

    nmap[ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }

    Popis

    nmap(" Mapovač siete ») je nástroj na prieskum a zabezpečenie siete s otvoreným zdrojom. Bol navrhnutý na rýchle skenovanie veľkých sietí, aj keď dobre funguje aj pre jednotlivé ciele. Nmap originálnym spôsobom používa surové IP pakety na určenie toho, ktorí hostitelia sú v sieti k dispozícii, aké služby (názov a verzia aplikácie) ponúkajú, aké operačné systémy (a verzie OS) používajú, aké typy paketových filtrov/firewallov sa používajú a mnohé ďalšie.ďalšie vlastnosti. Hoci sa Nmap bežne používa na bezpečnostné kontroly, mnohí správcovia systému ho považujú za užitočný pri bežných úlohách, ako je monitorovanie štruktúry siete, správa plánov spúšťania služieb a sledovanie dostupnosti hostiteľa alebo služby.

    Výstupom Nmapu je zoznam naskenovaných cieľov s ďalšími informáciami o každom cieli v závislosti od daných možností. Kľúčovou informáciou je « tabuľka dôležitých portov» . Táto tabuľka obsahuje číslo portu, protokol, názov služby a stav. Stav môže byť otvorený (otvorený), filtrovaný (filtrovaný), zatvorený (zatvorený) alebo nefiltrovaný (nefiltrovaný). Open znamená, že aplikácia na cieľovom počítači je pripravená na pripojenie/prijímanie paketov na tomto porte. Filtrovane znamena, ze firewall, sietovy filter alebo nejake ine sietove zasahovanie blokuje port a Nmap nemoze urcit, ci je port otvoreny alebo zatvoreny. Uzavreté porty nie sú spojené so žiadnou aplikáciou, ale možno ich kedykoľvek otvoriť. Porty sa považujú za nefiltrované, keď odpovedajú na požiadavky Nmap, ale Nmap nedokáže povedať, či sú otvorené alebo zatvorené. Nmap vydáva otvorené|filtrované a zatvorené|filtrované kombinácie, keď nedokáže určiť, ktorý z dvoch stavov port popisuje. Táto tabuľka môže na požiadanie poskytnúť aj podrobnosti o verzii softvéru. Pri skenovani cez IP protokol (-sO), Nmap poskytuje informacie o podporovanych protokoloch, nie o otvorenych portoch.

    Okrem tabuľky dôležitých portov môže Nmap poskytnúť ďalšie cieľové informácie: vyriešené názvy DNS, odhad operačného systému, typy zariadení a adresy MAC.

    Typické skenovanie pomocou Nmap je znázornené v príklade 1. Jediné argumenty použité v tomto príklade sú -A , pre verziu operačného systému, skriptované skenovanie a sledovanie; -T4 pre rýchlejšie vykonávanie; potom dvaja cieľoví hostitelia.

    Príklad 1. Typický príklad skenovania pomocou Nmap

    # nmap -A -T4 scanme..org) Zaujímavé porty na scanme.site (64.13.134.52): (1663 naskenovaných, ale nezobrazených portov je v stave: filtrované) STAV PORTU SERVISNÁ VERZIA 22/tcp open ssh OpenSSH 3.9p1 (protokol 1.99) 53/tcp otvorená doména 70/tcp uzavretý gopher 80/tcp otvorený http Apache httpd 2.0.52 ((Fedora)) 113/tcp uzavreté auth Typ zariadenia: všeobecné použitie Spustený: Linux 2.4.X|2.5.X| Podrobnosti OS 2.6.X: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Zaujímavé porty na ihrisku..168.0.40): (1659 naskenovaných portov, ktoré nie sú zobrazené nižšie, je v stave: zatvorené) PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 389/tcp open ldap? 445/tcp otvorené microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp otvorené okná-icfw? 1025/tcp otvorený msrpc Microsoft Windows RPC 1720/tcp otvorený H.323/Q.931 CompTek AquaGateKeeper 5800/tcp otvorený vnc-http RealVNC 4.0 (rozlíšenie 400 x 250; port VNC: 5900 MAC/tc. 390 otvorený) 590 MAC/tc. Adresa: 00:A0:CC:63:85:4B (Lite-on Communications) Typ zariadenia: všeobecné použitie Beží: Microsoft Windows NT/2K/XP Podrobnosti OS: Microsoft Windows XP Pro RC1+ do finálneho vydania Servisné informácie: OS: Windows , Windows XP Nmap dokončený: 2 adresy IP (2 hostitelia hore) naskenované za 88,392 sekúnd


    Najnovšiu verziu Nmap si môžete stiahnuť z