Nse სკრიპტები. Nmap დახმარების გზამკვლევი (ადამიანის გვერდი)

მთავარი / არ ირთვება

ქვემოთ ნახავთ 20 ძირითადს Nmap ბრძანების გამოყენების მაგალითები.

თქვენ შეისწავლით Nmap-ის გამოყენებას ბრძანების ხაზი Linux-შიქსელში აქტიური ჰოსტების მოსაძებნად და ღია პორტების სკანირებისთვის.

ნახავთ როგორ დისტანციურად აღმოაჩინოს ოპერაციული სისტემა TCP/IP დასტის თითის ანაბეჭდების გამოყენებით და როგორ გაეცანით ვერსიას პროგრამული უზრუნველყოფა მუშაობს დისტანციურ სერვერზე.

მე ასევე გაჩვენებთ, თუ როგორ უნდა გააკეთოთ ეს Nmap-ის გამოყენებით ფარული სკანირება, როგორ Firewall-ის განსაზღვრადა როგორ შეცვალეთ MAC მისამართი.

1. დაასკანირეთ ერთი ჰოსტი ან IP მისამართი

სკანირება ცალკე IP მისამართი:

$nრუკა 192.168.1.1

სერვერის სკანირება მიერ მასპინძლის სახელი:

$ nmap server.site

გაზრდა დეტალების დონესკანირების შედეგები:

$ nmap -v სერვერი..საიტი

2. მრავალი IP მისამართის სკანირება

სკანირება მრავალი IP მისამართი:

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

სკანირება ქვექსელი:

$ nmap 192.168.1.0/24 $ nmap 192.168.1.*

სკანირება IP მისამართის დიაპაზონი (192.168.1.0 — 192.168.1.200):

$nmap 192.168.1.0-200

3. მოძებნეთ აქტიური კომპიუტერები ქსელში

კარგი რჩევა:დაასკანირეთ თქვენი ქსელი მხოლოდ ერთი პინგ ბრძანებით! იპოვნეთ ყველა აქტიური კომპიუტერი!

დაასკანირეთ ქსელი საძიებლად აქტიური მასპინძლები:

$ nmap -sn 192.168.1.0/24

4. დაასკანირეთ ჰოსტის სია ფაილიდან

ჰოსტების/ქსელების სიის სკანირება ფაილი:

$ nmap -iL input.txt

ფაილის ფორმატი:

# ჩანაწერები შეიძლება იყოს ნებისმიერ ფორმატში, რომლითაც მუშაობს Nmap # ბრძანების ხაზიდან (IP მისამართები, ჰოსტების სახელები, CIDR, IPv6 ან ოქტეტი # დიაპაზონი). ჩანაწერები გამოყოფილი უნდა იყოს ერთი ან მეტი სივრცეებით, ჩანართებით # ან ახალი ხაზებით. $ cat input.txt server.site 192.168.1.0/24 192.168.2.1,2,3 192.168.3.0-200

5. IP/Hosts/Networks გამორიცხვა სკანირებიდან

მიზნების გამორიცხვა Nmap სკანირებიდან:

$ nmap 192.168.1.0/24 -- გამორიცხავს 192.168.1.1 $ nmap 192.168.1.0/24 -- გამორიცხავს 192.168.1.1 192.168.1.5 $ nmap 192.168.12, 192.012.164 --1.

სიის გამორიცხვაფაილიდან აღებული ჰოსტები:

$ nmap 192.168.1.0/24 --excludefile exclude.txt

ფაილის ფორმატი გამორიცხული ჰოსტებით მსგავსია ზემოთ.

6. კონკრეტული პორტების სკანირება

სკანირება ერთი პორტი:

$ nmap -p 80 192.168.1.1

სკანირება მრავალი პორტი:

$ nmap -p 80.443 192.168.1.1

სკანირება პორტის დიაპაზონი:

$ nmap -p 80-1000 192.168.1.1

სკანირება ყველა პორტი:

$ nmap -p "*" 192.168.1.1

სკანირება რამდენიმე ყველაზე საერთო პორტები:

$ nmap --top-ports 5 192.168.1.1 $ nmap --top-ports 10 192.168.1.1

7. მხარდაჭერილი IP პროტოკოლების განსაზღვრა

დაადგინეთ რომელი IP პროტოკოლები(TCP, UDP, ICMP და ა.შ.) მხარს უჭერს დასკანირებულ ჰოსტს:

$ nmap -sO 192.168.1.1

8. TCP/UDP პორტის სკანირება

სკანირება ყველა TCP პორტი:

$ nmap -sT 192.168.1.1

სკანირება კონკრეტული TCP პორტები:

$ nmap -p T:80 192.168.1.1

სკანირება ყველა UDP პორტი:

$ nmap -sU 192.168.1.1

სკანირება კონკრეტული UDP პორტები:

$ nmap -p U:53 192.168.1.1

სხვადასხვა პორტების სკანირების გაერთიანება:

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

9. სწრაფი სკანირება

გააქტიურება სწრაფი რეჟიმი სკანირება:

$ nრუკა -F 192.168.1.1

* სკანირებს ნაკლებ პორტებს, ვიდრე ჩვეულებრივი სკანირებით.

10. აჩვენე პორტის სტატუსის მიზეზი

ჩვენება მიზეზი, რომლითაც Nmap თვლის, რომ პორტი გარკვეულ მდგომარეობაშია:

$ nmap -- მიზეზი 192.168.1.1

11. მხოლოდ ღია პორტების ჩვენება

ჩვენება მხოლოდ ღია პორტები(ან შესაძლოა ღია):

$ nmap -- გახსენით 192.168.1.1

12. OS განმარტება

ერთ-ერთი ყველაზე ცნობილი ფუნქციონირება Nmap არის დისტანციური OS გამოვლენა, რომელიც დაფუძნებულია TCP/IP სტეკის ანალიზზე.

Nmap აგზავნის TCP და UDP პაკეტების სერიას დისტანციურ ჰოსტში და იკვლევს პასუხებს.

მრავალი ტესტის გაშვების შემდეგ, Nmap ადარებს შედეგებს მის მონაცემთა ბაზას და, თუ დამთხვევა აღმოჩნდება, აჩვენებს ინფორმაციას OS-ის შესახებ.

ჩართეთ OS განმარტება:

$ nmap -O 192.168.1.1

13. სერვისების ვერსიის განსაზღვრა

ჩართეთ სერვისების ვერსიის განსაზღვრა:

$ nmap -sV 192.168.1.1

* განსაზღვრავს დისტანციურ სერვერზე გაშვებული პროგრამების ვერსიებს.

14. Firewall Detection

გაარკვიეთ არის თუ არა თქვენი კომპიუტერი დაცული რომელიმე სურათების ფილტრებიან Firewall:

$ nmap -sA 192.168.1.1

15. MAC მისამართის ჩანაცვლება

შემცვლელი MAC მისამართები:

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

შეცვალეთ MAC მისამართი შემთხვევითი MAC:

$ nmap --spoof-mac 0 192.168.1.1

16. სკანირება Firewall დაუცველობის

ეს სამი ტიპის სკანირება იყენებს დახვეწილ ხვრელს TCP RFC-ში პორტების ღია და დახურული კატეგორიზაციისთვის.

RFC-თან თავსებადი სისტემის სკანირებისას, ნებისმიერ პაკეტს, რომელსაც არ აქვს SYN, RST ან ACK ბიტის ნაკრები, გამოიწვევს RST პასუხს, თუ პორტი დახურულია, ან უპასუხოდ, თუ პორტი ღიაა.

იმიტომ რომ არცერთი ამ ბიტი არ არის დაყენებული, მაშინ დანარჩენი სამის ნებისმიერი კომბინაცია (FIN, PSH და URG) სწორი იქნება.

TCP Nullსკანირება:

$ nmap -sN 192.168.1.1

* ბიტი არ არის დაყენებული (დროშები TCP სათაურში 0).

TCP Finსკანირება:

$ nmap -sF 192.168.1.1

* დაყენებულია მხოლოდ TCP FIN ბიტი.

TCP შობასკანირება:

$ nmap -sX 192.168.1.1

* დაყენებულია FIN, PSH და URG დროშები (შეფუთვა ანათებს ნაძვის ხევით).

17. ფარული სკანირება

კარგი რჩევა:დარჩით ანონიმური პორტების სკანირებისას! გამოიყენეთ Nmap + Tor + ProxyChains! უსაფრთხო და მარტივი შეღწევადობის ტესტირება!

TCP SYNსკანირება:

$ nmap -sS 192.168.0.1

* ცნობილია როგორც ნახევრად ღია სკანირება, რადგან ის არ ხსნის სრულ TCP კავშირებს.

18. ჰოსტის აღმოჩენის გამორთვა (პინგის გარეშე)

არ გააკეთოთ პინგი ჰოსტების სკანირებამდე:

$ nmap -Pn 192.168.1.1

19. DNS გამოყენების გამორთვა

კარგი რჩევა:გჭირდებათ ლინუქსის უსაფრთხოების გამკაცრება? დაშიფრეთ DNS ტრაფიკი გაყალბებისგან თავის დასაცავად!

არასოდეს შეცვალოთ DNS სახელის რეზოლუცია ყველა აღმოჩენილი აქტიური IP მისამართისთვის.

Nmap არის ძალიან პოპულარული ღია კოდის ქსელის სკანერი წყარო კოდი, რომლის გამოყენება შესაძლებელია როგორც Windows-ზე, ასევე Linux-ზე. Nmap ან Network Mapper შეიმუშავა გორდონ ლუონმა და მომენტშიგამოიყენება უსაფრთხოების პროფესიონალებისა და სისტემის ადმინისტრატორების მიერ მთელ მსოფლიოში.

ეს პროგრამა ეხმარება სისტემის ადმინისტრატორებს ძალიან სწრაფად გააცნობიერონ რომელი კომპიუტერები არიან დაკავშირებული ქსელთან, გაარკვიონ მათი სახელები და ასევე დაინახონ რა პროგრამული უზრუნველყოფაა დაინსტალირებული მათზე, რა ოპერაციული სისტემა და რა ტიპის ფილტრები გამოიყენება. პროგრამის ფუნქციონალობა შეიძლება გაფართოვდეს საკუთარი სკრიპტირების ენით, რაც ადმინისტრატორებს საშუალებას აძლევს ავტომატიზირდნენ მრავალი მოქმედებით.

მაგალითად, სკრიპტებს შეუძლიათ ავტომატურად აღმოაჩინონ უსაფრთხოების ახალი ხარვეზები თქვენს ქსელში. Namp შეიძლება გამოყენებულ იქნას კარგი და ცუდი ზრახვებით, ფრთხილად იყავით, რომ არ გამოიყენოთ nmap კანონის საწინააღმდეგოდ. ამ სახელმძღვანელოში ჩვენ განვიხილავთ, თუ როგორ გამოვიყენოთ namp პორტების სკანირებისთვის ოპერაციული სისტემა Linux. მაგრამ ჯერ უნდა სცადოთ იმის გაგება, თუ როგორ მუშაობს ეს პროგრამა.

კომპიუტერულ ქსელებში ყველა დაკავშირებულ მოწყობილობას აქვს საკუთარი IP მისამართი. თითოეული კომპიუტერი მხარს უჭერს პინგ პროტოკოლს, რომელიც შეიძლება გამოყენებულ იქნას იმის დასადგენად, არის თუ არა ის დაკავშირებული ქსელთან. ჩვენ უბრალოდ ვუგზავნით ping მოთხოვნას კომპიუტერში და თუ ის პასუხობს, ჩვენ ვვარაუდობთ, რომ ის დაკავშირებულია. Nmap ოდნავ განსხვავებულ მიდგომას იღებს. კომპიუტერები ასევე რეაგირებენ გარკვეული გზით გარკვეულზე ქსელის პაკეტები, კომუნალური უბრალოდ აგზავნის საჭირო პაკეტებიდა ხედავს, რომელმა მასპინძლებმა გაგზავნეს პასუხი.

