Παρακάτω θα βρείτε 20 βασικά παραδείγματα χρήσης της εντολής Nmap.

Θα μάθετε πώς να χρησιμοποιείτε το Nmap από γραμμή εντολών στο linuxγια αναζήτηση ενεργών κεντρικών υπολογιστών στο δίκτυο και σάρωση ανοιχτών θυρών.

Θα δείτε πώς απομακρυσμένη ανίχνευση λειτουργικού συστήματοςχρησιμοποιώντας δακτυλικά αποτυπώματα στοίβας TCP/IP και πώς ελέγξτε την έκδοση λογισμικούτρέχει σε απομακρυσμένο διακομιστή.

Θα σας δείξω επίσης πώς να χρησιμοποιήσετε το Nmap για υλοποίηση κρυφή σάρωση, πως ορίστε το τείχος προστασίαςΚαι πως αλλαγή διεύθυνσης MAC.

1. Σάρωση μεμονωμένου κεντρικού υπολογιστή ή διεύθυνσης IP

Σάρωση Ξεχωριστή διεύθυνση IP:

$ nmap 192.168.1.1

Σάρωση διακομιστή από Όνομα κεντρικού υπολογιστή:

$ nmap server.site

Αυξάνουν Επίπεδο λεπτομέρειαςαποτελέσματα σάρωσης:

$ nmap -v διακομιστής..site

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. Αναζήτηση για Ενεργούς Υπολογιστές στο Δίκτυο

Χρήσιμες συμβουλές:Σαρώστε το δίκτυο με ένα μόνο εντολές ping! Υπολογίστε όλους τους ενεργούς υπολογιστές!

Σαρώστε το δίκτυο στην αναζήτηση Ενεργοί οικοδεσπότες:

$ 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/Host/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.121, 192.121,2.

Λίστα εξαιρέσεωνοικοδεσπότες που λαμβάνονται από το αρχείο:

$ 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

Σάρωση Port Range:

$ 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. Γρήγορη σάρωση

Θέτω εις ενέργειαν Γρήγορη λειτουργία έρευνα:

$ nmap -F 192.168.1.1

* Σαρώνει λιγότερες θύρες από την κανονική σάρωση.

10. Εμφάνιση Αιτίας κατάστασης θύρας

προβολή λόγος, με το οποίο ο Nmap θεωρεί ότι το λιμάνι βρίσκεται σε μια συγκεκριμένη κατάσταση:

$ nmap -- λόγος 192.168.1.1

11. Εμφάνιση μόνο ανοιχτών θυρών

προβολή Μόνο ανοιχτές θύρες(ή πιθανώς ανοιχτό):

$ nmap --άνοιγμα 192.168.1.1

12. Ορισμός ΛΣ

Ένα από τα πιο διάσημα λειτουργικότηταΤο Nmap είναι μια απομακρυσμένη ανίχνευση λειτουργικού συστήματος που βασίζεται στην ανάλυση της στοίβας TCP/IP.

Το Nmap στέλνει μια σειρά από πακέτα TCP και UDP σε έναν απομακρυσμένο κεντρικό υπολογιστή και εξετάζει τις απαντήσεις.

Μετά την εκτέλεση πολλών δοκιμών, το Nmap συγκρίνει τα αποτελέσματα με τη βάση δεδομένων του και, αν βρει αντιστοιχία, εμφανίζει πληροφορίες σχετικά με το λειτουργικό σύστημα.

Ανάβω Ορισμός λειτουργικού συστήματος:

$ nmap -O 192.168.1.1

13. Προσδιορισμός της Έκδοσης των Υπηρεσιών

Ανάβω Προσδιορισμός της Έκδοσης των Υπηρεσιών:

$ nmap -sV 192.168.1.1

* Καθορίζει τις εκδόσεις των προγραμμάτων που εκτελούνται στον απομακρυσμένο διακομιστή.

14. Ανίχνευση τείχους προστασίας

Μάθετε εάν ο υπολογιστής σας προστατεύεται από κάποιο Φίλτρα πακέτωνή τείχος προστασίας:

$ 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. Σάρωση τείχους προστασίας για ευπάθειες

Αυτοί οι τρεις τύποι σάρωσης χρησιμοποιούν ένα λεπτό κενό στο TCP RFC για να διαχωρίσουν τις ανοιχτές και τις κλειστές θύρες.

Όταν σαρώνεται ένα σύστημα συμβατό με RFC, κάθε πακέτο που δεν περιέχει σύνολο bit SYN, RST ή ACK θα έχει ως αποτέλεσμα την αποστολή RST ως απόκριση εάν η θύρα είναι κλειστή ή δεν θα έχει ως αποτέλεσμα την απόκριση εάν η θύρα είναι ανοιχτή .

Επειδή κανένα από αυτά τα bit δεν έχει οριστεί, τότε οποιοσδήποτε συνδυασμός των υπόλοιπων τριών (FIN, PSH και URG) θα είναι έγκυρος.

TCP Nullέρευνα:

$ nmap -sN 192.168.1.1

* Δεν έχουν οριστεί bit (Σημαίες στην κεφαλίδα TCP 0).

TCP Finέρευνα:

$ nmap -sF 192.168.1.1

* Έχει οριστεί μόνο το bit 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. Απενεργοποιήστε το Host Discovery (Χωρίς Ping)

Μην κάνετε ping σε κεντρικούς υπολογιστές πριν από τη σάρωση:

$ nmap -Pn 192.168.1.1

19. Απενεργοποιήστε τη χρήση DNS

Χρήσιμες συμβουλές:Θέλετε να ενισχύσετε την ασφάλεια στο Linux; Κρυπτογραφήστε την κυκλοφορία DNS για προστασία από πλαστογράφηση!

Ποτέ μην εκτελείτε αντίστροφη ανάλυση DNS για κάθε ενεργή διεύθυνση IP που βρέθηκε.

