Kā Linux lietot Nmap Script Engine (NSE) skriptus


skenēt atvērtās ostas un pakalpojumus, kas darbojas šajos resursdatoros, un vēl daudz vairāk.

Viena no interesantajām Nmap iezīmēm ir Nmap Script Engine (NSE), kas tai piešķir vēl lielāku elastību un efektivitāti. Tas ļauj jums rakstīt savus skriptus Lua programmēšanas valodā un, iespējams, kopīgot šos skriptus ar citiem Nmap lietotājiem.

Ir četri NSE skriptu veidi, proti:

  • Priekšrakstu skripti - tie ir skripti, kas darbojas pirms jebkuras Nmap skenēšanas darbības, un tie tiek izpildīti, kad Nmap vēl nav apkopojis informāciju par mērķi.
  • resursdatora skripti - tie ir skripti, kas tiek izpildīti pēc tam, kad Nmap ir veicis normālas darbības, piemēram, resursdatora atklāšanu, portu skenēšanu, versiju noteikšanu un OS noteikšanu pret mērķa resursdatoru.
  • Pakalpojuma skripti - tie ir skripti, kas darbojas pret noteiktiem pakalpojumiem, kas klausās mērķa resursdatorā.
  • Postrule skripti - tie ir skripti, kas darbojas pēc tam, kad Nmap ir skenējis visus mērķa resursdatorus.

Pēc tam šie skripti tiek sagrupēti dažādās kategorijās, tostarp autentifikācijai (autenti), resursdatoru atklāšanai (apraide), brutālu spēku uzbrukumiem, lai uzminētu autentifikācijas akreditācijas datus (brutāli), atklātu vairāk par tīklu (atklāšana), izraisot pakalpojumu atteikumu (dos ), izmantojot kādu ievainojamību (izmantot) utt. Vairāki skripti pieder noklusējuma kategorijai.

Piezīme. Pirms mēs virzāmies tālāk, jums jāņem vērā šie galvenie punkti:

  • Neizpildiet skriptus no trešajām pusēm, tos kritiski neizskatot vai tikai tad, ja uzticaties autoriem. Tas ir tāpēc, ka šie skripti netiek palaisti smilšu kastē un tādējādi var negaidīti vai ļaunprātīgi sabojāt jūsu sistēmu vai iebrukt jūsu privātumā.
  • Otrkārt, daudzi no šiem skriptiem, iespējams, darbojas kā priekšrakstus vai pēcrakstus. Ņemot to vērā, konsekvences labad ieteicams izmantot priekšnoteikumu.
  • Nmap izmanto skriptu/script.db datu bāzi, lai noskaidrotu pieejamos noklusējuma skriptus un kategorijas.

Lai redzētu visu pieejamo NSE skriptu atrašanās vietu, palaidiet terminālā lokalizācijas utilītu šādi:

$ 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 skripti tiek ielādēti, izmantojot karogu --script , kas ļauj arī palaist savus skriptus, norādot kategorijas, skriptu failu nosaukumus vai direktoriju nosaukumus, kur atrodas jūsu skripti.

Skriptu iespējošanas sintakse ir šāda:

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

Skripta aprakstu varat apskatīt, izmantojot opciju --script-help . Dažiem skriptiem jūs varat pārsūtīt argumentus, izmantojot opcijas --script-args un --script-args-file . Jaunāko izmanto faila nosaukuma sniegšanai, nevis komandrindas arg.

Lai veiktu skenēšanu ar lielāko daļu noklusējuma skriptu, izmantojiet karodziņu -sC vai arī izmantojiet --script = default , kā parādīts.

$ 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

Lai skriptu izmantotu atbilstošam mērķim, vispirms varat iegūt īsu aprakstu par tā patieso darbību, piemēram, http galvenes.

$ 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.

NSE skriptu ielāde, lai veiktu Nmap skenēšanu

Varat atlasīt vai ielādēt skriptus, lai veiktu skenēšanu, izmantojot dažādas tālāk aprakstītās metodes.

Kad zināt, ko skripts dara, varat to skenēt, izmantojot to. Varat izmantot vienu skriptu vai ievadīt komatu atdalītu skriptu nosaukumu sarakstu. Tālāk sniegtā komanda ļaus jums skatīt mērķa resursdatorā tīmekļa serverī konfigurētās HTTP galvenes.

$ 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

Varat arī ielādēt skriptus no vienas kategorijas vai no komatiem atdalīto kategoriju saraksta. Šajā piemērā mēs izmantojam visus noklusējuma un apraides kategorijas skriptus, lai veiktu skenēšanu resursdatorā 192.168.56.1.

$ nmap --script default,broadcast 192.168.56.1

Tas ir noderīgi, ja vēlaties atlasīt skriptus ar noteiktu nosaukuma modeli. Piemēram, lai ielādētu visus skriptus ar nosaukumiem, kas sākas ar ssh, palaidiet komandu zemāk terminālā:

$ nmap --script "ssh-*" 192.168.56.1

Varat arī atlasīt skriptus, izmantojot būla izteiksmes, kuras varat izveidot, izmantojot operatorus un, vai, un. Būla izteiksmē nosaukumi var būt kategorija, faila nosaukums no script.db vai visi.

Šī komanda ielādēs skriptus no noklusējuma vai apraides kategorijām.

$ nmap --script "default or broadcast" 192.168.56.10

Kas ir līdzvērtīgs:

$ nmap --script default,broadcast 192.168.56.10

Lai ielādētu visus skriptus, izlaižot tos, kas pieder kategorijai vuln, palaidiet šo komandu terminālā.

$ nmap --script "not vuln" 192.168.56.10

Nākamā komanda izskatās nedaudz sarežģīta, bet to ir viegli saprast, tā atlasa skriptus noklusējuma vai apraides kategorijās, atstājot tos, kuru nosaukumi sākas ar ssh-:

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

Svarīgi, lai skriptu ielādēšanai būtu iespējams apvienot kategorijas, skriptu nosaukumus, direktoriju, kurā ir jūsu pielāgotie skripti, vai būla izteiksmi:

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

Tālāk ir sniegts piemērs, kas parāda, kā nodot argumentus skriptiem ar opciju –script-args:

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

Lai nodotu porta numuru, izmantojiet opciju -p nmap:

$ 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'"

Iepriekš minētā komanda veic MySQL datu bāzes servera drošības konfigurācijas revīziju pret CIS MySQL v1.0.2 etalona daļām. Jūs varat arī izveidot savus noderīgos pielāgotos revīzijas failus citiem MySQL auditiem.

Pagaidām viss. Plašāku informāciju varat atrast Nmap rokasgrāmatas lapā vai skatiet NSE lietojumu.

Lai sāktu rakstīt savus NSE skriptus, skatiet šo rokasgrāmatu: https://nmap.org/book/nse-tutorial.html

Nmap ir patiešām spēcīgs un noderīgs rīks, kas katram sistēmas vai tīkla administratoram ir nepieciešams savā drošības arsenālā - NSE tam vienkārši pievieno lielāku efektivitāti.

Šajā rakstā mēs iepazīstinājām jūs ar Nmap Script Engine un apskatījām, kā atrast un izmantot dažādus pieejamos skriptus dažādās kategorijās. Ja jums ir kādi jautājumi, nevilcinieties rakstīt mums atpakaļ, izmantojot zemāk esošo komentāru veidlapu.