Hvernig á að nota Nmap Script Engine (NSE) forskriftir í Linux


skanna opnar hafnir og þjónustur sem keyra á þessum vélum og svo margt fleira.

Einn af áhugaverðum eiginleikum Nmap er Nmap Script Engine (NSE), sem færir henni enn meiri sveigjanleika og skilvirkni. Það gerir þér kleift að skrifa eigin forskriftir á Lua forritunarmáli og hugsanlega deila þessum forskriftum með öðrum Nmap notendum þarna úti.

Það eru fjórar gerðir af NSE skriftum, þ.e.

  • Forskriftarforskriftir – eru forskriftir sem keyra fyrir einhverjar skannaaðgerðir Nmap, þær eru keyrðar þegar Nmap hefur enn ekki safnað upplýsingum um markmið.
  • Hýsingarforskriftir – eru forskriftir sem keyrðar eru eftir að Nmap hefur framkvæmt venjulegar aðgerðir eins og hýsiluppgötvun, gáttaskönnun, útgáfugreiningu og stýrikerfisgreiningu gegn markhýsil.
  • Þjónustuforskriftir – eru forskriftir sem keyrðar eru á móti tiltekinni þjónustu sem hlustar á miðhýsil.
  • Postrule scripts – eru skriftur keyrðar eftir að Nmap hefur skannað alla markhýsinga sína.

Síðan eru þessar forskriftir flokkaðar undir ýmsa flokka, þar á meðal þá sem eru til auðkenningar (auth), uppgötvunar á gestgjöfum (útsending), brute force árásir til að giska á auðkenningarskilríki (brute), uppgötva meira um netkerfi (uppgötvun), valda afneitun á þjónustu (dos). ), að nýta sér einhverja veikleika (nýtingu) o.s.frv. Fjöldi forskrifta tilheyra sjálfgefna flokknum.

Athugið: Áður en lengra er haldið ættirðu að taka eftir þessum lykilatriðum:

  • Ekki framkvæma handrit frá þriðja aðila án þess að skoða þau með gagnrýnum hætti eða aðeins ef þú treystir höfundunum. Þetta er vegna þess að þessar forskriftir eru ekki keyrðar í sandkassa og gætu því óvænt eða illgjarn skemmt kerfið þitt eða ráðist inn í friðhelgi þína.
  • Í öðru lagi gætu mörg þessara skrifta hugsanlega keyrt annað hvort sem forskrift eða eftirreglu. Með hliðsjón af þessu er mælt með því að nota forreglu til að tryggja samræmi.
  • Nmap notar scripts/script.db gagnagrunninn til að finna út tiltæk sjálfgefna forskriftir og flokka.

Til að sjá staðsetningu allra tiltækra NSE forskrifta skaltu keyra staðsetningarforritið á flugstöðinni, svona:

$ locate *.nse

/usr/share/nmap/scripts/acarsd-info.nse
/usr/share/nmap/scripts/address-info.nse
/usr/share/nmap/scripts/afp-brute.nse
/usr/share/nmap/scripts/afp-ls.nse
/usr/share/nmap/scripts/afp-path-vuln.nse
/usr/share/nmap/scripts/afp-serverinfo.nse
/usr/share/nmap/scripts/afp-showmount.nse
/usr/share/nmap/scripts/ajp-auth.nse
/usr/share/nmap/scripts/ajp-brute.nse
/usr/share/nmap/scripts/ajp-headers.nse
/usr/share/nmap/scripts/ajp-methods.nse
/usr/share/nmap/scripts/ajp-request.nse
/usr/share/nmap/scripts/allseeingeye-info.nse
/usr/share/nmap/scripts/amqp-info.nse
/usr/share/nmap/scripts/asn-query.nse
...

NSE forskriftir eru hlaðnar með því að nota --script fánann, sem gerir þér einnig kleift að keyra eigin forskriftir með því að gefa upp flokka, skriftuskráarheiti eða heiti á möppum þar sem forskriftirnar þínar eru staðsettar.

Setningafræðin til að virkja forskriftir er sem hér segir:

$ nmap -sC target     #load default scripts
OR
$ nmap --script filename|category|directory|expression,...   target    

Þú getur skoðað lýsingu á handriti með --script-help valkostinum. Að auki geturðu sent rök til sumra forskrifta með --script-args og --script-args-file valmöguleikunum, það seinna er notað til að gefa upp skráarnafn frekar en skipanalínu arg.

Til að framkvæma skönnun með flestum sjálfgefnum forskriftum, notaðu -sC fánann eða notaðu að öðrum kosti --script=default eins og sýnt er.

$ nmap -sC scanme.nmap.org
OR
$ nmap --script=default scanme.nmap.org
OR
$ nmap --script default scanme.nmap.org
Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:36 IST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.0027s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
80/tcp open  http
|_http-title: Go ahead and ScanMe!

Nmap done: 1 IP address (1 host up) scanned in 11.74 seconds

Til að nota handrit í viðeigandi tilgangi geturðu fyrst og fremst fengið stutta lýsingu á því hvað það gerir í raun og veru, til dæmis http-hausa.

