Linux-da Nmap skript motory (NSE) skriptlerini nädip ulanmaly


şol öý eýelerinde işleýän açyk portlary we hyzmatlary gözden geçiriň we ş.m.

Nmap-yň gyzykly aýratynlyklaryndan biri, oňa has çeýeligi we netijeliligi getirýän Nmap skript motory (NSE). Lua programmirleme dilinde öz skriptleriňizi ýazmaga we bu skriptleri beýleki Nmap ulanyjylary bilen paýlaşmaga mümkinçilik berýär.

NSE skriptleriniň dört görnüşi bar, ýagny:

  • Prerule skriptleri - Nmap-yň haýsydyr bir skaner operasiýasyndan öň işleýän skriptler, Nmap entek haýsydyr bir maksat barada maglumat ýygnamadyk mahaly ýerine ýetirilýär.
  • Host skriptleri - Nmap öý eýesini açmak, port skaneri, wersiýany kesgitlemek we maksatly öý eýesine garşy OS kesgitlemek ýaly adaty amallary ýerine ýetireninden soň ýerine ýetirilýän skriptlerdir.
  • Hyzmat skriptleri - belli bir hostda diňlenýän belli hyzmatlara garşy işleýän skriptler.
  • Postrule skriptleri - Nmap maksatly öý eýeleriniň hemmesini gözden geçirenden soň işleýän skriptler.

Soňra bu ýazgylar dürli kategoriýalara bölünip, tassyklamak (awtorlyk), ýer eýelerini tapmak (ýaýlym), tassyklamak şahadatnamasyny (zalym) çaklamak üçin zalym güýç hüjümleri, ulgam (açyş) hakda has köp zat açmak, hyzmatyň inkär edilmegine sebäp bolýar ), käbir gowşaklygy ulanmak (ekspluatasiýa) we ş.m. Birnäçe skript deslapky kategoriýa degişlidir.

Bellik: Has öňe gitmezden ozal şu möhüm nokatlara üns bermelisiňiz:

  • Üçünji taraplaryň skriptlerini tankydy gözden geçirmän ýa-da diňe awtorlara ynanýan bolsaňyz ýerine ýetirmäň. Munuň sebäbi, bu ýazgylar sandyk gutusynda işlemeýär we şeýlelik bilen ulgamyňyza garaşylmadyk ýa-da zyýanly zeper ýetirip biler ýa-da şahsy durmuşyňyza zyýan ýetirip biler.
  • Ikinjiden, bu ýazgylaryň köpüsi deslapky ýa-da postrule skripti bolup biler. Şuny göz öňünde tutup, yzygiderlilik maksady bilen prerule ulanmak maslahat berilýär.
  • Nmap, elýeterli skriptleri we kategoriýalary kesgitlemek üçin skriptler/script.db maglumat bazasyny ulanýar.

Availablehli elýeterli NSE skriptleriniň ýerleşişini görmek üçin terminalda ýerleşiş kömekçi programmasyny işlediň:

$ 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 skriptleri --script baýdagy bilen ýüklenýär, bu hem kategoriýalary, skript faýl atlaryny ýa-da skriptleriňiziň ýerleşýän kataloglarynyň adyny görkezip, öz skriptleriňizi işletmäge mümkinçilik berýär.

Ripazgylary açmak üçin sintaksis aşakdaky ýaly:

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

--script-help opsiýasy bilen skriptiň beýanyny görüp bilersiňiz. Mundan başga-da, käbir skriptlere argumentleri --script-args we --script-args-file opsiýalary arkaly geçirip bilersiňiz, soňkusy faýl adyny däl-de, faýl adyny bermek üçin ulanylýar. buýruk setiri arg.

Adaty skriptleriň köpüsi bilen skaner etmek üçin -sC baýdagyny ulanyň ýa-da görkezilişi ýaly --script=default ulanyň.

$ 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

Ssenarini degişli maksat bilen ulanmak üçin, ilki bilen, hakykatda näme edýändigi barada gysgaça düşündiriş alyp bilersiňiz, mysal üçin http-sözbaşylary.

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

