Nse skriptet. Udhëzuesi i ndihmës Nmap (Man Page)

Shtëpi / Nuk ndizet

Më poshtë do të gjeni 20 bazë shembuj të përdorimit të komandës Nmap.

Do të mësoni se si të përdorni Nmap nga linja e komandës në Linux për të kërkuar host aktiv në rrjet dhe për të skanuar portat e hapura.

Do të shihni se si zbuloni në distancë sistemin operativ duke përdorur gjurmët e gishtave të stivës TCP/IP dhe si zbuloni versionin software funksionon në një server të largët.

Unë gjithashtu do t'ju tregoj se si ta bëni këtë duke përdorur Nmap skanim i fshehtë, Si definoni murin e zjarrit dhe si ndryshoni adresën MAC.

1. Skanoni një host të vetëm ose adresë IP

Skanoni Adresa IP e veçantë:

$nmap 192.168.1.1

Skano serverin nga Emri i hostit:

$ nmap server.site

Rritja Niveli i detajeve rezultatet e skanimit:

$ nmap -v server..site

2. Skanimi i adresave të shumta IP

Skanoni Adresa të shumta IP:

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

Skanoni Nënrrjet:

$ nmap 192.168.1.0/24 $ nmap 192.168.1.*

Skanoni Gama e adresave IP (192.168.1.0 — 192.168.1.200):

$nmap 192.168.1.0-200

3. Kërkoni për kompjuterë aktivë në rrjet

Këshillë e mirë: Skanoni rrjetin tuaj me vetëm një komandë ping! Gjeni të gjithë kompjuterët aktivë!

Skanoni rrjetin për kërkim Pritës aktivë:

$ nmap -sn 192.168.1.0/24

4. Skanoni listën e hosteve nga skedari

Skanimi i një liste të hosteve/rrjeteve nga Skedari:

$ nmap -iL input.txt

Formati i skedarit:

# Regjistrimet mund të jenë në cilindo nga formatet me të cilat funksionon Nmap # nga linja e komandës (adresat IP, emrat e hosteve, CIDR, IPv6 ose oktet # vargje). Regjistrimet duhet të ndahen me një ose më shumë hapësira, skeda # ose rreshta të rinj. $ cat input.txt server.site 192.168.1.0/24 192.168.2.1,2,3 192.168.3.0-200

5. Përjashtimi i IP/Hosteve/Rrjeteve nga Skanimi

Përjashtoni qëllimet nga skanimi Nmap:

$ nmap 192.168.1.0/24 --përjashto 192.168.1.1 $ nmap 192.168.1.0/24 --përjashto 192.168.1.1 192.168.1.5 $ nmap 192.168.121,2.2,2.164 --1.

Lista e përjashtimit hostet e marra nga skedari:

$ nmap 192.168.1.0/24 --excludefile exclude.txt

Formati i skedarit me hostet e përjashtuar është i ngjashëm me atë të mësipërm.

6. Skanoni portet specifike

Skanoni Një Port:

$ nmap -p 80 192.168.1.1

Skanoni Porta të shumta:

$ nmap -p 80.443 192.168.1.1

Skanoni Gama e Portit:

$ nmap -p 80-1000 192.168.1.1

Skanoni Të gjitha Portet:

$ nmap -p "*" 192.168.1.1

Skanoni disa nga më Portet e zakonshme:

$ nmap --top-portet 5 192.168.1.1 $ nmap --top-portet 10 192.168.1.1

7. Përcaktimi i Protokolleve të Mbështetura IP

Përcaktoni se cilat Protokollet IP(TCP, UDP, ICMP, etj.) mbështet hostin e skanuar:

$ nmap -sO 192.168.1.1

8. Skanimi i portit TCP/UDP

Skanoni të gjitha portet TCP:

$ nmap -sT 192.168.1.1

Skanoni Portet specifike TCP:

$ nmap -p T:80 192.168.1.1

Skanoni të gjitha portet UDP:

$ nmap -sU 192.168.1.1

Skanoni Portet specifike të UDP:

$ nmap -p U:53 192.168.1.1

Kombinimi i skanimit të portave të ndryshme:

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

9. Skanim i shpejtë

Aktivizoni Modaliteti i shpejtë skanoni:

nmap $ -F 192.168.1.1

* Skanon më pak porte sesa me skanimin e rregullt.

10. Trego shkakun e statusit të portit

Shfaq Arsyeja, me të cilin Nmap beson se porti është në një gjendje të caktuar:

$ nmap -- arsyeja 192.168.1.1

11. Shfaq vetëm portet e hapura

Shfaq Vetëm Portet e Hapura(ose ndoshta e hapur):

$ nmap --hap 192.168.1.1

12. Përkufizimi i OS

Një nga më të famshmit funksionalitetin Nmap është një zbulim i largët i sistemit operativ i bazuar në analizën e grumbullit TCP/IP.

Nmap dërgon një seri paketash TCP dhe UDP te hosti i largët dhe shqyrton përgjigjet.

Pas ekzekutimit të shumë testeve, Nmap i krahason rezultatet me bazën e të dhënave të tij dhe, nëse gjendet një përputhje, shfaq informacione rreth sistemit operativ.

Ndize Përkufizimi i OS:

nmap $ -O 192.168.1.1

13. Përcaktimi i Versionit të Shërbimeve

Ndize Përcaktimi i versionit të shërbimeve:

$ nmap -sV 192.168.1.1

* Përcakton versionet e programeve që ekzekutohen në serverin në distancë.

14. Zbulimi i murit të zjarrit

Zbuloni nëse kompjuteri juaj mbrohet nga ndonjë Filtrat e grupit ose Firewall:

$ nmap -sA 192.168.1.1

15. Zëvendësimi i adresës MAC

Zëvendësues Adresat MAC:

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

Ndryshoni adresën MAC MAC i rastësishëm:

$ nmap --spoof-mac 0 192.168.1.1

16. Skanoni Firewall-in për dobësi

Këto tre lloje skanimesh përdorin një boshllëk delikate në TCP RFC për të kategorizuar portet si të hapura dhe të mbyllura.

Kur skanoni një sistem të përputhshëm me RFC, çdo paketë që nuk ka të vendosur bit SYN, RST ose ACK do të rezultojë në një përgjigje RST nëse porti është i mbyllur ose pa përgjigje nëse porta është e hapur.

Sepse asnjë nga këto bit nuk është vendosur, atëherë çdo kombinim i tre pjesëve të mbetura (FIN, PSH dhe URG) do të jetë i saktë.

TCP Null skanimi:

$ nmap -sN 192.168.1.1

* Asnjë bit nuk është vendosur (Flamujt në kokën TCP 0).

TCP Fin skanimi:

nmap $ -sF 192.168.1.1

* Është vendosur vetëm biti TCP FIN.

TCP Krishtlindjet skanimi:

$ nmap -sX 192.168.1.1

* Flamujt FIN, PSH dhe URG janë vendosur (pakoja ndizet si një pemë e Krishtlindjes).

17. Skanim i fshehtë

Këshillë e mirë: Qëndroni anonim gjatë skanimit të porteve! Përdorni Nmap + Tor + ProxyChains! Testimi i sigurt dhe i lehtë i depërtimit!

TCP SYN skanimi:

$ nmap -sS 192.168.0.1

* I njohur si skanim gjysmë i hapur sepse nuk hap lidhje të plota TCP.

18. Çaktivizimi i zbulimit të hostit (pa ping)

Mos bëni ping për hostet përpara se të skanoni:

nmap $ -Pn 192.168.1.1

19. Çaktivizimi i përdorimit të DNS

Këshillë e mirë: Keni nevojë për të forcuar sigurinë tuaj Linux? Kripto trafikun DNS për t'u mbrojtur nga mashtrimi!

Asnjëherë mos e ndryshoni rezolucionin e emrit DNS për çdo adresë IP aktive të zbuluar.

Nmap është një skaner shumë i popullarizuar i rrjetit me burim të hapur kodi burimor, i cili mund të përdoret si në Windows ashtu edhe në Linux. Nmap ose Network Mapper u zhvillua nga Gordon Luon dhe për momentin përdoret nga profesionistë të sigurisë dhe administratorë të sistemit në mbarë botën.

Ky program ndihmon administratorët e sistemit të kuptojnë shumë shpejt se cilët kompjuterë janë të lidhur me rrjetin, të zbulojnë emrat e tyre dhe gjithashtu të shohin se çfarë softuerësh është instaluar në to, çfarë sistemi operativ dhe çfarë lloje filtrash përdoren. Funksionaliteti i programit mund të zgjerohet me gjuhën e tij të skriptimit, e cila lejon administratorët të automatizojnë shumë veprime.

Për shembull, skriptet mund të zbulojnë automatikisht dobësi të reja sigurie në rrjetin tuaj. Namp mund të përdoret me qëllime të mira dhe të këqija, kini kujdes që të mos përdorni nmap kundër ligjit. Në këtë tutorial do të shikojmë se si të përdorim namp për të skanuar portat në sistemi operativ Linux. Por së pari duhet të përpiqeni të kuptoni se si funksionon ky mjet.

