Nmap Scripting Engine

Nmap Scripting Engine

Předpokládám, že program Nmap alespoň trošku znáte, nebo tušíte k čemu slouží. V dnešním článku se zaměřím na Nmap Scripting Engine, který umožňuje psát síťové skripty v jazyku Lua. Nebudu popisovat jak takový skript vytvořit, ale ukážu jak využít množství již napsaných a připravených skriptů, které rozšíří schopnosti Nmapu a umožní Vám tak získat více informací o vzdáleném počítači, či počítačové síti.

Poznámka: Protože se poslední dobou trochu více věnuji tématu bezpečnosti, rozhodl jsem se vytvořit pár článků zaměřených na bezpečnost. Spíš než o teorii by mělo jít o praktické ukázky. Zaměřit bych se chtěl jak na bezpečnostní audit, tak na praktické ukázky některých útoků. Konkrétně by se články měly věnovat nástrojům Nmap, Ettercap, Metasploit framework a pokud se mi bude chtít, tak bych bych napsal i něco o technikách, které používají Linuxové rootkity, aby skryly svou přítomnost v napadeném systému a připojil několik ukázkových zdrojových kódů. Přesněji by šlo o techniky používané rootkity ve formě jaderných modulů. Takže teď už hurá na Nmap.

Co je to Nmap?

Nmap je nástroj pro průzkum (mapování) sítě a bezpečnostní audit. Jeho název je zkratkou pro Network Mapper.

Co je to Nmap Scripting Engine (NSE)?

NSE je funkce/vlastnot Nmapu, která umožňuje psát skripty pro různé síťové úlohy. Skripty se programují v jazyku Lua a na stránce Nmapu naleznete databázi  těchto skriptů, včetně popisu jejich funkce. Tyto skripty jsou rozděleny do několika kategorií, podle svého zaměření, funkce a intrusivnosti.

Kategorie skriptů pro NSE

auth

Skripty které se pomocí hrubé síly snaží odhalit přihlašovací údaje pro různé síťové služby (http, ftp, snmp, …).

default

Skripty, které se spouští automaticky, při použití přepínače -sC nebo -A. Jde o skripty, které:

  • By měly být nějakým způsobem obecně užitečné.
  • Jsou dostatečně rychlé, aby neprodlužovali dobu skenování.
  • Nemají příliš velký výstup, aby neznepřehledňovali výsledky.
  • Jsou spolehlivé a je nízká šance na to, že by podávali nepřesné výsledky.
  • Nejsou intrusivní, takže nezpůsobí na cílovém systému škody.
  • Zachovávají soukromí, takže při skenování nevyužívají třetích stran. Třetí stranu například využívá skript whois.

discovery

Skripty, které se aktivně snaží získat co nejvíce informací o cíli, jako například titulek www stránek nebo výpis sdílených zdrojů na cílovém systému.

dos

Skripty, které můžou při použití způsobit nedostupnost cílové služby.

exploit

Skripty, které se aktivně snaží zneužít některé zranitelnosti.

external

Skripty, které odesílají data třetím stranám, například dříve zmíněný whois skript.

fuzzer

Skripty pro fuzzy testování. Tyto skripty například odesílají náhodná data na server a tím testují, jestli je server schopen správně reagovat na neočekávaný vstup.

intrusive

Skripty, které nějakým způsobem zasahují do cílového systému a případně mohou způsobit i jeho pád.

malware

Skripty, které testují, zdali je na cílovém počítači škodlivý kód, například ve formě backdooru.

safe

Bezpečné skripty, tedy takové skripty, které by neměli způsobit pád cílového systému, ani ho nějak poškodit.

version

Skripty pro detekci verze služeb či programů běžících na serveru.

vuln

Skripty testující známé zranitelnosti na cílovém systému.

Výstup skriptů

Skripty by měly být naprogramovány tak, aby dávali pouze užitečný výstup. Pokud tedy skript nezjistí žádné další údaje, nebude z něj žádný výstup. Takže výstup Nmapu s použitím skriptů a bez použití skriptů během skenování, může vypadat úplně stejně, pokud žádný skript nenajde nic, co by stálo za zmínku.

Použití skriptů

Jak již bylo řečeno, při použití volby -A nebo -sC, budou použity skripty v kategorii default. Pokud chcete použít jinou kategorii, nebo pouze jeden konkrétní skript, je třeba použít přepínač –script.

Příklady použití

nmap -sC target
Spustí skripty v kategorii default.

nmap –script malware,vuln target
Spustí skripty v kategorii malware a vuln.

nmap –script “malware or vuln” target
Spustí skripty, které jsou v kategorii malware nebo vuln.

nmap –script “default and safe” target
Spustí skripty, které jsou v kategorii default a zároveň i v kategorii safe.

nmap –script “ftp-*” target
Spustí skripty, jejichž jméno začíná na ftp-.

nmap –script “not intrusive” target
Spustí všechny skripty, vyjma těch, které jsou v kategorii intrusive.

nmap –script ftp-proftpd-backdoor target
Spustí skript ftp-proftpd-backdoor.

nmap –script ftp-proftpd-backdoor,default target
Spustí skript ftp-proftpd-backdoor a skripty v kategorii default.

Přidání nového skriptu

Nmap si skripty na Linuxu uchovává většinou v adresáři /usr/share/nmap/scripts.

Pokud si tedy stáhnete nový skript, stačí ho zkopírovat do tohoto adresáře a pak spustit příkaz, který aktualizuje databázi:

nmap --script-updatedb

Leave a Reply

Your email address will not be published. Required fields are marked *