Kuinka käyttää Nmap Script Engine (NSE) -skriptejä Linuxissa


skannaa kyseisillä isännöillä käynnissä olevat avoimet portit ja palvelut ja paljon muuta.

Yksi Nmapin mielenkiintoisista ominaisuuksista on Nmap Script Engine (NSE), joka tuo siihen entistä enemmän joustavuutta ja tehokkuutta. Sen avulla voit kirjoittaa omat komentosarjat Lua-ohjelmointikielellä ja mahdollisesti jakaa nämä komentosarjat muiden siellä olevien Nmap-käyttäjien kanssa.

NSE-skriptejä on neljää tyyppiä:

  • Esisarjan komentosarjat - ovat komentosarjoja, jotka suoritetaan ennen mitään Nmapin skannaustoimintoja. Ne suoritetaan, kun Nmap ei ole vielä kerännyt tietoja kohteesta.
  • Isäntäskriptit - ovat komentosarjoja, jotka suoritetaan sen jälkeen, kun Nmap on suorittanut tavanomaiset toiminnot, kuten isännän etsinnän, porttien skannauksen, version tunnistamisen ja käyttöjärjestelmän tunnistamisen kohde-isäntää vastaan.
  • Palveluohjelmat - ovat komentosarjoja, joita suoritetaan kohdepalvelimessa kuuntelevia tiettyjä palveluita vastaan.
  • Postrule-komentosarjat - ovat komentosarjoja, jotka suoritetaan sen jälkeen, kun Nmap on skannannut kaikki kohde-isäntänsä.

Sitten nämä komentosarjat ryhmitellään eri luokkiin, mukaan lukien todennukseen (auth), isäntien löytämiseen (lähetys), raa'an voiman hyökkäyksiin todentamistietojen arvailemiseksi (raaka), verkkoon tutustumiseen (löytö), palveluneston (dos) ), hyödyntämällä jotakin haavoittuvuutta (hyväksikäyttöä) jne. Useat komentosarjat kuuluvat oletusluokkaan.

Huomaa: Ennen kuin siirrymme eteenpäin, sinun on tehtävä muistiin nämä avainkohdat:

  • Älä suorita komentosarjoja kolmansilta osapuolilta tarkastelematta niitä kriittisesti tai vain jos luotat tekijöihin. Tämä johtuu siitä, että näitä komentosarjoja ei suoriteta hiekkalaatikossa ja ne voivat siten vahingossa tai vahingollisesti vahingoittaa järjestelmääsi tai tunkeutua yksityisyyteen.
  • Toiseksi monet näistä skripteistä saattavat toimia joko ennakko- tai jälkikäsittelyskripteinä. Tämän vuoksi on suositeltavaa käyttää johdonmukaisuuden vuoksi esisääntöä.
  • Nmap selvittää käytettävissä olevat oletuskomentosarjat ja luokat skriptit/script.db-tietokannan avulla.

Jos haluat nähdä kaikkien käytettävissä olevien NSE-komentosarjojen sijainnin, suorita terminaalin paikannusapuohjelma seuraavasti:

$ 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-komentosarjat ladataan käyttämällä --script -lippua, jonka avulla voit myös suorittaa omia komentosarjoja antamalla luokkia, komentotiedostojen nimiä tai hakemistojen nimiä, joissa komentosarjat sijaitsevat.

Komentosarjojen käyttöönoton syntaksi on seuraava:

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

Voit tarkastella komentosarjan kuvausta --script-help -vaihtoehdolla. Lisäksi voit välittää argumentteja joillekin skripteille --script-args - ja --script-args-file -vaihtoehtojen avulla, myöhempää käytetään tiedostonimen antamiseen eikä komentorivin arg.

Suorita skannaus useimmilla oletuskomennoilla käyttämällä -sC -lippua tai vaihtoehtoisesti käyttämällä --script = default kuvan osoittamalla tavalla.

$ 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