Në rrjetet kompjuterike, të gjitha pajisjet e lidhura kanë adresën e tyre IP. Çdo kompjuter mbështet protokollin ping, i cili mund të përdoret për të përcaktuar nëse është i lidhur me rrjetin. Thjesht dërgojmë një kërkesë ping në kompjuter dhe nëse ai përgjigjet, supozojmë se është i lidhur. Nmap ka një qasje paksa të ndryshme. Kompjuterët gjithashtu reagojnë në një mënyrë të caktuar ndaj disave paketat e rrjetit, shërbimi thjesht dërgon paketat e nevojshme dhe shikon se cilët host dërguan përgjigjen.

Por ju ndoshta tashmë e dini për këtë. Ajo që është më interesante është se si Nmap zbulon se cilat shërbime po funksionojnë në një makinë. Thelbi i punës së secilit programet e rrjetit bazuar në porte. Për të marrë një mesazh nga rrjeti, programi duhet të hapë një port në kompjuterin tuaj dhe të presë për lidhjet hyrëse. Dhe për të dërguar një mesazh përmes rrjetit, duhet të lidheni me një port tjetër programi (destinacioni). Më pas programi do të duhet të hapë portën në të cilën do të presë një përgjigje.

Programi nmap, ndërsa skanon rrjetin, kalon nëpër gamën e disponueshme të porteve dhe përpiqet të lidhet me secilën prej tyre. Nëse lidhja është e suksesshme, në shumicën e rasteve, duke transmetuar disa paketa, programi mund të zbulojë edhe versionin e softuerit që po dëgjon për lidhje me këtë port. Tani që kemi mbuluar bazat, le të shohim se si të përdorim nmap për të skanuar portet dhe rrjetet.

Sintaksa Nmap

Komanda e nisjes Nmap është shumë e thjeshtë, thjesht kaloni adresën IP të synuar ose rrjetin në parametrat, dhe gjithashtu specifikoni opsionet nëse është e nevojshme:

Adresa e opsioneve $ nmap

Tani le të shohim opsionet kryesore që do të na duhen në këtë artikull.

  • -sL- thjesht krijoni një listë të hosteve që funksionojnë, por mos skanoni portat nmap;
  • -sP- kontrolloni vetëm nëse hosti është i aksesueshëm duke përdorur ping;
  • -PN- konsideroni të gjithë hostet të aksesueshëm, edhe nëse nuk i përgjigjen ping-ut;
  • -sS/sT/sA/sW/sM- Skanimi TCP;
  • -sU- nmap skanimi i UDP;
  • -sN/sF/sX- Skanimi TCP NULL dhe FIN;
  • -sC- ekzekutoni skriptin si parazgjedhje;
  • -sI- skanim dembel Indle;
  • -fq- specifikoni gamën e porteve për të kontrolluar;
  • -sV- ekzaminimi i detajuar i porteve për të përcaktuar versionet e shërbimit;
  • -O- të përcaktojë sistemin operativ;
  • -T- shpejtësia e skanimit, sa më e lartë aq më shpejt;
  • -D- skanimi i maskave duke përdorur IP fiktive;
  • -S- ndryshoni adresën tuaj IP në atë të specifikuar;
  • -e- përdorni një ndërfaqe specifike;
  • --spoof-mac- vendosni adresën tuaj MAC;
  • -A- përcaktimi i sistemit operativ duke përdorur skriptet.

Tani që kemi mbuluar të gjitha opsionet bazë, le të flasim se si funksionon skanimi i portit nmap.

Si të përdorni Nmap për të skanuar portet në Linux

Më pas, le të shohim shembujt nmap. Së pari, le të shohim se si të gjejmë të gjitha pajisjet e lidhura me rrjetin për ta bërë këtë, thjesht përdorni opsionin -sL dhe specifikoni maskën e rrjetit tonë. në rastin tim është 192.168.1.1/24. Mund ta gjeni maskën e rrjetit tuaj lokal duke ekzekutuar komandën:

Nga dalja për ndërfaqen që po përdorni, merrni numrin pas vijës së pjerrët dhe para se të pjerrët tregoni ip-në e ruterit tuaj. Komanda për të skanuar rrjetin nmap do të duket si kjo:

nmap -sL 192.168.1.1/24

Ndonjëherë ky skanim mund të mos japë rezultate sepse disa sisteme operative kanë mbrojtje kundër skanimit të portit. Por kjo mund të anashkalohet thjesht duke përdorur ping për të skanuar të gjitha adresat IP në rrjet për këtë ekziston opsioni -sn:

nmap -sn 192.168.1.1/24

Siç mund ta shihni, programi tani është zbuluar pajisje aktive online. Më pas, ne mund të skanojmë portat nmap për hostin e dëshiruar duke ekzekutuar programin pa opsione:

sudo nmap 192.168.1.1

Tani mund të shohim se kemi disa porte të hapura, të cilat të gjitha përdoren nga disa shërbime në makinën e synuar. Secili prej tyre mund të jetë potencialisht i prekshëm, kështu që nuk është e sigurt të keni shumë porte të hapura në një makinë. Por kjo nuk është e gjitha që mund të bëni, më pas do të mësoni se si të përdorni nmap.

Për të mësuar më shumë informacion të detajuar në lidhje me makinën dhe shërbimet që funksionojnë në të, mund të përdorni opsionin -sV. Shërbimi do të lidhet me çdo port dhe do të përcaktojë të gjitha informacionet e disponueshme:

sudo nmap -sV 192.168.1.1

Makina jonë po funksionon ftp, kështu që ne mund të përpiqemi t'i hedhim një vështrim më të afërt këtij shërbimi duke përdorur skriptet standarde nmap. Skriptet ju lejojnë të kontrolloni portin në më shumë detaje dhe të gjeni dobësitë e mundshme. Për ta bërë këtë, përdorni opsionin -sC dhe -p për të vendosur portin:

sudo nmap -sC 192.168.56.102 -p 21

Ne ekzekutuam skriptin e paracaktuar, por ka edhe skripta të tjerë, për shembull, mund t'i gjeni të gjitha skriptet për ftp me komandën:

sudo gjeni /usr/share/nmap/scripts/ -emri "*.nse" | grep ftp

Pastaj ne do të përpiqemi të përdorim njërën prej tyre, për ta bërë këtë, thjesht specifikoni atë duke përdorur opsionin --script. Por së pari mund të shikoni informacionin në lidhje me skenarin:

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

Ky skript do të përpiqet të përcaktojë hyrjen dhe fjalëkalimin e FTP në hostin në distancë. Pastaj ekzekutoni skriptin:

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

Si rezultat, skripti mori hyrjen dhe fjalëkalimin, admin/admin. Kjo është arsyeja pse nuk keni nevojë të përdorni opsionet e paracaktuara të hyrjes.

Ju gjithashtu mund ta ekzekutoni programin me opsionin -A, ai aktivizon një mënyrë funksionimi më agresiv të programit, me të cilin do të merrni shumicën e informacionit me një komandë:

sudo nmap -A 192.168.1.1

Ju lutemi vini re se pothuajse të gjitha informacionet që kemi parë më parë janë këtu. Mund të përdoret për të rritur mbrojtjen e kësaj makine.

konkluzione

Në këtë artikull ne shikuam se si kryhet skanimi i portit nmap, si dhe disa shembuj të thjeshtë duke përdorur këtë mjet. Këto komanda nmap mund të jenë të dobishme për shumë administratorë të sistemit për të përmirësuar sigurinë e sistemeve të tyre. Por këto nuk janë të gjitha aftësitë e mjetit. Vazhdoni të eksperimentoni me programin për të mësuar më shumë, jo në rrjetet e njerëzve të tjerë!

Rreth autorit

Themelues dhe administrator i faqes, i apasionuar pas softuerit me kod të hapur dhe sistemeve operative Sistemi Linux. Aktualisht përdor Ubuntu si OS-in tim kryesor. Përveç Linux-it, jam i interesuar për gjithçka që lidhet me teknologjia e informacionit dhe shkenca moderne.

Ekzistojnë katër lloje të skripteve NSE, përkatësisht:

  • Skriptet prerule– janë skriptet që ekzekutohen përpara ndonjë prej operacioneve të skanimit të Nmap, ato ekzekutohen kur Nmap nuk ka mbledhur ende ndonjë informacion për një objektiv.
  • Skriptet pritëse– janë skriptet që ekzekutohen pasi Nmap ka kryer operacione normale si zbulimi i hostit, skanimi i portit, zbulimi i versionit dhe zbulimi i OS kundër një hosti të synuar.
  • Skriptet e shërbimit– janë skriptet që drejtohen kundër shërbimeve specifike që dëgjojnë në një host të synuar.
  • Skriptet postrule– janë skriptet që ekzekutohen pasi Nmap ka skanuar të gjithë hostet e tij të synuar.

