Nse scenarijai. Nmap pagalbos vadovas (Man puslapis)

Pradžia / Neįsijungia

Žemiau rasite 20 pagrindinių Nmap komandos naudojimo pavyzdžiai.

Išmoksite naudoti Nmap iš komandų eilutė Linux sistemoje ieškoti aktyvių prieglobų tinkle ir nuskaityti atvirus prievadus.

Pamatysite kaip nuotoliniu būdu aptikti operacinę sistemą naudojant TCP/IP kamino pirštų atspaudus ir kaip sužinok versiją programinė įranga veikia nuotoliniame serveryje.

Taip pat parodysiu, kaip tai padaryti naudojant Nmap slaptas skenavimas, Kaip apibrėžti ugniasienę ir kaip pakeisti MAC adresą.

1. Nuskaitykite vieną pagrindinį kompiuterį arba IP adresą

Nuskaityti Atskiras IP adresas:

$nmap 192.168.1.1

Nuskaitykite serverį pagal Prieglobos vardas:

$ nmap server.site

Padidinti Detalumo lygis nuskaitymo rezultatai:

$ nmap -v serveris..svetainė

2. Kelių IP adresų nuskaitymas

Nuskaityti Keli IP adresai:

$nmap 192.168.1.1 192.168.1.2 192.168.1.3 $namp 192.168.1.1,2,3

Nuskaityti Potinklis:

$ nmap 192.168.1.0/24 $ nmap 192.168.1.*

Nuskaityti IP adresų diapazonas (192.168.1.0 — 192.168.1.200):

$nmap 192.168.1.0-200

3. Ieškokite aktyvių kompiuterių tinkle

Geras patarimas: Nuskaitykite savo tinklą tik viena ping komanda! Raskite visus aktyvius kompiuterius!

Nuskaitykite tinklą paieškai Aktyvūs šeimininkai:

$ nmap -sn 192.168.1.0/24

4. Nuskaitykite pagrindinio kompiuterio sąrašą iš failo

Nuskaitomas prieglobų / tinklų sąrašas iš Failas:

$ nmap -iL input.txt

Failo formatas:

# Įrašai gali būti bet kokio formato, kurį Nmap veikia su # komandinėje eilutėje (IP adresai, pagrindinio kompiuterio pavadinimai, CIDR, IPv6 arba okteto # diapazonai). Įrašai turi būti atskirti vienu ar daugiau tarpų, skirtukų # arba naujomis eilutėmis. $ cat input.txt serveris.svetainė 192.168.1.0/24 192.168.2.1,2,3 192.168.3.0-200

5. IP/Hosts/Tinklų neįtraukimas į nuskaitymą

Išskirti tikslus iš Nmap nuskaitymo:

$ nžemėlapis 192.168.1.0/24 --išskirti 192.168.1.1 $ nmap 192.168.1.0/24 --išskirti 192.168.1.1 192.168.1.5 $ nžemėlapis 192.168.1.5 $ nmap 192.168.1.1,20/28.1,8.1

Išskirti sąrašą kompiuteriai, paimti iš failo:

$ nmap 192.168.1.0/24 --excludefile išskirti.txt

Failo formatas su neįtrauktais pagrindiniais kompiuteriais yra panašus į aukščiau pateiktą.

6. Nuskaitykite konkrečius prievadus

Nuskaityti Vienas uostas:

$ nmap -p 80 192.168.1.1

Nuskaityti Keli prievadai:

$ nmap -p 80.443 192.168.1.1

Nuskaityti Uosto diapazonas:

$ nmap -p 80-1000 192.168.1.1

Nuskaityti Visi prievadai:

$ nmap -p "*" 192.168.1.1

Nuskaitykite kelis iš labiausiai Bendrieji uostai:

$ nmap -- viršutiniai prievadai 5 192.168.1.1 $ nmap -- viršutiniai prievadai 10 192.168.1.1

7. Palaikomų IP protokolų nustatymas

Nustatykite, kuri IP protokolai(TCP, UDP, ICMP ir kt.) palaiko nuskaitytą pagrindinį kompiuterį:

$ nmap -sO 192.168.1.1

8. TCP/UDP prievadų nuskaitymas

Nuskaityti visi TCP prievadai:

$ nmap -sT 192.168.1.1

Nuskaityti specifiniai TCP prievadai:

$ nmap -p T:80 192.168.1.1

Nuskaityti visi UDP prievadai:

$ nmap -sU 192.168.1.1

Nuskaityti specifiniai UDP prievadai:

$ nmap -p U:53 192.168.1.1

Skirtingų prievadų nuskaitymo derinimas:

$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. Greitas nuskaitymas

Suaktyvinti Greitas režimas nuskaityti:

$ nmap -F 192.168.1.1

* Nuskaito mažiau prievadų nei naudojant įprastą nuskaitymą.

10. Rodyti prievado būsenos priežastį

Rodyti Priežastis, pagal kurį Nmap mano, kad prievadas yra tam tikros būsenos:

$ nmap -- priežastis 192.168.1.1

11. Rodyti tik atvirus prievadus

Rodyti Tik atidaryti prievadai(arba galbūt atidarytas):

$ nmap --atidaryti 192.168.1.1

12. OS apibrėžimas

Vienas iš žinomiausių funkcionalumą Nmap yra nuotolinis OS aptikimas, pagrįstas TCP/IP dėklo analize.

Nmap siunčia TCP ir UDP paketų seriją į nuotolinį pagrindinį kompiuterį ir tiria atsakymus.

Atlikęs daugybę testų, Nmap palygina rezultatus su savo duomenų baze ir, jei randama atitiktis, rodo informaciją apie OS.

Įjungti OS apibrėžimas:

$ nmap -O 192.168.1.1

13. Paslaugų versijos nustatymas

Įjungti Paslaugų versijos nustatymas:

$ nmap -sV 192.168.1.1

* Nustato nuotoliniame serveryje veikiančių programų versijas.

14. Ugniasienės aptikimas

Sužinokite, ar jūsų kompiuteris yra apsaugotas Paketiniai filtrai arba Ugniasienė:

$ nmap -sA 192.168.1.1

15. MAC adreso pakeitimas

Pakaitalas MAC adresai:

$ nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

Pakeiskite MAC adresą Atsitiktinis MAC:

$ nmap --spoof-mac 0 192.168.1.1

16. Patikrinkite ugniasienę, ar nėra pažeidžiamumų

Šie trys nuskaitymo tipai naudoja subtilią TCP RFC spragą, kad prievadai būtų suskirstyti į atvirus ir uždarus.

Nuskaitant su RFC suderinamą sistemą, bet koks paketas, kuriame nėra SYN, RST arba ACK bitų, sukels RST atsaką, jei prievadas bus uždarytas, arba nereaguos, jei prievadas atidarytas.

Nes nė vienas iš šių bitų nėra nustatytas, tada bet koks likusių trijų (FIN, PSH ir URG) derinys bus teisingas.

TCP Null nuskaitymas:

$ nmap -sN 192.168.1.1

* Nenustatyti jokie bitai (žymės TCP antraštėje 0).

TCP Fin nuskaitymas:

$ nmap -sF 192.168.1.1

* Nustatytas tik TCP FIN bitas.

TCP Kalėdos nuskaitymas:

$ nmap -sX 192.168.1.1

* Nustatytos FIN, PSH ir URG vėliavėlės (paketas šviečia kaip eglutė).

17. Slaptas skenavimas

Geras patarimas: Likite anonimiški, kai nuskaitote prievadus! Naudokite Nmap + Tor + ProxyChains! Saugus ir lengvas įsiskverbimo testas!

TCP SYN nuskaitymas:

$ nmap -sS 192.168.0.1

* Žinomas kaip pusiau atviras nuskaitymas, nes jis neatidaro visų TCP jungčių.

18. Prieglobos aptikimo išjungimas (be Ping)

Prieš nuskaitydami nesiųskite prieglobos ping:

$ nmap -Pn 192.168.1.1

19. DNS naudojimo išjungimas

Geras patarimas: Reikia sugriežtinti „Linux“ apsaugą? Užšifruokite DNS srautą, kad apsaugotumėte nuo klastojimo!

Niekada nekeiskite DNS vardo skyrimo kiekvienam aptiktam aktyviam IP adresui.

Nmap yra labai populiarus atvirojo kodo tinklo skaitytuvas šaltinio kodas, kuris gali būti naudojamas tiek Windows, tiek Linux. Nmap arba Network Mapper sukūrė Gordon Luon ir šiuo metu naudojasi saugos specialistai ir sistemų administratoriai visame pasaulyje.

Ši programa padeda sistemos administratoriams labai greitai suprasti, kurie kompiuteriai yra prijungti prie tinklo, sužinoti jų pavadinimus, taip pat pamatyti, kokia programinė įranga juose įdiegta, kokia operacinė sistema ir kokie filtrai naudojami. Programos funkcionalumas gali būti išplėstas naudojant savo skriptų kalbą, kuri leidžia administratoriams automatizuoti daugelį veiksmų.