მაგრამ თქვენ ალბათ უკვე იცით ამის შესახებ. უფრო საინტერესოა, თუ როგორ აღმოაჩენს Nmap რა სერვისები მუშაობს მანქანაზე. ყველას საქმის არსი ქსელური პროგრამებიპორტებზე დაყრდნობით. ქსელიდან შეტყობინების მისაღებად პროგრამამ უნდა გახსნას პორტი თქვენს კომპიუტერში და დაელოდოს შემომავალ კავშირებს. და ქსელის საშუალებით შეტყობინების გასაგზავნად, თქვენ უნდა დაუკავშირდეთ სხვა პროგრამის (დანიშნულების) პორტს. შემდეგ პროგრამას დასჭირდება პორტის გახსნა, რომელზეც პასუხს დაელოდება.

nmap უტილიტა, ქსელის სკანირებისას, გადის პორტების ხელმისაწვდომ დიაპაზონს და ცდილობს თითოეულ მათგანთან დაკავშირებას. თუ კავშირი წარმატებულია, უმეტეს შემთხვევაში, რამდენიმე პაკეტის გადაცემით პროგრამას შეუძლია გაარკვიოს პროგრამული უზრუნველყოფის ვერსია, რომელიც უსმენს კავშირებს ამ პორტთან. ახლა, როდესაც ჩვენ განვიხილეთ საფუძვლები, მოდით შევხედოთ როგორ გამოვიყენოთ nmap პორტებისა და ქსელების სკანირებისთვის.

Nmap სინტაქსი

Nmap გაშვების ბრძანება ძალიან მარტივია, უბრალოდ გადაიტანეთ სამიზნე IP მისამართი ან ქსელი პარამეტრებში და ასევე მიუთითეთ პარამეტრები, საჭიროების შემთხვევაში:

$ nmap პარამეტრების მისამართი

ახლა მოდით შევხედოთ ძირითად ვარიანტებს, რომლებიც დაგვჭირდება ამ სტატიაში.

  • -sL- უბრალოდ შექმენით გაშვებული ჰოსტების სია, მაგრამ არ დაასკანიროთ nmap პორტები;
  • -სპ- მხოლოდ შეამოწმეთ არის თუ არა ჰოსტი წვდომა პინგის გამოყენებით;
  • -PN- ჩათვალეთ ყველა ჰოსტი ხელმისაწვდომი, მაშინაც კი, თუ ისინი არ პასუხობენ პინგს;
  • -sS/sT/sA/sW/sM- TCP სკანირება;
  • -სუ- UDP სკანირების nmap;
  • -sN/sF/sX- TCP NULL და FIN სკანირება;
  • -sC- გაუშვით სკრიპტი ნაგულისხმევად;
  • -სი- ზარმაცი Indle სკანირება;
  • -გვ- მიუთითეთ შესამოწმებელი პორტების დიაპაზონი;
  • -sV- პორტების დეტალური გამოკვლევა სერვისის ვერსიების დასადგენად;
  • -ო- ოპერაციული სისტემის განსაზღვრა;
  • -თ- სკანირების სიჩქარე, რაც უფრო მაღალია, მით უფრო სწრაფი;
  • -დ- ნიღბის სკანირება ფიქტიური IP-ების გამოყენებით;
  • -ს- შეცვალეთ თქვენი IP მისამართი მითითებულზე;
  • -ე- გამოიყენეთ კონკრეტული ინტერფეისი;
  • --სფუფ-მაკ- დააყენეთ თქვენი MAC მისამართი;
  • -ა- ოპერაციული სისტემის განსაზღვრა სკრიპტების გამოყენებით.

ახლა, როდესაც ჩვენ განვიხილეთ ყველა ძირითადი ვარიანტი, მოდით ვისაუბროთ იმაზე, თუ როგორ მუშაობს nmap პორტის სკანირება.

როგორ გამოვიყენოთ Nmap Linux-ზე პორტების სკანირებისთვის

შემდეგი, მოდით შევხედოთ nmap მაგალითებს. ჯერ ვნახოთ, როგორ მოვძებნოთ ქსელთან დაკავშირებული ყველა მოწყობილობა, უბრალოდ გამოიყენეთ -sL ვარიანტი და მიუთითეთ ჩვენი ქსელის ნიღაბი. ჩემს შემთხვევაში ეს არის 192.168.1.1/24. თქვენ შეგიძლიათ იპოვოთ თქვენი ადგილობრივი ქსელის ნიღაბი ბრძანების გაშვებით:

ინტერფეისის გამოსასვლელიდან, რომელსაც იყენებთ, აიღეთ რიცხვი დახრილობის შემდეგ, ხოლო ხაზის წინ მიუთითეთ თქვენი როუტერის IP. nmap ქსელის სკანირების ბრძანება ასე გამოიყურება:

nmap -sL 192.168.1.1/24

ზოგჯერ ამ სკანირებამ შეიძლება შედეგი არ გამოიღოს, რადგან ზოგიერთ ოპერაციულ სისტემას აქვს დაცვა პორტის სკანირებისგან. მაგრამ ამის გვერდის ავლით, უბრალოდ, ping გამოყენებით სკანირებთ ყველა IP მისამართს ქსელში, ამისათვის არის -sn ვარიანტი:

nmap -sn 192.168.1.1/24

როგორც ხედავთ, პროგრამამ ახლა აღმოაჩინა აქტიური მოწყობილობებიონლაინ. შემდეგი, ჩვენ შეგვიძლია სკანირება მოვახდინოთ nmap პორტები სასურველი ჰოსტისთვის უტილიტის გაშვებით პარამეტრების გარეშე:

sudo nmap 192.168.1.1

ახლა ჩვენ ვხედავთ, რომ ჩვენ გვაქვს რამდენიმე პორტი ღია, რომელთაგან ყველა გამოიყენება გარკვეული სერვისის მიერ სამიზნე მანქანაზე. თითოეული მათგანი შეიძლება იყოს პოტენციურად დაუცველი, ამიტომ არ არის უსაფრთხო მანქანაზე ბევრი ღია პორტის არსებობა. მაგრამ ეს არ არის ყველაფერი, რისი გაკეთებაც შეგიძლიათ, შემდეგ თქვენ ისწავლით თუ როგორ გამოიყენოთ nmap.

მეტის გასარკვევად დეტალური ინფორმაციამანქანისა და მასზე გაშვებული სერვისების შესახებ, შეგიძლიათ გამოიყენოთ -sV ვარიანტი. პროგრამა დაუკავშირდება თითოეულ პორტს და განსაზღვრავს ყველა ხელმისაწვდომ ინფორმაციას:

sudo nmap -sV 192.168.1.1

ჩვენი მანქანა მუშაობს ftp, ასე რომ, ჩვენ შეგვიძლია შევეცადოთ უფრო ახლოს მივხედოთ ამ სერვისს სტანდარტული nmap სკრიპტების გამოყენებით. სკრიპტები საშუალებას გაძლევთ უფრო დეტალურად შეამოწმოთ პორტი და იპოვოთ შესაძლო დაუცველობა. ამისათვის გამოიყენეთ -sC და -p ვარიანტი პორტის დასაყენებლად:

sudo nmap -sC 192.168.56.102 -p 21

ჩვენ შევასრულეთ ნაგულისხმევი სკრიპტი, მაგრამ არის სხვა სკრიპტებიც, მაგალითად, შეგიძლიათ იპოვოთ ყველა სკრიპტი ftp-სთვის ბრძანებით:

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

შემდეგ ჩვენ შევეცდებით გამოვიყენოთ ერთი მათგანი, ამისათვის უბრალოდ მიუთითეთ ის --script პარამეტრის გამოყენებით. მაგრამ ჯერ შეგიძლიათ ნახოთ ინფორმაცია სკრიპტის შესახებ:

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

ეს სკრიპტი შეეცდება განსაზღვროს FTP შესვლა და პაროლი დისტანციურ ჰოსტზე. შემდეგ გაუშვით სკრიპტი:

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

შედეგად, სკრიპტმა აიღო შესვლა და პაროლი, admin/admin. ამიტომ არ გჭირდებათ ნაგულისხმევი შესვლის პარამეტრების გამოყენება.

თქვენ ასევე შეგიძლიათ გაუშვათ პროგრამა -A ოფციით, ის ააქტიურებს პროგრამის უფრო აგრესიულ რეჟიმს, რომლითაც თქვენ მიიღებთ ინფორმაციის უმეტესობას ერთი ბრძანებით;

sudo nmap -A 192.168.1.1

გთხოვთ გაითვალისწინოთ, რომ თითქმის ყველა ინფორმაცია, რაც ადრე ვნახეთ, აქ არის. მისი გამოყენება შესაძლებელია ამ აპარატის დაცვის გასაზრდელად.

დასკვნები

ამ სტატიაში ჩვენ გადავხედეთ, თუ როგორ ხდება nmap პორტის სკანირება, ისევე როგორც რამდენიმე მარტივი მაგალითებიამ პროგრამის გამოყენებით. ეს nmap ბრძანებები შეიძლება სასარგებლო იყოს მრავალი სისტემის ადმინისტრატორისთვის მათი სისტემების უსაფრთხოების გასაუმჯობესებლად. მაგრამ ეს არ არის კომუნალური პროგრამის ყველა შესაძლებლობა. განაგრძეთ კომუნალური ექსპერიმენტები მეტის გასაგებად, უბრალოდ არა სხვა ადამიანების ქსელებში!

ავტორის შესახებ

დამფუძნებელი და საიტის ადმინისტრატორი, გატაცებული ღია კოდის პროგრამით და ოპერაციული სისტემებით Linux სისტემა. მე ამჟამად ვიყენებ Ubuntu-ს, როგორც ჩემს მთავარ OS-ს. ლინუქსის გარდა ყველაფერი მაინტერესებს რაც ეხება საინფორმაციო ტექნოლოგიებიდა თანამედროვე მეცნიერება.

არსებობს ოთხი ტიპის NSE სკრიპტები, კერძოდ:

  • პრერულის სკრიპტები– არის სკრიპტები, რომლებიც მუშაობს Nmap-ის ნებისმიერ სკანირების ოპერაციამდე, ისინი სრულდება მაშინ, როდესაც Nmap-ს ჯერ არ აქვს შეგროვებული ინფორმაცია სამიზნის შესახებ.
  • მასპინძელი სკრიპტები– არის სკრიპტები, რომლებიც შესრულებულია მას შემდეგ, რაც Nmap შეასრულებს ნორმალურ ოპერაციებს, როგორიცაა ჰოსტის აღმოჩენა, პორტის სკანირება, ვერსიის ამოცნობა და OS-ის ამოცნობა სამიზნე ჰოსტთან მიმართებაში.
  • სერვისის სკრიპტები– არის სკრიპტები, რომლებიც ეწინააღმდეგება კონკრეტულ სერვისებს, რომლებიც უსმენენ სამიზნე ჰოსტზე.
  • პოსტტრული სკრიპტები– არის სკრიპტები გაშვებული მას შემდეგ, რაც Nmap-მა დაასკანირა ყველა სამიზნე ჰოსტი.