Pastaj këto skripta grupohen në kategori të ndryshme duke përfshirë ato për vërtetim ( auth), duke zbuluar hostet ( transmetim), forcë brutale sulmon për të gjetur kredencialet e vërtetimit ( brutale), duke zbuluar më shumë rreth një rrjeti ( zbulim), duke shkaktuar një refuzim të shërbimit ( dos), duke shfrytëzuar disa dobësi ( shfrytëzojnë), etj. Një numër skriptesh i përkasin kategorisë së paracaktuar.

Shënim: Përpara se të lëvizim më tej, duhet të mbani shënim këto pika kryesore:

  • Mos ekzekutoni skripta nga palë të treta pa i shqyrtuar në mënyrë kritike ose vetëm nëse u besoni autorëve. Kjo është për shkak se këto skripte nuk ekzekutohen në një sandbox dhe kështu mund të dëmtojnë papritur ose me qëllim të keq sistemin tuaj ose të pushtojnë privatësinë tuaj.
  • Së dyti, shumë prej këtyre skripteve mund të funksionojnë si a prerule ose postrregull skenar. Duke marrë parasysh këtë, rekomandohet përdorimi i një rregulli për qëllime konsistence.
  • Nmap përdor skriptet/skriptet.db bazën e të dhënave për të kuptuar skriptet dhe kategoritë e paracaktuara të disponueshme.

Për të parë vendndodhjen e të gjithë skripteve të disponueshme NSE, ekzekutoni në terminal, si kjo:

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

Skriptet NSE ngarkohen duke përdorur flamurin --script, i cili gjithashtu ju lejon të ekzekutoni skriptet tuaja duke ofruar kategori, emra skedarësh të skriptit ose emrat e drejtorive ku ndodhen skriptet tuaja.

Sintaksa për aktivizimin e skripteve është si më poshtë:

$namp -sC target #load skriptet e parazgjedhur OSE $ nmap --skripti emri i skedarit|kategoria|direktoria|shprehja,... target

Ju mund të shikoni një përshkrim të një skripti me opsionin --script-help. Për më tepër, ju mund t'i kaloni argumentet disa skripteve nëpërmjet opsioneve --script-args dhe --script-args-file, ky i fundit përdoret për të dhënë një emër skedari në vend të një linje komande arg.

Për të kryer një skanim me shumicën e skripteve të paracaktuar, përdorni flamurin -sC ose përdorni --script=default siç tregohet.

$ nmap -sC scanme.nmap.org OSE $ nmap --script=default scanme.nmap.org OSE $ nmap --skripti i parazgjedhur scanme.nmap.org