Jos haluat käyttää komentosarjaa tarkoitukseen, voit ensin saada lyhyt kuvaus siitä, mitä se todella tekee, esimerkiksi http-otsikot.

$ 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-komentosarjojen lataaminen Nmap-skannausten suorittamiseksi

Voit valita tai ladata skriptejä suorittamaan skannauksen eri menetelmillä, jotka on selitetty alla.

Kun tiedät mitä komentosarja tekee, voit skannata sen avulla. Voit käyttää yhtä komentosarjaa tai kirjoittaa pilkuilla erotetun luettelon komentosarjojen nimistä. Alla olevan komennon avulla voit tarkastella Web-palvelimessa määritettyjä HTTP-otsikoita kohdepalvelimessa.

$ 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

Voit myös ladata komentosarjoja yhdestä luokasta tai pilkuilla erotetusta luokaluettelosta. Tässä esimerkissä käytämme kaikkia skriptejä oletus- ja lähetysluokassa skannauksen suorittamiseksi isännälle 192.168.56.1.

$ nmap --script default,broadcast 192.168.56.1

Tämä on hyödyllistä, kun haluat valita komentosarjat, joilla on annettu nimikuvio. Jos haluat esimerkiksi ladata kaikki komentosarjat, joiden nimet alkavat ssh: llä, suorita alla oleva komento päätelaitteessa:

$ nmap --script "ssh-*" 192.168.56.1

Voit myös valita komentosarjoja käyttämällä loogisia lausekkeita, jotka voit rakentaa käyttämällä operaattoreita ja, tai tai. Ja loogisen lausekkeen nimet voivat olla luokka, tiedostonimi script.db: stä tai kaikki.

Seuraava komento lataa komentosarjat oletus- tai lähetysluokista.

$ nmap --script "default or broadcast" 192.168.56.10

Mikä vastaa:

$ nmap --script default,broadcast 192.168.56.10

Voit ladata kaikki komentosarjat jättämättä pois vuln-luokan komentoja suorittamalla tämän komennon päätelaitteessa.

$ nmap --script "not vuln" 192.168.56.10

Seuraava komento näyttää hieman monimutkaiselta, mutta se on helppo ymmärtää, se valitsee komentosarjat oletus- tai lähetysluokkiin jättäen pois ne, joiden nimet alkavat ssh-:

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

Tärkeää on, että voit yhdistää luokkia, komentosarjojen nimiä, mukautettuja komentosarjoja sisältävän hakemiston tai loogisen lausekkeen komentosarjojen lataamiseksi seuraavasti:

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

Alla on esimerkki siitä, kuinka argumentit välitetään komentosarjoille –script-args -vaihtoehdolla:

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

Jos haluat välittää portin numeron, käytä -p nmap -vaihtoehtoa:

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

Yllä oleva komento suorittaa MySQL-tietokantapalvelimen suojauskokoonpanon tarkastuksen CIS MySQL v1.0.2 -vertailuosan osiin nähden. Voit myös luoda omia hyödyllisiä mukautettuja tarkastustiedostoja muita MySQL-tarkastuksia varten.

Se on nyt. Löydät lisätietoja Nmap-man-sivulta tai tutustu NSE-käyttöön.

Aloita omien NSE-komentosarjojesi kirjoittaminen tutustumalla tähän oppaaseen: https://nmap.org/book/nse-tutorial.html

Nmap on todella tehokas ja hyödyllinen työkalu, jota jokainen järjestelmän tai verkon järjestelmänvalvoja tarvitsee turva-arsenaalissaan - NSE yksinkertaisesti lisää siihen tehokkuutta.

Tässä artikkelissa esiteltiin sinulle Nmap-komentosarjamoottori ja tarkasteltiin, kuinka löytää ja käyttää erilaisia saatavilla olevia skriptejä eri luokkiin. Jos sinulla on kysyttävää, älä epäröi kirjoittaa meille takaisin alla olevan kommenttilomakkeen kautta.