შემდეგ ეს სკრიპტები დაჯგუფებულია სხვადასხვა კატეგორიებში, მათ შორის ავთენტიფიკაციისთვის ( ავტორიზაციამასპინძლების აღმოჩენა ( გადაცემა), უხეში ძალათავდასხმები ავთენტიფიკაციის სერთიფიკატების გამოსაცნობად ( უხეში), მეტის აღმოჩენა ქსელის შესახებ ( აღმოჩენა), რამაც გამოიწვია მომსახურებაზე უარის თქმა ( dos), გარკვეული დაუცველობის გამოყენება ( ექსპლუატაცია) და ა.შ. სკრიპტების რაოდენობა მიეკუთვნება ნაგულისხმევ კატეგორიას.

შენიშვნა: სანამ შემდგომ გადავიდეთ, თქვენ უნდა გაითვალისწინოთ ეს ძირითადი პუნქტები:

  • არ შეასრულოთ სკრიპტები მესამე მხარისგან მათი კრიტიკულად გადახედვის გარეშე ან მხოლოდ იმ შემთხვევაში, თუ ენდობით ავტორებს. ეს იმიტომ ხდება, რომ ეს სკრიპტები არ არის გაშვებული სავარჯიშოში და, შესაბამისად, შეიძლება მოულოდნელად ან მავნედ დააზიანოს თქვენი სისტემა ან შეიჭრას თქვენი კონფიდენციალურობა.
  • მეორეც, ამ სკრიპტებიდან ბევრი შესაძლოა ამოქმედდეს როგორც a პრერულეან პოსტრულესკრიპტი. ამის გათვალისწინებით, რეკომენდირებულია პრერულის გამოყენება თანმიმდევრულობის მიზნით.
  • Nmap იყენებს სკრიპტები/script.dbმონაცემთა ბაზა ხელმისაწვდომი ნაგულისხმევი სკრიპტებისა და კატეგორიების გასარკვევად.

ყველა ხელმისაწვდომი NSE სკრიპტის ადგილმდებარეობის სანახავად, გაუშვით ტერმინალზე, ასე:

$ locate *.nse/usr/share/nmap/scripts/acarsd-info.nse /usr/share/nmap/scripts/address-info.nse /usr/share/nmap/scripts/afp-brute.nse /usr/share/nmap/scripts /afp-ls.nse /usr/share/nmap/scripts/afp-path-vuln.nse /usr/share/nmap/scripts/afp-serverinfo.nse /usr/share/nmap/scripts/afp-showmount.nse /usr/share/nmap/scripts/ajp-auth.nse /usr/share/nmap/scripts/ajp-brute.nse /usr/share/nmap/scripts/ajp-headers.nse /usr/share/nmap/scripts /ajp-methods.nse /usr/share/nmap/scripts/ajp-request.nse /usr/share/nmap/scripts/allseeingeye-info.nse /usr/share/nmap/scripts/amqp-info.nse /usr /share/nmap/scripts/asn-query.nse ...

NSE სკრიპტები იტვირთება --script დროშის გამოყენებით, რომელიც ასევე საშუალებას გაძლევთ გაუშვათ თქვენი საკუთარი სკრიპტები კატეგორიების, სკრიპტის ფაილის სახელების ან დირექტორიების სახელების მიწოდებით, სადაც მდებარეობს თქვენი სკრიპტები.

სკრიპტების ჩართვის სინტაქსი ასეთია:

$ namp -sC სამიზნე #ჩატვირთვა ნაგულისხმევი სკრიპტები ან $ nmap --სკრიპტის ფაილის სახელი|კატეგორია|საქაღალდე|გამოხატვა,... სამიზნე

თქვენ შეგიძლიათ ნახოთ სკრიპტის აღწერა --script-help ოფციით. გარდა ამისა, თქვენ შეგიძლიათ გადასცეთ არგუმენტები ზოგიერთ სკრიპტს --script-args და --script-args-file ოფციების საშუალებით, ეს უკანასკნელი გამოიყენება ფაილის სახელის მოსაწოდებლად და არა ბრძანების ხაზის arg.

ნაგულისხმევი სკრიპტების უმეტესობის სკანირებისთვის გამოიყენეთ -sC დროშა ან ალტერნატიულად გამოიყენეთ --script=default, როგორც ნაჩვენებია.

$ nmap -sC scanme.nmap.org ან $ nmap --script=default scanme.nmap.org ან $ nmap --სკრიპტის ნაგულისხმევი scanme.nmap.org

ნიმუშის გამომავალი
იწყება Nmap 7.01 (https://nmap.org) 2017-11-15 10:36 IST Nmap სკანირების ანგარიში scanme.nmap.org-ისთვის (45.33.32.156) ჰოსტი ამოწურულია (0.0027s შეყოვნება). არ არის ნაჩვენები: 999 გაფილტრული პორტი PORT STATE SERVICE 80/tcp ღია http |_http-title: გააგრძელეთ და ScanMe! შესრულებულია Nmap: 1 IP მისამართი (1 ჰოსტი ზემოთ) დასკანირებულია 11,74 წამში

სკრიპტის შესაბამისი მიზნისთვის გამოსაყენებლად, პირველ რიგში შეგიძლიათ მიიღოთ მოკლე აღწერა, თუ რას აკეთებს ის, მაგალითად http-სათაურები.

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

ნიმუშის გამომავალი
იწყება Nmap 7.01 (https://nmap.org) 2017-11-15 10:37 IST http-headers კატეგორიები: აღმოჩენის უსაფრთხო https://nmap.org/nsedoc/scripts/http-headers.html ასრულებს HEAD მოთხოვნას ვებ სერვერის ძირეული საქაღალდისთვის ("/") და აჩვენებს დაბრუნებულ HTTP სათაურებს.

იტვირთება NSE სკრიპტები Nmap სკანირების შესასრულებლად

თქვენ შეგიძლიათ აირჩიოთ ან ჩატვირთოთ სკრიპტები სკანირების შესასრულებლად ქვემოთ აღწერილი სხვადასხვა მეთოდით.

სკრიპტის სახელის გამოყენება

მას შემდეგ რაც გეცოდინებათ რას აკეთებს სკრიპტი, შეგიძლიათ განახორციელოთ სკანირება მისი გამოყენებით. შეგიძლიათ გამოიყენოთ ერთი სკრიპტი ან შეიყვანოთ მძიმით გამოყოფილი სკრიპტის სახელების სია. ქვემოთ მოცემული ბრძანება საშუალებას მოგცემთ ნახოთ HTTP სათაურები, რომლებიც კონფიგურებულია ვებ სერვერზე სამიზნე ჰოსტში.

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

HTTP ჰედერების სკანირება

იწყება Nmap 7.01 (https://nmap.org) 2017-11-15 10:39 IST Nmap სკანირების ანგარიში scanme.nmap.org-ისთვის (45.33.32.156) ჰოსტი ამოწურულია (0.27წმ შეყოვნება). არ არის ნაჩვენები: 996 დახურული პორტი PORT STATE SERVICE 22/tcp open ssh 80/tcp open http | http-headers: | თარიღი: ოთხშაბათი, 15 ნოე 2017 05:10:04 GMT | სერვერი: Apache/2.4.7 (Ubuntu) | Accept-Ranges: bytes | Vary: Accept-Encoding | კავშირი: დახურვა | შინაარსი-ტიპი: text/html | |_ (მოთხოვნის ტიპი: HEAD) 179/tcp გაფილტრული bgp 31337/tcp ღია Elite Nmap შესრულებულია: 1 IP მისამართი (1 ჰოსტის ზემოთ) დასკანირებულია 20,96 წამში

კატეგორიების გამოყენება

თქვენ ასევე შეგიძლიათ ჩატვირთოთ სკრიპტები ერთი კატეგორიიდან ან კატეგორიების მძიმით გამოყოფილი სიიდან. ამ მაგალითში, ჩვენ ვიყენებთ ყველა სკრიპტს ნაგულისხმევ და სამაუწყებლო კატეგორიაში ჰოსტზე სკანირების განსახორციელებლად 192.168.56.1 .

$ nmap --სკრიპტის ნაგულისხმევი,გადაცემა 192.168.56.1

* Wildcard-ის გამოყენება

ეს სასარგებლოა, როდესაც გსურთ აირჩიოთ სკრიპტები მოცემული სახელის ნიმუშით. მაგალითად, ყველა სკრიპტის ჩატვირთვა სახელებით დაწყებული sshტერმინალზე გაუშვით ბრძანება ქვემოთ:

$ nmap --სკრიპტი "ssh-*" 192.168.56.1

ლოგიკური გამონათქვამების გამოყენება

თქვენ ასევე შეგიძლიათ აირჩიოთ სკრიპტები ლოგიკური გამონათქვამების გამოყენებით, რომლებიც შეგიძლიათ შექმნათ გამოყენებით და, ან, და არაოპერატორები. და სახელები ლოგიკურ გამონათქვამში შეიძლება იყოს კატეგორია, ფაილის სახელი script.db, ან ყველა.

შემდეგი ბრძანება ჩატვირთავს სკრიპტებს ნაგულისხმევი ან სამაუწყებლო კატეგორიებიდან.

$ nmap -- სკრიპტი "ნაგულისხმევი ან გადაცემა" 192.168.56.10

რაც უდრის:

$ nmap --სკრიპტის ნაგულისხმევი,გადაცემა 192.168.56.10

ყველა სკრიპტის ჩატვირთვა, რომელიც გამოტოვებს მათ vulnკატეგორიაში, გაუშვით ეს ბრძანება ტერმინალზე.

$ nmap -- სკრიპტი "not vuln" 192.168.56.10

შემდეგი ბრძანება ცოტა რთულად გამოიყურება, მაგრამ მისი გაგება მარტივია, ის ირჩევს სკრიპტებს ნაგულისხმევ, ან სამაუწყებლო კატეგორიებში, ტოვებს მათ სახელებს, რომლებიც იწყება ssh--ით:

$ nmap --script "(ნაგულისხმევი ან გადაცემა) და არა ssh-*" 192.168.56.10

რაც მთავარია, შესაძლებელია კატეგორიების, სკრიპტების სახელების, თქვენი მორგებული სკრიპტების შემცველი დირექტორია ან ლოგიკური გამოხატვის გაერთიანება სკრიპტების ჩასატვირთად, ასე:

$ nmap --სკრიპტის გადაცემა,vuln,ssh-auth-methods,/path/to/custom/scripts 192.168.56.10

არგუმენტების გადაცემა NSE სკრიპტებზე

ქვემოთ მოცემულია მაგალითი, რომელიც გვიჩვენებს, თუ როგორ უნდა გადასცეთ არგუმენტები სკრიპტებში --სკრიპტ-არგსვარიანტი:

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

პორტის ნომრის გადასაცემად გამოიყენეთ -გვ 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""

ზემოთ მოყვანილი ბრძანება აწარმოებს MySQL მონაცემთა ბაზის სერვერის უსაფრთხოების კონფიგურაციის აუდიტს მის ნაწილებთან მიმართებაში CIS MySQL v1.0.2ნიშნული. თქვენ ასევე შეგიძლიათ შექმნათ თქვენი საკუთარი სასარგებლო პერსონალური აუდიტის ფაილები სხვა MySQL აუდიტებისთვის.

ეს არის ჯერ-ჯერობით. მეტი ინფორმაციის ნახვა შეგიძლიათ nmap man გვერდზე ან შეამოწმეთ NSE Usage.

საკუთარი NSE სკრიპტების დაწერის დასაწყებად, იხილეთ ეს სახელმძღვანელო: https://nmap.org/book/nse-tutorial.html

დასკვნა

Nmapარის მართლაც ძლიერი და სასარგებლო ინსტრუმენტი, რომელიც ყველა სისტემის ან ქსელის ადმინისტრატორს სჭირდება მის უსაფრთხოების არსენალში – NSEუბრალოდ უფრო მეტ ეფექტურობას მატებს მას.

ამ სტატიაში ჩვენ გაგაცანით Nmap Script Engineდა განიხილა, თუ როგორ უნდა იპოვოთ და გამოიყენოთ სხვადასხვა ხელმისაწვდომი სკრიპტები სხვადასხვა კატეგორიებში. თუ თქვენ გაქვთ რაიმე შეკითხვები, ნუ მოგერიდებათ მოგვწეროთ კომენტარი ქვემოთ მოცემული ფორმის საშუალებით.

ბევრი ჩვენგანისთვის, რომლის სამუშაო ამოცანები მჭიდროდ იყო დაკავშირებული ინფორმაციის უსაფრთხოებასთან, სულ მცირე, გარკვეული პერიოდის განმავლობაში, Nmap დიდი ხანია გახდა ნაცნობი და სასარგებლო ინსტრუმენტი. ის ისეთივე შეუცვლელია, როგორც თბილი საბანი ზამთრის ცივ ღამეში. გარდა იმისა, რომ Nmap არის ძალიან ეფექტური საბანი.

Nmap არის პოპულარული და ძლიერი პლატფორმის სკანერი ქსელის უსაფრთხოება, გაუშვით ბრძანების ხაზიდან, რომლითაც შეგიძლიათ შეისწავლოთ ნებისმიერი ქსელი უკიდურესად ეფექტურად. ის ასევე დაგეხმარებათ მიიღოთ მიმოხილვა იმ სისტემების შესახებ, რომლებიც დაკავშირებულია თქვენს ქსელთან; თქვენ შეგიძლიათ გამოიყენოთ იგი ყველა "ცოცხალი" ჰოსტის IP მისამართების გასარკვევად, სკანირებისთვის ღია პორტებიდა სერვისები, რომლებიც მუშაობს ამ მასპინძლებზე, ისევე როგორც ბევრი, ბევრად მეტი.

ეჭვგარეშეა, Nmap არის ყველაზე მრავალმხრივი პორტის სკანერი, რომელიც დღეს ხელმისაწვდომია. დიახ, შეგიძლიათ იპოვოთ უფრო სწრაფი სკანერები, მაგრამ არ არსებობს ისეთი სასარგებლო და უბრალოდ შეუცვლელი თქვენი მრავალი, ბევრი პრობლემის გადასაჭრელად. და დარგის პროფესიონალების აბსოლუტური უმრავლესობა ინფორმაციის უსაფრთხოებაკატეგორიულად ეთანხმება ამ განცხადებას.

თუმცა, გაცილებით ნაკლებმა ადამიანმა იცის, რომ Nmap-ის ერთ-ერთი ყველაზე საინტერესო მახასიათებელია NSE სკრიპტების გამოყენების შესაძლებლობა, რაც თქვენს საყვარელ ქსელის უსაფრთხოების ხელსაწყოს კიდევ უფრო მეტ მოქნილობას და ეფექტურობას მისცემს. მათი დახმარებით თქვენ შეგიძლიათ გააკეთოთ ის, რასაც ვერასოდეს მოელით ისეთი მოწინავე პორტის სკანერისგანაც კი, როგორიცაა Nmap.

მოდით უფრო ახლოს მივხედოთ NSE სკრიპტებს და შესაძლოა მათმა პოტენციალმა სასიამოვნოდ გაგაოცოთ.

სხვა სიტყვებით რომ ვთქვათ, Nmap სკანერით ღია პორტების სტანდარტული შემოწმების გარდა, NSE-ის გამოყენებით, თქვენ ასევე გაქვთ შესაძლებლობა მიიღოთ გაფართოებული ინფორმაცია მასზე გაშვებული სერვისების შესახებ. მაგალითად, NSE სკრიპტებით შეგიძლიათ ჩაატაროთ თქვენი ქსელის სერვისების უფრო ღრმა ანალიზი და ნახოთ, რამდენად კარგად არის კონფიგურირებული, რა ინფორმაციაა ხელმისაწვდომი, გამოიყენება თუ არა სუსტი სკრიპტები და ა.შ. სინამდვილეში, NSE სკრიპტები Nmap-ს მოქნილად აქცევს. პლატფორმა ქსელურ სერვისებთან ურთიერთობისთვის.

Nmap Scripting Engine სკრიპტის მახასიათებლები

Nmap პორტის სკანერის განვითარების ჯგუფმა შეიმუშავა და შექმნა სკრიპტირების ძრავა, ძირითადად, ისეთი პრობლემების გადასაჭრელად, როგორიცაა:

1. ქსელის კვლევა

ეს არის Nmap-ის ძირითადი პრაქტიკული გამოყენების სფერო. ზოგიერთი სკრიპტი შექმნილია თქვენი საყვარელი პორტის სკანერის მუშაობის გასაადვილებლად, ოპტიმიზაციისა და დაჩქარების მიზნით. მათი გამოყენების ზოგიერთი მაგალითი მოიცავს დავალებების შესრულებას, როგორიცაა:

  • WHOIS მონაცემების მოძიება (აპლიკაციის ფენის ქსელის პროტოკოლი TCP პროტოკოლზე დაფუძნებული; მისი ძირითადი აპლიკაციაა ტექსტური ფორმით სარეგისტრაციო მონაცემების მოპოვება დომენის სახელების, IP მისამართების და მფლობელების შესახებ. ავტონომიური სისტემები) შესაბამისი დომენების მიხედვით;
  • მოთხოვნის გაგზავნა WHOIS მთავარ რეგიონულ სერვერებზე ARIN (ჩრდილოეთ ამერიკა), RIPE (ევროპა და ახლო აღმოსავლეთი) ან APNIC (აზია და წყნარი ოკეანე) კონკრეტული IP მისამართის მფლობელის დასადგენად;
  • identd ძიება ღია პორტებზე (საშუალებას გაძლევთ ამოიცნოთ მათთან დაკავშირებული მომხმარებლები);
  • მოთხოვნის გაკეთება SNMP პროტოკოლით (ინტერნეტ პროტოკოლი IP ქსელებში მოწყობილობების მართვისთვის TCP/UDP არქიტექტურებზე დაფუძნებული);
  • ხელმისაწვდომი რესურსებისა და სერვისების სიების შედგენას მეშვეობით ქსელის პროტოკოლებიამისთვის დისტანციური წვდომა NFS, SMB ან RPC.

2. უფრო დახვეწილი ვერსიის გამოვლენის ვარიანტი

Nmap-ის სერვისისა და აპლიკაციის ვერსიების სისტემას შეუძლია ამოიცნოს ათასობით სხვადასხვა სერვისი ზონდების და რეგულარული გამოხატვის ხელმოწერის შესატყვისების გამოყენებით, მაგრამ ეს არ არის ყოვლისმომცველი. მაგალითად, Skype v2 სერვისის იდენტიფიცირებისთვის საჭიროა ორი ზონდი, რომლებიც მუშაობენ ერთმანეთისგან დამოუკიდებლად, რომელთა ვერსიის გამოვლენის შესაძლებლობები არც თუ ისე მოქნილია. Nmap-ს ასევე შეუძლია ამოიცნოს ზოგიერთი SNMP სერვისი, თუ ის ცდილობს უხეში ძალის გამოყენებას რამდენიმე ასეული საზოგადოების სახელის მეშვეობით. ორივე ზემოაღნიშნული ამოცანა არ არის ძალიან მოსახერხებელი Nmap ვერსიების სტანდარტული მეთოდების გამოსაყენებლად, მაგრამ ორივე ადვილად სრულდება NSE-ის გამოყენებით. ამ მიზეზით, ვერსიების სისტემა ახლა უწოდებს NSE-ს ნაგულისხმევად, რათა გადაჭრას ვერსიების პრობლემა ზოგიერთი რთული სერვისის დამუშავებისას.

3. მოწყვლადობის ძიება

როდესაც ახალი დაუცველობა აღმოჩენილია, ის ხდება საზოგადოებისთვის ცნობილი და ქსელის უსაფრთხოების პროფესიონალებს სასწრაფოდ სჭირდებათ მათი ქსელების სკანირება, რათა სწრაფად გამოავლინონ დაუცველი სისტემები, სანამ ცუდი ბიჭები ამას გააკეთებენ მათთვის. მიუხედავად იმისა, რომ Nmap არ არის დაუცველობის სრულფასოვანი სკანერი, NSE-ის ძლიერი შესაძლებლობები საშუალებას აძლევს მას შეასრულოს დაუცველობის შემოწმება ძალიან მკაცრი მოთხოვნების შემთხვევაშიც კი. მაგალითად, როდესაც OpenSSL კრიპტოგრაფიული პროგრამული უზრუნველყოფის Heartbleed-ის შეცდომამ დაარღვია ასობით ათასი სისტემა მთელს მსოფლიოში, Nmap-ის დეველოპერებმა უპასუხეს ორი დღის განმავლობაში ssl-heartbleed აღმოჩენის სკრიპტის დაწერით.

4. უკანა კარის ამოცნობა

ბევრი კიბერთავდამსხმელი, ისევე როგორც ზოგიერთი ავტომატური ჭია, ტოვებს უკანა კარებს, რათა მომავალში უზრუნველყონ უკანა კარი, რათა ადვილად შეაღწიონ თქვენს სისტემაში. ზოგიერთი ამ უკანა კარის აღმოჩენა შესაძლებელია გამოყენებით სტანდარტული პროცედურა Nmap-ის ვერსიების აღმოჩენა, რომელიც დაფუძნებულია რეგულარული გამოხატვის ხელმოწერის შესატყვისობაზე, მაგრამ ბევრი უფრო რთული ჭიები და უკანა კარი საჭიროებს გაფართოებულ NSE შესაძლებლობებს საიმედოდ აღმოსაჩენად. კერძოდ, NSE გამოიყენება DoublePulsar backdoor-ის გამოსავლენად, რომელიც იყენებს დაუცველობას დანერგვისას. SMB პროტოკოლი, backdoor ვერსიები IRC სერვერისთვის UnrealIRCd, ისევე როგორც FTP სერვერები vsftpd და ProFTPd.

5. მოწყვლადობის გამოვლენა

განხორციელებული სკრიპტირების ენაზე დაყრდნობით ზოგადი დანიშნულება, NSE შეიძლება გამოყენებულ იქნას ექსპლოიტების შესაქმნელად, რომლებიც დაგეხმარებათ აღმოაჩინოთ დაუცველობა, სანამ მათი არსებობა საზოგადოებისთვის ცნობილი გახდება. მორგებული სკრიპტის ექსპლოიტების დამატების ეს უნარი შეიძლება ძალიან სასარგებლო იყოს ზოგიერთი ადამიანისთვის (პირველ რიგში შეღწევადობის ტესტერებისთვის). თუმცა, NSE ჯერ კიდევ არ არის სრულფასოვანი პლატფორმა ხელმოწერებისა და ექსპლოიტების შესაქმნელად, როგორიცაა Metasploit.

რა არის NSE სკრიპტების კატეგორიები?

ამჟამად არის 598 NSE სკრიპტი, რომელთა ნახვა შეგიძლიათ "სკრიპტების" საქაღალდეში, Nmap-ის მთავარი დირექტორიაში. უკეთესი შესრულებისთვის, ყველა სკრიპტი ინდექსირებულია მონაცემთა ბაზაში "scripts/script.db", რომელიც მიუთითებს რომელ კატეგორიას ან კატეგორიას ეკუთვნის თითოეული სკრიპტი.

დანიშნულ აპლიკაციიდან გამომდინარე, ისევე როგორც მათი გამოყენების გასამარტივებლად, NSE სკრიპტები დაჯგუფებულია სხვადასხვა კატეგორიებად. ამჟამად განსაზღვრულია NSE სკრიპტების შემდეგი კატეგორიები: auth, broadcast, brute, default. აღმოჩენა, dos, exploit, გარე, fuzzer, intrusive, malware, safe, version და vuln (კატეგორიების სახელები არ არის რეგისტრის მგრძნობიარე). ქვემოთ მოცემულია თითოეული კატეგორიის უფრო დეტალური წარმოდგენა:

  • ავტორიზაცია- სკრიპტების ეს კატეგორია ეხება (ან გვერდის ავლით) ავთენტიფიკაციის სერთიფიკატებს სამიზნე სისტემაზე. ასეთი სკრიპტების მაგალითებია "x11-access", "ftp-anon" და "oracle-enum-users". გთხოვთ გაითვალისწინოთ, რომ სკრიპტები, რომლებიც იყენებენ უხეში ძალის შეტევას რწმუნებათა სიგელების დასადგენად, კლასიფიცირდება როგორც უხეში.
  • გადაცემა— ამ კატეგორიის სკრიპტები ჩვეულებრივ გამოიყენება ჰოსტების აღმოსაჩენად, რომლებიც არ არის ჩამოთვლილი ბრძანების ხაზი, ფართო არხის ურთიერთქმედებით ლოკალური ქსელი. "newtargets" სკრიპტის არგუმენტის გამოყენებისას, ისინი ავტომატურად დაამატებენ მათ მიერ აღმოჩენილ ჰოსტებს სკანირების რიგში.
  • უხეში- ამ კატეგორიის სკრიპტები გამოიყენება უხეში ძალის შეტევების განსახორციელებლად დისტანციური სერვერის ავთენტიფიკაციის სერთიფიკატების მისაღებად. Nmap გთავაზობთ უხეში ძალის შეტევის სკრიპტებს ათობით პროტოკოლისთვის. ეს მოიცავს შემდეგ სკრიპტებს: "http-brute", "oracle-brute", "snmp-brute" და ა.შ.
  • ნაგულისხმევი— სკრიპტების ეს კატეგორია განსაზღვრავს იმ სკრიპტებს, რომლებიც შერჩეულია Nmap-ის დეველოპერების მიერ, როგორც გამოსადეგი სკანერის ფუნქციონირების გასაფართოებლად ან მისი მუშაობის ოპტიმიზაციისთვის და მინიჭებულია „ნაგულისხმევი“ საბაზისო ნაკრებისთვის. ისინი იმართება "-sC" ან "-A" ვარიანტების გამოყენებით, ვიდრე სკრიპტების კონკრეტული სიის მითითებით "--script" ოფციაში. შესაძლებელია ამ კატეგორიის სკრიპტების ცალსახად მითითება, ისევე როგორც სხვა, "--script=default" გამოყენებით. Nmap-ის გუნდი ცდილობს დაეყრდნოს შემდეგ მოთხოვნებს, როდესაც განსაზღვრავს კონკრეტული სკრიპტის კატეგორიას ნაგულისხმევად:
    • სიჩქარე— ნაგულისხმევად სკანირება სწრაფად უნდა დასრულდეს, რაც გამორიცხავს ამ კატეგორიაში უხეში ავთენტიფიკაციის ჰაკერების, ვებ ობობების და ნებისმიერი სხვა სკრიპტის ჩართვას, რომელთა სკანირების დრო ერთი სერვისისთვის გამოითვლება წუთებში ან თუნდაც საათებში.
    • სასარგებლო— ნაგულისხმევი კატეგორიის სკანირება მოითხოვს ღირებული და შესაბამისი ინფორმაციის მიღებას. სხვა სიტყვებით რომ ვთქვათ, ასეთი სკრიპტის სკანირების შედეგი გასაგები და გამოსადეგი უნდა იყოს ქსელის უსაფრთხოების საშუალო პროფესიონალისთვის. IN წინააღმდეგ შემთხვევაშინაგულისხმევად გაშვებას აზრი არ აქვს.
    • მოკლედ— Nmap სკანერის მიერ მიღებული ინფორმაციის გამომავალი გამოიყენება სხვადასხვა მიზნით და საჭიროებისთვის, ამიტომ ეს ინფორმაცია უნდა იყოს წაკითხული და ლაკონური. სკრიპტები, რომლებიც ხშირად ქმნიან მრავალ გვერდს ყველა მიღებული ინფორმაციის სრული გამომავალით, ასევე არ მიეკუთვნება ნაგულისხმევ სკრიპტის კატეგორიას. სხვა სიტყვებით რომ ვთქვათ, NSE სკრიპტები, რომლებიც კატეგორიზებულია ნაგულისხმევად, როდესაც ისინი ვერ პოულობენ მნიშვნელოვანი ინფორმაციაანგარიშში არაფერი ჩანს. ეს ეხება ნაგულისხმევ სკრიპტებს, რომლებიც ეძებენ დამალულ დაუცველობას - ისინი მხოლოდ შედეგებს აწარმოებენ, როდესაც აღმოაჩენენ ამ დაუცველობას.
    • საიმედოობა— ბევრ სკრიპტს თავის ნამუშევარში შეუძლია დაეყრდნოს ევრისტიკული ანალიზის მონაცემებს და ხელმოწერების ბუნდოვან შესაბამისობას, რათა გამოიტანოს გარკვეული დასკვნები სამიზნე ჰოსტზე ან სერვისზე. ასეთი სკრიპტების მაგალითებია "sniffer-detect" და "sql-injection". ასეთი სკრიპტები ნაგულისხმევად არ იქნება კლასიფიცირებული, რადგან მათი მუშაობის შედეგები ხშირად მცდარია და შეიძლება შეცდომაში შეიყვანოს მომხმარებელი, რომელსაც ნათლად არ ესმის მათი მუშაობის ყველა სპეციფიკა.
    • შეუმჩნევლობა— ზოგიერთი სკრიპტი შეიძლება იყოს ზედმეტად ინტრუზიული, როდესაც ისინი იყენებენ დისტანციური სისტემის მნიშვნელოვან რესურსებს, რამაც შეიძლება გამოიწვიოს ამ სისტემის ან სერვისის წარუმატებლობა, ან მათი ქმედებები შეიძლება ჩაითვალოს დისტანციურმა ადმინისტრატორებმა თავდასხმად. ასეთი სკრიპტები ასევე არ შედის ნაგულისხმევ კატეგორიაში. თუმცა, ზოგიერთი „ზომიერად აგრესიული“ სკრიპტი მაინც იქნა კლასიფიცირებული Nmap-ის გუნდის მიერ, როგორც ნაგულისხმევი, მათი სარგებლიანობისა და მათი სწორად მოქცევის საფუძველზე, სხვა ფაქტორების გათვალისწინებით.
    • კონფიდენციალურობა- ბევრი სცენარი შეიძლება გამჟღავნდეს კონფიდენციალური ინფორმაციამესამე პირებს, მათი მუშაობის სპეციფიკიდან გამომდინარე. მაგალითად, სკრიპტებმა WHOIS მონაცემების მოსაძიებლად უნდა შეატყობინონ სამიზნე IP მისამართი რეგიონულ რეგისტრატორებს. სხვა სიტყვებით რომ ვთქვათ, NSE ნაგულისხმევი სკრიპტების კატეგორიაში, Nmap გუნდი ცდილობს არ დაამატოს სკრიპტები, რომლებიც შეიძლება არღვევდეს კონფიდენციალურობას.
  • აღმოჩენა- სკრიპტების ეს კატეგორია აქტიურად ცდილობს შეიტყოს მეტი ქსელის შესახებ საჯარო მოთხოვნების გაგზავნით რეგისტრატორთან, SNMP ჩართული მოწყობილობებთან, დირექტორია სერვისებთან და ა.შ. ასეთი სკრიპტების მაგალითებია "html-title" (იღებს ვებსაიტების ძირეული ბილიკის სათაურს), "smb-enum-shares" (სიები საერთო ვინდოუსის რესურსები) და "snmp-sysdescr" (იღებს სისტემის დეტალურ ინფორმაციას ინტერნეტის სტანდარტული პროტოკოლის მეშვეობით SNMP მოწყობილობების მართვისთვის).
  • dos— ამ კატეგორიის სკრიპტები უნდა იქნას გამოყენებული უკიდურესი სიფრთხილით, რადგან მათ შეუძლიათ სერვისზე უარის თქმა. მათ ხანდახან უსაფრთხოების ტესტერები იყენებენ სისტემის დაუცველობის შესამოწმებლად სერვისზე უარის თქმის შეტევებზე, მაგრამ ასეთ ტესტირებას შეიძლება ჰქონდეს არასასურველი გვერდითი ეფექტები, როგორიცაა ზოგიერთი დაუცველი სერვისის წარუმატებლობა.
  • ექსპლუატაცია— ეს სკრიპტები მიზნად ისახავს კონკრეტული დაუცველობის აქტიურ გამოყენებას. ამ კატეგორიის სკრიპტების მაგალითებია "jdwp-exec" და "http-shellshock".
  • გარე— ამ კატეგორიის სკრიპტებს შეუძლიათ მონაცემების გაგზავნა მესამე მხარეებზე, რომლებიც აკონტროლებენ მონაცემთა ბაზებს ან ქსელის სხვა რესურსებს. ასეთი სკრიპტის მაგალითია „whois-ip“, რომელიც უერთდება WHOIS სერვერებს სამიზნის IP მისამართის შესახებ ინფორმაციის მისაღებად. ყოველთვის შესაძლებელია, რომ მესამე მხარის მონაცემთა ბაზის ოპერატორებმა ჩაიწერონ ყველაფერი, რასაც თქვენ უგზავნით, რაც ხშირ შემთხვევაში შეიცავს ინფორმაციას თქვენი IP მისამართისა და თქვენი სამიზნის IP მისამართის შესახებ. სკრიპტების უმეტესობა, რომლებიც ეხება მხოლოდ ტრაფიკს სკანირებულ კომპიუტერსა და კლიენტს შორის, არ მიეკუთვნება ამ კატეგორიას.
  • ფუზერიარის სკრიპტების კატეგორია, რომელიც შექმნილია თითოეულ პაკეტში სერვერის პროგრამულ უზრუნველყოფაზე მოულოდნელი ან შემთხვევითი ველების გაგზავნისთვის. მიუხედავად იმისა, რომ ეს მეთოდი შეიძლება სასარგებლო იყოს პროგრამულ უზრუნველყოფაში უცნობი შეცდომებისა და დაუცველობის მოსაძებნად, ეს არის ნელი პროცესი, რომელიც ასევე იყენებს ქსელის გამტარობას. ამ კატეგორიის სკრიპტების მაგალითია “dns-fuzz”, რომელიც ბომბავს DNS სერვერს ნაწილობრივ შეცვლილი დომენის მოთხოვნებით, სანამ სერვერი არ გაფუჭდება ან მომხმარებლის მიერ დაწესებული დროის ლიმიტი ამოიწურება.
  • ინტრუზიული— სკრიპტების ამ კატეგორიაში შედის ისეთები, რომლებიც არ შეიძლება იყოს კლასიფიცირებული, როგორც უსაფრთხო, რადგან რისკები ძალიან მაღალია, რომ სამიზნე სისტემა დაიშალოს მათი ზეწოლის ქვეშ, საჭიროებს მნიშვნელოვან რესურსებს სამიზნე ჰოსტზე (მაგალითად, გამტარუნარიანობა ან CPU დრო) ან სხვაგვარად, მათი შესრულება იქნება აღქმული სამიზნე სისტემის ადმინისტრატორების მიერ, როგორც მავნე მოქმედება. ასეთი სკრიპტების მაგალითებია „http-open-proxy“ (რომელიც ცდილობს გამოიყენოს სამიზნე სერვერი, როგორც HTTP პროქსი) და „snmp-brute“ (რომელიც ცდილობს გამოიცნოს SNMP მოწყობილობების ე.წ. „საზოგადოების სტრიქონი“ მათი გაგზავნით. პოპულარული ღირებულებები, როგორიცაა საჯარო, კერძო და ცისკო). თუ სკრიპტი არ მიეკუთვნება სპეციალური ვერსიის კატეგორიას, ის უნდა იყოს კლასიფიცირებული, როგორც უსაფრთხო ან ინტრუზიული.
  • მავნე პროგრამა- ეს სკრიპტები ამოწმებენ, არის თუ არა სამიზნე პლატფორმა ინფიცირებული მავნე პროგრამაან უკანა კარები. ამ კატეგორიის სკრიპტების მაგალითებია "smtp-strangeport", რომელიც მონიტორინგს უწევს SMTP სერვერებს, რომლებიც მუშაობენ უჩვეულო პორტის ნომრებზე და "auth-spoof", რომელიც აღმოაჩენს გაყალბებულ იდენტიფიცირებულ დემონებს (მომხმარებლის ავტორიზაციის პროტოკოლის მხარდაჭერას), რომელიც ჯერ კიდევ იძლევა ყალბ პასუხს. მოთხოვნის მიღებამდე. როგორც პირველ, ასევე მეორე მაგალითში, ასეთი ქცევა, თუ აღმოჩენილია, ჩვეულებრივ არის იმის ნიშანი, რომ სისტემა ინფიცირებულია მავნე პროგრამით.
  • უსაფრთხო— ყველა სკრიპტი, რომელიც არ არის შექმნილი სერვისის წარუმატებლობის გამოწვევისთვის, დიდი რაოდენობით ქსელის გამტარუნარიანობის ან სხვა რესურსების გამოყენების მიზნით და არ იყო მიმართული უსაფრთხოების ხვრელების გამოყენებაზე, კატეგორიზებულია უსაფრთხოდ. ნაკლებად სავარაუდოა, რომ ისინი მიიპყრობენ დისტანციური ადმინისტრატორების ყურადღებას, თუმცა (როგორც სხვა Nmap ფუნქციების შემთხვევაში), ასი პროცენტით გარანტირებული არ არის, რომ ისინი არასოდეს მიიპყრობენ დისტანციური ადმინისტრატორების ყურადღებას. ამ სკრიპტების უმეტესობა ასრულებს დავალებებს, რომლებიც დაკავშირებულია ქსელის ზოგად ძიებასთან. ამ კატეგორიის სკრიპტების მაგალითებია "ssh-hostkey" (იღებს ჰოსტის SSH კლავიშს) და "html-title" (იღებს სათაურს ვებ გვერდიდან). სკრიპტები ვერსიის კატეგორიიდან არ არის კატეგორიზებული, როგორც უსაფრთხო, მაგრამ სხვა სკრიპტები, რომლებიც არ არის უსაფრთხო, უნდა განისაზღვროს, როგორც ინტრუზიული.
  • ვერსია- ამ სპეციალური კატეგორიის სკრიპტები არის ვერსიის ამოცნობის ფუნქციის გაფართოება და მათი ცალსახად შერჩევა შეუძლებელია. ისინი არჩეულია გასაშვებად მხოლოდ მაშინ, როდესაც მოთხოვნილი იქნება Nmap ვერსიის განსაზღვრა (“-sV”). მათი გამომავალი არ შეიძლება განცალკევდეს ვერსიების ფუნქციის გამომავალისგან და ისინი არ მოქმედებენ როგორც ჰოსტის ან სერვისის სკრიპტები. ასეთი სკრიპტების მაგალითებია "skypev2-version", "pptp-version" და "iax2-version".
  • vuln— ამ კატეგორიის სკრიპტები ამოწმებენ კონკრეტული ცნობილი დაუცველობის არსებობას და ჩვეულებრივ აწარმოებენ მხოლოდ იმ შედეგებს, რომლებიც ადასტურებენ, რომ ასეთი დაუცველობა იქნა ნაპოვნი. ასეთი სკრიპტების მაგალითებია "realvnc-auth-bypass" და "afp-path-vuln".

სკრიპტები, მათი ფუნქციური ფოკუსიდან გამომდინარე, ისევე როგორც სკანირების ფაზა, რომლის დროსაც ისინი შესრულებულია, იყოფა ოთხ ტიპად (ზოგიერთ სკრიპტს შეუძლია ერთდროულად რამდენიმე ტიპის ოპერაციების მხარდაჭერა):

  • Prerule სკრიპტები - ამ ტიპის სკრიპტები იწარმოება მანამ, სანამ რაიმე Nmap ოპერაცია მოხდება, რაც იმას ნიშნავს, რომ ისინი შესრულებულია სკანირების ფაზამდე, როდესაც Nmap-ს ჯერ არ აქვს შეგროვებული ინფორმაცია სამიზნის შესახებ. ეს სკრიპტები შეიძლება სასარგებლო იყოს ამოცანების შესასრულებლად, რომლებიც დამოუკიდებელია კონკრეტული სკანირების მიზნებისგან, როგორიცაა სამაუწყებლო მოთხოვნები DHCP და DNS SD სერვერების გამოკითხვაზე. ზოგიერთ ამ სკრიპტს შეუძლია შექმნას ახალი სამიზნეები Nmap სკანირებისთვის (მხოლოდ იმ შემთხვევაში, თუ თქვენ მიუთითებთ NSE არგუმენტს "newtargets"). მაგალითად, "dns-zone-transfer" სკრიპტს შეუძლია მიიღოს IP მისამართების სია დომენში ზონის გადაცემის მოთხოვნის გამოყენებით და შემდეგ ავტომატურად დაამატოთ ისინი Nmap სკანირების სამიზნეების სიაში. Prerule სკრიპტების ტიპის სკრიპტები იდენტიფიცირებულია prerule ფუნქციის გამოყენებით.
  • ჰოსტის სკრიპტები - ეს სკრიპტები იწარმოება სტანდარტული Nmap სკანირების პროცესში, მას შემდეგ, რაც Nmap სკანერი შეასრულებს ნორმალურ ოპერაციებს, როგორიცაა ჰოსტის აღმოჩენა, პორტის სკანირება, ვერსიის აღმოჩენა და OS-ის აღმოჩენა სამიზნე ჰოსტზე. ამ ტიპის სკრიპტის გამოძახება ხდება ერთხელ თითოეული სამიზნე ჰოსტისთვის, რომელიც შეესაბამება მის ჰოსტრულის ფუნქციას. მაგალითები მოიცავს სკრიპტებს "whois-ip", რომელიც ეძებს საკუთრების ინფორმაციას სამიზნე IP მისამართისთვის და "path-mtu", რომელიც ცდილობს განსაზღვროს IP პაკეტის მაქსიმალური ზომა, რომელსაც შეუძლია მიაღწიოს სამიზნეს ფრაგმენტაციის საჭიროების გარეშე.
  • სერვისის სკრიპტები - ამ ტიპის სკრიპტები მუშაობს, როდესაც გარკვეული სერვისები აღმოჩენილია სამიზნე ჰოსტზე. მაგალითად, Nmap მოიცავს 15-ზე მეტ http სერვისის სკრიპტს, რომლებიც გაშვებულია ვებ სერვერებთან მუშაობისთვის. თუ მასპინძელს აქვს ვებ სერვერები, რომლებიც მუშაობენ მრავალ პორტზე, ეს სკრიპტები შეიძლება შესრულდეს მრავალჯერ (თითოეული თითოეული პორტისთვის). ეს არის ყველაზე გავრცელებული ტიპის სკრიპტები Nmap-ში და განსხვავდებიან იმით, რომ შეიცავს პორტულ ფუნქციას, რათა დადგინდეს აღმოჩენილი სერვისებიდან რომელზე უნდა იყოს გამოყენებული სკრიპტი.
  • Postrule სკრიპტები - ამ ტიპის სკრიპტები გაშვებულია ერთხელ, მას შემდეგ, რაც Nmap-მა დაასკანირა ყველა სამიზნე. ისინი შეიძლება სასარგებლო იყოს Nmap სკანერის მიერ მიღებული ინფორმაციის ფორმატირებისა და წარმოდგენისთვის. მაგალითად, „ssh-hostkey“ სკრიპტი უფრო ცნობილია, როგორც სერვისის სკრიპტი (მითითებული პორტულის ფუნქციით), რომელიც უკავშირდება SSH სერვერებს და აღმოაჩენს მათ. საჯარო გასაღებებიდა ბეჭდავს მათ. მაგრამ ის ასევე მოიცავს პოსტრულის ფუნქციას, რომელიც ამოწმებს დუბლიკატულ გასაღებებს ყველა შემოწმებულ ჰოსტს შორის და შემდეგ ბეჭდავს ყველა ნაპოვნი. სკრიპტების გამოყენების კიდევ ერთი პოტენციური მაგალითი ამ ტიპისარის Nmap სკანერის გამოსავლის საპირისპირო ბეჭდვა - მაგალითად, ყველა ჰოსტის ჩამონათვალი, რომლებზეც მუშაობს გარკვეული სერვისი, ვიდრე ყველა ჰოსტის ჩვეულებრივი ჩამონათვალი მათზე გაშვებული სერვისებით. Postrule სკრიპტები იდენტიფიცირებულია postrule ფუნქციის გამოყენებით.

შენიშვნა: ბევრი სკრიპტის გაშვება შესაძლებელია როგორც პრერულეს სკრიპტი, ისე პოსტრულეს სკრიპტის სახით. ამ შემთხვევებში რეკომენდებულია პრერულის ფუნქციის გამოყენება შეუსაბამობის თავიდან ასაცილებლად.

მარადიული პარანოიდი, ანტონ კოჩუკოვი.


აგრეთვე იხილეთ:

  • სერვისებისა და მათი ვერსიების აღმოჩენა
  • OS განმარტება
  • დროისა და პროდუქტიულობის მართვის პარამეტრები
  • სხვადასხვა ვარიანტები
  • ურთიერთქმედება გაშვების დროს
  • მაგალითები
  • ინფორმაცია Nmap სკრიპტებზე (ინგლისურად):

    სტუმრებისგან დამალული


    Nmap დოკუმენტაციის უახლესი ვერსია (ინგლისურად):

    სტუმრებისგან დამალული


    Nmap-ის ოფიციალური წიგნი Nmap-ის შემქმნელებისგან (ინგლისურად):

    სტუმრებისგან დამალული

    პრეამბულა

    nmap - ქსელის საძიებო პროგრამა და პორტის სკანერი

    Nmap ("Network Mapper") არის ღია კოდის ქსელის საძიებო და უსაფრთხოების ტესტირების პროგრამა. იგი შექმნილია დიდი ქსელების სწრაფი სკანირებისთვის, თუმცა ასევე კარგად მუშაობს ცალკეულ სამიზნეებზე. Nmap იყენებს დაუმუშავებელ IP პაკეტებს გენიალური გზებით იმის დასადგენად, თუ რა ჰოსტებია ხელმისაწვდომი ქსელში, რა სერვისებს (აპლიკაციის სახელი და ვერსია) სთავაზობენ, რომელ ოპერაციულ სისტემებს (და OS-ის ვერსიებს) იყენებენ, რა ტიპის პაკეტების ფილტრებს/firewall-ებს იყენებენ. და ათობით სხვა მახასიათებელი. მიუხედავად იმისა, რომ Nmap ჩვეულებრივ გამოიყენება უსაფრთხოების ტესტირებისთვის, ბევრი ქსელი და სისტემის ადმინისტრატორებიეს გამოსადეგია ჩვეულებრივი ამოცანებისთვის, როგორიცაა ქსელის სტრუქტურის მონიტორინგი, სერვისის გაშვების განრიგის მართვა და მასპინძლის ან სერვისის მუშაობის დროის თვალყურის დევნება.

    Nmap გამომავალი არის სკანირებული სამიზნეების სია დამატებითი ინფორმაციათითოეულისთვის, მითითებული ვარიანტების მიხედვით. ძირითადი ინფორმაცია არის "მნიშვნელოვანი პორტების ცხრილი". ეს ცხრილი შეიცავს პორტის ნომერს, პროტოკოლს, სერვისის სახელს და სტატუსს. სტატუსი შეიძლება იყოს ღია, გაფილტრული, დახურული ან გაუფილტრავი. ღია ნიშნავს, რომ აპლიკაცია სამიზნე მანქანაზე მზად არის ამ პორტზე კავშირის დასამყარებლად/მიღებისთვის. გაფილტრული ნიშნავს, რომ firewall, ქსელის ფილტრი ან სხვა ქსელის ჩარევა ბლოკავს პორტს და Nmap-ს არ შეუძლია განსაზღვროს პორტი ღიაა თუ დახურული. დახურული პორტები არ არის დაკავშირებული არცერთ აპლიკაციასთან, ამიტომ მათი გახსნა ნებისმიერ დროს შეიძლება. პორტები განიხილება გაუფილტრავად, როდესაც ისინი პასუხობენ Nmap მოთხოვნებს, მაგრამ Nmap-ს არ შეუძლია განსაზღვროს ისინი ღიაა თუ დახურული. Nmap გამოდის ღია|გაფილტრული და დახურული|გაფილტრული, როდესაც მას არ შეუძლია განსაზღვროს ამ ორი მდგომარეობიდან რომელი აღწერს პორტს. ეს ცხრილი ასევე შეიცავს დეტალებს პროგრამული უზრუნველყოფის ვერსიის შესახებ მოთხოვნის შემთხვევაში. IP პროტოკოლის სკანირებისას (-sO), Nmap გვაწვდის ინფორმაციას მხარდაჭერილი IP პროტოკოლების შესახებ და არა ღია პორტების შესახებ.

    მნიშვნელოვანი პორტების ცხრილის გარდა, Nmap-ს შეუძლია მოგვაწოდოს დამატებითი ინფორმაცია სამიზნეების შესახებ: გადაწყვეტილი DNS სახელები, გამოცნობები გამოყენებული ოპერაციული სისტემის შესახებ, მოწყობილობის ტიპები და MAC მისამართები.

    ტიპიური სკანირება Nmap-ის გამოყენებით ნაჩვენებია მაგალითში 1. ამ მაგალითში გამოყენებული ერთადერთი არგუმენტებია -A, OS-ის ვერსიის, სკრიპტის სკანირებისა და ტრასის დასადგენად; -T4 უფრო სწრაფი შესრულებისთვის; შემდეგ ორი სამიზნე მასპინძელი.

    მაგალითი 1: Nmap-ით სკანირების ტიპიური მაგალითი:

    # nmap -A -T4 scanme.nmap.org სათამაშო მოედანი Nmap-ის დაწყება (https://nmap.org/) საინტერესო პორტები scanme.nmap.org-ზე (64.13.134.52): (1663 პორტები, რომლებიც დასკანირებულია, მაგრამ არ არის ნაჩვენები ქვემოთ, მდგომარეობაშია : გაფილტრული) PORT STATE SERVICE VERSION 22/tcp ღია ssh OpenSSH 3.9p1 (პროტოკოლი 1.99) 53/tcp ღია დომენი 70/tcp დახურული gopher 80/tcp ღია http Apache httpd 2.0.52 ((Fedora3th) Device) 1 დახურულია ტიპი: ზოგადი დანიშნულება გაშვებული: Linux 2.4.X|2.5.X|2.6.X OS დეტალები: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 საინტერესო პორტები playground.nmap.org-ზე (192.168.0.40 ): (1659 პორტი დასკანირებული, მაგრამ არ არის ნაჩვენები ქვემოთ არის მდგომარეობაში: დახურულია) PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp ღია netbios-ssn 389/tcp ღია ldap? 445/tcp ღია microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp ღია windows-icfw? 1025/tcp ღია msrpc Microsoft Windows RPC 1720/tcp ღია H.323/Q.931 CompTek AquaGateKeeper 5800/tcp ღია vnc-http RealVNC 4.0 (რეზოლუცია 400x250; VNC პორტი: 5900col3nct) მისამართი: 00:A0:CC:63:85:4B (Lite-on Communications) მოწყობილობის ტიპი: ზოგადი დანიშნულება გაშვებული: Microsoft Windows NT/2K/XP OS დეტალები: Microsoft Windows XP Pro RC1+ საბოლოო გამოშვებამდე სერვისის ინფორმაცია: OS: Windows , Windows XP Nmap დასრულდა: 2 IP მისამართი (2 ჰოსტის ზემოთ) დასკანირებულია 88,392 წამში

    პარამეტრების შეჯამება

    გამოყენება:
    nmap [სკანირების ტიპ(ებ)ი] [პარამეტრები] (specified_targets)

    სკანირების მიზნის განსაზღვრა:

    შეუძლია მუშაობა ჰოსტის სახელებთან, IP მისამართებთან, ქსელებთან და ა.შ.
    მაგალითად: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
    -ილ<ввести_имя_файла>: იმპორტი ჰოსტის/ქსელის სიიდან
    -iR<количество хостов>: აირჩიეთ შემთხვევითი მიზნები
    - გამორიცხეთ : გამორიცხეთ ჰოსტები/ქსელები
    - გამორიცხეთ ფაილი<файл_с_исключениями>: სიის გამორიცხვა ფაილიდან

    მასპინძლის ამოცნობა:

    SL: სკანირება სიის შესაქმნელად - უბრალოდ შეადგინეთ სამიზნეების სია სკანირებისთვის
    -sn: Ping სკანირება - უბრალოდ დაადგინეთ, მუშაობს თუ არა ჰოსტი
    -Pn: მოეპყარით ყველა ჰოსტს, როგორც ზემოთ - გამოტოვეთ ჰოსტის აღმოჩენა
    -PS/PA/PU/PY[port_list]: TCP SYN/ACK, UDP ან SCTP ping მითითებული ჰოსტებისთვის
    -PE/PP/PM: pinging ICMP echo მოთხოვნების, დროის ანაბეჭდის და ქსელის ნიღბის მოთხოვნების გამოყენებით
    -PO[protocol_list]: pinging IP პროტოკოლის გამოყენებით
    -n/-R: არასოდეს გადაწყვიტო DNS/ყოველთვის გადაჭრა [ნაგულისხმევი: ზოგჯერ]
    -dns-სერვერები<сервер1[,сервер2],…>: დააყენეთ თქვენი საკუთარი DNS სერვერები
    –system-dns: გამოიყენეთ სისტემის DNS გადამწყვეტი
    –traceroute: კვალი (ბილიკის კვალი) თითოეულ მასპინძელს

    სკანირების სხვადასხვა ტექნიკა:

    SS/sT/sA/sW/sM: TCP SYN/სისტემური ზარის გამოყენებით Connect()/ACK/Window/Maimon სკანირება
    -sU: UDP სკანირება
    -sN/sF/sX: TCP Null, FIN და Xmas სკანირება
    - სკანირების დროშები<флаги>: დააყენეთ თქვენი საკუთარი TCP დროშები
    -სი<зомби_хост[:порт]>: უმოქმედო სკანირება
    -sY/sZ: SCTP INIT/COOKIE-ECHO სკანირება
    -sO: IP პროტოკოლის სკანირება
    -ბ : FTP bounce სკანირება

    პორტების განმარტება და სკანირების რიგი:

    პ<диапазон_портов>: მხოლოდ კონკრეტული პორტების სკანირება
    მაგალითი: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
    -F: სწრაფი სკანირება – პორტების შეზღუდული რაოდენობის სკანირება
    -r: პორტების სკანირება თანმიმდევრულად - ნუ მოაწყობთ პორტების შემთხვევითობას
    - ზედა პორტები<количество_портов>: სკანირება<количество_портов>ყველაზე გავრცელებული პორტები
    -პორტის თანაფარდობა<рейтинг>: პორტების სკანირება მეტი რეიტინგით<рейтинг>

    სერვისების და მათი ვერსიების განმარტება:

    SV: გამოიკვლიეთ ღია პორტები სერვისის/ვერსიის ინფორმაციის დასადგენად
    - ვერსია-ინტენსივობა<уровень>: დააყენეთ 0-დან (ადვილი) 9-მდე (სცადეთ ყველა მოთხოვნა)
    –version-light: ლიმიტი ყველაზე მსუბუქი მოთხოვნებით (ინტენსივობა 2)
    – version-all: გამოიყენეთ თითოეული მოთხოვნა (ინტენსივობა 9)
    –version-trace: დაბეჭდეთ დეტალური ინფორმაცია სკანირების პროცესის შესახებ (გამართვისთვის)

    სკანირება სკრიპტების გამოყენებით:

    SC: ექვივალენტური –script=default ვარიანტი
    –სკრიპტი= : ეს არის დირექტორიების, სკრიპტის ფაილების ან სკრიპტის კატეგორიების მძიმით გამოყოფილი სია
    –script-args=<имя1=значение1,[имя2=значение2,…]>: არგუმენტების გადაცემა სკრიპტებზე
    –script-args-file=filename: ფაილის არგუმენტების გადაცემა NSE სკრიპტებში
    –script-trace: ამობეჭდეთ ყველა მიღებული და გაგზავნილი მონაცემი
    –script-updatedb: სკრიპტის მონაცემთა ბაზის განახლება
    –სკრიპტი-დახმარება= : დახმარების ჩვენება სკრიპტების შესახებ. მძიმით გამოყოფილი სკრიპტების სია ან სკრიპტის კატეგორიების სია.

    OS-ის განმარტება:

    O: გააქტიურეთ OS-ის გამოვლენის ფუნქცია
    –osscan-limit: გამოიყენეთ OS-ის გამოვლენის ფუნქცია მხოლოდ „პერსპექტიული“ ჰოსტებისთვის
    –osscan-guess: გამოიცანით OS-ის გამოვლენის შედეგები

    დროისა და პროდუქტიულობის მართვის ვარიანტები:

    ვარიანტები, რომლებიც საჭიროებენ კამათს<время>, მოცემულია მილიწამებში, სანამ მნიშვნელობას არ დაუმატებთ "s" (წამი), "m" (წუთები) ან "h" (საათები) მნიშვნელობას (მაგ. 30 მ).
    -თ<0-5>: დააყენეთ დროის მართვის პარამეტრების შაბლონი (მეტი უფრო სწრაფია)
    – min-hostgroup/max-hostgroup<кол_хостов>: დააყენეთ ჯგუფის ზომა პარალელური სკანირებისთვის
    –მინ-პარალელიზმი/მაქს-პარალელიზმი<кол_хостов>: არეგულირებს მოთხოვნების პარალელიზებას
    –min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout<время>: არეგულირებს მოთხოვნაზე პასუხის მოლოდინის დროს.
    - მაქს-გამეორება<количество_попыток>: ადგენს მოთხოვნის ხელახალი გადაცემის მაქსიმალურ რაოდენობას
    – მასპინძლის დრო-აუტი<время>: წყვეტს ნელი სამიზნეების სკანირებას
    –სკანირება-დაყოვნება/–მაქს-სკანირება-დაყოვნება<время>: არეგულირებს დაყოვნებას მოთხოვნებს შორის
    -მინიმალურ განაკვეთს<число>: გაგზავნეთ მოთხოვნები არანაკლებ ინტენსივობით<число>წამში
    - მაქსიმალური განაკვეთი<число>: გაგზავნეთ მოთხოვნები არაუმეტეს ინტენსივობით<число>წამში

    Firewalls/IDS-ების გვერდის ავლით:

    F; -მტუ<значение>: ფრაგმენტული პაკეტები (სურვილისამებრ მითითებული MTU მნიშვნელობით)
    -დ<фикт_хост1,фикт_хост2[,ME],…>: ნიღბების სკანირება მოჩვენებითი მასპინძლების გამოყენებით
    -ს : შეცვალეთ წყაროს მისამართი
    -ე<интерфейс>: გამოიყენეთ კონკრეტული ინტერფეისი
    -გ/–წყარო-პორტი<номер_порта>: გამოიყენეთ მითითებული პორტის ნომერი
    - მარიონეტები : რელე კავშირები HTTP/SOCKS4 პროქსის საშუალებით
    -მონაცემთა სიგრძე<число>: დაამატეთ თვითნებური მონაცემები გაგზავნილ პაკეტებს
    - ip-ოფციები<опции>: გაგზავნეთ პაკეტი მითითებული IP პარამეტრებით
    -ტტლ<значение>: დააყენეთ IP ველის სიცოცხლის ხანგრძლივობა (სიცოცხლის მანძილზე)
    -სფუფ-მაკ : დააყენეთ თქვენი საკუთარი MAC მისამართი
    –badsum: გაგზავნეთ პაკეტები ყალბი TCP/UDP/SCTP გამშვები ჯამებით

    შედეგების გამომავალი:

    ON/-oX/-oS/-oG გამომავალი შედეგები ნორმალური, XML, s| -oA<базовове_имя_файла>: გამოიყენეთ სამი ძირითადი გამომავალი ფორმატი ერთდროულად
    -v: სიტყვიერი დონის გაზრდა (დააყენეთ ორჯერ ან მეტი ეფექტის გასაზრდელად)
    -d: გამართვის დონის გაზრდა ან დაყენება (9-მდე)
    – მიზეზი: აჩვენეთ პორტის გარკვეულ მდგომარეობაში ყოფნის მიზეზი
    –ღია: მხოლოდ ღია (ან შესაძლოა ღია) პორტების ჩვენება
    –packet-trace: მიღებული და გადაცემული პაკეტების კვალი
    –iflist: ჩამოთვალეთ ინტერფეისები და მარშრუტიზატორები (გამართვისთვის)
    –log-errors: ჩაწერეთ შეცდომები/გაფრთხილებები ნორმალურ რეჟიმში გამომავალ ფაილში
    –append-output: დამატება ბოლომდე, ვიდრე გამომავალი ფაილების გადაწერა
    - რეზიუმე<имя_файла>: გააგრძელეთ შეწყვეტილი სკანირება
    - სტილის ფურცელი<путь/URL>: აყენებს XSL სტილის ფურცელს XML გამომავალი HTML-ში გადასაყვანად
    –webxml: იტვირთება სტილის ფურცელი Nmap.Org-დან
    –no-stylesheet: წაშალეთ XSL სტილის ფურცლის დეკლარაცია XML-დან

    სხვადასხვა ვარიანტები:

    6: ჩართეთ IPv6 სკანირება
    -A: ჩართეთ OS და ვერსიების ამოცნობა, სკრიპტირებული სკანირებისა და მიკვლევის ფუნქციები
    -დატადირი<имя_директории>: განსაზღვრავს Nmap ფაილების მდებარეობას
    –send-eth/–send-ip: გამოიყენეთ ნედლეული Ethernet/IP ფენა
    -პრივილეგირებული: დავუშვათ, რომ მომხმარებელს აქვს ყველა პრივილეგია
    – არაპრივილეგირებული: გულისხმობს, რომ მომხმარებელს არ აქვს პრივილეგიები გამოიყენოს ნედლეული სოკეტები
    -V: დაბეჭდილი ვერსიის ნომერი
    -h: ამ დახმარების გვერდის ჩვენება

    ინტერაქტიული ბრძანებები:

    დახმარება: არ იმუშავებს „sudo nmap“-თან, ამიტომ გამოიყენეთ „sudo –i“
    გაშვებისას შეგიძლიათ მოითხოვოთ nmap შემდეგი კლავიშებით:
    ? აჩვენე ეს ინფორმაცია
    v/V სიტყვიერების გაზრდა/დაკლება
    d/D გაზრდა/შემცირების გამართვა
    p/P ჩართვა/გამორთვა პაკეტის მიკვლევა
    და სხვა გასაღებები, რომლებიც დაიბეჭდება სტატუსში

    მაგალითები:
    სკანირების მიზნის განსაზღვრა

    Nmap ბრძანების ხაზზე, ყველაფერი, რაც არ არის ოფცია (ან ოფციონის არგუმენტი) განიხილება, როგორც სკანირების მიზანი. უმარტივეს შემთხვევაში, სკანირებისთვის გამოიყენება სამიზნე აპარატის IP მისამართი ან ქსელის სახელი.

    ზოგჯერ საჭიროა მთელი ქსელის სკანირება. ამის მისაღწევად, Nmap მხარს უჭერს CIDR მისამართებს. შეგიძლიათ დაამატოთ /<кол-во бит>IP მისამართს ან ქსელის სახელს და Nmap სკანირებს თითოეულ IP მისამართს, რომლისთვისაც პირველი<кол-во бит>იგივე, რაც მითითებული ჰოსტის. მაგალითად, 192.168.10.0/24 სკანირებს 256 ჰოსტს 192.168.10.0 (ორობითი: 11000000 10101000 00001010 00000000) და 192.1651.1001 (ბინარული) შორის 0001010 11111111) ჩათვლით. 192.168.10.40/24 ზუსტად იგივეს გააკეთებს. იმის ცოდნა, რომ scanme.nmap.org-ის IP მისამართია 64.13.134.52, ჩანაწერი, როგორიცაა scanme.nmap.org/16, დაასკანირებს 65,536 IP მისამართს 64.13.0.0-დან 64.13.255.255-მდე. ყველაზე მცირე დასაშვები მნიშვნელობა არის /0, რომლის დროსაც მოხდება მთელი ინტერნეტის სკანირება. უმაღლესი მნიშვნელობა არის /32, რომლის დროსაც დასკანირებული იქნება მხოლოდ მითითებული ჰოსტი ან IP მისამართი, რადგან ყველა მისამართის ბიტი გამორთულია.

    CIDR აღნიშვნა მოკლეა, მაგრამ არა ყოველთვის საკმარისად მოქნილი. მაგალითად, გსურთ დაასკანიროთ 192.168.0.0/16, მაგრამ გამოტოვოთ ყველა IP, რომელიც მთავრდება .0 ან .255, რადგან ეს ჩვეულებრივ სამაუწყებლო მისამართებია. Nmap-ს შეუძლია შეასრულოს ეს სკანირება ოქტეტებში დიაპაზონის მითითებით. ჩვეულებრივი IP მისამართის მითითების ნაცვლად, შეგიძლიათ თითოეული ოქტეტისთვის განსაზღვროთ რიცხვების მძიმით გამოყოფილი სია ან დიაპაზონი. მაგალითად, 192.168.0-255.1-254 გაივლის ყველა მისამართს დიაპაზონში, რომელიც მთავრდება .0 და .255-ით. დიაპაზონები არ უნდა იყოს მითითებული მხოლოდ ბოლო ოქტეტებში: ჩაწერით 0-255.0-255.13.37 დაასკანირებს ყველა ინტერნეტ მისამართს, რომელიც მთავრდება 13.37-ით. ამ ტიპის სკანირება შეიძლება სასარგებლო იყოს ინტერნეტის დასათვალიერებლად და სხვადასხვა კვლევებისთვის.

    IPv6 მისამართების მითითება შესაძლებელია მხოლოდ იმ ფორმით, რომელიც სრულად შეესაბამება IPv6 მისამართების ჩაწერის სწორ ფორმას. CIDR და დიაპაზონების გამოყენება ოქტეტებში არ გამოიყენება IPv6 მისამართებზე, რადგან ისინი იშვიათად გამოიყენება.

    თქვენ შეგიძლიათ გადასცეთ სხვადასხვა სამიზნე განმარტებები Nmap ბრძანების სტრიქონზე, არ არის აუცილებელი იგივე ტიპის. გუნდი nmap scanme.nmap.org 192.168.0.0/16 10.0.0,1,3-7.0-255გააკეთებს იმას, რასაც მოელით.

    სკანირების სამიზნეები, როგორც წესი, მითითებულია ბრძანების სტრიქონზე და არსებობს სხვადასხვა ვარიანტი სამიზნეების შერჩევის გასაკონტროლებლად:

    ილ<имя_файла>(შეყვანა სიიდან)

    კითხულობს სამიზნეებს<имя_файла>. მიუხედავად იმისა, რომ სკანირებისთვის ჰოსტების დიდი სიის წარდგენა ჩვეულებრივია, ეს არ არის მოსახერხებელი. მაგალითად, თქვენი DHCP სერვერი გაძლევთ 10000 მისამართების ჩამონათვალს, რომელსაც ამჟამად იყენებს და გსურთ მისი სკანირება. ან იქნებ გსურთ ყველა IP მისამართის სკანირება, გარდა მათთვის მინიჭებული, სტატიკური IP მისამართების არაავტორიზებული გამოყენების გამოსავლენად. უბრალოდ შექმენით ჰოსტების სია სკანირებისთვის და გადასცეთ ფაილის სახელი Nmap-ს, როგორც არგუმენტი -iL ოფციაში. ფაილში ჩანაწერები შეიძლება იყოს Nmap-ისთვის მისაღები ნებისმიერი ფორმით (IP მისამართები, ქსელის სახელები, CIDR, IPv6 ან ოქტეტის დიაპაზონი). თითოეული ჩანაწერი უნდა იყოს გამოყოფილი ინტერვალით ან მეტით, ჩანართის სიმბოლოებით ან ახალი ხაზის სიმბოლოებით. თქვენ შეგიძლიათ გადასცეთ დეფისი (-) ფაილის სახელის არგუმენტად, თუ გსურთ Nmap-მა წაიკითხოს ჰოსტების სია სტანდარტული შეყვანიდან და არა ფაილიდან.

    IR<кол-во хостов>(ირჩევს შემთხვევით მიზნებს)

    ინტერნეტის სკანირებისთვის ან ნებისმიერი კვლევისთვის, შეიძლება დაგჭირდეთ მიზნების შემთხვევით შერჩევა. არგუმენტი<кол-во хостов>განსაზღვრავს რამდენი IP მისამართის გენერირებას საჭიროებს. შეუსაბამო IP მისამართები, როგორიცაა პირადი, სამაუწყებლო ან არალოკალიზებული მისამართების დიაპაზონი ავტომატურად გამოტოვებულია. არგუმენტი 0 შეიძლება გადაეცეს სკანირებას განუსაზღვრელი ვადით. გაითვალისწინეთ, რომ ზოგიერთი სისტემის ადმინისტრატორს შეიძლება არ მოეწონოს მათი ქსელების არაავტორიზებული სკანირება და შეიძლება უჩივლონ. გამოიყენეთ ეს ვარიანტი საკუთარი რისკის ქვეშ! თუ წვიმიან დღეს მოგწყინდებათ, სცადეთ nmap -sS -PS80 -iR 0 -p 80 შემთხვევითი ვებ სერვერების სკანირებისთვის.

    - გამორიცხეთ<хост1>[,<хост2>[,…]] (ჰოსტების/ქსელების გამორიცხვა)

    განსაზღვრავს მძიმით გამოყოფილი სამიზნეების სიას, რომლებიც გამოირიცხება სკანირებიდან, მაშინაც კი, თუ ისინი თქვენს მიერ მითითებული სკანირების დიაპაზონის ნაწილია. გადაცემული სია იყენებს სტანდარტულ Nmap სინტაქსს, ამიტომ შეიძლება შეიცავდეს ქსელის სახელებს, CIDR მისამართებს, ოქტეტის დიაპაზონებს და ა.შ. ეს პარამეტრი შეიძლება სასარგებლო იყოს, თუ ქსელი, რომლის სკანირებაც გსურთ, შეიცავს სერვერებს ან სისტემებს, რომლებიც უარყოფითად რეაგირებენ პორტების სკანირებაზე, ან სხვა ადამიანების მიერ ადმინისტრირებულ ქვექსელებს.

    - გამორიცხეთ ფაილი<имя_файла>(სიის გამორიცხვა ფაილიდან)

    ეს ოფცია იგივეს აკეთებს როგორც –exclude, გარდა იმისა, რომ გამორიცხული სამიზნეები გამოყოფილია ინტერვალით, ჩანართებით ან ახალი ხაზებით.<файле>, არა ბრძანების ხაზზე.

    © 2024 ermake.ru -- კომპიუტერის შეკეთების შესახებ - საინფორმაციო პორტალი