Ανακαλύψτε τα ανοιχτά Ports ενός μηχανήματος με τη χρήση του Metasploit

Metasploit_Framework-port-scanning

Ένα από τα πρώτα βήματα στην αναγνώριση ενός μηχανήματος, είναι ο προσδιορισμός των ανοιχτών Ports στο σύστημά το οποίο ελέγχουμε την ασφάλειά του. Το Nmap φυσικά θεωρείται ευρέως ο αδιαμφισβήτητος βασιλιάς της σάρωσης των Ports, αλλά ορισμένες καταστάσεις απαιτούν διαφορετικά εργαλεία και μεθόδους όπως το Metasploit.

Το Metasploit διευκολύνει τη διεξαγωγή ανίχνευσης των Ports στο σύστημά μας και θα σας δείξουμε τρεις τύπους ανίχνευσης αυτών: TCP, SYN και XMAS.

Τι είναι το Port Scanning;

Το Port Scanning είναι η διαδικασία ανίχνευσης μιας σειράς θυρών (ports), προκειμένου να προσδιοριστεί η κατάσταση αυτών των θυρών (ανοικτές ή κλειστές Θύρες). Υπάρχουν 65.536 διαθέσιμες θύρες σε έναν κεντρικό υπολογιστή, με τις πρώτες 1.024, να προορίζονται για γνωστές υπηρεσίες. 1

Οι θύρες μπορούν να επικοινωνούν χρησιμοποιώντας το πρωτόκολλο TCP, το UDP ή και τα δύο.

Στο προηγούμενο άρθρο 3 τρόποι ελέγχου ανοιχτών ports στο Linux εξετάσαμε την «εκ των έσω» σάρωση και εξέταση για ανοιχτά ports. Εδώ θα δούμε 3 τρόπους σάρωσης με το Metasplot2, ένα από τα βασικότερα εργαλεία που θα πρέπει να έχουμε ρυθμίσει όπως είδαμε και άλλα στο σχετικό άρθρο Kali Linux: Απαραίτητα βήματα μετά την εγκατάσταση του δημοφιλούς Hacking Distro!

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

Ο δεύτερος τύπος σάρωσης είναι η σάρωση SYN. Αυτή είναι η προεπιλεγμένη σάρωση Nmap και θεωρείται ο πιο δημοφιλής τύπος σάρωσης θύρας. Σε αντίθεση με τη σάρωση σύνδεσης TCP, μια σάρωση SYN χρησιμοποιεί ακατέργαστα πακέτα για σύνδεση σε θύρες παρά για κλήση συστήματος. Αυτό είναι επωφελές επειδή η σύνδεση δεν ολοκληρώνεται ποτέ πλήρως, καθιστώντας τη σχετικά μυστική και πιο πιθανό να αποφύγει τα τείχη προστασίας (Firewalls). Υπάρχει επίσης μεγαλύτερος έλεγχος των αιτημάτων και των απαντήσεων, καθώς υπάρχει πρόσβαση σε ακατέργαστη δικτύωση.

Ο τρίτος τύπος σάρωσης που θα περάσουμε είναι η σάρωση XMAS. Αυτή η σάρωση ρυθμίζει τα flags FIN, PSH και URG στο πακέτο, το οποίο λέγεται ότι ανάβει σαν χριστουγεννιάτικο δέντρο (εξ ου και το όνομα). Οι ανιχνεύσεις XMAS μπορούν να είναι ακόμα πιο σίγουρες από τις σαρώσεις SYN, παρόλο που τα σύγχρονα συστήματα ανίχνευσης εισβολής μπορούν ακόμα να τα ανιχνεύσουν. Ανεξάρτητα όμως από αυτό, αξίζει να δοκιμάσετε εάν αποτύχουν άλλες μέθοδοι σάρωσης.

Metasploit_Framework-port-scanning

Πρώτη εκκίνηση του Metasploit