Nmap skanerlerini ýerine ýetirmek üçin NSE skriptlerini ýüklemek

Aşakda düşündirilen dürli usullarda skaner etmek üçin skriptleri saýlap ýa-da ýükläp bilersiňiz.

Scriptazuwyň näme edýändigini bilenden soň, ony ulanyp skaner edip bilersiňiz. Bir skript ulanyp ýa-da skript atlarynyň vergul bilen bölünen sanawyny girizip bilersiňiz. Aşakdaky buýruk, web serwerinde düzülen HTTP sözbaşylaryny maksat öýünde görmäge mümkinçilik berer.

$ 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

Şeýle hem, bir kategoriýadan ýa-da yzygiderli bölünen kategoriýalardan skriptleri ýükläp bilersiňiz. Bu mysalda, öý eýesi 192.168.56.1-de skaner geçirmek üçin deslapky we ýaýlym kategoriýasyndaky ähli skriptleri ulanýarys.

$ nmap --script default,broadcast 192.168.56.1

Berlen at nagşy bolan skriptleri saýlamak isleseňiz bu peýdalydyr. Mysal üçin, ssh bilen başlaýan atlar bilen ähli skriptleri ýüklemek üçin aşakdaky buýrugy terminalda işlediň:

$ nmap --script "ssh-*" 192.168.56.1

Şeýle hem, operatorlar däl-de, ýa-da ulanyp boljak gurulan aňlatmalary ulanyp, skriptleri saýlap bilersiňiz. Boolean aňlatmasyndaky atlar kategoriýa, script.db-den faýl ady ýa-da hemmesi bolup biler.

Aşakdaky buýruk deslapky ýa-da ýaýlym kategoriýalaryndan skriptleri ýüklär.

$ nmap --script "default or broadcast" 192.168.56.10

Oňa deňdir:

$ nmap --script default,broadcast 192.168.56.10

Wuln kategoriýasyndakylary goýmaýan ähli skriptleri ýüklemek üçin bu buýrugy terminalda işlediň.

$ nmap --script "not vuln" 192.168.56.10

Indiki buýruk birneme çylşyrymly görünýär, ýöne düşünmek aňsat, ssh- bilen başlaýan atlary goýup, adaty skriptleri ýa-da ýaýlym kategoriýalaryny saýlaýar:

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

Möhümi, kategoriýalary, skript atlaryny, adaty skriptleriňizi öz içine alýan katalogy ýa-da şular ýaly skriptleri ýüklemek üçin bir manyly aňlatmany birleşdirip bolýar:

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

Aşakda “script-args” opsiýasy bilen argumentlere skriptlere nädip geçmelidigini görkezýän mysal:

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

Port belgisini geçirmek üçin -p nmap opsiýasyny ulanyň:

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

Aboveokardaky buýruk, GDA MySQL v1.0.2 görkezijisiniň böleklerine garşy MySQL maglumat bazasynyň serweriniň howpsuzlyk konfigurasiýasyny barlaýar. Beýleki MySQL barlaglary üçin öz peýdaly ýöriteleşdirilen audit faýllaryňyzy döredip bilersiňiz.

Häzirlikçe. Nmap adam sahypasynda has giňişleýin maglumat tapyp bilersiňiz ýa-da NSE Ulanyşyny gözden geçirip bilersiňiz.

Öz NSE skriptleriňizi ýazmak bilen başlamak üçin şu gollanmany gözden geçiriň: https://nmap.org/book/nse-tutorial.html

Nmap, hakykatdanam güýçli we peýdaly guraldyr, her ulgam ýa-da tor dolandyryjysy öz howpsuzlyk arsenalynda zerur - NSE oňa has köp netijelilik goşýar.

Bu makalada sizi Nmap skript motory bilen tanyşdyrdyk we dürli kategoriýalardaky dürli skriptleri nädip tapmalydygyny we ulanmalydygyna göz aýladyk. Soraglaryňyz bar bolsa, aşakdaky düşündiriş formunyň üsti bilen bize ýazmakdan çekinmäň.