Pavyzdžiui, scenarijai gali automatiškai aptikti naujas saugos spragas jūsų tinkle. „Namp“ gali būti naudojamas turint gerus ir blogus ketinimus, būkite atsargūs, kad nenaudotumėte „nmap“ prieš įstatymus. Šioje pamokoje apžvelgsime, kaip naudoti namp prievadams nuskaityti operacinė sistema Linux. Tačiau pirmiausia turite pabandyti suprasti, kaip veikia ši programa.

Kompiuterių tinkluose visi prijungti įrenginiai turi savo IP adresą. Kiekvienas kompiuteris palaiko ping protokolą, kurį galima naudoti norint nustatyti, ar jis prijungtas prie tinklo. Mes tiesiog išsiunčiame ping užklausą į kompiuterį ir, jei jis atsako, manome, kad jis yra prijungtas. Nmap požiūris yra šiek tiek kitoks. Kompiuteriai taip pat tam tikru būdu reaguoja į tam tikrus tinklo paketai, programa tiesiog siunčia reikalingos pakuotės ir žiūri, kurie šeimininkai atsiuntė atsakymą.

Bet tikriausiai jau žinote apie tai. Dar įdomiau yra tai, kaip Nmap sužino, kokios paslaugos veikia kompiuteryje. Kiekvieno darbo esmė tinklo programas remiantis prievadais. Kad gautų pranešimą iš tinklo, programa turi atidaryti jūsų kompiuterio prievadą ir laukti gaunamų ryšių. O norint išsiųsti pranešimą tinklu, reikia prisijungti prie kitos programos (paskirties) prievado. Tada programa turės atidaryti prievadą, kuriame ji lauks atsakymo.

„Nmap“ programa, nuskaitydama tinklą, eina per galimą prievadų diapazoną ir bando prisijungti prie kiekvieno iš jų. Sėkmingai prisijungus, daugeliu atvejų programa, persiųsdama kelis paketus, netgi gali sužinoti programinės įrangos versiją, kuri klausosi prisijungimų prie šio prievado. Dabar, kai apžvelgėme pagrindus, pažiūrėkime, kaip naudoti nmap prievadams ir tinklams nuskaityti.

Nmap sintaksė

Nmap paleidimo komanda yra labai paprasta, tiesiog perduokite jai tikslinį IP adresą arba tinklą, jei reikia, nurodykite parinktis:

$ nmap parinkčių adresas

Dabar pažvelkime į pagrindines parinktis, kurių mums prireiks šiame straipsnyje.

  • -sL- tiesiog sukurkite veikiančių kompiuterių sąrašą, bet nenuskaitykite nmap prievadų;
  • -sP- tik patikrinkite, ar priegloba pasiekiama naudojant ping;
  • -PN- laikyti visus pagrindinius kompiuterius prieinamais, net jei jie neatsako į ping;
  • -sS/sT/sA/sW/sM- TCP nuskaitymas;
  • -sU- UDP nuskaitymo nmap;
  • -sN/sF/sX- TCP NULL ir FIN nuskaitymas;
  • -sC- pagal nutylėjimą paleiskite scenarijų;
  • -sI- tingus Indle nuskaitymas;
  • -p- nurodykite tikrintinų prievadų diapazoną;
  • -sV- išsamus prievadų tyrimas, siekiant nustatyti paslaugų versijas;
  • -O- nustatyti operacinę sistemą;
  • -T- nuskaitymo greitis, kuo didesnis, tuo greičiau;
  • -D- kaukės nuskaitymas naudojant fiktyvius IP;
  • -S- pakeiskite savo IP adresą į nurodytą;
  • -e- naudoti specialią sąsają;
  • --spoof-mac- nustatyti savo MAC adresą;
  • -A- operacinės sistemos nustatymas naudojant scenarijus.

Dabar, kai aptarėme visas pagrindines parinktis, pakalbėkime apie tai, kaip veikia nmap prievadų nuskaitymas.

Kaip naudoti „Nmap“ prievadams nuskaityti „Linux“.

Toliau pažvelkime į nmap pavyzdžius. Pirmiausia pažiūrėkime, kaip rasti visus prie tinklo prijungtus įrenginius, tiesiog naudokite parinktį -sL ir nurodykite mūsų tinklo kaukę. mano atveju tai yra 192.168.1.1/24. Vietinio tinklo kaukę galite rasti vykdydami komandą:

Iš jūsų naudojamos sąsajos išvesties paimkite skaičių po pasvirojo brūkšnio, o prieš pasvirąjį brūkšnį nurodykite maršrutizatoriaus IP adresą. Komanda nuskaityti nmap tinklą atrodys taip:

nmap -sL 192.168.1.1/24

Kartais šis nuskaitymas gali neduoti jokių rezultatų, nes kai kurios operacinės sistemos turi apsaugą nuo prievadų nuskaitymo. Bet tai galima apeiti tiesiog naudojant ping, kad nuskaitytų visus IP adresus, tam yra -sn parinktis:

nmap -sn 192.168.1.1/24

Kaip matote, programa aptiko aktyvūs įrenginiai internete. Tada galime nuskaityti norimos prieglobos nmap prievadus paleisdami įrankį be parinkčių:

sudo nmap 192.168.1.1

Dabar matome, kad turime keletą atidarytų prievadų, kuriuos visus naudoja kai kurios paslaugos tiksliniame kompiuteryje. Kiekvienas iš jų gali būti potencialiai pažeidžiamas, todėl nesaugu turėti daug atvirų prievadų kompiuteryje. Bet tai dar ne viskas, ką galite padaryti, tada išmoksite naudoti nmap.

Norėdami sužinoti daugiau išsamią informaciją apie mašiną ir jame veikiančias paslaugas galite naudoti parinktį -sV. Priemonė prisijungs prie kiekvieno prievado ir nustatys visą turimą informaciją:

sudo nmap -sV 192.168.1.1

Mūsų kompiuteryje veikia ftp, todėl galime pabandyti atidžiau pažvelgti į šią paslaugą naudodami standartinius nmap scenarijus. Scenarijai leidžia išsamiau patikrinti prievadą ir rasti galimų spragų. Norėdami tai padaryti, naudokite parinktis -sC ir -p, kad nustatytumėte prievadą:

sudo nmap -sC 192.168.56.102 -p 21

Vykdėme numatytąjį scenarijų, tačiau yra ir kitų scenarijų, pavyzdžiui, visus ftp scenarijus galite rasti su komanda:

sudo rasti /usr/share/nmap/scripts/ -name "*.nse" | grep ftp

Tada mes bandysime naudoti vieną iš jų, kad tai padarytumėte, tiesiog nurodykite jį naudodami parinktį --script. Bet pirmiausia galite pažvelgti į informaciją apie scenarijų:

sudo nmap --script-help ftp-brute.nse

Šis scenarijus bandys nustatyti FTP prisijungimo vardą ir slaptažodį nuotoliniame pagrindiniame kompiuteryje. Tada paleiskite scenarijų:

sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21

Dėl to scenarijus paėmė prisijungimo vardą ir slaptažodį, admin / admin. Štai kodėl jums nereikia naudoti numatytųjų prisijungimo parinkčių.

Programą taip pat galite paleisti naudodami parinktį -A, ji įjungia agresyvesnį programos veikimo režimą, su kuriuo gausite didžiąją dalį informacijos su viena komanda:

sudo nmap -A 192.168.1.1

Atkreipkite dėmesį, kad čia yra beveik visa informacija, kurią matėme anksčiau. Jis gali būti naudojamas siekiant padidinti šios mašinos apsaugą.

Išvados

Šiame straipsnyje apžvelgėme, kaip atliekamas nmap prievadų nuskaitymas, taip pat keletas paprasti pavyzdžiai naudojant šią priemonę. Šios nmap komandos gali būti naudingos daugeliui sistemos administratorių, siekiant pagerinti jų sistemų saugumą. Tačiau tai dar ne visos naudingumo galimybės. Toliau eksperimentuokite su programa, kad sužinotumėte daugiau, tik ne kitų žmonių tinkluose!

Apie autorę

Įkūrėjas ir svetainės administratorius, aistringas atvirojo kodo programinei įrangai ir operacinėms sistemoms Linux sistema. Šiuo metu kaip pagrindinę OS naudoju Ubuntu. Be Linux, domiuosi viskuo, kas susiję su informacinės technologijos ir šiuolaikinis mokslas.

Yra keturių tipų NSE scenarijai, būtent:

  • Išankstinės taisyklės scenarijai– yra scenarijai, vykdomi prieš bet kurią Nmap nuskaitymo operaciją, jie vykdomi, kai Nmap dar nesurinko jokios informacijos apie taikinį.
  • Prieglobos scenarijai– yra scenarijai, vykdomi po to, kai Nmap atlieka įprastas operacijas, tokias kaip pagrindinio kompiuterio aptikimas, prievadų nuskaitymas, versijos aptikimas ir OS aptikimas prieš tikslinį pagrindinį kompiuterį.
  • Paslaugų scenarijai– yra scenarijai, vykdomi su konkrečiomis tarnybomis, kurios klausosi tiksliniame pagrindiniame kompiuteryje.
  • Postrulo scenarijai– yra scenarijai, vykdomi po to, kai „Nmap“ nuskaito visus tikslinius pagrindinius kompiuterius.