Prodhimi i mostrës
Nisja e Nmap 7.01 (https://nmap.org) në 2017-11-15 10:36 IST raporti i skanimit të Nmap-it për scanme.nmap.org (45.33.32.156) Hosti është i hapur (vonesa 0,0027 s). Nuk shfaqet: 999 porte të filtruara SHËRBIMI SHTETËROR PORTI 80/tcp i hapur http |_http-title: Vazhdo dhe ScanMe! Nmap e përfunduar: 1 adresë IP (1 host lart) skanuar në 11,74 sekonda

Për të përdorur një skript për qëllimin e duhur, para së gjithash mund të merrni një përshkrim të shkurtër të asaj që bën në të vërtetë, për shembull. http-headers.

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

Prodhimi i mostrës
Nisja e Nmap 7.01 (https://nmap.org) në 2017-11-15 10:37 IST http-headers Kategoritë: zbulim i sigurt https://nmap.org/nsedoc/scripts/http-headers.html Kryen një kërkesë HEAD për dosjen rrënjë ("/") të një serveri në internet dhe shfaq titujt HTTP të kthyera.

Po ngarkohen skriptet NSE për të kryer skanime Nmap

Ju mund të zgjidhni ose ngarkoni skriptet për të kryer një skanim në metoda të ndryshme të shpjeguara më poshtë.

Duke përdorur emrin e skriptit

Pasi të dini se çfarë bën një skript, mund të kryeni një skanim duke e përdorur atë. Mund të përdorni një skript ose të futni një listë të emrave të skripteve të ndarë me presje. Komanda e mëposhtme do t'ju mundësojë të shikoni titujt HTTP të konfiguruar në serverin e uebit në hostin e synuar.

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

Skanoni titujt HTTP

Nisja e Nmap 7.01 (https://nmap.org) në 15-11-2017 10:39 IST raporti i skanimit të Nmap-it për scanme.nmap.org (45.33.32.156) Hosti është i hapur (vonesa 0,27 sekonda). Nuk shfaqet: 996 porte të mbyllura SHËRBIMI SHTETËROR PORTI 22/tcp i hapur ssh 80/tcp i hapur http | http-headers: | Data: E Mërkurë, 15 Nëntor 2017 05:10:04 GMT | Serveri: Apache/2.4.7 (Ubuntu) | Prano-Ranges: bytes | Vari: Prano-Enkodimi | Lidhja: mbyll | Lloji i përmbajtjes: tekst/html | |_ (Lloji i kërkesës: HEAD) 179/tcp e filtruar bgp 31337/tcp e hapur Elite Nmap e përfunduar: 1 adresë IP (1 host lart) skanuar në 20,96 sekonda

Përdorimi i kategorive

Ju gjithashtu mund të ngarkoni skriptet nga një kategori ose nga një listë kategorish e ndarë me presje. Në këtë shembull, ne po përdorim të gjitha skriptet në kategorinë e paracaktuar dhe të transmetimit për të kryer një skanim në host 192.168.56.1 .

$ nmap --skripti i paracaktuar,transmetohet 192.168.56.1

Duke përdorur * Wildcard

Kjo është e dobishme kur dëshironi të zgjidhni skriptet me një model të caktuar emri. Për shembull për të ngarkuar të gjitha skriptet me emra duke filluar me ssh, ekzekutoni komandën më poshtë në terminal:

$ nmap --skripti "ssh-*" 192.168.56.1

Përdorimi i Shprehjeve Boolean

Ju gjithashtu mund të zgjidhni skriptet duke përdorur shprehje boolean të cilat mund t'i ndërtoni duke përdorur dhe, ose, dhe jo operatorët. Dhe emrat në një shprehje Boolean mund të jenë një kategori, një emër skedari nga skript.db, ose të gjitha.

Komanda e mëposhtme do të ngarkojë skriptet nga kategoritë e paracaktuara ose të transmetimit.

$ nmap --skripti "i parazgjedhur ose transmetimi" 192.168.56.10

Që është e barabartë me:

$ nmap --skripti i paracaktuar,transmetohet 192.168.56.10

Për të ngarkuar të gjitha skriptet duke i lënë ato në vuln kategori, ekzekutoni këtë komandë në terminal.

$ nmap --skripti "not vuln" 192.168.56.10

Komanda tjetër duket pak e komplikuar, por është e lehtë për t'u kuptuar, zgjedh skriptet në kategoritë e paracaktuara ose të transmetimit, duke lënë jashtë ato me emra që fillojnë me ssh-:

$ nmap --script "(e parazgjedhur ose transmetim) dhe jo ssh-*" 192.168.56.10

E rëndësishmja, është e mundur të kombinohen kategoritë, emrat e skripteve, një drejtori që përmban skriptet tuaja të personalizuara ose një shprehje boolean për të ngarkuar skriptet, si kjo:

$ nmap --transmetim i skriptit,vuln,ssh-auth-methods,/rruga/to/custom/scripts 192.168.56.10

Kalimi i argumenteve në skriptet e NSE

Më poshtë është një shembull që tregon se si t'i kaloni argumentet skripteve me --skript-args opsioni:

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

Për të kaluar një numër porti, përdorni -fq Opsioni 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""

Kjo komandë e mësipërme drejton një auditim të konfigurimit të sigurisë së serverit të bazës së të dhënave MySQL kundrejt pjesëve të CIS MySQL v1.0.2 pikë referimi. Ju gjithashtu mund të krijoni skedarët tuaj të dobishëm të auditimit me porosi për auditime të tjera të MySQL.

Kjo është ajo për momentin. Mund të gjeni më shumë informacion në faqen e njeriut nmap ose të shikoni Përdorimin e NSE.

Për të filluar me shkrimin e skripteve tuaja NSE, shikoni këtë udhëzues: https://nmap.org/book/nse-tutorial.html

konkluzioni

Nmapështë një mjet vërtet i fuqishëm dhe i dobishëm që çdo administratori sistemi apo rrjeti i nevojitet në arsenalin e tij/saj të sigurisë – NSE thjesht i shton më shumë efikasitet.

Në këtë artikull, ne ju njohëm me Motori i skriptit Nmap, dhe shikoi se si të gjeni dhe përdorni skriptet e ndryshme të disponueshme sipas kategorive të ndryshme. Nëse keni ndonjë pyetje, mos hezitoni të na shkruani përmes formularit të komenteve më poshtë.

Për shumë prej nesh, detyrat e punës të të cilëve kanë qenë të lidhura ngushtë me sigurinë e informacionit për të paktën disa kohë, Nmap është bërë prej kohësh një mjet i njohur dhe i dobishëm. Është po aq i domosdoshëm sa një batanije e ngrohtë në një natë të ftohtë dimri. Përveç që Nmap është një batanije e mallkuar efektive.

Nmap është një skaner i njohur dhe i fuqishëm ndër-platformë siguria e rrjetit, ekzekutohet nga linja e komandës, me të cilën mund të eksploroni çdo rrjet në mënyrë jashtëzakonisht efikase. Mund t'ju ndihmojë gjithashtu të merrni një pasqyrë të sistemeve që janë lidhur me rrjetin tuaj; mund ta përdorni për të gjetur adresat IP të të gjithë hosteve "live", skanoni portet e hapura dhe shërbimet që funksionojnë në këto hoste, si dhe shumë, shumë më tepër.

Pa dyshim, Nmap është skaneri më i gjithanshëm i portit i disponueshëm sot. Po, mund të gjeni skanerë më të shpejtë, por nuk ka asnjë që është kaq i dobishëm dhe thjesht i domosdoshëm për zgjidhjen e shumë e shumë problemeve tuaja. Dhe shumica dërrmuese e profesionistëve në këtë fushë siguria e informacionit pajtohen kategorikisht me këtë deklaratë.

Megjithatë, shumë më pak njerëz e dinë se një nga veçoritë më interesante të Nmap është aftësia për të përdorur skriptet NSE, të cilat do t'i japin mjetit tuaj të preferuar të sigurisë së rrjetit edhe më shumë fleksibilitet dhe efikasitet. Me ndihmën e tyre, ju mund të bëni gjëra që nuk do t'i prisnit kurrë nga një skaner porti shumë i avancuar si Nmap.

Le të hedhim një vështrim më të afërt në skriptet e NSE dhe ndoshta potenciali i tyre mund t'ju befasojë këndshëm.

Me fjalë të tjera, përveç kontrollit standard të porteve të hapura me skanerin Nmap, duke përdorur NSE, ju keni mundësinë të merrni edhe informacion të zgjeruar për shërbimet që ekzekutohen në të. Kështu, për shembull, me skriptet NSE mund të kryeni një analizë më të thellë të shërbimeve të rrjetit tuaj dhe të shihni sa mirë janë konfiguruar, çfarë informacioni disponohet, nëse përdoren kredenciale të dobëta, etj. Në fakt, skriptet NSE e kthejnë Nmap në një fleksibël platformë për ndërveprim me shërbimet e rrjetit.

Karakteristikat e skriptimit të motorit të skriptimit Nmap

Ekipi i zhvillimit të skanerit të portit Nmap konceptoi dhe krijoi një motor skriptimi kryesisht për të zgjidhur probleme të tilla si:

1. Hulumtimi i rrjetit

Kjo është zona kryesore e përdorimit praktik për Nmap. Disa skripte janë krijuar për të lehtësuar, optimizuar dhe përshpejtuar punën e skanerit tuaj të preferuar të portit. Disa shembuj të përdorimit të tyre përfshijnë kryerjen e detyrave të tilla si:

  • kërkimi i të dhënave WHOIS (protokolli i rrjetit të shtresës së aplikacionit i bazuar në protokollin TCP; aplikimi kryesor i tij është marrja e të dhënave të regjistrimit në formë teksti për pronarët e emrave të domeneve, adresave IP dhe sisteme autonome) sipas fushave përkatëse;
  • dërgimi i kërkesave te serverët kryesorë rajonalë WHOIS ARIN (Amerika e Veriut), RIPE (Evropë dhe Lindja e Mesme) ose APNIC (Azi dhe Paqësor) për të përcaktuar pronarin e një adrese IP specifike;
  • kërkimi identd në portet e hapura (ju lejon të identifikoni përdoruesit e lidhur me to);
  • bërja e kërkesave nëpërmjet protokollit SNMP (protokolli i internetit për menaxhimin e pajisjeve në rrjetet IP bazuar në arkitekturat TCP/UDP);
  • përpilimi i listave të burimeve dhe shërbimeve të disponueshme nëpërmjet protokollet e rrjetit Për akses në distancë NFS, SMB ose RPC.

2. Një opsion më i sofistikuar i zbulimit të versionit

Sistemi i versionit të shërbimeve dhe aplikacioneve të Nmap mund të njohë mijëra shërbime të ndryshme duke përdorur sonda dhe përputhje të nënshkrimit të shprehjes së rregullt, por nuk është i gjithëfuqishëm. Për shembull, identifikimi i shërbimit Skype v2 kërkon dy sonda që punojnë në mënyrë të pavarur nga njëra-tjetra, aftësitë e të cilave për përcaktimin e versioneve nuk janë shumë fleksibël. Nmap është gjithashtu në gjendje të njohë disa shërbime SNMP nëse përpiqet të detyrojë disa qindra emra të komuniteteve. Të dyja detyrat e mësipërme nuk janë shumë të përshtatshme për të përdorur metoda standarde të versionit Nmap, por të dyja realizohen lehtësisht duke përdorur NSE. Për këtë arsye, sistemi i versionimit tani thërret NSE si parazgjedhje për të zgjidhur problemin e versionimit kur përpunon disa shërbime komplekse.

3. Kërkoni për dobësi

Kur zbulohet një dobësi e re, ajo bëhet e njohur publike dhe profesionistët e sigurisë së rrjetit duhet urgjentisht të skanojnë rrjetet e tyre për të identifikuar shpejt sistemet e cenueshme përpara se të liqit ta bëjnë atë për ta. Megjithëse Nmap nuk është një skaner i plotë i cenueshmërisë, aftësitë e fuqishme të NSE e lejojnë atë të kryejë kontrolle dobësie edhe me kërkesa shumë të rrepta. Për shembull, kur defekti Heartbleed në softuerin kriptografik OpenSSL komprometoi qindra mijëra sisteme në mbarë botën, zhvilluesit e Nmap u përgjigjën duke shkruar një skrip zbulimi ssl-heartbleed brenda dy ditësh.

4. Zbulimi i pasme

Shumë sulmues kibernetikë, si dhe disa krimba të automatizuar, largohen nga dyert e pasme për të siguruar një derë të pasme në të ardhmen për të depërtuar lehtësisht në sistemin tuaj. Disa nga këto dyer të pasme mund të zbulohen duke përdorur procedurë standarde zbuloni versionet e Nmap bazuar në përputhjen e nënshkrimit të shprehjes së rregullt, por shumë krimba dhe dyer të pasme më komplekse kërkojnë aftësi të avancuara NSE për t'u zbuluar në mënyrë të besueshme. Në veçanti, NSE përdoret për të zbuluar derën e pasme të DoublePulsar, e cila shfrytëzon një cenueshmëri në zbatim Protokolli SMB, versionet e pasme për serverin IRC UnrealIRCd, si dhe serverët FTP vsftpd dhe ProFTPd.

5. Zbulimi i dobësive

Zbatuar në bazë të një gjuhe skriptimi qëllimi i përgjithshëm, NSE madje mund të përdoret për të krijuar shfrytëzime që mund t'ju ndihmojnë të zbuloni dobësitë përpara se ekzistenca e tyre të jetë e njohur për publikun. Kjo aftësi për të shtuar shfrytëzime të personalizuara të skriptuara mund të jetë jashtëzakonisht e dobishme për disa njerëz (kryesisht testuesit e depërtimit). Megjithatë, NSE nuk është ende një platformë e plotë për krijimin e nënshkrimeve dhe shfrytëzimeve, si Metasploit.

Cilat janë kategoritë e skripteve NSE?

Aktualisht ka 598 skripta NSE, të cilët mund t'i gjeni në dosjen "scripts", një nëndrejtori e drejtorisë kryesore Nmap. Për performancë më të mirë, të gjithë skriptet indeksohen në bazën e të dhënave "scripts/script.db", e cila tregon se cilës kategori apo kategori i përket secili skript.

Në varësi të aplikacionit të synuar, si dhe për të thjeshtuar përdorimin e tyre, skriptet NSE grupohen në kategori të ndryshme. Aktualisht, janë përcaktuar kategoritë e mëposhtme të skripteve NSE: auth, transmetim, brute, parazgjedhje. zbulim, dos, exploit, i jashtëm, fuzzer, ndërhyrës, malware, i sigurt, version dhe vuln (emrat e kategorive nuk janë të ndjeshme ndaj shkronjave të vogla). Më poshtë është një paraqitje më e detajuar e secilës kategori:

  • auth- Kjo kategori skriptesh merret me (ose anashkalon) kredencialet e vërtetimit në sistemin e synuar. Shembuj të skripteve të tilla janë "x11-access", "ftp-anon" dhe "oracle-enum-users". Ju lutemi vini re se skriptet që përdorin një sulm brute force për të tentuar të përcaktojnë kredencialet kategorizohen si brute.
  • transmetim— Skriptet nga kjo kategori zakonisht përdoren për të zbuluar hostet që nuk janë të listuar në rreshti i komandës, përmes ndërveprimit me kanal të gjerë me rrjet lokal. Kur përdorin argumentin e skriptit "newtargets", ata automatikisht do të shtojnë hostet që zbulojnë në radhën e skanimit.
  • brutale- Kjo kategori skriptesh përdoret për të kryer sulme me forcë brutale për të marrë kredencialet e vërtetimit të një serveri të largët. Nmap ofron skriptet e sulmit me forcë brutale për dhjetëra protokolle. Këto përfshijnë skriptet e mëposhtme: "http-brute", "oracle-brute", "snmp-brute", etj.
  • default— kjo kategori skriptesh përcakton ato skripte që zgjidhen nga zhvilluesit e Nmap si të dobishëm për zgjerimin e funksionalitetit të skanerit ose optimizimin e funksionimit të tij dhe i caktohen grupit bazë "të parazgjedhur". Ato drejtohen duke përdorur opsionet "-sC" ose "-A", në vend që të specifikojnë një listë specifike të skripteve nëpërmjet opsionit "--script". Është e mundur që në mënyrë eksplicite të specifikohet kjo kategori skriptesh, si të tjerat, duke përdorur "--script=default". Ekipi Nmap përpiqet të mbështetet në kërkesat e mëposhtme kur përcakton nëse një skrip i caktuar duhet të kategorizohet si i paracaktuar:
    • shpejtësia— skanimi duhet të përfundojë shpejt si parazgjedhje, gjë që përjashton përfshirjen në këtë kategori të hakerëve të vërtetimit të forcës brutale, merimangave të ueb-it dhe çdo skripti tjetër, koha e skanimit të të cilëve për një shërbim llogaritet në minuta apo edhe orë.
    • dobia— Skanimi i kategorisë së paracaktuar kërkon marrjen e informacionit të vlefshëm dhe përkatës. Me fjalë të tjera, rezultati i skanimit të një skripti të tillë duhet të jetë i kuptueshëm dhe i dobishëm për profesionistin mesatar të sigurisë së rrjetit. NË ndryshe nuk ka kuptim ta ekzekutosh si parazgjedhje.
    • shkurtësia— Dalja e informacionit të marrë nga skaneri Nmap përdoret për një sërë qëllimesh dhe nevojash, kështu që ky informacion duhet të jetë i lexueshëm dhe konciz. Skriptet që shpesh krijojnë faqe të shumta me dalje të plotë të të gjithë informacionit të marrë gjithashtu nuk bëjnë pjesë në kategorinë e paracaktuar të skriptit. Me fjalë të tjera, skriptet NSE që kategorizohen si parazgjedhje kur nuk gjejnë asnjë informacione të rëndësishme, raporti nuk tregon asgjë. Kjo vlen për skriptet e paracaktuar që kërkojnë dobësi të fshehura - ato nxjerrin rezultate vetëm kur zbulojnë këto dobësi.
    • besueshmëria— shumë skripta në punën e tyre mund të mbështeten në të dhëna nga analiza heuristike dhe përputhje fuzzy e nënshkrimeve në mënyrë që të nxjerrin përfundime të caktuara rreth hostit ose shërbimit të synuar. Shembuj të skripteve të tilla janë "sniffer-detect" dhe "sql-injection". Skriptet e tilla nuk do të kategorizohen si parazgjedhje, pasi rezultatet e punës së tyre shpesh janë të gabuara dhe mund të mashtrojnë një përdorues që nuk i kupton qartë të gjitha specifikat e punës së tyre.
    • mosbindje— disa skripta mund të jenë tepër ndërhyrës kur përdorin burime të rëndësishme të sistemit në distancë, gjë që mund të çojë në dështimin e këtij sistemi ose shërbimi, ose veprimet e tyre mund të konsiderohen nga administratorët në distancë si një sulm. Skriptet e tilla gjithashtu nuk përfshihen në kategorinë e paracaktuar. Sidoqoftë, disa skripta "mesatarisht agresivë" u klasifikuan ende nga ekipi Nmap si parazgjedhje, bazuar në dobinë e tyre dhe sa saktë mund të sillen, duke marrë parasysh faktorë të tjerë.
    • konfidencialiteti- shumë skripta mund të zbulojnë informacion konfidencial palëve të treta, bazuar në vetë specifikat e punës së tyre. Për shembull, skriptet për të kërkuar të dhënat e WHOIS duhet të raportojnë adresën IP të synuar te regjistruesit rajonalë. Me fjalë të tjera, në kategorinë e skripteve të paracaktuar NSE, ekipi Nmap përpiqet të mos shtojë skripta që mund të shkelin konfidencialitetin.
  • zbulim- Kjo kategori skriptesh përpiqet në mënyrë aktive të mësojë më shumë rreth rrjetit duke dërguar kërkesa publike te regjistruesi, pajisjet e aktivizuara me SNMP, shërbimet e drejtorisë, etj. Shembuj të skripteve të tilla janë "html-title" (merr titullin e shtegut rrënjë të faqeve të internetit), "smb-enum-share" (lista të zakonshme Burimet e Windows) dhe "snmp-sysdescr" (merr informacion të detajuar të sistemit nëpërmjet protokollit standard të Internetit për menaxhimin e pajisjeve SNMP).
  • dos— Skriptet në këtë kategori duhet të përdoren me kujdes ekstrem, pasi ato mund të çojnë në refuzim të shërbimit. Ato përdoren ndonjëherë nga testuesit e sigurisë për të testuar cenueshmërinë e një sistemi ndaj sulmeve të mohimit të shërbimit, por një testim i tillë mund të ketë efekte anësore të padëshiruara, të tilla si shkaktimi i dështimit të disa shërbimeve të cenueshme.
  • shfrytëzojnë— këto skripta synojnë të shfrytëzojnë në mënyrë aktive një cenueshmëri specifike. Shembuj të kësaj kategorie skriptesh janë "jdwp-exec" dhe "http-shellshock".
  • e jashtme— Skriptet në këtë kategori mund t'u dërgojnë të dhëna palëve të treta që kontrollojnë bazat e të dhënave ose burime të tjera të rrjetit. Një shembull i një skripti të tillë është "whois-ip", i cili lidhet me serverët WHOIS për të marrë informacion në lidhje me adresën IP të objektivit. Është gjithmonë e mundur që operatorët e bazës së të dhënave të palëve të treta të regjistrojnë gjithçka që ju i dërgoni, e cila në shumë raste do të përfshijë informacion në lidhje me adresën tuaj IP dhe adresën IP të objektivit tuaj. Shumica e skripteve që merren vetëm me trafikun ndërmjet kompjuterit skanues dhe klientit nuk bëjnë pjesë në këtë kategori.
  • fuzzerështë një kategori skriptesh që është krijuar për të dërguar fusha të papritura ose të rastësishme në softuerin e serverit në çdo paketë. Ndërsa kjo metodë mund të jetë e dobishme për gjetjen e gabimeve dhe dobësive të panjohura në softuer, është një proces i ngadaltë që përdor gjithashtu gjerësinë e brezit të rrjetit. Një shembull i një skripti në këtë kategori është "dns-fuzz", i cili bombardon një server DNS me pyetje domenesh të modifikuara pjesërisht derisa serveri të prishet ose të skadojë një afat kohor i caktuar nga përdoruesi.
  • ndërhyrës— kjo kategori skriptesh përfshin ato që nuk mund të klasifikohen si të sigurta, pasi rreziqet janë shumë të larta që sistemi i synuar të shembet nën presionin e tyre, të kërkojë burime të rëndësishme në hostin e synuar (për shembull, gjerësia e brezit ose koha e CPU-së) ose ndryshe, ekzekutimi i tyre do të perceptohet nga administratorët e sistemit të synuar si aktivitet keqdashës. Shembuj të skripteve të tilla janë "http-open-proxy" (i cili përpiqet të përdorë serverin e synuar si një përfaqësues HTTP) dhe "snmp-brute" (i cili përpiqet të hamendësojë të ashtuquajturën "string të komunitetit" të pajisjeve SNMP duke i dërguar ato vlerat popullore si publike, private dhe cisco). Nëse skripti nuk i përket kategorisë së versionit special, ai duhet të klasifikohet si i sigurt ose ndërhyrës.
  • malware- këto skripta kontrollojnë nëse platforma e synuar është e infektuar malware ose dyer të pasme. Shembuj të skripteve në këtë kategori skriptesh janë "smtp-strangeport", i cili monitoron serverët SMTP që funksionojnë në numra portash të pazakontë dhe "auth-spoof", i cili zbulon demonët e identifikuar të falsifikuar (duke zbatuar mbështetjen e protokollit të vërtetimit të përdoruesit) që ende ofrojnë një përgjigje të rreme para marrjes së kërkesës. Si në shembullin e parë ashtu edhe në atë të dytë, një sjellje e tillë, nëse zbulohet, është zakonisht një shenjë se sistemi është i infektuar me malware.
  • i sigurt— të gjithë skriptet që nuk janë krijuar për të shkaktuar dështime të shërbimit, përdorin sasi të mëdha të gjerësisë së brezit të rrjetit ose burime të tjera dhe nuk kanë për qëllim shfrytëzimin e vrimave të sigurisë, kategorizohen si të sigurt. Ata kanë shumë më pak gjasa të tërheqin vëmendjen e administratorëve në distancë, megjithëse (si me çdo funksion tjetër Nmap), nuk është 100% e garantuar që ata kurrë nuk do të tërheqin vëmendjen e administratorëve në distancë. Shumica e këtyre skripteve kryejnë detyra që lidhen me eksplorimin e përgjithshëm të rrjetit. Shembuj të skripteve në këtë kategori janë "ssh-hostkey" (merr çelësin SSH të hostit) dhe "html-title" (merr titullin nga një faqe interneti). Skriptet nga kategoria e versioneve nuk kategorizohen si të sigurta, por skriptet e tjera që nuk janë të sigurta duhet të përkufizohen si ndërhyrës.
  • version- Skriptet nga kjo kategori e veçantë janë një zgjerim i funksionalitetit të zbulimit të versionit dhe nuk mund të zgjidhen në mënyrë eksplicite. Ato zgjidhen për të ekzekutuar vetëm kur kërkohet të përcaktohet versioni Nmap (“-sV”). Prodhimi i tyre nuk mund të ndahet nga dalja e funksionit të versionimit dhe ato nuk funksionojnë si skripta pritës ose shërbimi. Shembuj të skripteve të tilla janë "skypev2-version", "pptp-version" dhe "iax2-version".
  • vuln— Skriptet në këtë kategori kontrollojnë praninë e një cenueshmërie specifike të njohur dhe zakonisht prodhojnë vetëm ato rezultate që konfirmojnë se është gjetur një cenueshmëri e tillë. Shembuj të skripteve të tilla janë "realvnc-auth-bypass" dhe "afp-path-vuln".

Skriptet, në varësi të fokusit të tyre funksional, si dhe fazës së skanimit gjatë së cilës ekzekutohen, ndahen në katër lloje (disa skripte mund të mbështesin disa lloje operacionesh menjëherë):

  • Skriptet prerule - Këto lloj skriptesh ekzekutohen përpara se të ndodhë ndonjë operacion Nmap, që do të thotë se ato ekzekutohen përpara fazës së skanimit, kur Nmap nuk ka mbledhur ende asnjë informacion rreth objektivit. Këto skripta mund të jenë të dobishëm për kryerjen e detyrave që janë të pavarura nga objektivat specifike të skanimit, të tilla si bërja e kërkesave për transmetim për të anketuar serverët DHCP dhe DNS SD. Disa prej këtyre skripteve mund të krijojnë objektiva të reja për skanimin e Nmap (vetëm nëse specifikoni argumentin NSE "newtargets"). Kështu, për shembull, skripti "dns-zone-transfer" mund të marrë një listë të adresave IP në një domen duke përdorur një kërkesë për transferimin e zonës dhe më pas t'i shtojë ato automatikisht në listën e objektivave të skanimit Nmap. Skriptet e tipit skriptet Prerule identifikohen duke përdorur funksionin prerule.
  • Skriptet e hostit - Këto skripte ekzekutohen gjatë procesit standard të skanimit Nmap, pasi skaneri Nmap të ketë kryer operacione normale si zbulimi i hostit, skanimi i portit, zbulimi i versionit dhe zbulimi i OS në hostin e synuar. Ky lloj skripti thirret një herë për çdo host të synuar që përputhet me funksionin e tij hostrule. Shembujt përfshijnë skriptet "whois-ip", i cili kërkon informacionin e pronësisë për një adresë IP të synuar dhe "path-mtu", i cili përpiqet të përcaktojë madhësinë maksimale të një pakete IP që mund të arrijë objektivin pa kërkuar fragmentim.
  • Skriptet e shërbimit - Ky lloj skripti funksionon kur zbulohen shërbime të caktuara në hostin e synuar. Për shembull, Nmap përfshin më shumë se 15 skripta shërbimi http që janë nisur për të punuar me serverët në internet. Nëse hosti ka serverë ueb që funksionojnë në porte të shumta, këto skripte mund të ekzekutohen disa herë (një për çdo port). Këto janë lloji më i zakonshëm i skriptit në Nmap dhe ndryshojnë në atë që përmbajnë një funksion portrule për të përcaktuar se me cilin prej shërbimeve të zbuluara duhet të ekzekutohet skripti.
  • Skriptet postrule - Këto lloj skriptesh ekzekutohen një herë, pasi Nmap të ketë skanuar të gjitha objektivat e synuara. Ato mund të jenë të dobishme për formatimin dhe paraqitjen e daljes së informacionit të marrë nga skaneri Nmap. Për shembull, skripti "ssh-hostkey" njihet më mirë si një skrip shërbimi (me një funksion portrule të specifikuar) që lidhet me serverët SSH dhe i zbulon ato. çelësat publikë dhe i printon ato. Por ai përfshin gjithashtu funksionalitetin postrule, i cili kontrollon për çelësa dublikatë midis të gjithë hosteve të kontrolluar dhe më pas printon të gjithë ata që gjenden. Një shembull tjetër i mundshëm i përdorimit të skripteve të këtij llojiështë një printim i kundërt i daljes së skanerit Nmap - për shembull, duke renditur të gjithë hostet në të cilët po funksionon një shërbim i caktuar, në vend të listimit të zakonshëm të të gjithë hosteve me shërbime që funksionojnë në to. Skriptet postrule identifikohen duke përdorur funksionin postrule.

Shënim: Shumë skripta mund të ekzekutohen si një skenar pararregullor ose një skenar pas rregullore. Në këto raste, rekomandohet përdorimi i funksionit prerule për të shmangur mospërputhjet.

Paranojak i përjetshëm, Anton Koçukov.


Shihni gjithashtu:

  • Zbulimi i shërbimeve dhe versionet e tyre
  • Përkufizimi i OS
  • Opsionet e menaxhimit të kohës dhe produktivitetit
  • Opsione të ndryshme
  • Ndërveprimi në kohën e ekzekutimit
  • Shembuj
  • Informacion mbi skriptet Nmap (në anglisht):

    Fshehur nga të ftuarit


    Versioni i fundit i dokumentacionit Nmap (në anglisht):

    Fshehur nga të ftuarit


    Libri zyrtar mbi Nmap nga krijuesit e Nmap (në anglisht):

    Fshehur nga të ftuarit

    Parathënie

    nmap - Shërbimi i eksplorimit të rrjetit dhe skaneri i portit

    Nmap ("Network Mapper") është një mjet për kërkimin dhe testimin e sigurisë të rrjetit me burim të hapur. Ai u krijua për skanimin e shpejtë të rrjeteve të mëdha, megjithëse funksionon mirë edhe me objektiva të vetëm. Nmap përdor paketa IP të papërpunuara në mënyra të zgjuara për të përcaktuar se cilat hoste janë të disponueshëm në rrjet, çfarë shërbimesh (emri dhe versioni i aplikacionit) ofrojnë, çfarë sistemesh operative (dhe versione të OS) përdorin, çfarë lloje të filtrave/firewall-eve të paketave përdorin, dhe dhjetëra karakteristika të tjera. Ndërsa Nmap përdoret zakonisht për testimin e sigurisë, shumë rrjete dhe administratorët e sistemit e gjejnë të dobishme për detyra të zakonshme si monitorimi i strukturës së rrjetit, menaxhimi i orareve të fillimit të shërbimit dhe mbajtja e kohës së funksionimit të hostit ose shërbimit.

    Prodhimi Nmap është një listë e objektivave të skanuara me informacione shtesë për secilin në varësi të opsioneve të specifikuara. Informacioni kryesor është "tabela e porteve të rëndësishme". Kjo tabelë përmban numrin e portit, protokollin, emrin e shërbimit dhe statusin. Statusi mund të jetë i hapur, i filtruar, i mbyllur ose i pafiltruar. E hapur do të thotë që aplikacioni në makinën e synuar është gati të krijojë një lidhje/të marrë paketa në atë port. E filtruar do të thotë që një mur zjarri, filtër rrjeti ose ndonjë ndërhyrje tjetër në rrjet po bllokon portën dhe Nmap nuk mund të përcaktojë nëse porti është i hapur apo i mbyllur. Portet e mbyllura nuk shoqërohen me asnjë aplikacion, kështu që ato mund të hapen në çdo kohë. Portet konsiderohen të pafiltruara kur u përgjigjen kërkesave Nmap, por Nmap nuk mund të përcaktojë nëse ato janë të hapura apo të mbyllura. Nmap çështjet hapen|filtrohet dhe mbyllet|filtrohet kur nuk mund të përcaktojë se cila nga këto dy gjendje përshkruan një port. Kjo tabelë mund të japë gjithashtu detaje rreth versionit të softuerit nëse kërkohet. Kur kryeni një skanim të protokollit IP (-sO), Nmap ofron informacion në lidhje me protokollet IP të mbështetur në vend të porteve të hapura.

    Përveç tabelës së porteve të rëndësishme, Nmap mund të ofrojë informacione të mëtejshme rreth objektivave: emrat e zgjidhur DNS, supozimet rreth sistemit operativ që përdoret, llojet e pajisjeve dhe adresat MAC.

    Një skanim tipik duke përdorur Nmap është paraqitur në Shembullin 1. Argumentet e vetme të përdorura në këtë shembull janë -A, për të përcaktuar versionin e OS, skanimin e skriptit dhe gjurmimin; -T4 për ekzekutim më të shpejtë; pastaj dy hoste të synuar.

    Shembulli 1: Shembull tipik i skanimit me Nmap:

    # nmap -A -T4 shesh lojërash scanme.nmap.org Fillimi i Nmap (https://nmap.org/) Portet interesante në scanme.nmap.org (64.13.134.52): (Portet 1663 të skanuara por që nuk shfaqen më poshtë janë në gjendje : i filtruar) VERSIONI I SHËRBIMIT TË SHTETIT PORTI 22/tcp hapur ssh OpenSSH 3.9p1 (protokolli 1.99) 53/tcp domeni i hapur 70/tcp gopher i mbyllur 80/tcp i hapur httpd Apache httpd 2.0.52 ((Fedora3th) Device 1 i mbyllur lloji: qëllimi i përgjithshëm Ekzekuton: Linux 2.4.X|2.5.X|2.6.X Detajet e OS: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Porta interesante në playground.nmap.org (192.168.0.40 ): (Portet 1659 të skanuara por që nuk shfaqen më poshtë janë në gjendje: të mbyllura) SHËRBIMI I SHTETIT PORTI VERSIONI 135/tcp i hapur msrpc Microsoft Windows RPC 139/tcp hapur netbios-ssn 389/tcp hapur ldap? 445/tcp hapur microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp hapur windows-icfw? 1025/tcp i hapur msrpc Microsoft Windows RPC 1720/tcp i hapur H.323/Q.931 CompTek AquaGateKeeper 5800/tcp i hapur vnc-http RealVNC 4.0 (Rezolucioni 400x250; porta VNC: 5900003ncct) Adresa: 00:A0:CC:63:85:4B (Lite-on Communications) Lloji i pajisjes: qëllim i përgjithshëm Në funksionim: Microsoft Windows NT/2K/XP Detajet e sistemit operativ: Microsoft Windows XP Pro RC1+ deri në daljen përfundimtare Informacioni i shërbimit: OS: Windows , Windows XP Nmap përfundoi: 2 adresa IP (2 hoste lart) të skanuara në 88,392 sekonda

    Përmbledhja e opsioneve

    Përdorimi:
    nmap [Lloji(et) e skanimit] [Opsionet] (objektivat e_specifikuara)

    PËRCAKTIMI I OBJEKTIT TË SKANIMIT:

    Mund të punojë me emrat e hosteve, adresat IP, rrjetet, etj.
    Për shembull: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
    -iL<ввести_имя_файла>: Importoni nga lista e hostit/rrjetit
    -iR<количество хостов>: Zgjidhni objektiva të rastësishëm
    -përjashto : Përjashtoni hostet/rrjetet
    -përjashtoj<файл_с_исключениями>: Përjashtoni listën nga skedari

    Zbulimi i pritësit:

    SL: Skanimi për të krijuar një listë - thjesht bëni një listë objektivash për të skanuar
    -sn: Skanim ping - thjesht përcaktoni nëse hosti po funksionon
    -Pn: Trajto të gjithë hostet si lart - kapërce zbulimin e hostit
    -PS/PA/PU/PY[list_port]: TCP SYN/ACK, UDP ose SCTP ping për hostet e specifikuar
    -PE/PP/PM: Pining duke përdorur kërkesat ICMP echo, vulën kohore dhe kërkesat e maskës rrjeti
    -PO[protocol_list]: Pining duke përdorur protokollin IP
    -n/-R: Mos e zgjidh kurrë DNS/Gjithmonë zgjidh [e parazgjedhur: ndonjëherë]
    –dns-serverët<сервер1[,сервер2],…>: Vendosni serverët tuaj DNS
    –system-dns: Përdor zgjidhësin e sistemit DNS
    –traceroute: Gjurmoni (gjurmoni shtegun) për çdo host

    TEKNIKA TË NDRYSHME Skanimi:

    SS/sT/sA/sW/sM: TCP SYN/duke përdorur thirrjen e sistemit Connect()/ACK/Window/Maimon scan
    -sU: Skanim UDP
    -sN/sF/sX: TCP Null, FIN dhe skanimet e Krishtlindjeve
    – skaner flamuj<флаги>: Vendosni flamujt tuaj TCP
    -sI<зомби_хост[:порт]>: Skanimi në punë
    -sY/sZ: SCTP INIT/COOKIE-ECHO skanim
    -sO: Skanimi i protokollit IP
    -b : Skanimi i fryrjes FTP

    PËRKUFIZIMI I PORTEVE DHE RENDIT TË SKANIMIT:

    P<диапазон_портов>: Skanoni vetëm porte specifike
    Shembull: -p22; -p1-65535; -p U: 53,111,137,T:21-25,80,139,8080,S:9
    -F: Skanim i shpejtë – Skanoni një numër të kufizuar portash
    -r: Skanoni portet në mënyrë sekuenciale - mos i randomizoni portet
    – portat e sipërme<количество_портов>: Skano<количество_портов>portet më të zakonshme
    – raport-port<рейтинг>: Skanoni portet me një vlerësim më të madh se<рейтинг>

    PËRKUFIZIMI I SHËRBIMEVE DHE VERSIONET E TYRE:

    SV: Eksploroni portet e hapura për të përcaktuar informacionin e shërbimit/versionit
    –version-intensiteti<уровень>: Cakto nga 0 (e lehtë) në 9 (provo të gjitha kërkesat)
    –version-light: Kufizoni në pyetjet më të lehta (intensiteti 2)
    –version-all: Përdorni çdo kërkesë të vetme (intensiteti 9)
    –version-trace: Printoni informacion të detajuar rreth procesit të skanimit (për korrigjimin e gabimeve)

    SKANI duke përdorur skriptet:

    SC: ekuivalente me opsionin –script=default
    –skript= : kjo është një listë e drejtorive, skedarëve të skripteve ose kategorive të ndara me presje
    –script-args=<имя1=значение1,[имя2=значение2,…]>: Kalimi i argumenteve te skriptet
    –script-args-file=filename: Kaloni argumentet e skedarit te skriptet NSE
    –Script-trace: Printoni të gjitha të dhënat e marra dhe të dërguara
    –script-updatedb: Përditëso bazën e të dhënave të skriptit
    –script-ndihmë= : Trego ndihmë për skriptet. Një listë e skripteve e ndarë me presje ose një listë e kategorive të skripteve.

    PËRKUFIZIMI I OS:

    O: Aktivizoni funksionin e zbulimit të OS
    –osscan-limit: Përdorni funksionin e zbulimit të OS vetëm për hostet "premtues".
    –osscan-guess: Gjeni rezultatet e zbulimit të sistemit operativ

    OPSIONET E MENAXHIMIT TË KOHËS DHE PRODUKTIVITETIT:

    Opsione që marrin një argument<время>, jepen në milisekonda derisa të shtoni "s" (sekonda), "m" (minuta) ose "h" (orë) vlerës (p.sh. 30 m).
    -T<0-5>: Vendos shabllonin e cilësimeve të menaxhimit të kohës (më shumë është më shpejt)
    –min-hostgroup/max-hostgroup<кол_хостов>: Caktoni madhësinë e grupit për skanim paralel
    –min-paralelizëm/max-paralelism<кол_хостов>: Rregullon paralelizimin e kërkesave
    –min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout<время>: Rregullon kohën që duhet për të pritur një përgjigje ndaj një kërkese.
    –max-riprovon<количество_попыток>: Vendos numrin maksimal të ritransmetimeve të kërkesave
    –koha e pritjes<время>: Ndalon skanimin e objektivave të ngadaltë
    –vonesa e skanimit/–vonesa e skanimit maksimal<время>: Rregullon vonesën ndërmjet kërkesave
    - norma min<число>: Dërgoni kërkesat me një intensitet jo më të vogël se<число>për sekondë
    -norma maksimale<число>: Dërgoni kërkesa me një intensitet jo më shumë se<число>për sekondë

    ANËSHAKONI FIREWALL/ID-të:

    F; – mtu<значение>: Paketat e fragmenteve (opsionale me vlerë të specifikuar MTU)
    -D<фикт_хост1,фикт_хост2[,ME],…>: Maskimi i skanimeve duke përdorur pritës të rremë
    -S : Ndrysho adresën e burimit
    -e<интерфейс>: Përdorni ndërfaqe specifike
    -g/–burim-port<номер_порта>: Përdorni numrin e portit të specifikuar
    - proxy : Lidhjet transmetuese nëpërmjet përfaqësuesit HTTP/SOCKS4
    -gjatësia e të dhënave<число>: Shtoni të dhëna arbitrare në paketat e dërguara
    – ip-opsionet<опции>: Dërgoni një paketë me opsionet e specifikuara të ip-së
    – ttl<значение>: Cakto kohën e jetës së fushës IP (gjatë jetës)
    –spoof-mac : Vendosni adresën tuaj MAC
    –badsum: Dërgoni pako me shuma kontrolli false TCP/UDP/SCTP

    REZULTATI I REZULTATEVE:

    ON/-oX/-oS/-oG Rezultatet e daljes normale, XML, s| -oA<базовове_имя_файла>: Përdorni tre formate kryesore të daljes në të njëjtën kohë
    -v: Rritni nivelin verbal (vendosni dy herë ose më shumë për të rritur efektin)
    -d: Rrit ose cakto nivelin e korrigjimit (deri në 9)
    –arsyeja: Tregoni arsyen pse porti është në një gjendje të caktuar
    –open: Shfaq vetëm portet e hapura (ose ndoshta të hapura).
    –paketë-gjurmë: Gjurmoni paketat e marra dhe të transmetuara
    –iflist: Listoni ndërfaqet dhe ruterat (për korrigjimin e gabimeve)
    – log-errors: Regjistroni gabimet/paralajmërimet në skedarin e daljes së modalitetit normal
    –append-output: Shtojini, në vend që të mbishkruani, skedarët e daljes
    - rezyme<имя_файла>: Vazhdo skanimin e ndërprerë
    – fletë stili<путь/URL>: Vendos një fletë stili XSL për konvertimin e daljes XML në HTML
    –webxml: Ngarkon një fletë stili nga Nmap.Org
    –no-stylesheet: Hiq deklaratën e fletës së stilit XSL nga XML

    OPSIONET E NDRYSHME:

    6: Aktivizo skanimin IPv6
    -A: Aktivizo zbulimin e OS dhe versionin, veçoritë e skanimit dhe gjurmimit të skriptuar
    –datadir<имя_директории>: Përcakton vendndodhjen e skedarëve Nmap
    –send-eth/–send-ip: Përdorni shtresën e papërpunuar ethernet/IP
    – i privilegjuar: Supozoni se përdoruesi i ka të gjitha privilegjet
    – i paprivilegjuar: Nënkupton se përdoruesi nuk ka privilegje për të përdorur bazat e papërpunuara
    -V: Numri i versionit të printimit
    -h: Shfaq këtë faqe ndihme

    KOMANDA INTERAKTIVE:

    NDIHMË: Nuk do të funksionojë me "sudo nmap", prandaj përdorni "sudo –i"
    Gjatë ekzekutimit, mund të kërkoni nmap me çelësat e mëposhtëm:
    ? Trego këtë informacion
    v/V rritje/ulje verbaliteti
    d/D rritje/ul debug
    p/P aktivizoni/çaktivizoni gjurmimin e paketave
    dhe çelësat e tjerë që do të printohen në status

    SHEMBUJ:
    Përcaktimi i objektivit të skanimit

    Në linjën e komandës Nmap, çdo gjë që nuk është një opsion (ose një argument opsioni) trajtohet si një objektiv skanimi. Në rastin më të thjeshtë, adresa IP ose emri i rrjetit të makinës së synuar përdoret për skanim.

    Ndonjëherë është e nevojshme të skanoni një rrjet të tërë. Për ta arritur këtë, Nmap mbështet adresimin CIDR. Ju mund të shtoni /<кол-во бит>në një adresë IP ose emër rrjeti dhe Nmap do të skanojë çdo adresë IP për të cilën e para<кол-во бит>të njëjta me ato të hostit të specifikuar. Për shembull, 192.168.10.0/24 do të skanojë 256 hoste ndërmjet 192.168.10.0 (binare: 11000000 10101000 00001010 00000000) dhe 192.1651010101.102 0001010 11111111) përfshirëse. 192.168.10.40/24 do të bëjë saktësisht të njëjtën gjë. Duke ditur që adresa IP e scanme.nmap.org është 64.13.134.52, një rekord si scanme.nmap.org/16 do të skanojë 65,536 adresa IP midis 64.13.0.0 dhe 64.13.255.255. Vlera më e vogël e pranueshme është /0, në të cilën do të skanohet i gjithë Interneti. Vlera më e lartë është /32, në të cilën do të skanohet vetëm hosti ose adresa IP e specifikuar, sepse të gjitha bitet e adresave janë të çaktivizuara.

    Shënimi CIDR është i shkurtër, por jo gjithmonë mjaft fleksibël. Për shembull, ju dëshironi të skanoni 192.168.0.0/16, por kapërceni të gjitha IP-të që mbarojnë me .0 ose .255, sepse Këto janë zakonisht adresa të transmetimit. Nmap mund ta kryejë këtë skanim duke specifikuar intervalet në oktetë. Në vend që të specifikoni një adresë IP të rregullt, mund të përcaktoni për çdo oktet ose një listë numrash të ndarë me presje ose një gamë. Për shembull, 192.168.0-255.1-254 do të kalojë të gjitha adresat në intervalin që mbaron me .0 dhe .255. Diapazonet nuk duhet të specifikohen vetëm në oktetet e fundit: shkrimi 0-255.0-255.13.37 do të skanojë të gjitha adresat e internetit që përfundojnë në 13.37. Ky lloj skanimi mund të jetë i dobishëm për shfletimin në internet dhe studime të ndryshme.

    Adresat IPv6 mund të specifikohen vetëm në një formë që korrespondon plotësisht me formën e saktë të shkrimit të adresave IPv6. CIDR dhe përdorimi i intervaleve në oktete nuk janë të zbatueshme për adresat IPv6, sepse ato përdoren rrallë.

    Ju mund të kaloni përkufizime të ndryshme të objektivave në linjën e komandës Nmap, jo domosdoshmërisht të njëjtin lloj. Ekipi nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255 do të bëjë atë që prisni.

    Objektivat e skanimit zakonisht specifikohen në vijën e komandës dhe ka opsione të ndryshme për të kontrolluar zgjedhjen e objektivit:

    IL<имя_файла>(Hyrje nga lista)

    Lexon objektivat nga<имя_файла>. Ndërsa paraqitja e një liste të madhe të hosteve për skanim është e zakonshme, nuk është e përshtatshme. Për shembull, serveri juaj DHCP ju jep një listë me 10,000 adresa që përdor aktualisht dhe ju dëshironi ta skanoni atë. Ose ndoshta dëshironi të skanoni të gjitha adresat IP përveç atyre që u janë caktuar për të zbuluar përdorimin e paautorizuar të adresave IP statike. Thjesht krijoni një listë të hosteve për të skanuar dhe kaloni emrin e skedarit në Nmap si një argument për opsionin -iL. Regjistrimet në skedar mund të jenë në çfarëdo forme të pranueshme për Nmap (adresat IP, emrat e rrjeteve, CIDR, IPv6 ose vargjet oktet). Çdo hyrje duhet të ndahet nga një hapësirë ​​ose më shumë, karaktere skedash ose karaktere të linjës së re. Ju mund të kaloni një vijë ndarëse (-) si një argument për emrin e skedarit nëse dëshironi që Nmap të lexojë listën e hosteve nga hyrja standarde dhe jo nga një skedar.

    IR<кол-во хостов>(Zgjedh objektiva të rastësishëm)

    Për skanim në të gjithë ueb-in ose ndonjë kërkim, mund t'ju duhet të zgjidhni objektivat në mënyrë të rastësishme. Argumenti<кол-во хостов>përcakton se sa adresa IP duhet të gjenerohen. Adresat e papërshtatshme IP të tilla si vargjet e adresave private, të transmetimit ose jo të lokalizuara anashkalohen automatikisht. Argumenti 0 mund të kalohet në skanim për një kohë të pacaktuar. Mbani në mend se disa administratorë të sistemit mund të mos pëlqejnë skanimin e paautorizuar të rrjeteve të tyre dhe mund të ankohen. Përdoreni këtë opsion në rrezikun tuaj! Nëse ndiheni të mërzitur në një ditë me shi, provoni nmap -sS -PS80 -iR 0 -p 80 për të skanuar serverë të rastësishëm në internet.

    -përjashto<хост1>[,<хост2>[,…]] (Përjashtoni hostet/rrjetet)

    Përcakton një listë objektivash të ndarë me presje për t'i përjashtuar nga skanimi, edhe nëse ato janë pjesë e gamës së skanimit që specifikoni. Lista e kaluar përdor sintaksën standarde Nmap, kështu që mund të përmbajë emrat e rrjeteve, adresat CIDR, vargjet oktet, etj. Ky opsion mund të jetë i dobishëm nëse rrjeti që dëshironi të skanoni përmban serverë ose sisteme që i përgjigjen negativisht skanimit të porteve, ose nënrrjeta të administruara nga njerëz të tjerë.

    -përjashtoj<имя_файла>(Përjashtoni listën nga skedari)

    Ky opsion bën të njëjtën gjë si –exclude, përveç se objektivat për të përjashtuar janë të ndara me hapësira, skeda ose rreshta të rinj<файле>, jo në vijën e komandës.

    © 2024 ermake.ru -- Rreth riparimit të PC - Portali informacioni