nmap[ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }

Περιγραφή

nmap(" Χαρτογράφηση δικτύου ») είναι ένα βοηθητικό πρόγραμμα με ανοιχτό πηγαίος κώδικαςγια εξερεύνηση δικτύου και δοκιμές ασφάλειας. Σχεδιάστηκε για γρήγορη σάρωση μεγάλων δικτύων, αν και λειτουργεί καλά και για μεμονωμένους στόχους. Το Nmap χρησιμοποιεί ακατέργαστα πακέτα IP με πρωτότυπο τρόπο για να προσδιορίσει ποιοι κεντρικοί υπολογιστές είναι διαθέσιμοι στο δίκτυο, ποιες υπηρεσίες (όνομα εφαρμογής και έκδοση) προσφέρουν, ποια λειτουργικά συστήματα (και εκδόσεις λειτουργικού συστήματος) χρησιμοποιούν, ποιοι τύποι φίλτρων πακέτων/τείχη προστασίας χρησιμοποιούνται και πολλά άλλα χαρακτηριστικά. Ενώ το Nmap χρησιμοποιείται συνήθως για ελέγχους ασφαλείας, πολλοί διαχειριστές συστημάτων το βρίσκουν χρήσιμο για κοινές εργασίες όπως η παρακολούθηση της δομής του δικτύου, η διαχείριση χρονοδιαγραμμάτων εκκίνησης υπηρεσιών και η παρακολούθηση του χρόνου λειτουργίας του κεντρικού υπολογιστή ή της υπηρεσίας.

Η έξοδος του Nmap είναι μια λίστα σαρωμένων στόχων με Επιπλέον πληροφορίεςγια καθένα από αυτά ανάλογα με τις επιλογές που δίνονται. Οι βασικές πληροφορίες είναι « πίνακας σημαντικών λιμένων» . Αυτός ο πίνακας περιέχει τον αριθμό θύρας, το πρωτόκολλο, το όνομα υπηρεσίας και την κατάσταση. Η κατάσταση μπορεί να είναι ανοιχτή (ανοικτή), φιλτραρισμένη (φιλτραρισμένη), κλειστή (κλειστή) ή μη φιλτραρισμένη (μη φιλτραρισμένη). Άνοιγμα σημαίνει ότι η εφαρμογή στο μηχάνημα προορισμού είναι έτοιμη για σύνδεση/λήψη πακέτων σε αυτήν τη θύρα. Φιλτραρισμένο σημαίνει ότι το τείχος προστασίας, φίλτρο δικτύου, ή κάποια άλλη παρεμβολή δικτύου μπλοκάρει τη θύρα και το Nmap δεν μπορεί να προσδιορίσει εάν η θύρα είναι ανοιχτή ή κλειστή. Οι κλειστές θύρες δεν σχετίζονται με καμία εφαρμογή, αλλά μπορούν να ανοίξουν ανά πάσα στιγμή. Οι θύρες θεωρούνται μη φιλτραρισμένες όταν ανταποκρίνονται σε αιτήματα Nmap, αλλά το Nmap δεν μπορεί να πει αν είναι ανοιχτές ή κλειστές. Το Nmap δημιουργεί συνδυασμούς ανοιχτού | φιλτραρισμένου και κλειστού | φιλτραρισμένου όταν δεν μπορεί να προσδιορίσει ποια από τις δύο καταστάσεις περιγράφει η θύρα. Αυτός ο πίνακας μπορεί επίσης να παρέχει λεπτομέρειες για την έκδοση λογισμικού εάν ζητηθεί. Κατά τη σάρωση μέσω πρωτοκόλλου IP (-sO), το Nmap παρέχει πληροφορίες σχετικά με υποστηριζόμενα πρωτόκολλα, όχι για ανοιχτές θύρες.

Εκτός από έναν πίνακα σημαντικών θυρών, το Nmap μπορεί να παρέχει περαιτέρω πληροφορίες στόχου: επιλυμένα ονόματα DNS, εικασία λειτουργικού συστήματος, τύπους συσκευών και διευθύνσεις MAC.

Μια τυπική σάρωση με χρήση Nmap φαίνεται στο Παράδειγμα 1. Τα μόνα ορίσματα που χρησιμοποιούνται σε αυτό το παράδειγμα είναι -A , για έκδοση λειτουργικού συστήματος, σάρωση με σενάριο και ανίχνευση. -T4 για ταχύτερη εκτέλεση. στη συνέχεια δύο κεντρικοί υπολογιστές-στόχοι.

Παράδειγμα 1. Χαρακτηριστικό παράδειγμα σάρωσης με Nmap

# nmap -A -T4 scanme..org) Ενδιαφέρουσες θύρες στο scanme.site (64.13.134.52): (Οι 1663 θύρες που σαρώθηκαν αλλά δεν εμφανίζονται παρακάτω είναι σε κατάσταση: φιλτραρισμένες) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 3.91 (πρωτόκολλο 1.99) 53/tcp ανοιχτός τομέας 70/tcp κλειστός gopher 80/tcp ανοιχτός httpd Apache httpd 2.0.52 ((Fedora)) 113/tcp κλειστός έλεγχος ταυτότητας Τύπος συσκευής: γενικής χρήσης Εκτέλεση: Linux 2.4.X|2.5.X| Λεπτομέρειες λειτουργικού συστήματος 2.6.X: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 Ενδιαφέρουσες θύρες στην παιδική χαρά..168.0.40): (Οι 1659 θύρες που σαρώθηκαν αλλά δεν εμφανίζονται παρακάτω είναι σε κατάσταση: κλειστές) ΘΥΡΑ ΚΡΑΤΙΚΗ ΥΠΗΡΕΣΙΑ ΕΚΔΟΣΗ 135/tcp open msrpc Microsoft Windows RPC 139/tcp ανοιχτό netbios-ssn 389/tcp ανοιχτό ldap; 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 1002/tcp open 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: 590000000000/0000/0000/0000000000/0000000000000000000) Διεύθυνση: 00:A0:CC:63:85:4B (Lite-on Communications) Τύπος συσκευής: γενικής χρήσης Σε λειτουργία: Microsoft Windows NT/2K/XP Λεπτομέρειες λειτουργικού συστήματος: Microsoft Windows XP Pro RC1+ έως την τελική έκδοση Πληροφορίες υπηρεσίας: ΛΣ: Windows , Windows XP Nmap ολοκληρώθηκε: 2 διευθύνσεις IP (2 κεντρικοί υπολογιστές επάνω) σαρώθηκαν σε 88.392 δευτερόλεπτα


πλέον νέα έκδοσηΜπορείτε να κάνετε λήψη του Nmap από

Υπάρχουν τέσσερις τύποι σεναρίων NSE, και συγκεκριμένα:

  • Σενάρια προκαθορισμού– είναι σενάρια που εκτελούνται πριν από οποιαδήποτε από τις λειτουργίες σάρωσης του Nmap, εκτελούνται όταν το Nmap δεν έχει συγκεντρώσει ακόμη πληροφορίες σχετικά με έναν στόχο.
  • σενάρια υποδοχής– είναι σενάρια που εκτελούνται αφού το Nmap έχει εκτελέσει κανονικές λειτουργίες όπως εντοπισμός κεντρικού υπολογιστή, σάρωση θυρών, ανίχνευση έκδοσης και ανίχνευση λειτουργικού συστήματος έναντι ενός κεντρικού υπολογιστή-στόχου.
  • Σενάρια υπηρεσίας– είναι σενάρια που εκτελούνται έναντι συγκεκριμένων υπηρεσιών που ακούν σε έναν κεντρικό υπολογιστή-στόχο.
  • Σενάρια posturle– τα σενάρια εκτελούνται αφού το Nmap έχει σαρώσει όλους τους κεντρικούς υπολογιστές-στόχους του.

Στη συνέχεια, αυτά τα σενάρια ομαδοποιούνται σε διάφορες κατηγορίες, συμπεριλαμβανομένων εκείνων για έλεγχο ταυτότητας ( auth), ανακάλυψη οικοδεσποτών ( αναμετάδοση), επιθέσεις ωμής βίας για να μαντέψουν τα διαπιστευτήρια ελέγχου ταυτότητας ( κτήνος), ανακαλύπτοντας περισσότερα για ένα δίκτυο ( ανακάλυψη), προκαλώντας άρνηση παροχής υπηρεσιών ( dos), εκμεταλλευόμενη κάποια ευπάθεια ( εκμεταλλεύομαι), και τα λοιπά. Ένας αριθμός σεναρίων ανήκει στην προεπιλεγμένη κατηγορία.

Σημείωση: Προτού προχωρήσουμε περαιτέρω, θα πρέπει να σημειώσετε αυτά τα βασικά σημεία:

  • Μην εκτελείτε σενάρια από τρίτους χωρίς να τα κοιτάξετε κριτικά ή μόνο εάν εμπιστεύεστε τους δημιουργούς. Αυτό συμβαίνει επειδή αυτά τα σενάρια δεν εκτελούνται σε sandbox και έτσι θα μπορούσαν απροσδόκητα ή κακόβουλα να βλάψουν το σύστημά σας ή να εισβάλουν στο απόρρητό σας.
  • Δεύτερον, πολλά από αυτά τα σενάρια ενδέχεται να εκτελούνται είτε ως α προκανόναςή μετακανονισμόςγραφή. Λαμβάνοντας υπόψη αυτό, συνιστάται η χρήση ενός κανόνα για λόγους συνέπειας.
  • Το Nmap χρησιμοποιεί το scripts/script.dbβάση δεδομένων για να υπολογίσετε τα διαθέσιμα προεπιλεγμένα σενάρια και κατηγορίες.

Για να δείτε τη θέση όλων των διαθέσιμων σεναρίων NSE, εκτελέστε το στο τερματικό, ως εξής:

$ εντοπίστε *.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 target #load προεπιλεγμένων σεναρίων Ή $ nmap --script όνομα αρχείου|κατηγορία|κατάλογος|έκφραση,... στόχος

Μπορείςδείτε μια περιγραφή ενός σεναρίου με την επιλογή --script-help. Επιπλέον, μπορείτε να μεταβιβάσετε ορίσματα σε ορισμένα σενάρια μέσω των επιλογών --script-args και --script-args-file, το τελευταίο χρησιμοποιείται για την παροχή ενός ονόματος αρχείου αντί για μια γραμμή εντολών arg.

Για να εκτελέσετε μια σάρωση με τα περισσότερα από τα προεπιλεγμένα σενάρια, χρησιμοποιήστε τη σημαία -sC ή εναλλακτικά χρησιμοποιήστε το --script=default όπως φαίνεται.

$ nmap -sC scanme.nmap.org Ή $ nmap --script=default scanme.nmap.org Ή $ nmap --script default scanme.nmap.org

εξόδου δείγματος
Έναρξη του Nmap 7.01 (https://nmap.org) στις 15/11/2017 10:36 IST Αναφορά σάρωσης Nmap για το scanme.nmap.org (45.33.32.156) Ο κεντρικός υπολογιστής έχει ανέβει (0,0027s latency). Δεν εμφανίζεται: 999 φιλτραρισμένες θύρες PORT STATE SERVICE 80/tcp open 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) στις 15-11-2017 10:37 IST http-headers Κατηγορίες: ασφαλής εντοπισμός https://nmap.org/nsedoc/scripts/http-headers.html Εκτελεί αίτημα HEAD για τον ριζικό φάκελο ("/") ενός διακομιστή web και εμφανίζει τις επιστρεφόμενες κεφαλίδες HTTP.

Φόρτωση σεναρίων NSE για την εκτέλεση σαρώσεων Nmap

Μπορείτε να επιλέξετε ή να φορτώσετε σενάρια για να εκτελέσετε σάρωση με διαφορετικές μεθόδους που εξηγούνται παρακάτω.

Χρήση ονόματος σεναρίου

Μόλις μάθετε τι κάνει ένα σενάριο, μπορείτε να εκτελέσετε μια σάρωση χρησιμοποιώντας το. Μπορείτε να χρησιμοποιήσετε ένα σενάριο ή να εισαγάγετε μια λίστα ονομάτων σεναρίων διαχωρισμένη με κόμματα. Η παρακάτω εντολή θα σας επιτρέψει να προβάλετε τις κεφαλίδες HTTP που έχουν ρυθμιστεί στον διακομιστή ιστού στον κεντρικό υπολογιστή προορισμού.

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

Σάρωση κεφαλίδων HTTP

Έναρξη του Nmap 7.01 (https://nmap.org) στις 15-11-2017 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 κεφαλίδες: | Ημερομηνία: Τετ, 15 Νοε 2017 05:10:04 GMT | Διακομιστής: Apache/2.4.7 (Ubuntu) | Αποδοχή-Εύρος: bytes | Διακύμανση: Αποδοχή-Κωδικοποίηση | Σύνδεση: κλείσιμο | Τύπος περιεχομένου: text/html | |_ (Τύπος αιτήματος: HEAD) 179/tcp φιλτραρισμένο bgp 31337/tcp ανοιχτό Elite Nmap ολοκληρωμένο: 1 διεύθυνση IP (1 κεντρικός υπολογιστής επάνω) σαρώθηκε σε 20,96 δευτερόλεπτα

Χρήση κατηγοριών

Μπορείτε επίσης να φορτώσετε σενάρια από μία κατηγορία ή από μια λίστα κατηγοριών διαχωρισμένων με κόμματα. Σε αυτό το παράδειγμα, χρησιμοποιούμε όλα τα σενάρια στην κατηγορία προεπιλογής και εκπομπής για να πραγματοποιήσουμε σάρωση στον κεντρικό υπολογιστή 192.168.56.1 .

$ nmap --προεπιλογή script,μετάδοση 192.168.56.1

Χρησιμοποιώντας *μπαλαντέρ

Αυτό είναι χρήσιμο όταν θέλετε να επιλέξετε σενάρια με ένα συγκεκριμένο μοτίβο ονόματος. Για παράδειγμα, για να φορτώσετε όλα τα σενάρια με ονόματα που ξεκινούν από ssh, εκτελέστε την παρακάτω εντολή στο τερματικό:

$ nmap --script "ssh-*" 192.168.56.1

Χρήση Boolean εκφράσεων

Μπορείτε επίσης να επιλέξετε σενάρια χρησιμοποιώντας εκφράσεις boolean που μπορείτε να δημιουργήσετε χρησιμοποιώντας το και, ή, και δενχειριστές. Και τα ονόματα σε μια έκφραση Boole μπορεί να είναι μια κατηγορία, ένα όνομα αρχείου από script.db, ή όλα.

Η ακόλουθη εντολή θα φορτώσει σενάρια από τις προεπιλεγμένες κατηγορίες ή τις κατηγορίες εκπομπής.

$ nmap --script "προεπιλογή ή μετάδοση" 192.168.56.10

Που ισοδυναμεί με:

$ nmap --προεπιλογή script,μετάδοση 192.168.56.10

Για να φορτώσετε όλα τα σενάρια παραλείποντας αυτά στο vulnκατηγορία, εκτελέστε αυτήν την εντολή στο τερματικό.

$ nmap --script "not vuln" 192.168.56.10

Η επόμενη εντολή φαίνεται λίγο περίπλοκη αλλά είναι εύκολη στην κατανόηση, επιλέγει σενάρια στις προεπιλεγμένες κατηγορίες ή τις κατηγορίες εκπομπής, αφήνοντας έξω εκείνα με ονόματα που ξεκινούν με ssh-:

$ nmap --script "(προεπιλογή ή εκπομπή) και όχι ssh-*" 192.168.56.10

Είναι σημαντικό ότι είναι δυνατός ο συνδυασμός κατηγοριών, ονομάτων σεναρίων, ενός καταλόγου που περιέχει τα προσαρμοσμένα σενάρια ή μιας έκφρασης boolean για τη φόρτωση σεναρίων, όπως αυτό:

$ nmap --εκπομπή script,vuln,ssh-auth-methods,/path/to/custom/scripts 192.168.56.10

Μετάδοση επιχειρημάτων σε σενάρια NSE

Παρακάτω είναι ένα παράδειγμα που δείχνει πώς να μεταβιβάζετε ορίσματα σε σενάρια με το --script-argsεπιλογή:

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

Αυτό είναι προς το παρόν. Μπορείτε να βρείτε περισσότερες πληροφορίες στη σελίδα man του nmap ή να ανατρέξετε στη Χρήση NSE.

Για να ξεκινήσετε να γράφετε τα δικά σας σενάρια NSE, ανατρέξτε σε αυτόν τον οδηγό: https://nmap.org/book/nse-tutorial.html

συμπέρασμα

nmapείναι ένα πραγματικά ισχυρό και χρήσιμο εργαλείο που χρειάζεται κάθε διαχειριστής συστήματος ή δικτύου στο οπλοστάσιό του – NSEαπλά προσθέτει περισσότερη αποτελεσματικότητα σε αυτό.

Σε αυτό το άρθρο, σας παρουσιάσαμε το Μηχανή σεναρίων Nmap, και εξέτασε πώς να βρείτε και να χρησιμοποιήσετε τα διάφορα διαθέσιμα σενάρια σε διαφορετικές κατηγορίες. Εάν έχετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να μας γράψετε μέσω της παρακάτω φόρμας σχολίων.

Το Nmap είναι ένας πολύ δημοφιλής δικτυακός σαρωτής ανοιχτού κώδικα που μπορεί να χρησιμοποιηθεί τόσο σε Windows όσο και σε Linux. Το πρόγραμμα Nmap ή Network Mapper αναπτύχθηκε από τον Gordon Luon και αυτή τη στιγμήχρησιμοποιείται από επαγγελματίες ασφαλείας και διαχειριστές συστημάτων σε όλο τον κόσμο.

Αυτό το πρόγραμμα βοηθά τους διαχειριστές συστήματος να κατανοήσουν πολύ γρήγορα ποιοι υπολογιστές είναι συνδεδεμένοι στο δίκτυο, να ανακαλύψουν τα ονόματά τους και επίσης να δουν ποιο λογισμικό είναι εγκατεστημένο σε αυτούς, ποιο λειτουργικό σύστημα και ποιοι τύποι φίλτρων εφαρμόζονται. Η λειτουργικότητα του προγράμματος μπορεί να επεκταθεί με τη δική του γλώσσα σεναρίου, η οποία επιτρέπει στους διαχειριστές να αυτοματοποιούν πολλές ενέργειες.

Για παράδειγμα, τα σενάρια μπορούν να εντοπίσουν αυτόματα νέα τρωτά σημεία ασφαλείας στο δίκτυό σας. Το Namp μπορεί να χρησιμοποιηθεί με καλές ή κακές προθέσεις, προσέξτε να μην χρησιμοποιήσετε το nmap ενάντια στο νόμο. Σε αυτό το σεμινάριο, θα δούμε πώς να χρησιμοποιήσετε το namp για τη σάρωση θυρών στο λειτουργικό σύστημα Linux. Αλλά πρώτα πρέπει να προσπαθήσετε να καταλάβετε πώς λειτουργεί αυτό το βοηθητικό πρόγραμμα.

Στα δίκτυα υπολογιστών, όλες οι συνδεδεμένες συσκευές έχουν τη δική τους διεύθυνση IP. Κάθε υπολογιστής υποστηρίζει το πρωτόκολλο ping, το οποίο μπορεί να χρησιμοποιηθεί για να προσδιοριστεί εάν είναι συνδεδεμένος στο δίκτυο. Απλώς στέλνουμε ένα αίτημα ping στον υπολογιστή και αν ανταποκριθεί, υποθέτουμε ότι είναι συνδεδεμένος. Το Nmap ακολουθεί μια ελαφρώς διαφορετική προσέγγιση. Οι υπολογιστές αντιδρούν επίσης με συγκεκριμένο τρόπο σε συγκεκριμένα πακέτα δικτύου, το βοηθητικό πρόγραμμα απλώς στέλνει τα απαραίτητα πακέτα και εξετάζει ποιοι κεντρικοί υπολογιστές έστειλαν την απάντηση.

Αλλά μάλλον γνωρίζετε ήδη για αυτό. Πιο ενδιαφέρον είναι πώς το Nmap γνωρίζει ποιες υπηρεσίες εκτελούνται στο μηχάνημα. Η ουσία της εργασίας όλων των προγραμμάτων δικτύου βασίζεται στις θύρες. Για να λάβετε ένα μήνυμα από το δίκτυο, το πρόγραμμα πρέπει να ανοίξει μια θύρα στον υπολογιστή σας και να περιμένει τις εισερχόμενες συνδέσεις. Και για να στείλετε ένα μήνυμα μέσω του δικτύου, πρέπει να συνδεθείτε σε άλλη θύρα προγράμματος (προορισμού). Στη συνέχεια, το πρόγραμμα θα χρειαστεί να ανοίξει μια θύρα στην οποία θα περιμένει απάντηση.

Το βοηθητικό πρόγραμμα nmap επαναλαμβάνεται μέσω του διαθέσιμου εύρους θυρών κατά τη διάρκεια μιας σάρωσης δικτύου και προσπαθεί να συνδεθεί σε καθεμία από αυτές. Εάν η σύνδεση είναι επιτυχής, στις περισσότερες περιπτώσεις, στέλνοντας πολλά πακέτα, το πρόγραμμα μπορεί ακόμη και να ανακαλύψει την έκδοση του λογισμικού που περιμένει για συνδέσεις σε αυτήν τη θύρα. Τώρα που καλύψαμε τα βασικά, ας δούμε πώς να χρησιμοποιήσετε το nmap για σάρωση θυρών και δικτύου.

Σύνταξη Nmap

Η εντολή εκκίνησης Nmap είναι πολύ απλή, απλώς μεταβιβάστε τη διεύθυνση IP ή το δίκτυο προορισμού στις παραμέτρους και καθορίστε τις επιλογές εάν είναι απαραίτητο:

Επιλογές διεύθυνσης $ nmap

Τώρα ας δούμε τις κύριες επιλογές που θα χρειαστούμε σε αυτό το άρθρο.

  • -σλ- απλώς δημιουργήστε μια λίστα με κεντρικούς υπολογιστές που εκτελούνται, αλλά μην σαρώνετε τις θύρες nmap.
  • -sP- ελέγξτε μόνο εάν ο κεντρικός υπολογιστής είναι προσβάσιμος χρησιμοποιώντας ping.
  • -ΠΝ- θεωρήστε όλους τους κεντρικούς υπολογιστές διαθέσιμους, ακόμα κι αν δεν ανταποκρίνονται στο ping.
  • -sS/sT/sA/sW/sM- Σάρωση TCP.
  • -sU- nmap σάρωσης UDP.
  • -sN/sF/sX- Σάρωση TCP NULL και FIN.
  • -sC- εκτελέστε το προεπιλεγμένο σενάριο.
  • -σι- τεμπέλης ανενεργή σάρωση.
  • - καθορίστε το εύρος των θυρών που θα ελέγξετε.
  • -sV- λεπτομερής μελέτη των λιμένων για τον προσδιορισμό των εκδόσεων των υπηρεσιών.
  • - να καθορίσει το λειτουργικό σύστημα.
  • - ταχύτητα σάρωσης, όσο περισσότερη, τόσο πιο γρήγορη.
  • -ΡΕ- σάρωση μάσκας με χρήση εικονικών IP.
  • -ΜΙΚΡΟ- αλλάξτε τη διεύθυνση IP σας στην καθορισμένη.
  • -μι- Χρησιμοποιήστε μια συγκεκριμένη διεπαφή.
  • --spoof-mac- ορίστε τη διεύθυνση 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 ως κύριο λειτουργικό σύστημα. Εκτός από το Linux, με ενδιαφέρουν ό,τι σχετίζεται με την πληροφορική και τη σύγχρονη επιστήμη.

Το Nmap είναι ένας σαρωτής λατρείας που σχεδόν κανένας χάκερ δεν μπορεί να κάνει χωρίς, οπότε το θέμα της επέκτασης των δυνατοτήτων του, νομίζω, ενδιαφέρει πολλούς. Η χρήση άλλων εργαλείων σε συνδυασμό με το Nmap είναι μια κοινή πρακτική. Αυτό το άρθρο θα μιλήσει για το πώς να αυτοματοποιήσετε εύκολα το Nmap με τα αγαπημένα σας εργαλεία. Είναι πιο βολικό να "πατήσετε ένα κουμπί" και να έχετε το αποτέλεσμα παρά να κάνετε συνεχώς την ίδια σειρά ενεργειών. Η χρήση σεναρίων στο Nmap μπορεί να βοηθήσει τους χάκερ να χακάρουν συστήματα πιο αυτόματα και οι sysadmin μπορούν να ελέγχουν τα συστήματα για προεπιλεγμένες τρύπες και να τα διορθώνουν εγκαίρως.

Λίγα λόγια για το Nmap

Είμαι βέβαιος ότι οι περισσότεροι αναγνώστες του περιοδικού Hacker γνωρίζουν τι είναι το Nmap και πιθανώς το έχουν χρησιμοποιήσει περισσότερες από μία φορές για να εξερευνήσουν το δίκτυο και να συλλέξουν πληροφορίες. Για όσους το έχουν ξεχάσει ή δεν το γνωρίζουν, για κάθε ενδεχόμενο, να σας υπενθυμίσω:

  • Το Nmap είναι ένα εργαλείο πολλαπλών πλατφορμών για τη σάρωση του δικτύου, τον έλεγχο της ασφάλειάς του, τον προσδιορισμό εκδόσεων λειτουργικού συστήματος και διαφόρων υπηρεσιών και πολλά άλλα. Αυτό είναι ένα πολύ ευέλικτο και εύκολα επεκτάσιμο βοηθητικό πρόγραμμα και η μηχανή δέσμης ενεργειών NSE το κάνει έτσι.
  • Το NSE (Nmap Scripting Engine) είναι ένα ισχυρό στοιχείο Nmap που επιτρέπει στους χρήστες να γράφουν σενάρια για να αυτοματοποιούν ένα ευρύ φάσμα εργασιών δικτύου: πιο ευέλικτη αλληλεπίδραση με τις υπάρχουσες δυνατότητες Nmap, ανίχνευση και εκμετάλλευση τρωτών σημείων και πολλά άλλα. Το NSE βασίζεται στον διερμηνέα γλώσσας Lua.
  • Η Lua είναι μια γλώσσα δέσμης ενεργειών παρόμοια με την JavaScript.

Διατύπωση του προβλήματος

Όπως ήδη αναφέρθηκε, σήμερα θα επεκτείνουμε τη λειτουργικότητα του Nmap γράφοντας τα δικά μας σενάρια. Οποιοδήποτε hack/pentest ξεκινά συνήθως με αναγνώριση και συλλογή δεδομένων. Ένας από τους πρώτους ελέγχους είναι η παρουσία ανοιχτών θυρών στον υπό μελέτη κεντρικό υπολογιστή και η αναγνώριση των υπηρεσιών που εκτελούνται. Το καλύτερο εργαλείονα συλλέξει τέτοιες πληροφορίες από το Nmap, ίσως όχι. Το επόμενο βήμα μετά τη σάρωση είναι συνήθως είτε η αναζήτηση ενός sploit για την ευάλωτη υπηρεσία που βρέθηκε είτε η επιλογή ενός ζεύγους σύνδεσης:κωδικός πρόσβασης χρησιμοποιώντας τη μέθοδο brute force.

Ας υποθέσουμε ότι χρησιμοποιείτε ενεργά το THC-Hydra brute-forcer για να μαντέψετε τους κωδικούς πρόσβασης πολλών υπηρεσιών (για παράδειγμα, HTTP-Basic, SSH, MySQL). Σε αυτήν την περίπτωση, πρέπει να ρυθμίσετε το hydra σε κάθε υπηρεσία ξεχωριστά, πρέπει να θυμάστε τα χαρακτηριστικά των υπηρεσιών και τις σημαίες που είναι απαραίτητες για την εκκίνηση του hydra. Και αν καταστεί αναγκαίο να γίνουν πολύ περισσότερες από πέντε υπηρεσίες; .. Γιατί να μην το αυτοματοποιήσετε;

Επομένως, ας γράψουμε ένα απλό σενάριο που θα αυτοματοποιεί τη διαδικασία εκκίνησης του Hydra για την επιλογή συνδέσεων / κωδικών πρόσβασης για μία υπηρεσία (για παράδειγμα, PostgreSQL). Για αυτό χρειαζόμαστε τα ακόλουθα εργαλεία:

Εάν δεν έχετε ήδη εγκαταστήσει το Nmap ή/και το Hydra, διορθώστε το αμέσως:

$ sudo apt-get install nmap hydra

Εντάξει, ας ξεκινήσουμε. Τα σενάρια για το Nmap είναι τα συνηθισμένα αρχεία κειμένουμε επέκταση *.nse. Ανοίξτε λοιπόν τον αγαπημένο σας επεξεργαστή κειμένου και δημιουργήστε ένα νέο αρχείο. Θα χρησιμοποιήσω το Vim:

$ vim ύδρα.νσε

Δομή σεναρίου NSE

Πριν προχωρήσουμε στη συγγραφή, πρέπει να πούμε ότι όλα τα σενάρια έχουν μια συγκεκριμένη δομή. Εκτός από τον ίδιο τον κώδικα, ο οποίος αυτοματοποιεί ορισμένες ενέργειες, περιέχει μια περιγραφή του σεναρίου (για ποιον σκοπό προορίζεται και πώς να το χρησιμοποιήσετε), πληροφορίες για τον συγγραφέα, άδειες χρήσης, εξάρτηση από άλλα σενάρια, κατηγορίες στις οποίες ανήκει το σενάριο , και ούτω καθεξής. Ας ρίξουμε μια πιο προσεκτική ματιά σε καθένα από αυτά τα μέρη.

Περιγραφή του σεναρίου (περιγραφή)

Αυτή η ενότητα περιέχει μια περιγραφή του σεναρίου, σχόλια από τον συγγραφέα, ένα παράδειγμα εμφάνισης του αποτελέσματος της εκτέλεσης του σεναρίου στην οθόνη και πρόσθετες δυνατότητες.

Για το σενάριό μας που επιλέγει συνδέσεις / κωδικούς πρόσβασης για PostgeSQL, η περιγραφή θα μοιάζει με αυτό:

Περιγραφή = [[ Βίαια δύναμη όλων των υπηρεσιών που εκτελούνται σε έναν κεντρικό υπολογιστή-στόχο. Τα αποτελέσματα επιστρέφονται σε έναν πίνακα με κάθε διαδρομή, μέθοδο εντοπισμού, σύνδεση και/ή κωδικό πρόσβασης. ]] --- -- @usage -- nmap --script hydra [--script-args "lpath= , ppath= "] -- -- @output -- PORT STATE SERVICE -- 80/tcp open http -- | ύδρα: -- | μέθοδος διαδρομής κωδικός σύνδεσης -- | 127.0.0.1/private/index.html Πάσο καταγραφής σύνοψης -- |_ 127.0.0.1/simple/index.txt Βασικός χρήστης qwerty -- -- @args hydra.lpath: η διαδρομή προς το αρχείο με συνδέσεις. Για παράδειγμα, -- nmap --script hydra --script-args="lpath=/home/my_logins.txt" -- @args hydra.ppath: η διαδρομή προς το αρχείο με κωδικούς πρόσβασης. Για παράδειγμα, -- nmap --script hydra --script-args="ppath=/home/my_pass.txt"

Σχόλιο; -- - σχόλιο πολλών γραμμών. @usage, @output, @args - ένα παράδειγμα κλήσης σεναρίου, εμφάνιση του αποτελέσματος στην οθόνη, τα απαραίτητα ορίσματα κατά την κλήση.

Πάνω στο @usage βλέπουμε τη μορφή εκκίνησης του σεναρίου. Σε αυτήν την περίπτωση, προσδιορίζεται μόνο το όνομα του σεναρίου (hydra). Αυτό γίνεται δυνατό εάν το σενάριο τοποθετηθεί στον κατάλογο / /nmap/scripts/ , διαφορετικά θα πρέπει να καθορίσετε μια απόλυτη ή σχετική διαδρομή προς αυτό. Στο μέλλον, θα δώσουμε τη δυνατότητα να ορίσουμε ορίσματα κατά την εκκίνηση του σεναρίου. Τα ορίσματα ορίζονται χρησιμοποιώντας τη σημαία --script-args " " . Στην περίπτωσή μας, θα ορίσουμε τη διαδρομή προς το αρχείο σύνδεσης (lpath) και προς το αρχείο κωδικού πρόσβασης (ppath). Τα ορίσματα είναι προαιρετικά: από προεπιλογή, θα αναζητήσουμε αρχεία με το όνομα login.txt και password.txt στο τρέχον κατάλογο.

Κατηγορίες όπου βρίσκεται το σενάριο (κατηγορίες)

Όταν γράφετε ένα σενάριο NSE, μπορείτε να καθορίσετε την κατηγορία του (ή πολλές κατηγορίες). Αυτό είναι χρήσιμο όταν ο χρήστης Nmap θέλει να χρησιμοποιήσει όχι ένα συγκεκριμένο σενάριο, αλλά ένα σύνολο σεναρίων που ανήκουν στην ίδια κατηγορία. Παραδείγματα ορισμένων κατηγοριών:

  • auth - μια κατηγορία στην οποία τα σενάρια ορίζουν τα δεδομένα ελέγχου ταυτότητας του κεντρικού υπολογιστή προορισμού.
  • brute - μια κατηγορία της οποίας τα σενάρια βοηθούν στον προσδιορισμό των στοιχείων σύνδεσης και των κωδικών πρόσβασης για διάφορες υπηρεσίες.
  • προεπιλογή - μια κατηγορία που περιέχει τα κύρια σενάρια. Υπάρχουν ορισμένα κριτήρια που καθορίζουν εάν ένα σενάριο ανήκει σε αυτήν την κατηγορία: ταχύτητα σάρωσης, χρησιμότητα, αξιοπιστία, εμπιστευτικότητα, οπτική έξοδος.
  • κακόβουλο λογισμικό - μια κατηγορία που βοηθά στον εντοπισμό κακόβουλου λογισμικού.

Για παράδειγμα, εάν πρέπει να εκτελέσετε όλα τα σενάρια από την κατηγορία auth, τότε η εντολή θα μοιάζει με αυτό:

$ nmap --script=auth example.com

Σε αυτήν την περίπτωση, τα σενάρια αυτής της κατηγορίας θα εκτελεστούν με τη σειρά τους για τον καθορισμένο κεντρικό υπολογιστή. Το σενάριό μας ανήκει στην κατηγορία των brute. Ας προσθέσουμε την ακόλουθη γραμμή στο αρχείο:

Κατηγορίες = ("ωρίς")

Πληροφορίες για τον συγγραφέα (συγγραφέα)

Κάθε σενάριο περιέχει πληροφορίες για τον συγγραφέα του. Στην περίπτωσή μου:

Συγγραφέας = "Όλγα Μπαρίνοβα"

Πληροφορίες σχετικά με την άδεια χρήσης (άδεια χρήσης)

Το Nmap καλωσορίζει όλες τις εξελίξεις των χρηστών και ενθαρρύνει την κοινή χρήση, συμπεριλαμβανομένων των σεναρίων NSE. Όταν προσδιορίζετε μια άδεια, επιβεβαιώνετε το δικαίωμα κοινής χρήσης του σεναρίου με την κοινότητα. Η τυπική άδεια Nmap μοιάζει με αυτό:

Άδεια χρήσης = "Ίδιο με το Nmap--Δείτε http://nmap.org/book/man-legal.html"

Ας προσθέσουμε και αυτή τη γραμμή στο σενάριό μας.

Εξαρτήσεις από άλλα σενάρια (εξαρτήσεις)

Αυτή η περιοχή περιέχει τα ονόματα των σεναρίων NSE που πρέπει να εκτελεστούν πριν να εκτελεστεί αυτή η δέσμη ενεργειών προκειμένου να ληφθούν οι απαραίτητες πληροφορίες. Για παράδειγμα,

Εξαρτήσεις = ("smb-brute").

Στην περίπτωσή μας, αυτή η δυνατότητα δεν θα χρειαστεί, επομένως δεν θα προσθέσουμε εξαρτήσεις.

Κεντρικός υπολογιστής και θύρα (host & port)

Το Nmap πρέπει να γνωρίζει για ποιες υπηρεσίες και σε ποιες θύρες θα εκτελέσει το σενάριο. Υπάρχουν ειδικοί κανόνες για αυτό:

  • prerule() - το σενάριο εκτελείται μία φορά πριν από τη σάρωση οποιουδήποτε κεντρικού υπολογιστή, που χρησιμοποιείται για ορισμένες λειτουργίες δικτύου.
  • hostrule(host) - το σενάριο εκτελείται για κάθε κεντρικό υπολογιστή από τον πίνακα, τον οποίο λαμβάνει ως όρισμα.
  • portrule(host, port) - το σενάριο εκτελείται για κάθε κεντρικό υπολογιστή και για κάθε θύρα από τους πίνακες που παίρνει ως ορίσματα.
  • postrule() - το σενάριο εκτελείται μία φορά μετά τη σάρωση οποιουδήποτε κεντρικού υπολογιστή. Χρησιμοποιείται κυρίως για την επεξεργασία των αποτελεσμάτων, τη σύνοψη στατιστικών και τα παρόμοια.

Υπάρχουν βιβλιοθήκες για τη διαμόρφωση τέτοιων κανόνων. Το σενάριό μας χρειάζεται μόνο να καθορίσει τον αριθμό θύρας (5432) και το όνομα της υπηρεσίας (postgresql) και, στη συνέχεια, θα λειτουργήσει μόνο για αυτήν τη θύρα και την υπηρεσία. Υπάρχει μια αρκετά δημοφιλής βιβλιοθήκη shortport ενσωματωμένη στο NSE που περιλαμβάνει διάφορες μεθόδους. Θα χρησιμοποιήσουμε τη μέθοδο

Port_or_service (θύρες, υπηρεσίες, πρωτόκολλα, καταστάσεις)

όπου οι θύρες είναι αριθμοί θυρών, οι υπηρεσίες είναι ονόματα υπηρεσιών, τα πρωτόκολλα είναι ονόματα πρωτοκόλλων (για παράδειγμα, udp), οι καταστάσεις είναι καταστάσεις.

Αυτή η μέθοδος επιστρέφει true εάν η υπηρεσία που αναλύεται αυτήν τη στιγμή βρίσκεται σε μία από τις θύρες στη λίστα θυρών ή αντιστοιχεί σε οποιαδήποτε υπηρεσία στη λίστα υπηρεσιών και το πρωτόκολλο και η κατάσταση ελέγχονται για αντιστοίχιση, διαφορετικά επιστρέφεται το false.
Για να λειτουργήσει το σενάριό μας με την PostgreSQL, πρέπει να προσθέσουμε τον αριθμό θύρας και το όνομα της υπηρεσίας:

Portrule = shortport.port_or_service((5432), ("postgresql"))

Σύνδεση Βιβλιοθηκών

Ας απομακρυνθούμε για ένα δευτερόλεπτο από τη δομή του σεναρίου και ας εξετάσουμε πώς συνδέονται εξωτερικές βιβλιοθήκες, στη λειτουργικότητα των οποίων πρέπει να έχουμε πρόσβαση.

Συνέχεια διαθέσιμο μόνο για μέλη

Επιλογή 1. Εγγραφείτε στην κοινότητα "site" για να διαβάσετε όλο το υλικό στον ιστότοπο

Η ιδιότητα μέλους στην κοινότητα κατά τη διάρκεια της καθορισμένης περιόδου θα σας δώσει πρόσβαση σε ΟΛΟ το υλικό των Hacker, θα αυξήσει την προσωπική σας έκπτωση αποταμίευσης και θα σας επιτρέψει να συγκεντρώσετε επαγγελματική βαθμολογίαΣκορ Xakep!