Metasploit - Μια αναδρομή στο ισχυρό πλαίσιο αξιοποίησης

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

Εισαγωγή στη δοκιμή διείσδυσης

Εάν είστε νέοι στη δοκιμή διείσδυσης, επιτρέψτε μου να εξηγήσω τι είναι πριν να σας συστήσω ένα εργαλείο εκμετάλλευσης.

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

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

Αν λοιπόν το hacking είναι κακό, γιατί να το μάθετε πρώτα; Κάθε συσκευή στο Διαδίκτυο είναι ευάλωτη από προεπιλογή, εκτός εάν κάποιος την ασφαλίσει.

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

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

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

Σωστά. Αρκετή συζήτηση. Ας δούμε ένα από τα πιο ωραία εργαλεία δοκιμής στυλό στην αγορά - Metasploit.

Metasploit - Το πλήρες πλαίσιο

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

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

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

Το Rapid7, η εταιρεία πίσω από το Metasploit, προσφέρει μια premium έκδοση του Metasploit με προηγμένες δυνατότητες.

Το Metasploit ενημερώνεται επίσης συχνά με νέα exploits που δημοσιεύονται στο Common Vulnerabilities and Exposures (CVE). Επομένως, εάν βρεθεί και δημοσιευτεί μια νέα ευπάθεια, μπορείτε να ξεκινήσετε τη σάρωση των συστημάτων σας αμέσως.

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

Συστατικά

Τώρα που ξέρετε τι είναι το Metasploit, ας δούμε τις βασικές έννοιες του Metasploit.

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

Εκμεταλλεύσεις

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

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

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

  • Active Exploits - Οι ενεργές εκμεταλλεύσεις θα εκτελούνται σε ένα σύστημα προορισμού, θα εκμεταλλευτούν το σύστημα, θα σας δώσουν πρόσβαση ή θα εκτελέσετε μια συγκεκριμένη εργασία και, στη συνέχεια, θα πραγματοποιήσετε έξοδο.
  • Passive Exploits - Οι παθητικές εκμεταλλεύσεις θα περιμένουν έως ότου συνδεθεί το σύστημα προορισμού με το exploit. Αυτή η προσέγγιση χρησιμοποιείται συχνά από χάκερ στο Διαδίκτυο, ζητώντας σας να κατεβάσετε αρχεία ή λογισμικό. Μόλις το κάνετε, συνδέεστε με ένα παθητικό exploit που εκτελείται στον υπολογιστή του hacker.

Ωφέλιμα φορτία

Το ωφέλιμο φορτίο είναι ένα κομμάτι κώδικα που διατρέχει το exploit. Χρησιμοποιείτε εκμεταλλεύσεις για να μπείτε σε ένα σύστημα και ωφέλιμα φορτία για να εκτελέσετε συγκεκριμένες ενέργειες.

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

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

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

Μόλις επιλέξετε ένα exploit, μπορείτε να παραθέσετε τα ωφέλιμα φορτία που θα λειτουργούν με αυτό το exploit χρησιμοποιώντας την εντολή "show payloads" στο Metasploit.

Υπάρχουν μερικοί τύποι ωφέλιμων φορτίων στο Metasploit. Αυτά που θα καταλήξετε να χρησιμοποιείτε περισσότερο είναι αυτοί οι τρεις τύποι:

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

Βοηθητικά

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

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

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

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

Εργαλεία

Τώρα που γνωρίζετε πώς λειτουργεί το Metasploit, ας δούμε τα εργαλεία που προσφέρει το Metasploit.

msfconsole

Το MsfConsole είναι η προεπιλεγμένη διεπαφή για το Metasploit. Σας δίνει όλες τις εντολές που χρειάζεστε για να αλληλεπιδράσετε με το πλαίσιο Metasploit.

Χρειάζεται λίγο καμπύλη εκμάθησης για να εξοικειωθείτε με το CLI, αλλά μόλις το κάνετε, είναι εύκολο να εργαστείτε. Επίσης, το MsfConsole είναι ο μόνος τρόπος για να έχετε πρόσβαση σε όλες τις δυνατότητες του Metasploit.

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