Tada šie scenarijai sugrupuojami į įvairias kategorijas, įskaitant tas, kurios skirtos autentifikavimui ( aut), atrandant šeimininkus ( transliacija), brutali jėga atakos atspėti autentifikavimo kredencialus ( žiaurus), sužinokite daugiau apie tinklą ( atradimas), sukeldamas atsisakymą teikti paslaugą ( dos), išnaudojant tam tikrą pažeidžiamumą ( išnaudoti) ir kt. Nemažai scenarijų priklauso numatytajai kategorijai.

Pastaba: Prieš tęsdami toliau, turėtumėte atkreipti dėmesį į šiuos pagrindinius dalykus:

  • Nevykdykite trečiųjų šalių scenarijų jų kritiškai neperžiūrėję arba tik tuo atveju, jei pasitikite autoriais. Taip yra todėl, kad šie scenarijai nevykdomi smėlio dėžėje, todėl gali netikėtai arba piktybiškai sugadinti jūsų sistemą arba pažeisti jūsų privatumą.
  • Antra, daugelis šių scenarijų gali būti vykdomi kaip a išankstinė taisyklė arba postulatas scenarijus. Atsižvelgiant į tai, siekiant nuoseklumo, rekomenduojama naudoti išankstinę taisyklę.
  • Nmap naudoja scripts/script.db duomenų bazę, kad išsiaiškintumėte galimus numatytuosius scenarijus ir kategorijas.

Norėdami pamatyti visų galimų NSE scenarijų vietą, terminale paleiskite taip:

$ rasti *.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 scenarijai įkeliami naudojant --script vėliavėlę, kuri taip pat leidžia paleisti savo scenarijus, pateikiant kategorijas, scenarijaus failų pavadinimus arba katalogų, kuriuose yra jūsų scenarijai, pavadinimus.

Scenarijų įjungimo sintaksė yra tokia:

$ namp -sC taikinys #įkelti numatytuosius scenarijus ARBA $ nmap --skripto failo pavadinimas|kategorija|katalogas|išraiška,... taikinys

Galite peržiūrėti scenarijaus aprašą naudodami --script-help parinktį. Be to, kai kuriems scenarijams galite perduoti argumentus naudodami --script-args ir --script-args-file parinktis, o vėliau naudojama failo pavadinimui pateikti, o ne komandų eilutės arg.

Norėdami atlikti nuskaitymą naudodami daugumą numatytųjų scenarijų, naudokite vėliavėlę -sC arba naudokite --script=default, kaip parodyta.

$ nmap -sC scanme.nmap.org ARBA $ nmap --script=default scanme.nmap.org ARBA $ nmap --script numatytasis scanme.nmap.org

