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

  1. ჰოსტების სკანირება კონკრეტულ პორტებზე

Nmap გვაძლევს საშუალებას შევამოწმოთ მხოლოდ კონკრეტული პორტები  ჰოსტზე. ქვემოთ მოცემულ მაგალითში მოწმდება 21, 22, 80, 443 პორტები

nmap -p 21,22,80,443 tux-pc

nmap -p 21,22,80,443 192.168.1.1

საჭიროებისამებრ შეიძლება შემოწმდეს ასევე პორტების რეინჯი:

nmap -p 122-200 tux-pc

  1. TCP/UDP სკანირება

Nmap შეუძლია ცალ-ცალკე დაასკანიროს TCP და UDP პორტები, გამოიყენოს ცვლადები და ა.შ.

nmap -p -T:20-25, 80, 443 U:53,67,111  192.168.1.1

ზემოთ მოცემულ მაგალითში დასკანირდება 20-25, 80 და 443 TCP პორტი და UDP  53, 67, 111 პორტები 192.168.1.1 ჰოსტზე.

შემდეგ მაგალითში იგივე ჰოსტი დასკანირდება მხოლოდ ყველაზე გავრცელებულ 10 პორტზე

nmap –top-ports 10 192.168.1.1

  1. ქსელის სეგმენტში უბრალოდ ჰოსტების ჩამოთვლა

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

sudo nmap -sn  192.168.1.0/24

როგორც ხედავთ რიგ შემთხვევაში Nmap-ის გაშვება ხდება რუთის (ადმინის) უფლებებით (sudo). ამ კონკრეტულ შემთხვევაში Nmap სხვანაირად უბრალოდ ვერ გააგზავნიდა TCP ACK მოთხოვნას. ამიტომაც თუ ამჩნევთ რომ Nmap რაღაცას ბოლომდე ვერ აკეთებს ცადეთ იმავე ბრძანების რუთის უფლებებით გაშვება.

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

თუ საჭიროა სწრაფი სკანირება მხოლოდ ყველაზე გამოყენებად პორტებზე გამოიყენეთ პარამეტრი -F

nmap  -F 192.168.1.0/24

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

თუ საჭიროა მხოლოდ ღია პორტების ჩვენება გამოიყენეთ პარამეტრი –open

nmap  – – open  tux-pc

  1. პორტის მდგომარეობის მიზეზის დადგენა

მაგალითად კონკრეტული პორტი შეიძლება გახსნილი იყოს კონკრეტული მიზნისთვის (მაგალითად syn-ack). ამ მიზნის დადგენა შეიძლება პარამეტრი –reason გამოყენებით

nmap — reason localhost

  1. ქსელის ინტერფეისების და როუტების ჩვენება

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

  1. nmap-ის სკანირების აგრესიის განსაზღვრა

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

nmap –top-ports 10 -T4 192.168.1.1

  1. ოპერაციული სისტემის დადგენა

წინა პოსტში ჩვენ პრინციპში ვისაუბრეთ ჰოსტის ოპერაციული სისტემის ვერსიის დადგენაზე. თუ საჭიროა ჰოსტების რეინჯის ოპერაციული სისტემების დადგენა გამოიყენეთ პარამეტრი -O

nmap -O 192.168.1.1/24

რიგ შემთხვევაში Nmap-მა შეიძლება  ვერ ცნოს ჰოსტის ოპერაციული სისტემა (მაგალითად ფაირვოლის გამო). ასეთ შემთხვევაში გაუშვით იგივე ბრძანება რუთის უფლებებით და  დამატებით გამოიყენეთ პარამეტრი –osscan-guess. Nmap პროცენტულ შეფარდებაშ გაჩვენებთ თუ სავარაუდოდ რა ოპერაციული სისტემები აყენია ჰოსტზე.

nmap -O –osscan-guess 192.168.1.1/24

 

  1. ზოგი სერვისის ვერსიის გარკვევა

ქსელის უსაფრთხოებისთვის მნიშვნელოვანია რომ სერვისები რომლებიც „გარეთ“ იყურებიან ყოველთვის განახლებულები იყვნენ. იმისთვის რომ გაირკვეს თუ  რა ვერსიებისაა ამა თუ იმ ჰოსტ(ებ)ის ქსელური სერვისები გამოგადგებათ პარამეტრი -sV

nmap -sV  192.168.1.103

  1. თუ ICMP დაბლოკილია…

სტანდარტულად Nmap თავის ძიებებში ეფუძნება ICMP პროტოკოლს („პინგის პროტოკოლი“). შესაბამისად თუ ჰოსტზე დაბლოკილია პინგი, Nmap-ისთვის უნდა გამოიყენოთ ალტერნატიული მეთოდები: TCP SYN  ან TCP ACK. ამ მეთოდებით Nmap-ს შეუძლია დაადგინოს არის თუ არა ჰოსტი ჩართული და ასკანირებს მის პორტებს სტანდარტული TCP შეერთების დამყარების გარეშე. -PS გამოიყენება  TCP SYN-სთვის, ხოლო  -PA TCP-ACK-სთვის. გაითვალისწინეთ რომ პარამეტრსა და პორტი იწერება გადაბმულად, გამოტოვების გამოყენება დაუშვებელია:

sudo nmap -PS22-25, 80,110,8080 192.168.0.101

sudo nmap -PA20-25,80,110,8080 192.168.0.101

 

  1. OS Fingerprints

პროცედურა რომელსაც შეიძლება დავარქვათ ოპერაციულის სისტემის ანაბეჭდების აღებას გულისხმობს დაშორებულ ჰოსტებზე ინფორმაციის პასიურ რეჟიმში შეგროვებას ჩვეულებრივი ქსელური კომუნიკაციების დროს. ეს განსაკუთრებით კარგია თუ საჭიროა რომ ინფორმაცია რაც შეიძლება შეუმჩნევლად შეგროვდეს დაშორებული სისტემის დაცვის მექანიზმებისთვის. Nmap ასეთ მიდგომას TCP connect scan-ს უწოდებს.

nmap -sT 192.168.1.1/24

  1. რა IP პროტოკოლებია დაშვებული დაშორებულ ჰოსტზე?

თუ არსებობს ეჭვი რომ დაშორებულ ჰოსტზე დაბლოკილია გარკვეული პროტოკოლები. ჩვენ -sO პროტოკოლის მეშვეობით შეგვიძლია დავადგინოთ დაშვებული პროტოკოლები. ამ შემთხვევაში ჯობია გამოვიყენოთ -v პარამეტრიც.

nmap -v -sO 192.168.1.1

  1. non-statefull ფაირვოლებისთვის გვერდის ავლა

ფაირვოლებმა იციან Nmap-ის არსებობის შესახებ ცდილობენ მისთვის ინფორმაციის დაბლოკვას. თუმცა ამ სამი თანმიმდევრული ბრძანებით არსებობს non-statefull ფაირვოლისთვის გვერდის ავლის დიდი შანსი.

nmap -sN 192.168.1.1   #null TCP flag -ის გაგზავნა

nmap -sF 192.168.1.1   #FIN bit დაყენება

nmap -sX 192.168.1.1  #დამატებით PSH და URG ბიტების დაყენება