msfdb

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

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

Με το msfdb, μπορείτε να εισαγάγετε αποτελέσματα σάρωσης από εξωτερικά εργαλεία όπως το Nmap ή το Nessus. Το Metasploit προσφέρει επίσης μια εγγενή εντολή db_nmap που σας επιτρέπει να σαρώσετε και να εισαγάγετε αποτελέσματα χρησιμοποιώντας το Nmap εντός της msfconsole.

MsfVenom

Τέλος, έχουμε msfvenom (ωραίο όνομα, ε;). Το msfvenom σάς επιτρέπει να δημιουργείτε προσαρμοσμένα ωφέλιμα φορτία ανάλογα με τον στόχο σας.

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

Το msfvenom δημιουργήθηκε συνδυάζοντας δύο παλαιότερα εργαλεία που είχε το Metsploit: msfpayload και msfencode. Το msfvenom σάς επιτρέπει να δημιουργείτε και να κωδικοποιείτε προσαρμοσμένα ωφέλιμα φορτία για τις εκμεταλλεύσεις σας.

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

Μετρητής

Το Meterpreter είναι ένα προηγμένο ωφέλιμο φορτίο στο Metasploit. Σε αντίθεση με άλλα ωφέλιμα φορτία που εκτελούν μια συγκεκριμένη λειτουργία, το Meterpreter είναι δυναμικό και μπορεί να δημιουργηθεί σενάριο εν συντομία.

Εάν μπορείτε να εκμεταλλευτείτε ένα σύστημα και να κάνετε ένεση του Meterpreter ως ωφέλιμο φορτίο, ακολουθούν μερικά από τα πράγματα που μπορείτε να κάνετε:

  • Δημιουργήστε μια κρυπτογραφημένη επικοινωνία μεταξύ του συστήματος και του στόχου σας
  • Απόρριψη κατακερματισμού κωδικού πρόσβασης από το σύστημα προορισμού.
  • Αναζήτηση αρχείων στο σύστημα αρχείων του στόχου
  • Μεταφόρτωση / Λήψη αρχείων
  • Τραβήξτε στιγμιότυπα κάμερας web

Ο μετρητής είναι επίσης απίστευτα κρυφά. Δεδομένου ότι ο μετρητής ζει στη μνήμη του στόχου, είναι εξαιρετικά δύσκολο να εντοπιστεί. Είναι επίσης δύσκολο να εντοπιστεί το Meterpreter χρησιμοποιώντας εγκληματολογικά εργαλεία.

Μπορείτε να γράψετε σενάρια Meterpreter on the fly χρησιμοποιώντας το Ruby για να εκτελέσετε προσαρμοσμένες λειτουργίες. Το Meterpreter διαθέτει επίσης μια μονάδα Python που σας δίνει πρόσθετες εντολές για την εκτέλεση σεναρίων python στο μηχάνημα προορισμού.

Armitage

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

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

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

Περίληψη

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

Μπορείτε επίσης να χρησιμοποιήσετε άλλα εργαλεία όπως το Nmap και το Nessus με το Metasploit μέσω ενοποιήσεων ή εισάγοντας τις αναφορές σάρωσης στο Metasploit. Το Metasploit διαθέτει επίσης ένα εργαλείο GUI που ονομάζεται Armitage που σας επιτρέπει να οπτικοποιήσετε στόχους και να προτείνετε εκμεταλλεύσεις.

Εάν ενδιαφέρεστε να μάθετε περισσότερα για το Metasploit, ανατρέξτε στον αναλυτικό οδηγό αναφοράς που δημοσιεύτηκε από το Offensive Security.

Σας άρεσε αυτό το άρθρο; Εγγραφείτε στο Newsletter μουκαι να λαμβάνω μια περίληψη των άρθρων και των βίντεό μου κάθε Δευτέρα.