$ nmap --script-help http-headers scanme.nmap.org
Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:37 IST

http-headers
Categories: discovery safe
https://nmap.org/nsedoc/scripts/http-headers.html
  Performs a HEAD request for the root folder ("/") of a web server and displays the HTTP headers returned.

Hleður NSE forskriftir til að framkvæma Nmap skannar

Þú getur valið eða hlaðið forskriftir til að framkvæma skönnun með mismunandi aðferðum sem lýst er hér að neðan.

Þegar þú veist hvað handrit gerir geturðu framkvæmt skönnun með því að nota það. Þú getur notað eina skriftu eða slegið inn lista yfir skriftarheiti aðskilinn með kommum. Skipunin hér að neðan mun gera þér kleift að skoða HTTP hausana sem eru stilltir á vefþjóninum hjá markhýslinum.

$ nmap --script http-headers scanme.nmap.org
Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:39 IST
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.27s latency).
Not shown: 996 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
80/tcp    open     http
| http-headers: 
|   Date: Wed, 15 Nov 2017 05:10:04 GMT
|   Server: Apache/2.4.7 (Ubuntu)
|   Accept-Ranges: bytes
|   Vary: Accept-Encoding
|   Connection: close
|   Content-Type: text/html
|   
|_  (Request type: HEAD)
179/tcp   filtered bgp
31337/tcp open     Elite

Nmap done: 1 IP address (1 host up) scanned in 20.96 seconds

Þú getur líka hlaðið skriftum úr einum flokki eða úr lista yfir flokka sem eru aðskilin með kommum. Í þessu dæmi erum við að nota öll forskriftir í sjálfgefnu og útsendingarflokki til að framkvæma skönnun á hýsilinn 192.168.56.1.

$ nmap --script default,broadcast 192.168.56.1

Þetta er gagnlegt þegar þú vilt velja forskriftir með tilteknu nafnamynstri. Til dæmis til að hlaða öllum forskriftum með nöfnum sem byrja á ssh skaltu keyra skipunina hér að neðan á flugstöðinni:

$ nmap --script "ssh-*" 192.168.56.1

Þú getur líka valið forskriftir með Boolean tjáningum sem þú getur smíðað með og, eða, en ekki aðgerðunum. Og nöfn í Boolean tjáningu geta verið flokkur, skráarheiti frá script.db, eða allt.

Eftirfarandi skipun mun hlaða forskriftum úr sjálfgefnum eða útsendingarflokkum.

$ nmap --script "default or broadcast" 192.168.56.10

Sem jafngildir:

$ nmap --script default,broadcast 192.168.56.10

Til að hlaða öllum forskriftum sem sleppa þeim sem eru í óvirkum flokki skaltu keyra þessa skipun á flugstöðinni.

$ nmap --script "not vuln" 192.168.56.10

Næsta skipun lítur svolítið flókið út en hún er auðskilin, hún velur forskriftir í sjálfgefnu eða útsendingarflokkum og sleppir þeim sem heita sem byrja á ssh-:

$ nmap --script "(default or broadcast) and not ssh-*" 192.168.56.10

Mikilvægt er að það er hægt að sameina flokka, forskriftanöfn, möppu sem inniheldur sérsniðin forskriftir eða boolean tjáningu til að hlaða forskriftum, eins og þetta:

$ nmap --script broadcast,vuln,ssh-auth-methods,/path/to/custom/scripts 192.168.56.10

Hér að neðan er dæmi sem sýnir hvernig á að senda rök til forskrifta með –script-args valkostinum:

$ nmap --script mysql-audit --script-args "mysql-audit.username='root', \
mysql-audit.password='password_here', mysql-audit.filename='nselib/data/mysql-cis.audit'"

Til að senda gáttarnúmer skaltu nota -p nmap valkostinn:

$ nmap -p 3306 --script mysql-audit --script-args "mysql-audit.username='root', \ 
mysql-audit.password='password_here' , mysql-audit.filename='nselib/data/mysql-cis.audit'"

Ofangreind skipun keyrir úttekt á öryggisstillingum MySQL gagnagrunnsþjónsins gegn hlutum af CIS MySQL v1.0.2 viðmiðinu. Þú getur líka búið til þínar eigin gagnlegu sérsniðnu endurskoðunarskrár fyrir aðrar MySQL úttektir.

Það er það í bili. Þú getur fundið frekari upplýsingar á Nmap mannasíðunni eða skoðað NSE notkun.

Til að byrja að skrifa eigin NSE forskriftir skaltu skoða þessa handbók: https://nmap.org/book/nse-tutorial.html

Nmap er virkilega öflugt og gagnlegt tól sem sérhver kerfis- eða netkerfisstjóri þarf í öryggisvopnabúrinu sínu - NSE bætir einfaldlega meiri skilvirkni við það.

Í þessari grein kynntum við þér Nmap Script Engine og skoðuðum hvernig á að finna og nota hinar ýmsu tiltæku forskriftir undir mismunandi flokkum. Ef þú hefur einhverjar spurningar skaltu ekki hika við að skrifa aftur til okkar í gegnum athugasemdareyðublaðið hér að neðan.