Οδηγός Metasploit για αρχάριους


Το Metasploit Framework είναι ένα πρόγραμμα ανοιχτού κώδικα που επιτρέπει στους διαχειριστές να ανιχνεύουν και να εκμεταλέυονται κενά ασφαλείας σε πληροφοριακά συστήματα και δίκτυα. Στο σημερινό οδηγό χρήσης του Metasploit θα κάνουμε μια εισαγωγή στην χρήση του ως εργαλείο pentesting.

Το Metasploit1 είναι ίσως το σπουδαιότερο exploitation framework στον κόσμο και έρχεται προεγακτεστημένο στο Kali Linux το οποίο και θα χρησιμοποιήσουμε στο παρόν οδηγό.

Όπως και το OWASP ZAP, που είδαμε στο σχετικό άρθρο » Βρείτε κενά ασφαλείας σε Ιστοσελίδα ή Web, χρησιμοποιείται, σε κάποιο βαθμό, από σχεδόν κάθε hacker / pentester για διάφορες εργασίες (π.χ. εύρεση ανοιχτών port). Ως εκ τούτου, πραγματικά πρέπει να εξοικειωθείτε στην χρήση του σε περίπτωση που σας ενδιαφέρει ο τομέας ασφάλειας των πληροφοριακών συστημάτων.

metasploit-odigos-arxarios

Πριν ξεκινήσουμε, θα πρέπει να ξεκαθαρίσουμε κάποιους βασικούς όρους που θα βρείτε να αναφέρονται στο παρακάτω άρθρο:

  • vulnerability: Αναφέρεται στο τροτό, αδύναμο σημείο ενός συστήματος ή λογισμικού το οποίο έχει ανακαλύψει κάποιος και μπορεί να προσβάλει
  • exploit: Όταν ένα λογισμικό εκμεταλλεύεται ένα πρόβλημα ασφαλείας ενός συστήματος (υλικού ή λογισμικού) και εκτελεί τον δικό του κώδικα, αυτό αναφέρεται συνήθως ως εκμετάλλευση – exploitation
  • payload: Είναι ένα κομμάτι εκτελέσιμου κώδικα (π.χ. ένα απλό script εντολών) το οποίο ο επιτιθέμενος θα προσπαθήσει να τοποθετήσει στο ευάλωτο σύστημα.

Στα ενδότερα του Metasploit Framework

Η παρακάτω εικόνα παρουσιάζει την αρχιτεκτονική του metasploit framewok2.

metasploit-odigos-arxarios-arxitektoniki
Το Metasploit αποτελείται απο βιβλιοθήκες, modules, και τα περιβάλλοντα διαχείρισης

Ο αρθρωτός σχεδιασμός του Metasploit, διευκολύνει την επέκταση και προσαρμογή του σύμφωνα με τις αντίστοιχες απαιτήσεις του εκάστοτε pentester / hacker. Ας δούμε λοιπόν επιγραμματικά τα βασικά του τμήματα

Libraries

Το τμήμα αυτό του Metasploit αποτελείται απο:

Ruby Extension Library (REX)

Η Ruby Extension Library είναι το βασικό συστατικό του Metasploit. Περιέχει μια ποικιλία κλάσεων που μπορούν να χρησιμοποιηθούν από τα υποκείμενα επίπεδα ή απευθείας από άλλα εργαλεία. Οι λειτουργίες που παρέχονται από τη βιβλιοθήκη περιλαμβάνουν, για παράδειγμα, προγράμματα διακομιστών και προγραμμάτων-πελατών διαφόρων πρωτοκόλλων δικτύου

MSF-Core

Ο πυρήνας του Metasploit ο οποίος παρέχει λειτουργίες για διαχείριση συμβάντων και διαχείριση συνεδριών, παρέχοντας σημαντικές λειτουργίες για το χειρισμό του framework

MSF-Base

Το τμήμα αυτό του Metasploit επιτρέπει την ευκολότερη πρόσβαση στον πυρήνα και διαμορφώνει τη διεπαφή των χρηστών ώστε να έχουν άμεση πρόσβαση στη βιβλιοθήκη. Εδώ με διάφορα plugins μπορεί να γίνει επέκταση του framework προσθέτοντας νέες εντολές στα υπάρχοντα στοιχεία του Metasploit.

Modules

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

root@kali:~# ls /usr/share/metasploit-framework/modules/
auxiliary encoders exploits nops payloads post 

Ας δούμε επιγραμματικά τι περιλαμβάνουν αυτοί οι φάκελοι – ενότητες του Modules

Exploit

Αυτή η ενότητα περιλαμβάνει προγράμματα και scripts που έχουν σχεδιαστεί για την εκμετάλλευση των τρωτών σημείων

Payloads

Σε αυτή την ενότητα περιλαμβάνονται payloads, τα οποία μπορούν να χρησιμοποιηθούν μετά από επιτυχημένη εκμετάλλευση (exploit) στο σύστημα που γίνεται το pentesting. Το payload ουσιαστικά είναι ο πραγματικός κακόβουλος κώδικας που θα τρέχει στο στόχο.

Encoders και NOPs

Για να καταστήσουν δυσκολότερο τον εντοπισμό των payload αυτές οι λειτουργικές μονάδες προσφέρουν λειτουργίες που εξασφαλίζουν τη επιτυχή μεταφόρτωση του payload

Auxiliary

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