Pavyzdžio išvestis
Nuo Nmap 7.01 (https://nmap.org) 2017-11-15 10:36 IST Nmap nuskaitymo ataskaita, skirta scanme.nmap.org (45.33.32.156) Priegloba veikia (0,0027 s delsa). Nerodoma: 999 filtruoti prievadai PORT STATE SERVICE 80/tcp atidaryta http |_http-title: Pirmyn ir ScanMe! Nmap atlikta: 1 IP adresas (1 pagrindinis kompiuteris aukštyn) nuskaitytas per 11,74 sekundės

Norėdami naudoti scenarijų tinkamu tikslu, pirmiausia galite gauti trumpą aprašymą, ką jis iš tikrųjų daro, pavyzdžiui http antraštės.

$ nmap --script-help http-headers scanme.nmap.org

Pavyzdžio išvestis
Nuo Nmap 7.01 (https://nmap.org) 2017-11-15 10:37 IST http-headers Kategorijos: saugus atradimui https://nmap.org/nsedoc/scripts/http-headers.html Vykdo HEAD užklausą žiniatinklio serverio šakniniam aplankui („/“) ir rodo grąžintas HTTP antraštes.

Įkeliami NSE scenarijai, kad būtų galima atlikti Nmap nuskaitymą

Galite pasirinkti arba įkelti scenarijus, kad atliktumėte nuskaitymą įvairiais toliau paaiškintais metodais.

Scenarijaus pavadinimo naudojimas

Sužinoję, ką daro scenarijus, galite jį nuskaityti. Galite naudoti vieną scenarijų arba įvesti kableliais atskirtą scenarijų pavadinimų sąrašą. Toliau pateikta komanda leis peržiūrėti HTTP antraštes, sukonfigūruotas žiniatinklio serveryje tikslinėje priegloboje.

$ nmap --script http-headers scanme.nmap.org

Nuskaitykite HTTP antraštes

Nuo Nmap 7.01 (https://nmap.org) 2017-11-15 10:39 IST Nmap nuskaitymo ataskaita, skirta scanme.nmap.org (45.33.32.156) Priegloba veikia (0,27 s delsa). Nerodoma: 996 uždaryti prievadai PORT STATE SERVICE 22/tcp open ssh 80/tcp open http | http antraštės: | Data: 2017 m. lapkričio 15 d., trečiadienis, 05:10:04 GMT | Serveris: Apache/2.4.7 (Ubuntu) | Priimti diapazonai: baitai | Vary: Accept-Encoding | Jungtis: uždaryti | Turinio tipas: tekstas/html | |_ (Užklausos tipas: HEAD) 179/tcp filtruotas bgp 31337/tcp atviras Elite Nmap atliktas: 1 IP adresas (1 priegloba aukštyn) nuskaitytas per 20,96 sekundės

Naudojant kategorijas

Taip pat galite įkelti scenarijus iš vienos kategorijos arba iš kableliais atskirto kategorijų sąrašo. Šiame pavyzdyje mes naudojame visus numatytosios ir transliacijos kategorijos scenarijus, kad atliktume pagrindinio kompiuterio nuskaitymą 192.168.56.1 .

$ nmap -- scenarijus, numatytasis, transliacija 192.168.56.1

Naudojant pakaitos simbolį

Tai naudinga, kai norite pasirinkti scenarijus su nurodytu vardo šablonu. Pavyzdžiui, norint įkelti visus scenarijus, kurių pavadinimai prasideda ssh, paleiskite žemiau esančią komandą terminale:

$ nmap --script "ssh-*" 192.168.56.1

Būlio išraiškų naudojimas

Taip pat galite pasirinkti scenarijus naudodami logines išraiškas, kurias galite sukurti naudodami ir, arba, ir ne operatoriai. Ir vardai Būlio išraiškoje gali būti kategorija, failo pavadinimas iš scenarijus.db, arba visi.

Ši komanda įkels scenarijus iš numatytųjų arba transliavimo kategorijų.

$ nmap --script "numatytasis arba transliavimas" 192.168.56.10

Kas yra lygiavertis:

$ nmap -- scenarijus, numatytasis, transliacija 192.168.56.10

Norėdami įkelti visus scenarijus, praleidžiant esančius vuln kategorijoje, paleiskite šią komandą terminale.

$ nmap --script "ne vuln" 192.168.56.10

Kita komanda atrodo šiek tiek sudėtinga, tačiau ją lengva suprasti, ji parenka scenarijus numatytosiose arba transliacijos kategorijose, nepaisydama tų, kurių pavadinimai prasideda ssh-:

$ nmap --script "(numatytasis arba transliacija) ir ne ssh-*" 192.168.56.10

Svarbu tai, kad norint įkelti scenarijus galima derinti kategorijas, scenarijų pavadinimus, katalogą, kuriame yra jūsų pasirinktiniai scenarijai, arba loginę išraišką, pavyzdžiui:

$ nmap -- scenarijaus transliacija, vuln, ssh-auth-methods,/path/to/custom/scripts 192.168.56.10

Argumentų perdavimas NSE scenarijams

Žemiau pateikiamas pavyzdys, rodantis, kaip perduoti argumentus scenarijus su --script-args variantas:

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

Norėdami perduoti prievado numerį, naudokite -p nmap parinktis:

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

Ši aukščiau pateikta komanda atlieka MySQL duomenų bazės serverio saugos konfigūracijos auditą, palyginti su dalimis CIS MySQL v1.0.2 etalonas. Taip pat galite sukurti savo naudingus pasirinktinius audito failus kitiems MySQL auditams.

Kol kas tiek. Daugiau informacijos galite rasti nmap vadovo puslapyje arba peržiūrėti NSE Usage.

Norėdami pradėti rašyti savo NSE scenarijus, peržiūrėkite šį vadovą: https://nmap.org/book/nse-tutorial.html

Išvada

Nmap yra tikrai galingas ir naudingas įrankis, kurio reikia kiekvienam sistemos ar tinklo administratoriui savo saugumo arsenale – NSE tiesiog prideda daugiau efektyvumo.

Šiame straipsnyje mes supažindinome jus su Nmap scenarijaus variklis, ir pažvelgė į tai, kaip rasti ir naudoti įvairius galimus scenarijus pagal skirtingas kategorijas. Jei turite klausimų, nedvejodami parašykite mums naudodami toliau pateiktą komentarų formą.

Daugeliui iš mūsų, kurių darbo užduotys bent jau kurį laiką buvo glaudžiai susijusios su informacijos saugumu, Nmap jau seniai tapo pažįstama ir naudinga priemone. Tai nepakeičiama kaip šilta antklodė šaltą žiemos naktį. Išskyrus tai, kad Nmap yra velniškai efektyvi antklodė.

Nmap yra populiarus ir galingas kelių platformų skaitytuvas tinklo saugumas, paleisti iš komandinės eilutės, su kuria galite itin efektyviai tyrinėti bet kurį tinklą. Tai taip pat gali padėti jums gauti prie jūsų tinklo prisijungusių sistemų apžvalgą; su juo galite sužinoti visų „gyvų“ šeimininkų IP adresus, nuskaityti atviri uostai ir paslaugos, veikiančios šiuose pagrindiniuose kompiuteriuose, taip pat daug, daug daugiau.

Be jokios abejonės, Nmap yra universaliausias šiandien prieinamas prievadų skaitytuvas. Taip, galite rasti greitesnių skaitytuvų, tačiau nėra tokio naudingo ir tiesiog nepakeičiamo sprendžiant daugelį jūsų problemų. Ir didžioji dauguma šios srities profesionalų informacijos saugumas kategoriškai sutinka su šiuo teiginiu.

Tačiau kur kas mažiau žmonių žino, kad viena įdomiausių Nmap ypatybių yra galimybė naudoti NSE scenarijus, kurie jūsų mėgstamam tinklo saugos įrankiui suteiks dar daugiau lankstumo ir efektyvumo. Su jų pagalba galite padaryti tai, ko niekada nesitikėtumėte net iš labai pažangaus prievadų skaitytuvo, pvz., Nmap.

Pažvelkime į NSE scenarijus atidžiau ir galbūt jų potencialas jus maloniai nustebins.

Kitaip tariant, be standartinio atvirų prievadų patikrinimo naudojant Nmap skaitytuvą, naudodamiesi NSE, jūs taip pat turite galimybę gauti išplėstinę informaciją apie jame veikiančias paslaugas. Taigi, pavyzdžiui, naudodami NSE scenarijus galite atlikti gilesnę savo tinklo paslaugų analizę ir pamatyti, kaip gerai jos sukonfigūruotos, kokia informacija yra, ar naudojami silpni kredencialai ir tt Iš tikrųjų NSE scenarijai paverčia Nmap lanksčiu platforma sąveikai su tinklo paslaugomis.

Nmap Scripting Engine scenarijų funkcijos

Nmap prievado skaitytuvo kūrimo komanda sumanė ir sukūrė scenarijų variklį, visų pirma siekdama išspręsti tokias problemas kaip:

1. Tinklo tyrimai

Tai yra pagrindinė Nmap praktinio naudojimo sritis. Kai kurie scenarijai skirti palengvinti, optimizuoti ir pagreitinti mėgstamo prievado skaitytuvo darbą. Kai kurie jų naudojimo pavyzdžiai apima tokias užduotis kaip:

  • ieškant WHOIS duomenų (programinio lygmens tinklo protokolo, paremto TCP protokolu; pagrindinė jo taikymas yra tekstinės formos registracijos duomenų gavimas apie domenų vardų, IP adresų ir autonominės sistemos) pagal atitinkamas sritis;
  • užklausų siuntimas į pagrindinius regioninius WHOIS serverius ARIN (Šiaurės Amerika), RIPE (Europa ir Viduriniai Rytai) arba APNIC (Azija ir Ramusis vandenynas), siekiant nustatyti konkretaus IP adreso savininką;
  • identd paieška atviruose prievaduose (leidžia identifikuoti prie jų prisijungusius vartotojus);
  • užklausų teikimas naudojant SNMP protokolą (interneto protokolas įrenginių valdymui IP tinkluose, paremtuose TCP/UDP architektūromis);
  • sudaryti turimų išteklių ir paslaugų sąrašus per tinklo protokolusnuotolinė prieiga NFS, SMB arba RPC.

2. Sudėtingesnė versijos aptikimo parinktis

Nmap paslaugų ir programų versijų kūrimo sistema gali atpažinti tūkstančius skirtingų paslaugų, naudodama zondus ir reguliariųjų reiškinių parašo atitikimą, tačiau ji nėra visagalis. Pavyzdžiui, norint nustatyti „Skype v2“ paslaugą, reikia dviejų vienas nuo kito nepriklausomai veikiančių zondų, kurių versijų aptikimo galimybės nėra labai lanksčios. „Nmap“ taip pat gali atpažinti kai kurias SNMP paslaugas, jei bando žiauriai perleisti kelis šimtus bendruomenių pavadinimų. Abi pirmiau nurodytos užduotys nėra labai patogios naudoti standartinius Nmap versijų kūrimo metodus, tačiau abi lengvai atliekamos naudojant NSE. Dėl šios priežasties versijų kūrimo sistema dabar pagal numatytuosius nustatymus iškviečia NSE, kad išspręstų versijų kūrimo problemą apdorojant kai kurias sudėtingas paslaugas.

3. Ieškoti pažeidžiamumų

Kai aptinkamas naujas pažeidžiamumas, jis tampa viešai žinomas, o tinklo saugos specialistai turi skubiai nuskaityti savo tinklus, kad greitai nustatytų pažeidžiamas sistemas, kol blogi vaikinai tai padarys už jas. Nors Nmap nėra visavertis pažeidžiamumo skaitytuvas, galingos NSE galimybės leidžia atlikti pažeidžiamumo patikras net ir esant labai griežtiems reikalavimams. Pavyzdžiui, kai „Heartbleed“ klaida OpenSSL kriptografijos programinėje įrangoje pakenkė šimtams tūkstančių sistemų visame pasaulyje, Nmap kūrėjai atsakė per dvi dienas parašydami SSL-heartbleed aptikimo scenarijų.

4. Užpakalinių durų aptikimas

Daugelis kibernetinių užpuolikų, taip pat kai kurie automatiniai kirminai, palieka užpakalines duris, kad ateityje galėtų lengvai įsiskverbti į jūsų sistemą. Kai kurias iš šių galinių durų galima aptikti naudojant standartinė procedūra aptikti Nmap versijas, pagrįstas reguliariosios išraiškos parašo atitikimu, tačiau daugeliui sudėtingesnių kirminų ir galinių durų reikia pažangių NSE galimybių, kad būtų galima patikimai aptikti. Visų pirma, NSE naudojama norint aptikti „DoublePulsar“ užpakalines duris, kurios išnaudoja diegimo pažeidžiamumą. SMB protokolas, galinių durų versijos IRC serveriui UnrealIRCd, taip pat FTP serveriams vsftpd ir ProFTPd.

5. Pažeidžiamumų aptikimas

Įdiegta remiantis skriptų kalba bendros paskirties, NSE netgi gali būti naudojamas kuriant išnaudojimus, kurie gali padėti atrasti pažeidžiamumą, kol apie jų egzistavimą sužinojo visuomenė. Ši galimybė pridėti pasirinktinių scenarijų išnaudojimų gali būti labai naudinga kai kuriems žmonėms (pirmiausia įsiskverbimo tikrintojams). Tačiau NSE vis dar nėra visavertė platforma parašams ir išnaudojimams kurti, kaip „Metasploit“.

Kokios yra NSE scenarijų kategorijos?

Šiuo metu yra 598 NSE scenarijai, kuriuos galite rasti aplanke „skriptai“, pagrindinio Nmap katalogo pakatalogyje. Siekiant geresnio veikimo, visi scenarijai yra indeksuojami duomenų bazėje „scripts/script.db“, kuri nurodo, kuriai kategorijai ar kategorijoms priklauso kiekvienas scenarijus.

Atsižvelgiant į numatomą pritaikymą, taip pat siekiant supaprastinti jų naudojimą, NSE scenarijai yra sugrupuoti į skirtingas kategorijas. Šiuo metu yra apibrėžtos šios NSE scenarijų kategorijos: auth, broadcast, brute, default. atradimas, dos, išnaudojimas, išorinis, pūslelinis, įsibrovęs, kenkėjiška programa, saugus, versija ir pažeidžiamumas (kategorijų pavadinimai neskiriami didžiosioms ir mažosioms raidėms). Žemiau pateikiamas išsamesnis kiekvienos kategorijos vaizdas:

  • aut- Ši scenarijų kategorija susijusi su (arba apeina) autentifikavimo kredencialus tikslinėje sistemoje. Tokių scenarijų pavyzdžiai yra „x11-access“, „ftp-anon“ ir „oracle-enum-users“. Atkreipkite dėmesį, kad scenarijai, kurie naudoja brutalios jėgos ataką bandant nustatyti kredencialus, yra klasifikuojami kaip brutalūs.
  • transliacija- šios kategorijos scenarijai paprastai naudojami aptikti pagrindinius kompiuterius, kurie nėra išvardyti komandinė eilutė, per plataus kanalo sąveiką su vietinis tinklas. Naudodami scenarijaus argumentą „newtargets“, jie automatiškai įtrauks atrastus pagrindinius kompiuterius į nuskaitymo eilę.
  • žiaurus- Šios kategorijos scenarijai naudojami brutalios jėgos atakoms vykdyti, siekiant gauti nuotolinio serverio autentifikavimo kredencialus. Nmap siūlo brute force atakų scenarijus dešimčiai protokolų. Tai apima šiuos scenarijus: „http-brute“, „oracle-brute“, „snmp-brute“ ir kt.
  • numatytasis— ši scenarijų kategorija apibrėžia tuos scenarijus, kuriuos Nmap kūrėjai atrinko kaip naudingus skenerio funkcionalumui išplėsti arba jo veikimui optimizuoti, ir yra priskirti „numatytajam“ pagrindiniam rinkiniui. Jie paleidžiami naudojant "-sC" arba "-A" parinktis, o ne nurodant konkretų scenarijų sąrašą per "--script" parinktį. Šią scenarijų kategoriją, kaip ir kitas, galima aiškiai nurodyti naudojant „--script=default“. Nustatydama, ar konkretus scenarijus turi būti priskirtas kaip numatytasis, Nmap komanda bando pasikliauti šiais reikalavimais:
    • greitis– pagal numatytuosius nustatymus nuskaitymas turi būti baigtas greitai, o tai neįtraukia į šią kategoriją brutalios jėgos autentifikavimo įsilaužėlių, žiniatinklio vorų ir bet kokių kitų scenarijų, kurių vienos paslaugos nuskaitymo laikas skaičiuojamas minutėmis ar net valandomis.
    • naudingumas— Norint nuskaityti numatytąją kategoriją, reikia gauti vertingos ir svarbios informacijos. Kitaip tariant, tokio scenarijaus nuskaitymo rezultatas turėtų būti suprantamas ir naudingas eiliniam tinklo saugos specialistui. IN kitaip nėra prasmės jį paleisti pagal numatytuosius nustatymus.
    • trumpumas— Nmap skaitytuvo gautos informacijos išvestis naudojama įvairiems tikslams ir poreikiams, todėl ši informacija turi būti įskaitoma ir glausta. Scenarijai, kurie dažnai sukuria kelis puslapius su visa gauta informacija, taip pat nepriklauso numatytajai scenarijaus kategorijai. Kitaip tariant, NSE scenarijai, kurie priskiriami numatytiesiems, kai jų neranda svarbi informacija, ataskaitoje nieko nerodo. Tai taikoma numatytiems scenarijams, kurie ieško paslėptų pažeidžiamumų – jie pateikia rezultatus tik tada, kai aptinka šiuos pažeidžiamumus.
    • patikimumas— daugelis scenarijų savo darbe gali remtis euristinės analizės duomenimis ir neaiškiu parašų atitikimu, kad padarytų tam tikras išvadas apie tikslinį pagrindinį kompiuterį ar paslaugą. Tokių scenarijų pavyzdžiai yra „sniffer-detect“ ir „sql-injection“. Tokie scenarijai pagal numatytuosius nustatymus nebus skirstomi į kategorijas, nes jų darbo rezultatai dažnai būna klaidingi ir gali suklaidinti vartotoją, kuris aiškiai nesuvokia visos savo darbo specifikos.
    • neįkyrumas— kai kurie scenarijai gali būti pernelyg įkyrūs, kai naudoja didelius nuotolinės sistemos išteklius, o tai gali sukelti šios sistemos ar paslaugos gedimą arba nuotoliniai administratoriai jų veiksmus gali laikyti ataka. Tokie scenarijai taip pat neįtraukti į numatytąją kategoriją. Tačiau kai kuriuos „vidutiniškai agresyvius“ scenarijus Nmap komanda vis tiek priskyrė kaip numatytuosius, atsižvelgdama į jų naudingumą ir tai, kaip teisingai jie gali elgtis, atsižvelgiant į kitus veiksnius.
    • konfidencialumą- daug scenarijų gali atskleisti konfidencialią informaciją tretiesiems asmenims, remiantis pačia jų darbo specifika. Pavyzdžiui, scenarijai, skirti ieškoti WHOIS duomenų, regioniniams registratoriams turi pranešti tikslinį IP adresą. Kitaip tariant, NSE numatytųjų scenarijų kategorijoje Nmap komanda stengiasi neįtraukti scenarijų, kurie galėtų pažeisti konfidencialumą.
  • atradimas- Šios kategorijos scenarijai aktyviai bando sužinoti daugiau apie tinklą, siųsdami viešas užklausas registratoriui, SNMP palaikančius įrenginius, katalogų paslaugas ir kt. Tokių scenarijų pavyzdžiai yra „html-title“ (gauna pagrindinio svetainių kelio pavadinimą), „smb-enum-shares“ (sąrašai bendri „Windows“ ištekliai) ir „snmp-sysdescr“ (per standartinį interneto protokolą, skirtą SNMP įrenginiams valdyti, nuskaito išsamią sistemos informaciją).
  • dos— šios kategorijos scenarijus reikia naudoti labai atsargiai, nes dėl jų gali būti atsisakyta teikti paslaugą. Kartais juos naudoja saugos bandytojai, norėdami patikrinti sistemos pažeidžiamumą dėl atsisakymo teikti paslaugas atakų, tačiau toks testavimas gali turėti nepageidaujamų šalutinių poveikių, pavyzdžiui, kai kurios pažeidžiamos paslaugos gali sugesti.
  • išnaudoti— šie scenarijai skirti aktyviai išnaudoti konkretų pažeidžiamumą. Šios kategorijos scenarijų pavyzdžiai yra „jdwp-exec“ ir „http-shellshock“.
  • išorės— šios kategorijos scenarijai gali siųsti duomenis trečiosioms šalims, kurios valdo duomenų bazes ar kitus tinklo išteklius. Tokio scenarijaus pavyzdys yra „whois-ip“, kuris prisijungia prie WHOIS serverių, kad gautų informaciją apie taikinio IP adresą. Visada gali būti, kad trečiųjų šalių duomenų bazių operatoriai įrašys viską, ką jiems siunčiate, o tai daugeliu atvejų apima informaciją apie jūsų IP adresą ir jūsų tikslinio IP adresą. Dauguma scenarijų, susijusių tik su srautu tarp nuskaitančio kompiuterio ir kliento, nepatenka į šią kategoriją.
  • pūkelis yra scenarijų kategorija, skirta siųsti netikėtus arba atsitiktinius laukus į serverio programinę įrangą kiekviename pakete. Nors šis metodas gali būti naudingas ieškant nežinomų programinės įrangos klaidų ir pažeidžiamumų, tai lėtas procesas, kuris taip pat naudoja tinklo pralaidumą. Šios kategorijos scenarijų pavyzdys yra „dns-fuzz“, kuris bombarduoja DNS serverį iš dalies pakeistomis domeno užklausomis, kol serveris sugenda arba baigiasi vartotojo nustatytas laiko limitas.
  • įkyrus— į šią skriptų kategoriją įeina tie, kurie negali būti klasifikuojami kaip saugūs, nes yra per didelė rizika, kad tikslinė sistema žlugs dėl jų spaudimo, reikės didelių tikslinio pagrindinio kompiuterio išteklių (pavyzdžiui, pralaidumo ar procesoriaus laiko) ar kitaip, jų vykdymą tikslinės sistemos administratoriai suvoks kaip kenkėjišką veiklą. Tokių scenarijų pavyzdžiai yra „http-open-proxy“ (kuris bando naudoti tikslinį serverį kaip HTTP tarpinį serverį) ir „snmp-brute“ (kuris bando atspėti vadinamąją SNMP įrenginių „bendruomenės eilutę“, siųsdamas juos populiarias vertybes, tokias kaip viešoji, privati ​​ir cisco). Jei scenarijus nepriklauso specialiosios versijos kategorijai, jis turėtų būti klasifikuojamas kaip saugus arba įkyrus.
  • kenkėjiška programa- šie scenarijai patikrina, ar tikslinė platforma nėra užkrėsta kenkėjiška programa arba užpakalinės durys. Šios kategorijos scenarijų scenarijų pavyzdžiai yra „smtp-strangeport“, kuris stebi SMTP serverius, veikiančius neįprastais prievadų numeriais, ir „auth-spoof“, kuris aptinka suklastotus „identd“ demonus (diegia vartotojo autentifikavimo protokolo palaikymą), kurie vis dar pateikia netikrą atsakymą. prieš gaudamas prašymą. Tiek pirmame, tiek antrame pavyzdyje toks elgesys, jei jis aptinkamas, paprastai yra ženklas, kad sistema užkrėsta kenkėjiška programa.
  • saugus— visi scenarijai, kurie nebuvo sukurti siekiant sukelti paslaugų gedimus, naudoja daug tinklo pralaidumo ar kitų išteklių ir nebuvo skirti išnaudoti saugumo spragų, priskiriami saugių kategorijai. Jie daug rečiau patraukia nuotolinių administratorių dėmesį, nors (kaip ir bet kuri kita Nmap funkcija), nėra šimtu procentų garantuota, kad jie niekada nepatrauks nuotolinių administratorių dėmesio. Dauguma šių scenarijų atlieka užduotis, susijusias su bendruoju tinklo tyrinėjimu. Šios kategorijos scenarijų pavyzdžiai yra „ssh-hostkey“ (gauna pagrindinio kompiuterio SSH raktą) ir „html-title“ (paima pavadinimą iš tinklalapio). Versijų kategorijos scenarijai nėra klasifikuojami kaip saugūs, tačiau kiti nesaugūs scenarijai turėtų būti apibrėžti kaip įžeidžiantys.
  • versija- Šios specialios kategorijos scenarijai yra versijos aptikimo funkcijos plėtinys ir jų negalima pasirinkti. Jie pasirenkami veikti tik tada, kai bus paprašyta nustatyti Nmap versiją („-sV“). Jų išvesties negalima atskirti nuo versijų kūrimo funkcijos išvesties ir jie neveikia kaip pagrindinio kompiuterio ar paslaugų scenarijai. Tokių scenarijų pavyzdžiai yra „skypev2-version“, „pptp-version“ ir „iax2-version“.
  • vuln— šios kategorijos scenarijai tikrina, ar nėra konkretaus žinomo pažeidžiamumo, ir paprastai pateikia tik tuos rezultatus, kurie patvirtina, kad toks pažeidžiamumas buvo rastas. Tokių scenarijų pavyzdžiai yra „realvnc-auth-bypass“ ir „afp-path-vuln“.

Scenarijai, atsižvelgiant į jų funkcinį fokusavimą ir nuskaitymo etapą, per kurį jie vykdomi, skirstomi į keturis tipus (kai kurie scenarijai vienu metu gali palaikyti kelių tipų operacijas):

  • Išankstinių taisyklių scenarijai – šių tipų scenarijai paleidžiami prieš atliekant bet kokias Nmap operacijas, ty jie vykdomi prieš nuskaitymo etapą, kai Nmap dar nesurinko jokios informacijos apie taikinį. Šie scenarijai gali būti naudingi atliekant užduotis, kurios nepriklauso nuo konkrečių nuskaitymo tikslų, pvz., teikiant transliavimo užklausas, kad būtų galima apklausti DHCP ir DNS SD serverius. Kai kurie iš šių scenarijų gali sukurti naujus Nmap nuskaitymo tikslus (tik jei nurodote NSE argumentą „newtargets“). Taigi, pavyzdžiui, scenarijus „dns-zone-transfer“ gali gauti IP adresų sąrašą domene, naudodamas zonos perdavimo užklausą, ir automatiškai įtraukti juos į Nmap nuskaitymo tikslų sąrašą. Išankstinės taisyklės tipo scenarijai identifikuojami naudojant išankstinės taisyklės funkciją.
  • Pagrindinio kompiuterio scenarijai – šie scenarijai vykdomi standartinio Nmap nuskaitymo proceso metu, kai Nmap skaitytuvas atlieka įprastas operacijas, pvz., pagrindinio kompiuterio aptikimą, prievadų nuskaitymą, versijos aptikimą ir OS aptikimą tiksliniame pagrindiniame kompiuteryje. Šio tipo scenarijus iškviečiamas vieną kartą kiekvienam tiksliniam kompiuteriui, atitinkančiam jo pagrindinio kompiuterio funkciją. Pavyzdžiai apima scenarijus „whois-ip“, kurie ieško tikslinio IP adreso nuosavybės informacijos, ir „path-mtu“, kurie bando nustatyti maksimalų IP paketo dydį, kuris gali pasiekti tikslą nereikalaujant suskaidymo.
  • Paslaugų scenarijai – šio tipo scenarijus paleidžiamas, kai tiksliniame pagrindiniame kompiuteryje aptinkamos tam tikros paslaugos. Pavyzdžiui, Nmap apima daugiau nei 15 http paslaugų scenarijų, kurie paleidžiami dirbti su žiniatinklio serveriais. Jei priegloboje yra žiniatinklio serveriai, veikiantys keliuose prievaduose, šie scenarijai gali būti vykdomi kelis kartus (po vieną kiekvienam prievadui). Tai yra labiausiai paplitęs Nmap scenarijaus tipas ir skiriasi tuo, kad juose yra perkėlimo funkcija, leidžianti nustatyti, kuriai iš aptiktų paslaugų scenarijus turėtų veikti.
  • „Postrule“ scenarijai – šio tipo scenarijai paleidžiami vieną kartą, kai „Nmap“ nuskaito visus numatytus objektus. Jie gali būti naudingi formatuojant ir pateikiant Nmap skaitytuvo gautą informaciją. Pavyzdžiui, scenarijus "ssh-hostkey" yra geriau žinomas kaip paslaugų scenarijus (su nurodyta portrule funkcija), kuris prisijungia prie SSH serverių ir juos aptinka. viešieji raktai ir juos atspausdina. Tačiau ji taip pat apima „postrule“ funkciją, kuri patikrina, ar visuose patikrintuose pagrindiniuose kompiuteriuose nėra pasikartojančių raktų, ir tada spausdina visus rastus. Kitas galimas scenarijų naudojimo pavyzdys šio tipo yra atvirkštinis Nmap skaitytuvo išvesties spausdinimas – pavyzdžiui, visų prieglobų, kuriuose veikia tam tikra paslauga, sąrašas, o ne įprastas visų prieglobų su juose veikiančiomis paslaugomis sąrašas. „Postrule“ scenarijai identifikuojami naudojant „postrule“ funkciją.

Pastaba: Daugelis scenarijų gali būti vykdomi kaip išankstinės taisyklės scenarijus arba kaip postrule scenarijus. Tokiais atvejais rekomenduojama naudoti išankstinės taisyklės funkciją, kad būtų išvengta nenuoseklumo.

Amžinas paranojas, Antonas Kočukovas.


Taip pat žiūrėkite:

  • Paslaugų ir jų versijų atradimas
  • OS apibrėžimas
  • Laiko ir produktyvumo valdymo galimybės
  • Įvairūs variantai
  • Sąveika vykdymo metu
  • Pavyzdžiai
  • Informacija apie Nmap scenarijus (anglų kalba):

    Paslėptas nuo svečių


    Naujausia Nmap dokumentacijos versija (anglų kalba):

    Paslėptas nuo svečių


    Oficiali Nmap kūrėjų knyga apie Nmap (anglų kalba):

    Paslėptas nuo svečių

    Preambulė

    nmap – tinklo tyrinėjimo priemonė ir prievadų skaitytuvas

    Nmap („Network Mapper“) yra atvirojo kodo tinklo tyrinėjimo ir saugumo testavimo priemonė. Jis buvo skirtas greitai nuskaityti didelius tinklus, nors jis taip pat gerai veikia su atskirais taikiniais. Nmap išradingai naudoja neapdorotus IP paketus, kad nustatytų, kokie pagrindiniai kompiuteriai yra tinkle, kokias paslaugas (programos pavadinimą ir versiją) jie siūlo, kokias operacines sistemas (ir OS versijas) naudoja, kokių tipų paketų filtrus/užkardas naudoja, ir daugybė kitų savybių. Nors Nmap dažniausiai naudojamas saugumo testavimui, daugelis tinklų ir sistemos administratoriai tai naudinga atliekant įprastas užduotis, pvz., stebėti tinklo struktūrą, valdyti paslaugų paleidimo tvarkaraščius ir stebėti pagrindinio kompiuterio ar paslaugos veikimo laiką.

    Nmap išvestis yra nuskaitytų taikinių sąrašas su papildomos informacijos kiekvienam, priklausomai nuo nurodytų parinkčių. Pagrindinė informacija yra „svarbių prievadų lentelė“. Šioje lentelėje yra prievado numeris, protokolas, paslaugos pavadinimas ir būsena. Būsena gali būti atidaryta, filtruojama, uždaryta arba nefiltruota. Atidaryti reiškia, kad programa tiksliniame kompiuteryje yra pasirengusi užmegzti ryšį / priimti paketus tame prievade. Filtruotas reiškia, kad ugniasienė, tinklo filtras ar kiti tinklo trukdžiai blokuoja prievadą, o Nmap negali nustatyti, ar prievadas atidarytas, ar uždarytas. Uždaryti prievadai nėra susieti su jokia programa, todėl juos galima atidaryti bet kuriuo metu. Prievadai laikomi nefiltruotais, kai jie atsako į Nmap užklausas, bet Nmap negali nustatyti, ar jie atidaryti, ar uždaryti. Nmap problema atidaryta|filtruojama ir uždaryta|filtruojama, kai negali nustatyti, kuri iš šių dviejų būsenų apibūdina prievadą. Jei pageidaujama, šioje lentelėje taip pat gali būti pateikta informacija apie programinės įrangos versiją. Atliekant IP protokolo nuskaitymą (-sO), Nmap teikia informaciją apie palaikomus IP protokolus, o ne atvirus prievadus.

    Be svarbių prievadų lentelės, Nmap gali pateikti daugiau informacijos apie taikinius: išspręstus DNS pavadinimus, spėliones apie naudojamą operacinę sistemą, įrenginių tipus ir MAC adresus.

    Tipiškas nuskaitymas naudojant Nmap parodytas 1 pavyzdyje. Šiame pavyzdyje naudojami tik argumentai -A, siekiant nustatyti OS versiją, scenarijaus nuskaitymą ir sekimą; -T4 greitesniam vykdymui; tada du tiksliniai šeimininkai.

    1 pavyzdys: tipiškas nuskaitymo su Nmap pavyzdys:

    # nmap -A -T4 scanme.nmap.org žaidimų aikštelė Nmap paleidimas (https://nmap.org/) Įdomūs scanme.nmap.org (64.13.134.52) prievadai: (1663 prievadai, nuskaityti, bet nerodomi toliau, yra būsenoje : filtruotas) PORT STATE PASLAUGOS VERSIJA 22/tcp atidaryti ssh OpenSSH 3.9p1 (protokolas 1.99) 53/tcp atviras domenas 70/tcp uždaras gopher 80/tcp atviras http Apache httpd 2.0.52 ((Fedora)) 113uthtcp uždarytas tipas: bendrosios paskirties Veikia: Linux 2.4.X|2.5.X|2.6.X OS informacija: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Įdomūs playground.nmap.org (192.168.0.40) prievadai ): (1659 nuskaityti, bet toliau neparodyti prievadai yra uždarytos) PORT STATE PASLAUGOS VERSIJA 135/tcp atvira msrpc Microsoft Windows RPC 139/tcp atidaryti netbios-ssn 389/tcp atidaryti ldap? 445/tcp atidaryti microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp atidaryti windows-icfw? 1025/tcp atviras msrpc Microsoft Windows RPC 1720/tcp atviras H.323/Q.931 CompTek AquaGateKeeper 5800/tcp atviras vnc-http RealVNC 4.0 (skyra 400x250; VNC prievadas: 5900/tNCc.prot300) Adresas: 00:A0:CC:63:85:4B (Lite-on Communications) Įrenginio tipas: bendrosios paskirties Veikia: Microsoft Windows NT/2K/XP OS informacija: Microsoft Windows XP Pro RC1+ iki galutinio leidimo Paslaugos informacija: OS: Windows , Windows XP Nmap baigtas: 2 IP adresai (2 pagrindiniai kompiuteriai aukštesni) nuskaityti per 88,392 sekundės

    Parinkčių santrauka

    Naudojimas:
    nmap [Nuskaitymo tipas (-ai)] [Parinktys] (specified_targets)

    NUSKAITYMO TIKSLIO NUSTATYMAS:

    Gali dirbti su pagrindinio kompiuterio pavadinimais, IP adresais, tinklais ir kt.
    Pavyzdžiui: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
    -iL<ввести_имя_файла>: Importuoti iš pagrindinio kompiuterio / tinklo sąrašo
    -iR<количество хостов>: pasirinkite atsitiktinius taikinius
    – išskirti : Išskirkite pagrindinius kompiuterius / tinklus
    – išskirti failą<файл_с_исключениями>: neįtraukti sąrašą iš failo

    PAGRINDINIO APTIKIMAS:

    SL: nuskaitymas, kad būtų sudarytas sąrašas – tiesiog sudarykite nuskaitytų objektų sąrašą
    -sn: Ping nuskaitymas – tiesiog nustatykite, ar priegloba veikia
    -Pn: traktuokite visus pagrindinius kompiuterius kaip aukštus – praleiskite pagrindinio kompiuterio aptikimą
    -PS/PA/PU/PY[port_list]: TCP SYN/ACK, UDP arba SCTP ping nurodytos prieglobos
    -PE/PP/PM: Ping naudojant ICMP aido užklausas, laiko žymos ir tinklo kaukės užklausas
    -PO[protokolų_sąrašas]: Ping naudojant IP protokolą
    -n/-R: Niekada neišspręskite DNS / visada išspręskite [numatytasis: kartais]
    -dns serveriai<сервер1[,сервер2],…>: nustatykite savo DNS serverius
    –system-dns: naudokite sistemos DNS sprendiklį
    –traceroute: atsekti (sekti kelią) iki kiekvieno pagrindinio kompiuterio

    SKIRTINGI SKAENAVIMO TECHNIKA:

    SS/sT/sA/sW/sM: TCP SYN/naudojamas sistemos skambutis Connect()/ACK/Window/Maimon scan
    -sU: UDP nuskaitymas
    -sN/sF/sX: TCP Null, FIN ir Xmas nuskaitymai
    – skenavimo vėliavėlės<флаги>: nustatykite savo TCP vėliavėles
    -sI<зомби_хост[:порт]>: Nuskaitymas tuščiąja eiga
    -sY/sZ: SCTP INIT/COOKIE-ECHO nuskaitymas
    -sO: IP protokolo nuskaitymas
    -b : FTP atmetimo nuskaitymas

    PRIJUOSTŲ IR SKATAVIMO TVARKOS APIBRĖŽIMAS:

    P<диапазон_портов>: nuskaitykite tik tam tikrus prievadus
    Pavyzdys: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
    -F: Greitas nuskaitymas – nuskaitykite ribotą prievadų skaičių
    -r: nuosekliai nuskaitykite prievadus – nenurodykite prievadų atsitiktinai
    – viršutiniai prievadai<количество_портов>: nuskaityti<количество_портов>dažniausiai naudojami uostai
    – porto santykis<рейтинг>: nuskaityti prievadus, kurių reitingas didesnis nei<рейтинг>

    PASLAUGŲ APIBRĖŽIMAS IR JŲ VERSijos:

    SV: tyrinėkite atvirus prievadus, kad nustatytumėte paslaugos / versijos informaciją
    – versijos intensyvumas<уровень>: Nustatykite nuo 0 (lengva) iki 9 (išbandykite visas užklausas)
    -light-version: apsiribokite lengviausiomis užklausomis (2 intensyvumas)
    –visa versija: naudokite kiekvieną užklausą (intensyvumas 9)
    –versijos sekimas: išspausdinkite išsamią informaciją apie nuskaitymo procesą (derinimui)

    NUSKAITYTI NAUDOJANT SCRIPTUS:

    SC: atitinka –script=default parinktį
    – scenarijus= : tai kableliais atskirtas katalogų, scenarijaus failų arba scenarijų kategorijų sąrašas
    –script-args=<имя1=значение1,[имя2=значение2,…]>: Argumentų perdavimas scenarijui
    –script-args-file=failo pavadinimas: perduokite failo argumentus į NSE scenarijus
    –script-trace: spausdinkite visus gautus ir išsiųstus duomenis
    –script-updatedb: atnaujinkite scenarijų duomenų bazę
    –script-help= : Rodyti pagalbą apie scenarijus. Kableliais atskirtas scenarijų sąrašas arba scenarijų kategorijų sąrašas.

    OS APIBRĖŽIMAS:

    O: suaktyvinkite OS aptikimo funkciją
    –osscan-limit: OS aptikimo funkciją naudokite tik „perspektyviems“ pagrindiniams kompiuteriams
    –osscan-guess: atspėk OS aptikimo rezultatus

    LAIKO IR produktyvumo VALDYMO PARINKTYS:

    Variantai, kurie priima argumentą<время>, pateikiami milisekundėmis, kol prie reikšmės (pvz., 30 m) pridėsite „s“ (sekundės), „m“ (minutės) arba „h“ (valandos).
    -T<0-5>: nustatykite laiko valdymo nustatymų šabloną (daugiau yra greičiau)
    –min-hostgroup/max-hostgroup<кол_хостов>: lygiagrečiam nuskaitymui nustatykite grupės dydį
    –min-paralelizmas/maks-paralelizmas<кол_хостов>: reguliuoja užklausų lygiagretavimą
    –min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout<время>: Reguliuoja laiką, kurio reikia laukti atsakymo į užklausą.
    – maksimalus pakartotinis bandymas<количество_попыток>: nustato maksimalų pakartotinių užklausų siuntimų skaičių
    – šeimininko skirtasis laikas<время>: sustabdo lėtų taikinių nuskaitymą
    –nuskaitymo delsa/–maksimalus nuskaitymo delsa<время>: koreguoja delsą tarp užklausų
    – minimali norma<число>: Siųsti užklausas ne mažesniu intensyvumu kaip<число>per sekundę
    – maksimalus tarifas<число>: siųskite užklausas, kurių intensyvumas ne didesnis kaip<число>per sekundę

    UGNASIENŲ / IDS aplenkimas:

    F; -mtu<значение>: Fragmentų paketai (neprivaloma su nurodyta MTU reikšme)
    -D<фикт_хост1,фикт_хост2[,ME],…>: Nuskaitymų maskavimas naudojant netikrus pagrindinius kompiuterius
    -S : pakeisti šaltinio adresą
    -e<интерфейс>: naudokite specialią sąsają
    -g/–šaltinio prievadas<номер_порта>: naudokite nurodytą prievado numerį
    – įgaliotieji serveriai : Perdavimo ryšiai per HTTP/SOCKS4 tarpinį serverį
    – duomenų ilgis<число>: pridėti savavališkus duomenis prie išsiųstų paketų
    – ip parinktys<опции>: Siųsti paketą su nurodytomis IP parinktimis
    –ttl<значение>: nustatykite IP lauko veikimo laiką (visą laiką)
    – spoof-mac : nustatykite savo MAC adresą
    –badsum: siųskite paketus su netikromis TCP/UDP/SCTP kontrolinėmis sumomis

    REZULTATŲ IŠVEDIMAS:

    ON/-oX/-oS/-oG Išvesties rezultatai normalus, XML, s| -oA<базовове_имя_файла>: vienu metu naudokite tris pagrindinius išvesties formatus
    -v: padidinkite žodinį lygį (nustatykite du ar daugiau, kad padidintumėte efektą)
    -d: padidinkite arba nustatykite derinimo lygį (iki 9)
    –priežastis: parodykite priežastį, kodėl prievadas yra tam tikros būsenos
    –open: Rodyti tik atidarytus (arba galbūt atidarytus) prievadus
    – Packet-trace: Sekite gautus ir perduotus paketus
    –iflist: sąsajų ir maršrutizatorių sąrašas (derinimui)
    –log-errors: registruoja klaidas / įspėjimus į normalaus režimo išvesties failą
    –pridėti-output: pridėti prie pabaigos, o ne perrašyti išvesties failus
    – CV<имя_файла>: tęsti nutrauktą nuskaitymą
    – stiliaus lapas<путь/URL>: Nustato XSL stiliaus lapą, skirtą konvertuoti XML išvestį į HTML
    –webxml: įkelia stiliaus lapą iš Nmap.Org
    –no-stylesheet: pašalinkite XSL stiliaus lapo deklaraciją iš XML

    ĮVAIRIŲ PASIRINKIMŲ:

    6: Įjunkite IPv6 nuskaitymą
    -A: įgalinkite OS ir versijos aptikimą, scenarijų nuskaitymo ir sekimo funkcijas
    -duomenys<имя_директории>: nustato Nmap failų vietą
    –send-eth/–send-ip: naudokite neapdorotą etherneto/IP sluoksnį
    – privilegijuota: Tarkime, kad vartotojas turi visas privilegijas
    –neprivilegijuota: reiškia, kad vartotojas neturi teisių naudoti neapdorotus lizdus
    -V: spausdinimo versijos numeris
    -h: Rodyti šį pagalbos puslapį

    INTERAKTYVIOS KOMANDOS:

    PAGALBA: neveiks su „sudo nmap“, todėl naudokite „sudo –i“
    Vykdydami galite pateikti užklausą nmap šiais klavišais:
    ? Parodykite šią informaciją
    v/V didinti/sumažinti verbalumą
    d/D didinti/sumažinti derinimą
    p/P įjungti/išjungti paketų sekimą
    ir kiti raktai, kurie bus atspausdinti būsenoje

    PAVYZDŽIAI:
    Nuskaitymo tikslo apibrėžimas

    Nmap komandų eilutėje viskas, kas nėra parinktis (arba parinkties argumentas), laikoma nuskaitymo objektu. Paprasčiausiu atveju nuskaitymui naudojamas tikslinio įrenginio IP adresas arba tinklo pavadinimas.

    Kartais reikia nuskaityti visą tinklą. Kad tai pasiektų, Nmap palaiko CIDR adresavimą. Galite pridėti /<кол-во бит>į IP adresą arba tinklo pavadinimą, o Nmap nuskaitys kiekvieną IP adresą, kurio pirmasis<кол-во бит>tokie patys kaip ir nurodyto pagrindinio kompiuterio. Pavyzdžiui, 192.168.10.0/24 nuskaitys 256 pagrindinius kompiuterius tarp 192.168.10.0 (dvejetainis: 11000000 10101000 00001010 00000000) ir 192.168.10.0010010.0010 001010 11111111) imtinai. 192.168.10.40/24 darys lygiai tą patį. Žinant, kad scanme.nmap.org IP adresas yra 64.13.134.52, toks įrašas kaip scanme.nmap.org/16 nuskaitys 65 536 IP adresus nuo 64.13.0.0 iki 64.13.255.255. Mažiausia priimtina reikšmė yra /0, pagal kurią bus nuskaitomas visas internetas. Didžiausia reikšmė yra /32, kuriai esant bus nuskaitomas tik nurodytas pagrindinio kompiuterio arba IP adresas, nes visi adreso bitai išjungti.

    CIDR žymėjimas yra trumpas, bet ne visada pakankamai lankstus. Pavyzdžiui, norite nuskaityti 192.168.0.0/16, bet praleisti visus IP, kurie baigiasi .0 arba .255, nes Paprastai tai yra transliacijos adresai. Nmap gali atlikti šį nuskaitymą nurodydamas diapazonus oktetais. Užuot nurodyę įprastą IP adresą, kiekvienam oktetui galite nustatyti kableliais atskirtą skaičių sąrašą arba diapazoną. Pavyzdžiui, 192.168.0-255.1-254 perduos visus adresus diapazone, kuris baigiasi .0 ir .255. Diapazonai nebūtinai turi būti nurodyti tik paskutiniuose oktetuose: rašant 0-255.0-255.13.37 bus nuskaityti visi interneto adresai, kurie baigiasi 13.37. Šio tipo nuskaitymas gali būti naudingas naršant internete ir atliekant įvairius tyrimus.

    IPv6 adresus galima nurodyti tik tokia forma, kuri visiškai atitinka teisingą IPv6 adresų rašymo formą. CIDR ir diapazonų naudojimas oktetuose netaikomas IPv6 adresams, nes jie retai naudojami.

    Nmap komandų eilutėje galite perduoti skirtingus paskirties apibrėžimus, nebūtinai to paties tipo. Komanda nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 padarys tai, ko tikiesi.

    Nuskaitymo tikslai paprastai nurodomi komandinėje eilutėje ir yra įvairių parinkčių, skirtų taikinio pasirinkimui valdyti:

    IL<имя_файла>(Įvestis iš sąrašo)

    Skaito taikinius iš<имя_файла>. Nors pateikti nuskaityti didelį prieglobų sąrašą yra įprasta, tai nėra patogu. Pavyzdžiui, jūsų DHCP serveris pateikia 10 000 šiuo metu naudojamų adresų sąrašą ir norite jį nuskaityti. Arba galbūt norite nuskaityti visus IP adresus, išskyrus jiems priskirtus, kad aptiktumėte neteisėtą statinių IP adresų naudojimą. Tiesiog sugeneruokite nuskaitytų kompiuterių sąrašą ir perduokite failo pavadinimą į Nmap kaip argumentą prie -iL parinkties. Įrašai faile gali būti bet kokia Nmap priimtina forma (IP adresai, tinklų pavadinimai, CIDR, IPv6 arba oktetų diapazonai). Kiekvienas įrašas turi būti atskirtas tarpu ar daugiau, tabuliavimo simboliais arba naujos eilutės simboliais. Galite perduoti brūkšnelį (-) kaip failo pavadinimo argumentą, jei norite, kad Nmap skaitytų pagrindinių kompiuterių sąrašą iš standartinės įvesties, o ne iš failo.

    IR<кол-во хостов>(pasirenka atsitiktinius taikinius)

    Norint nuskaityti žiniatinklį ar atlikti bet kokius tyrimus, gali tekti atsitiktinai pasirinkti taikinius. Argumentas<кол-во хостов>nustato, kiek IP adresų reikia sugeneruoti. Netinkami IP adresai, pvz., privatūs, transliuojami arba nelokalizuoti adresų diapazonai, automatiškai praleidžiami. Argumentas 0 gali būti perduodamas nuskaityti neribotą laiką. Atminkite, kad kai kuriems sistemos administratoriams gali nepatikti neteisėtas jų tinklų nuskaitymas ir jie gali skųstis. Naudokite šią parinktį savo pačių rizika! Jei lietingą dieną jaučiatės nuobodu, pabandykite nmap -sS -PS80 -iR 0 -p 80 nuskaityti atsitiktinius žiniatinklio serverius.

    – išskirti<хост1>[,<хост2>[,…]] (Išskirkite pagrindinius kompiuterius / tinklus)

    Nurodomas kableliais atskirtų objektų sąrašas, kuris neįtraukiamas į nuskaitymą, net jei jie yra jūsų nurodyto nuskaitymo diapazono dalis. Perduotame sąraše naudojama standartinė Nmap sintaksė, todėl jame gali būti tinklų pavadinimų, CIDR adresų, oktetų diapazonų ir kt. Ši parinktis gali būti naudinga, jei tinkle, kurį norite nuskaityti, yra serverių arba sistemų, kurios neigiamai reaguoja į prievadų nuskaitymą, arba kitų žmonių administruojamų potinklių.

    – išskirti failą<имя_файла>(Išskirti sąrašą iš failo)

    Ši parinktis atlieka tą patį veiksmą kaip -exclude, išskyrus tai, kad išskirtini objektai yra atskirti tarpais, skirtukais arba naujomis eilutėmis<файле>, ne komandinėje eilutėje.

    © 2024 ermake.ru - Apie kompiuterių taisymą - Informacinis portalas