Το πρώτο πράγμα που πρέπει να κάνουμε πριν από τη διεξαγωγή οποιασδήποτε σάρωσης είναι να ξεκινήσουμε το Metasploit πληκτρολογώντας την εντολή msfconsole στο τερματικό μας. Εμφανίζεται ένα τυχαίο banner, καθώς και οι πληροφορίες έκδοσης και ο αριθμός των στοιχείων που έχουν φορτωθεί.

msfconsole

,           ,
    /             \
   ((__---,,,---__))
      (_) O O (_)_________
         \ _ /            |\
          o_o \   M S F   | \
               \   _____  |  *
                |||   WW|||
                |||     |||

       =[ metasploit v4.17.8-dev                          ]
+ -- --=[ 1803 exploits - 1027 auxiliary - 311 post       ]
+ -- --=[ 538 payloads - 41 encoders - 10 nops            ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

msf >

Οι scanners είναι ένα auxiliary module στο Metasploit που μας βοηθάει να εντοπίσουμε τους σαρωτές των θυρών, πληκτρολογώντας την εντολή search portscan.

msf > search portscan
[!] Module database cache not built yet, using slow search

Matching Modules
================

   Name                                              Disclosure Date  Rank    Description
   ----                                              ---------------  ----    -----------
   auxiliary/scanner/http/wordpress_pingback_access                   normal  WordPress Pingback Locator
   auxiliary/scanner/natpmp/natpmp_portscan                           normal  NAT-PMP External Port Scanner
   auxiliary/scanner/portscan/ack                                     normal  TCP ACK Firewall Scanner
   auxiliary/scanner/portscan/ftpbounce                               normal  FTP Bounce Port Scanner
   auxiliary/scanner/portscan/syn                                     normal  TCP SYN Port Scanner
   auxiliary/scanner/portscan/tcp                                     normal  TCP Port Scanner
   auxiliary/scanner/portscan/xmas                                    normal  TCP "XMas" Port Scanner
   auxiliary/scanner/sap/sap_router_portscanner                       normal  SAPRouter Port Scanner

Αυτό επιστρέφει μερικά αποτελέσματα, συμπεριλαμβανομένων των τριών τύπων scan ports που θα εξετάσουμε.

TCP Scan

Ας ξεκινήσουμε με μια απλή σάρωση TCP. Πληκτρολογήστε use auxiliary/scanner/portscan/tcp για να φορτώσετε τo module. Μπορούμε τώρα να ρίξουμε μια ματιά στις ρυθμίσεις της ενότητας πληκτρολογώντας τις επιλογές:

msf auxiliary(scanner/portscan/tcp) > options

Module options (auxiliary/scanner/portscan/tcp):

   Name         Current Setting  Required  Description
   ----         ---------------  --------  -----------
   CONCURRENCY  10               yes       The number of concurrent ports to check per host
   DELAY        0                yes       The delay between connections, per thread, in milliseconds
   JITTER       0                yes       The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds.
   PORTS        1-10000          yes       Ports to scan (e.g. 22-25,80,110-900)
   RHOSTS                        yes       The target address range or CIDR identifier
   THREADS      1                yes       The number of concurrent threads
   TIMEOUT      1000             yes       The socket connect timeout in milliseconds

Εδώ, μπορούμε να ρίξουμε μια ματιά στις ρυθμίσεις και τη χρήση τους. Σε αντίθεση με πολλές μονάδες εκμετάλλευσης (exploits), ο σαρωτής αυτός μπορεί να λάβει μια σειρά διευθύνσεων στόχου εκτός από μια ενιαία διεύθυνση IP. Σε αυτή την περίπτωση, δεδομένου ότι έχουμε μόνο μία μηχανή-στόχο, θα γίνει μια ενιαία διεύθυνση.

Ο αριθμός των νημάτων μπορεί επίσης να αυξηθεί για να βοηθήσει τη σάρωση να τρέξει γρηγορότερα. Συνιστάται να διατηρείτε αυτήν την τιμή κάτω από 256 για συστήματα Unix και κάτω από 16 για εγγενή συστήματα Win32. Για να είμαστε ασφαλείς, μπορούμε να το ορίσουμε σε κάτι σαν 8. Όλες οι άλλες επιλογές μπορούν να παραμείνουν ως προεπιλογή για τώρα.

msf auxiliary(scanner/portscan/tcp) > set rhosts 172.16.1.102
rhosts => 172.16.1.102
msf auxiliary(scanner/portscan/tcp) > set threads 8
threads => 8

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

msf auxiliary(scanner/portscan/tcp) > run

[+] 172.16.1.102:         - 172.16.1.102:21 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:23 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:22 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:25 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:53 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:80 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:111 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:139 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:445 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:513 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:514 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:512 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:1099 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:1524 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:2049 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:2121 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:3306 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:3632 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:5432 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:5900 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:6000 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:6667 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:6697 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:8009 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:8180 - TCP OPEN
[+] 172.16.1.102:         - 172.16.1.102:8787 - TCP OPEN
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

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

SYN Scan

Στη συνέχεια, θα προχωρήσουμε σε μια σάρωση SYN. Πληκτρολογήστε back για να επιστρέψετε στο main prompt και ακολούθως την εντολή use auxiliary/scanner/portscan/syn . Όπως είδαμε και πριν, μπορούμε να πληκτρολογήσουμε επιλογές για να δούμε τις τρέχουσες ρυθμίσεις για αυτήν την ενότητα:

msf auxiliary(scanner/portscan/syn) > options

Module options (auxiliary/scanner/portscan/syn):

   Name       Current Setting  Required  Description
   ----       ---------------  --------  -----------
   BATCHSIZE  256              yes       The number of hosts to scan per set
   DELAY      0                yes       The delay between connections, per thread, in milliseconds
   INTERFACE                   no        The name of the interface
   JITTER     0                yes       The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds.
   PORTS      1-10000          yes       Ports to scan (e.g. 22-25,80,110-900)
   RHOSTS                      yes       The target address range or CIDR identifier
   SNAPLEN    65535            yes       The number of bytes to capture
   THREADS    1                yes       The number of concurrent threads
   TIMEOUT    500              yes       The reply read timeout in milliseconds

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

Όταν εκτελείτε μια σειρά από σαρώσεις ή εκμεταλλεύσεις (exploits) σε ένα μοναδικό στόχο, μπορεί να επαναλάβει το scanning ξανά και ξανά. Ευτυχώς, υπάρχει μια εντολή που θα θέσει μια επιλογή σε παγκόσμια κλίμακα, πράγμα που σημαίνει ότι δεν θα πρέπει να εισαχθεί ξανά όταν χρησιμοποιείτε διαφορετική ενότητα. Χρησιμοποιήστε το setg για να ορίσετε μια γενική επιλογή.

msf auxiliary(scanner/portscan/syn) > setg rhosts 172.16.1.102
rhosts => 172.16.1.102
msf auxiliary(scanner/portscan/syn) > setg threads 8
threads => 8

Τώρα, πληκτρολογήστε Run για να ξεκινήσει η σάρωση.

msf auxiliary(scanner/portscan/syn) > run

[+]  TCP OPEN 172.16.1.102:21
[+]  TCP OPEN 172.16.1.102:22
[+]  TCP OPEN 172.16.1.102:23
[+]  TCP OPEN 172.16.1.102:25
[+]  TCP OPEN 172.16.1.102:53
[+]  TCP OPEN 172.16.1.102:80
[+]  TCP OPEN 172.16.1.102:111
[+]  TCP OPEN 172.16.1.102:139
[+]  TCP OPEN 172.16.1.102:445
[+]  TCP OPEN 172.16.1.102:512
[+]  TCP OPEN 172.16.1.102:513
[+]  TCP OPEN 172.16.1.102:514
[+]  TCP OPEN 172.16.1.102:1099
[+]  TCP OPEN 172.16.1.102:1524
[+]  TCP OPEN 172.16.1.102:2049
[+]  TCP OPEN 172.16.1.102:2121
[+]  TCP OPEN 172.16.1.102:3306
[+]  TCP OPEN 172.16.1.102:3632
[+]  TCP OPEN 172.16.1.102:5432
[+]  TCP OPEN 172.16.1.102:5900
[+]  TCP OPEN 172.16.1.102:6000
[+]  TCP OPEN 172.16.1.102:6667
[+]  TCP OPEN 172.16.1.102:6697
[+]  TCP OPEN 172.16.1.102:8009
[+]  TCP OPEN 172.16.1.102:8180
[+]  TCP OPEN 172.16.1.102:8787
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

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

XMAS Scan

Ο τρίτος τύπος σάρωσης που θα κάνουμε είναι η σάρωση XMAS. Πάλι, πληκτρολογήστε back για επιστρέψουμε στο σωστό module, στη συνέχεια, δίνουμε την εντολή use auxiliary/scanner/portscan/xmas για να φορτώσουμε το module. Δεδομένου ότι προηγουμένως ορίσαμε γενικές επιλογές για τον απομακρυσμένο κεντρικό υπολογιστή και τα νήματα, θα πρέπει να βλέπουμε αυτές τις ρυθμίσεις να έχουν ήδη συμπληρωθεί, όταν βλέπουμε τις επιλογές (options) τώρα.

msf auxiliary(scanner/portscan/xmas) > options

Module options (auxiliary/scanner/portscan/xmas):

   Name       Current Setting  Required  Description
   ----       ---------------  --------  -----------
   BATCHSIZE  256              yes       The number of hosts to scan per set
   DELAY      0                yes       The delay between connections, per thread, in milliseconds
   INTERFACE                   no        The name of the interface
   JITTER     0                yes       The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds.
   PORTS      1-10000          yes       Ports to scan (e.g. 22-25,80,110-900)
   RHOSTS     172.16.1.102     yes       The target address range or CIDR identifier
   SNAPLEN    65535            yes       The number of bytes to capture
   THREADS    8                yes       The number of concurrent threads
   TIMEOUT    500              yes       The reply read timeout in milliseconds

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

msf auxiliary(scanner/portscan/xmas) > run

[*]  TCP OPEN|FILTERED 172.16.1.102:21
[*]  TCP OPEN|FILTERED 172.16.1.102:22
[*]  TCP OPEN|FILTERED 172.16.1.102:23
[*]  TCP OPEN|FILTERED 172.16.1.102:25
[*]  TCP OPEN|FILTERED 172.16.1.102:53
[*]  TCP OPEN|FILTERED 172.16.1.102:80
[*]  TCP OPEN|FILTERED 172.16.1.102:111
[*]  TCP OPEN|FILTERED 172.16.1.102:139
[*]  TCP OPEN|FILTERED 172.16.1.102:445
[*]  TCP OPEN|FILTERED 172.16.1.102:512
[*]  TCP OPEN|FILTERED 172.16.1.102:513
[*]  TCP OPEN|FILTERED 172.16.1.102:514
[*]  TCP OPEN|FILTERED 172.16.1.102:1099
[*]  TCP OPEN|FILTERED 172.16.1.102:1524
[*]  TCP OPEN|FILTERED 172.16.1.102:2049
[*]  TCP OPEN|FILTERED 172.16.1.102:2121
[*]  TCP OPEN|FILTERED 172.16.1.102:3306
[*]  TCP OPEN|FILTERED 172.16.1.102:3632
[*]  TCP OPEN|FILTERED 172.16.1.102:5432
[*]  TCP OPEN|FILTERED 172.16.1.102:5900
[*]  TCP OPEN|FILTERED 172.16.1.102:6000
[*]  TCP OPEN|FILTERED 172.16.1.102:6667
[*]  TCP OPEN|FILTERED 172.16.1.102:6697
[*]  TCP OPEN|FILTERED 172.16.1.102:8009
[*]  TCP OPEN|FILTERED 172.16.1.102:8180
[*]  TCP OPEN|FILTERED 172.16.1.102:8787
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

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


Παραπομπές:

Advertisements

2 thoughts on “Ανακαλύψτε τα ανοιχτά Ports ενός μηχανήματος με τη χρήση του Metasploit

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.