Metasploit Interfaces

Το Metasploit έχει πολλά interfaces – περιβάλλοντα διαχείρισης συμπεριλαμβανομένου:

  1. msfconsole –μια διαδραστική κονσόλα διαχείρησης
  2. msfcli – γραμμής εντολών για το metasploit
  3. Armitage – μια εφαρμογή που παρέχει γραφικό περιβάλλον
  4. msfweb – διεπαφή για την χρήση του metasploit μέσω browser

Βασικές οδηγίες χρήσης του Metasploit

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

Για να ξεκινήσετε την βάση δεδομένων στο Kali Linux τρέχετε στο τερματικό :

systemctl start postgresql

Μόλις ξεκινήσει η βάση δεδομένων, μπορείτε να ξεκινήσετε την κονσόλα του Metasploit Framework πληκτρολογώντας:

msfconsole

metasploit-odigos-arxarios-arxiki-othoni

Μόλις το τρέξετε, θα βρεθείτε σε μια οθόνη παρόμοια με την παραπάνω.

Ας ρίξουμε μια ματιά σε ορισμένες από τις βασικές εντολές του Metasploit. Μπορούμε να λάβουμε μια λίστα εντολών πληκτρολογώντας:

msf > help

Αφού ρίξετε μια ματιά στις διαθέσιμες εντολές ξεκινήστε με την use

msf > use

Η εντολή «use» φορτώνει ένα module. Θυμηθείτε όταν αναφερθήκαμε στους φακέλους του Modules και τα περιεχόμενά του. Έτσι, για παράδειγμα, αν ήθελα να φορτώσω ένα exploit για Adobe Flash του Windows θα πληκτρολογούσα:

msf > use exploit/windows/browser/adobe_flash_avm2

Ως νέος χρήστης του Metasploit, η εντολή «search» μπορεί να είναι η πιο χρήσιμη. Όμως, παρόλο που μπορείτε να χρησιμοποιήσετε τη λειτουργία αναζήτησης η προσέγγιση αυτή δεν είναι πάντοτε αποτελεσματική, καθώς συχνά επιστρέφει ένα πολύ μεγάλο σύνολο αποτελεσμάτων.

Για να είναι πιο συγκεκριμένη στην αναζήτησή σας, μπορείτε να χρησιμοποιήσετε τις ακόλουθες λέξεις-κλειδιά που θα λειτουργήσουν ως φίλτρα στην αναζήτηση:

  • platform – αυτό είναι για να προσδιορήσετε το λειτουργικό σύστημα για το οποίο θέλετε να βρείτε το αποτέλεσμα της αναζήτησης.
  • type – Αυτά περιλαμβάνουν exploits, nops, payloads, post, encoders και auxiliary.
  • name – αν γνωρίζετε το όνομα του module, μπορείτε να το αναζητήσετε με το όνομά του.

Η σύνταξη που χρησιμοποιείται στην αναζήτηση είναι η λέξη-κλειδί που ακολουθείται από άνω-κάτω τελεία και στη συνέχεια μια τιμή. Για παράδειγμα, εάν αναζητούσατε ένα exploit (τύπος) για Windows (πλατφόρμα) για το Abobe Flash, θα μπορούσαμε να πληκτρολογήσουμε:

msf > search type:exploit platform:windows flash

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

db_nmap -v -sV host_or_network_to_scan

Με αυτόν τον τρόπο και μέσω του Metasploit αποκτάμε μια λίστα με υπολογιστές στο δίκτυό σας. Για να εμφανίσουμε όλους τους υπολογιστές που βρέθηκαν:

hosts

Στην συνέχεια για να προσθέστε αυτούς τους υπολογιστές στη λίστα στόχων

hosts -R

Σε αυτό το σημείο, όπως αναφέραμε, μπορείτε να χρησιμοποιείσετε π.χ. OWASP ZAP για να βρείτε ένα exploit και να το δοκιμάσετε. Υπάρχει επίσης ένας τρόπος αναζήτησης μέσα από το msfconsole για διάφορα exploits που μπορείτε να δείτε τρέχοντας:

search type:exploit
search CVE-XXXX-XXXX
search cve:2009
search platform:windows

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

show payloads

Στην λίστα αυτή πρέπει να επιλέξετε ένα exploit και στη συνέχεια να δείτε τους στόχους επίθεσης:

show targets

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

msf > exploit

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

Επίλογος

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


Παραπομπές:


  1. Metasploit (επίσημη σελίδα) 
  2. Metasploit Framwork Architecture 
Advertisements

3 σκέψεις σχετικά με το “Οδηγός Metasploit για αρχάριους

Add yours

  1. Το kali αζιζει να το κάνεις εγκατάσταση για βασικό λειτουργικο?
    Btw ωραίο άρθρο και τα εξηγείς ωραία!

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

    2. Ένα Linux distribution (Debian based) είναι με ενσωματωμένα εργαλεία για penetration testing, μπορείς να το έχεις ως main OS αλλά για penetration καλό είναι να τρέχει σε VM. Τώρα, το να θες να παίξεις παιχνίδια σε Linux μου φαίνεται λίγο out of scope. My 2¢ 🙂

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

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

Λογότυπο WordPress.com

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

Google photo

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

Φωτογραφία Twitter

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

Φωτογραφία Facebook

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

Σύνδεση με %s

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

Create a website or blog at WordPress.com

ΠΑΝΩ ↑