Jinsi ya Kutumia Hati za Injini ya Hati ya Nmap (NSE) kwenye Linux


skani bandari na huduma zilizo wazi zinazoendeshwa kwa wapangishaji hao, na mengi zaidi.

Mojawapo ya vipengele vya kuvutia vya Nmap ni Injini ya Hati ya Nmap (NSE), ambayo huleta kunyumbulika na ufanisi zaidi kwake. Hukuwezesha kuandika hati zako mwenyewe katika lugha ya programu ya Lua, na ikiwezekana kushiriki hati hizi na watumiaji wengine wa Nmap huko nje.

Kuna aina nne za hati za NSE, ambazo ni:

  • Hati za awali - ni hati zinazoendeshwa kabla ya shughuli zozote za kuchanganua za Nmap, hutekelezwa wakati Nmap bado haijakusanya taarifa yoyote kuhusu lengo.
  • Hati za seva pangishi - ni hati zinazotekelezwa baada ya Nmap kufanya shughuli za kawaida kama vile ugunduzi wa seva pangishi, utafutaji mlangoni, ugunduzi wa toleo na ugunduzi wa Mfumo wa Uendeshaji dhidi ya seva pangishi inayolengwa.
  • Hati za huduma - ni hati zinazoendeshwa dhidi ya huduma mahususi zinazosikilizwa kwenye seva pangishi inayolengwa.
  • Hati za Postrule - ni hati zinazoendeshwa baada ya Nmap kuchanganua wapangishi wake wote lengwa.

Kisha hati hizi zimewekwa katika makundi mbalimbali ikiwa ni pamoja na zile za uthibitishaji (auth), ugunduzi wa majeshi (matangazo), mashambulizi ya nguvu ya kikatili ili kukisia sifa za uthibitishaji (brute), kugundua zaidi kuhusu mtandao (ugunduzi), na kusababisha kunyimwa huduma (dos). ), kutumia athari fulani (nyonyaji), n.k. Idadi ya hati ni ya kategoria chaguo-msingi.

Kumbuka: Kabla hatujasonga mbele zaidi, unapaswa kuzingatia mambo haya muhimu:

  • Usitekeleze hati kutoka kwa wahusika wengine bila kuzipitia kwa umakini au ikiwa tu unawaamini waandishi. Hii ni kwa sababu hati hizi haziendeshwi kwenye sanduku la mchanga na hivyo zinaweza kuharibu mfumo wako bila kutarajia au kwa nia mbaya au kuvamia faragha yako.
  • Pili, nyingi ya hati hizi huenda zikaendeshwa kama hati ya awali au ya baada ya sheria. Kwa kuzingatia hili, inashauriwa kutumia kanuni ya awali kwa madhumuni ya uthabiti.
  • Nmap hutumia hifadhidata ya scripts/script.db kubaini hati chaguomsingi zinazopatikana.

Ili kuona eneo la hati zote za NSE zinazopatikana, endesha huduma ya kupata kwenye terminal, kama hii:

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

Hati za NSE hupakiwa kwa kutumia --script bendera, ambayo pia hukuruhusu kuendesha hati zako kwa kutoa kategoria, majina ya faili za hati, au jina la saraka ambapo hati zako zinapatikana.

Syntax ya kuwezesha hati ni kama ifuatavyo:

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

Unaweza kuona maelezo ya hati kwa chaguo la --script-help. Zaidi ya hayo, unaweza kupitisha hoja kwa baadhi ya hati kupitia --script-args na --script-args-file chaguo, ya baadaye inatumiwa kutoa jina la faili badala ya. mstari wa amri arg.

Ili kuchanganua kwa kutumia hati-msingi nyingi, tumia alama ya -sC au vinginevyo tumia --script=default kama inavyoonyeshwa.

$ 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

Ili kutumia hati kwa madhumuni yanayofaa, unaweza, kwanza kabisa, kupata maelezo mafupi ya kile kinachofanya, kwa mfano, vichwa vya http.

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

Inapakia Hati za NSE Ili Kufanya Uchanganuzi wa Nmap

Unaweza kuchagua au kupakia hati ili kufanya uchanganuzi kwa njia tofauti zilizofafanuliwa hapa chini.

Ukishajua hati hufanya nini, unaweza kuichanganua ukitumia. Unaweza kutumia hati moja au kuingiza orodha iliyotenganishwa kwa koma ya majina ya hati. Amri iliyo hapa chini itakuwezesha kuona vichwa vya HTTP vilivyosanidiwa kwenye seva ya tovuti kwenye seva pangishi lengwa.

$ 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

Unaweza pia kupakia hati kutoka kategoria moja au kutoka kwa orodha iliyotenganishwa kwa koma ya kategoria. Katika mfano huu, tunatumia hati zote katika kategoria chaguomsingi na utangazaji ili kuchanganua seva pangishi 192.168.56.1.

$ nmap --script default,broadcast 192.168.56.1

Hii ni muhimu unapotaka kuchagua hati zilizo na muundo fulani wa jina. Kwa mfano kupakia maandishi yote yenye majina yanayoanza na ssh, endesha amri hapa chini kwenye terminal:

$ nmap --script "ssh-*" 192.168.56.1

Unaweza pia kuchagua hati kwa kutumia maneno ya boolean ambayo unaweza kuunda kwa kutumia na, au, na sio waendeshaji. Na majina katika usemi wa Boolean yanaweza kuwa kategoria, jina la faili kutoka script.db, au yote.

Amri ifuatayo itapakia hati kutoka kwa kategoria za chaguo-msingi au za utangazaji.

$ nmap --script "default or broadcast" 192.168.56.10

Ambayo ni sawa na:

$ nmap --script default,broadcast 192.168.56.10

Ili kupakia hati zote zinazoacha zile zilizo katika kategoria ya vuln, endesha amri hii kwenye terminal.

$ nmap --script "not vuln" 192.168.56.10

Amri inayofuata inaonekana ngumu kidogo lakini ni rahisi kuelewa, huchagua hati katika kategoria chaguo-msingi, au matangazo, na kuacha zile zilizo na majina yanayoanza na ssh-:

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

Muhimu zaidi, inawezekana kuchanganya kategoria, majina ya hati, saraka iliyo na hati zako maalum, au usemi wa boolean kupakia hati, kama hii:

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

Ifuatayo ni mfano unaoonyesha jinsi ya kupitisha hoja kwa hati na -script-args chaguo:

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

Kupitisha nambari ya bandari, tumia -p nmap chaguo:

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

Amri iliyo hapo juu huendesha ukaguzi wa usanidi wa usalama wa seva ya hifadhidata ya MySQL dhidi ya sehemu za alama za CIS MySQL v1.0.2. Unaweza pia kuunda faili zako muhimu za ukaguzi maalum kwa ukaguzi mwingine wa MySQL.

Ni hayo kwa sasa. Unaweza kupata habari zaidi kwenye ukurasa wa mtu wa Nmap au angalia Matumizi ya NSE.

Ili kuanza na kuandika hati zako za NSE, angalia mwongozo huu: https://nmap.org/book/nse-tutorial.html

Nmap ni zana yenye nguvu na muhimu sana ambayo kila msimamizi wa mfumo au mtandao anahitaji katika safu yake ya usalama - NSE huongeza ufanisi zaidi kwake.

Katika makala haya, tulikuletea Nmap Script Engine na tukaangalia jinsi ya kupata na kutumia hati mbalimbali zinazopatikana chini ya kategoria tofauti. Ikiwa una maswali yoyote, usisite kutuandikia kupitia fomu ya maoni hapa chini.