Skip to main content

Εισαγωγή και Kali — Έννοιες

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

Νομικό πλαίσιο — να το διαβάσετε μία φορά, να το σέβεστε πάντα

Όλα όσα διδάσκονται εδώ ισχύουν αποκλειστικά για μηχανήματα που σας ανήκουν, ή για τα οποία έχετε γραπτή εξουσιοδότηση (RoE, σύμβαση, bug bounty). Η σάρωση ενός ιστότοπου που δεν έχετε άδεια να αγγίξετε αποτελεί ήδη αδίκημα στις περισσότερες δικαιοδοσίες. Το μάθημα σας διδάσκει να επιτίθεστε. Ο νόμος σας διδάσκει πού.

Τι θα ξέρετε να κάνετε μετά από αυτό το μάθημα​

  • Να εξηγείτε με δικά σας λόγια τι είναι μια δοκιμή διείσδυσης, και γιατί δεν είναι ένα audit.
  • Να διακρίνετε ευπάθεια, exploit και αντίκτυπος — τις τρεις λέξεις που όλοι μπερδεύουν.
  • Να υιοθετείτε μια νοοτροπία επιτιθέμενου: να ξεκινάτε από τον στόχο, όχι από το εργαλείο.
  • Να ονομάζετε τις μεγάλες φάσεις μιας επίθεσης (τη διάσημη kill chain), για να ξέρετε πού βρίσκεστε ανά πάσα στιγμή.
  • Να κατανοείτε γιατί υπάρχει το Kali Linux, και τι σας προσφέρει συγκεκριμένα.

1. Γιατί υπάρχει αυτό το επάγγελμα​

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

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

Ένα pentest δεν αξίζει τίποτα για τον αριθμό των ευρημάτων του. Αξίζει για:

  1. Τις αποδείξεις που φέρνετε (στιγμιότυπα, logs, αρχεία που εξήχθησαν).
  2. Την αναπαραγωγιμότητα: ο πελάτης πρέπει να μπορεί να ξανακάνει το βήμα μετά την επανόρθωση.
  3. Τις συστάσεις: τι γίνεται τη Δευτέρα το πρωί για να κλείσει η τρύπα.

Μια αναφορά χωρίς απόδειξη είναι κουτσομπολιό. Ένα κουτσομπολιό δεν κλείνει ένα ticket.

Ορισμός — ένα shell, λέξη που θα χρησιμοποιήσουμε δέκα φορές ανά μάθημα

Ένα shell είναι μια διεπαφή που δέχεται εντολές και τις αναθέτει προς εκτέλεση στο σύστημα. Όταν ανοίγετε ένα τερματικό στον υπολογιστή σας και πληκτρολογείτε ls, βρίσκεστε σε ένα shell.

Για έναν επιτιθέμενο, το «να αποκτήσει shell» σε ένα απομακρυσμένο μηχάνημα σημαίνει ακριβώς ένα πράγμα: να μπορεί να πληκτρολογεί εντολές σε αυτό το μηχάνημα, σαν να ήταν καθισμένος μπροστά του. Είναι το πρώτο πραγματικό ορόσημο μιας επίθεσης. Όσο δεν υπάρχει shell, δεν υπάρχει τίποτα. Μόλις αποκτηθεί, όλα γίνονται εφικτά: να δείτε τα αρχεία, να προσπαθήσετε να ανεβείτε σε προνόμια, να πηδήξετε σε άλλο μηχάνημα.

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


2. Τα τρία ξαδέρφια που μπερδεύουμε συνέχεια​

ΕπάγγελμαΤι κάνουμεΗ ερώτηση στην οποία απαντάμε
AuditΔιαβάζουμε την τεκμηρίωση, κάνουμε συνεντεύξεις, εξετάζουμε τις ρυθμίσεις.Είναι σύμφωνο με την πολιτική / το πρότυπο;
PentestΕπιτιθέμαστε, σε περιορισμένο πεδίο, σε περιορισμένο χρόνο.Μπορούμε να μπούμε, και μέχρι πού;
Red teamΠροσομοιώνουμε έναν πραγματικό επιτιθέμενο, διακριτικό, με επιχειρηματικούς στόχους.Πόσος χρόνος πριν εντοπιστούμε, και θα είχαμε εντοπιστεί;

Το audit περνάει από το κουτί συνέντευξη. Το pentest περνάει από το κουτί exploit. Η red team περνάει από το κουτί αποφυγή αμυνών — και συχνά από το κουτί κοινωνική μηχανική.

Σε αυτό το μάθημα

Μαθαίνετε το pentest, με τακτικά ανοίγματα προς τη red team στις προχωρημένες ενότητες (8 έως 11).

Ορισμός — η purple team, και γιατί η λέξη επανέρχεται παντού

Η red team και η blue team υποδηλώνουν εδώ και καιρό την επίθεση και την άμυνα. Η purple team δεν είναι μια τρίτη ομάδα: είναι η στιγμή όπου οι δύο δουλεύουν μαζί. Συγκεκριμένα, ο επιτιθέμενος εκτελεί μια τεχνική και ειδοποιεί την άμυνα· εκείνη ελέγχει αν το SIEM της την εντόπισε. Αν όχι, προσαρμόζονται οι κανόνες· ξαναπαίζεται. Επαναλαμβάνεται για κάθε τεχνική του καταλόγου MITRE ATT&CK.

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

Για να πάτε παραπέρα — audit και pentest είναι συμπληρωματικά, όχι ανταγωνιστικά

Ένα audit ISO 27001 ελέγχει ότι η πολιτική κωδικών πρόσβασης είναι γραμμένη και εφαρμόσιμη. Δεν λέει τίποτα για την πραγματική της ανθεκτικότητα: αν το έγγραφο ορίζει «ελάχιστο 12 χαρακτήρες» αλλά οι μισοί σταθμοί εξακολουθούν να ανέχονται οκτώ, ο ελεγκτής δεν θα το δει.

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


3. Ευπάθεια, exploit, αντίκτυπος — σταματήστε να τα μπερδεύετε​

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

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

Exploit: η συγκεκριμένη ενέργεια που μετατρέπει την αδυναμία σε πρόσβαση. Ο κώδικας, η εντολή, το κλικ που αποδεικνύει το πράγμα.

Αντίκτυπος: η επιχειρηματική συνέπεια του exploit. Δεν είναι ποτέ ένα σκορ CVSS. Είναι «με αυτό, διάβασα ολόκληρη τη βάση πελατών» ή «με αυτό, μπλοκάρω την παραγωγή για τρεις ημέρες».

Ένα παράδειγμα για να χαραχτεί η διάκριση:

  • Ευπάθεια: ο web server τρέχει με μια έκδοση ευάλωτη στο CVE-2021-41773 (Apache path traversal).
  • Exploit: εκτελώ curl με μια διαδρομή διέλευσης, ανακτώ το /etc/passwd.
  • Αντίκτυπος: τα διαπιστευτήρια ενός λογαριασμού υπηρεσίας βρίσκονταν σε ένα αρχείο .env του ίδιου φακέλου, απέκτησα τη σύνδεση με τη βάση δεδομένων παραγωγής.

Ο πελάτης αδιαφορεί για το CVE. Θυμάται τη βάση δεδομένων. Αυτό βάζουμε στην αρχή της αναφοράς.

Ορισμός — CVE, τι είναι αυτός ο αριθμός και τι δεν είναι

Το CVE, Common Vulnerabilities and Exposures, είναι ένας δημόσιος κατάλογος που τηρεί το MITRE στις Ηνωμένες Πολιτείες. Κάθε ευπάθεια που δημοσιοποιείται λαμβάνει ένα αναγνωριστικό της μορφής CVE-2021-41773: το έτος είναι αυτό της απόδοσης, όχι της ανακάλυψης. Ο κατάλογος ονομάζει το ελάττωμα, δεν το διορθώνει.

Τρεις παγίδες που κοστίζουν στους αρχάριους. Ένα CVE δεν συνεπάγεται ότι υπάρχει δημόσιο exploit: περίπου το ένα τρίτο των CVE δεν είχαν ποτέ δημοσιευμένο κώδικα εκμετάλλευσης. Δεν είναι όλα τα CVE σοβαρά: πολλά ισχύουν μόνο για σπάνιες ρυθμίσεις. Και κυρίως, ένα CVE ενός συστατικού δεν αφορά απαραίτητα την εγκατάστασή σας — αν η ελαττωματική λειτουργικότητα δεν είναι ενεργοποιημένη, η ευάλωτη έκδοση είναι αβλαβής. Αυτό είναι το πρώτο πράγμα που πρέπει να αποδείξετε πριν γράψετε «κρίσιμο» σε μια αναφορά.

Ορισμός — CVSS, το σκορ σοβαρότητας και τα όριά του

Το CVSS, Common Vulnerability Scoring System, αποδίδει ένα σκορ από 0 έως 10 σε μια ευπάθεια. Συναθροίζει τον δυνητικό αντίκτυπο — εμπιστευτικότητα, ακεραιότητα, διαθεσιμότητα — και την ευκολία εκμετάλλευσης — προσβάσιμο μέσω δικτύου ή μόνο τοπικά, με ή χωρίς αυθεντικοποίηση, με ή χωρίς αλληλεπίδραση χρήστη.

Αυτό το σκορ είναι χρήσιμο για την ταξινόμηση μιας στοίβας ticket. Είναι άχρηστο για μια αναφορά pentest, και να γιατί. Το CVSS αγνοεί το πλαίσιό σας. Ένα ελάττωμα με βαθμολογία 9,8 σε έναν απομονωμένο διακομιστή χωρίς ευαίσθητα δεδομένα είναι λιγότερο επείγον από ένα ελάττωμα με βαθμολογία 6,5 στην πύλη που προστατεύει την παραγωγή σας. Η αναφορά πρέπει να λέει «με αυτό το ελάττωμα, ένας επιτιθέμενος αποκτά πρόσβαση σε αυτά τα δεδομένα», όχι «σκορ CVSS 9,8». Το σκορ βοηθά τον πελάτη να αποφασίσει ανάμεσα σε δύο παρόμοια ελαττώματα· δεν αντικαθιστά ποτέ τη δική σας ανάλυση.


4. Η νοοτροπία του επιτιθέμενου​

Ο μηχανικός συστημάτων ξεκινά από το μηχάνημα και αναρωτιέται «τι τρέχω;». Ο επιτιθέμενος ξεκινά από το ίδιο σημείο και αναρωτιέται «τι προεξέχει;».

Τα πέντε αντανακλαστικά που κάνουν τη διαφορά:

  1. Να κοιτάτε πάντα τι ακούει. Μια ανοιχτή θύρα είναι μια πόρτα. Μια πόρτα είναι μια υπηρεσία. Μια υπηρεσία είναι μια έκδοση. Μια έκδοση είναι μια ιστορία γνωστών σφαλμάτων.
  2. Να κοιτάτε πάντα τι μιλάει. Τα banners, οι κεφαλίδες HTTP, τα μηνύματα σφάλματος — αφηγούνται τα πάντα.
  3. Να κοιτάτε πάντα τι ξεχάστηκε. Ένα αρχείο .git, ένα backup.sql, ένα robots.txt, ένα screenshot ξεχασμένο σε δημόσιο φάκελο. Η αμέλεια είναι πιο συχνή από την ευπάθεια zero-day.
  4. Να αλυσιδώνετε πάντα. Ένα μεμονωμένο ελάττωμα σπάνια είναι κρίσιμο. Δύο μέτρια ελαττώματα αλυσιδωμένα είναι καταστροφή. Ψάξτε την αλυσίδα, όχι το ελάττωμα.
  5. Να αμφιβάλλετε πάντα για την επιτυχία. Αν λειτουργεί από την πρώτη φορά, μπορεί να είναι παγίδα (honeypot). Επαληθεύστε ότι το μηχάνημα που κρατάτε είναι πραγματικά αυτό που νομίζετε.
Η νοοτροπία σε μία φράση

«Αυτό που ο προγραμματιστής ξέχασε να ελέγξει είναι ακριβώς εκεί που μπαίνω.»

Ορισμός — οι τρεις καταστάσεις μιας θύρας, γιατί θα το διαβάζουμε σε κάθε αναφορά

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

Open: κάτι ακούει και απαντά. Αυτό ψάχνουμε.

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

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

Το Nmap προσθέτει δύο σπανιότερες αποχρώσεις. Unfiltered: η θύρα απαντά αλλά το Nmap δεν μπορεί να συμπεράνει· είναι συχνό με ορισμένους τύπους σαρώσεων. Open|filtered: το Nmap διστάζει, συχνά σε UDP όπου η απουσία απάντησης μπορεί να σημαίνει και τα δύο. Θα μάθετε να διαβάζετε αυτές τις καταστάσεις στην ενότητα 4.

Ορισμός — root, Administrator, SYSTEM, τι θέλουμε στο τέλος

Στα συστήματα Unix — Linux, macOS, BSD — ο παντοδύναμος λογαριασμός ονομάζεται root. Έχει το αριθμητικό αναγνωριστικό μηδέν. Διαβάζει και γράφει όλα τα αρχεία, τερματίζει όλες τις διεργασίες, φορτώνει και αποφορτώνει οδηγούς πυρήνα.

Στα Windows, η ιεραρχία είναι πιο λεπτή. Ο Administrator είναι ο ιστορικός λογαριασμός διαχειριστή, αυτός της επιφάνειας εργασίας. Πάνω από αυτόν, αόρατος για τον χρήστη, βρίσκεται ο SYSTEM — η ταυτότητα υπό την οποία τρέχουν οι ίδιες οι υπηρεσίες των Windows, συμπεριλαμβανομένων εκείνων που διαχειρίζονται την αυθεντικοποίηση και την ασφάλεια. Ένας pentester προτιμά τον SYSTEM από τον Administrator: ο SYSTEM μπορεί να διαβάσει τη βάση κωδικών (SAM) που ούτε καν ο Administrator μπορεί να ανοίξει χωρίς κόλπα. Γι' αυτόν τον λόγο η επίδειξη της ενότητας στοχεύει απευθείας ένα shell SYSTEM.

Ένα τρίτο επίπεδο υπάρχει σε σταθμούς εργασίας που ανήκουν σε τομέα Windows: ο Domain Admin. Η παραβίαση του Domain Admin ισοδυναμεί με την κατοχή ολόκληρου του καταλόγου — άρα, γενικά, όλου του στόλου.


5. Η kill chain — ο χάρτης για να μη χαθείτε ποτέ​

Μια επίθεση δεν είναι μια μοναδική ιδιοφυής κίνηση. Είναι μια σειρά σταδίων. Η κλασική ακολουθία, σε επτά χρόνους:

  1. Αναγνώριση — μάθηση για τον στόχο χωρίς να τον αγγίξουμε (OSINT). Ενότητα 3.
  2. Ενεργή αναγνώριση — σάρωση θυρών, απαρίθμηση υπηρεσιών. Ενότητα 4.
  3. Αναζήτηση ευπαθειών — συσχέτιση των εκδόσεων που εντοπίστηκαν με τα γνωστά CVE. Ενότητα 5.
  4. Αρχική εκμετάλλευση — απόκτηση του πρώτου shell. Ενότητες 7 και 8.
  5. Κλιμάκωση προνομίων — μετάβαση από έναν τυχαίο λογαριασμό σε root ή SYSTEM. Ενότητα 9.
  6. Πλευρική μετακίνηση — μετάβαση από μηχάνημα σε μηχάνημα, εξαγωγή δεδομένων. Ενότητα 10.
  7. Αναφορά — παράδοση των αποδείξεων, των συστάσεων, του χρονοδιαγράμματος. Ενότητα 12.

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

Για να πάτε παραπέρα — από πού προέρχεται η kill chain, και γιατί το MITRE ATT&CK την αντικατέστησε

Η Cyber Kill Chain διατυπώθηκε το 2011 από τη Lockheed Martin. Μετέφερε στο ψηφιακό τον στρατιωτικό συλλογισμό που ήδη εφαρμοζόταν στην καταστροφή ενός φυσικού στόχου: Find, Fix, Track, Target, Engage, Assess. Η δύναμή της είναι παιδαγωγική — είναι γραμμική, απομνημονεύσιμη σε ένα λεπτό — αλλά η αδυναμία της αποκαλύφθηκε στην πράξη: μια πραγματική επίθεση δεν είναι γραμμική. Επαναλαμβάνεται σε βρόχο. Ο επιτιθέμενος επιστρέφει στην αναγνώριση μετά από μια πρώτη πρόσβαση, αλλάζει άξονα, εγκαταλείπει μια αλυσίδα για να δοκιμάσει μια άλλη.

Το MITRE ATT&CK, που δημοσιεύτηκε για πρώτη φορά το 2013, αντικαθιστά τη γραμμή με έναν πίνακα. Οι στήλες είναι οι μεγάλες κατηγορίες — Initial Access, Execution, Persistence, Privilege Escalation, Defense Evasion, Credential Access, Discovery, Lateral Movement, Collection, Command and Control, Exfiltration, Impact. Κάθε στήλη περιέχει πολλές συγκεκριμένες τεχνικές, η καθεμία με μοναδικό αναγνωριστικό τύπου T1078. Αυτή η λεπτομέρεια επιτρέπει σε έναν αμυνόμενο να πει «έχω κανόνες για αυτό το αναγνωριστικό, κανέναν για εκείνο άλλο».

Σε αυτό το μάθημα ξεκινάμε από την kill chain επειδή χρησιμεύει ως αφηγηματικό νήμα, αλλά από την ενότητα 4 εμφανίζεται το λεξιλόγιο του ATT&CK. Ένας καλός pentester ξέρει να περνά και από τα δύο.


6. Γιατί Kali, και όχι Ubuntu​

Το Kali Linux είναι μια διανομή Debian γεμάτη επιθετικά εργαλεία. Θα μπορούσαμε να τα εγκαταστήσουμε όλα με το χέρι σε ένα Ubuntu. Δεν το κάνουμε, για τρεις λόγους:

  • Όλα είναι εκεί, αμέσως. Nmap, Metasploit, Burp Suite, John the Ripper, Hashcat, Wireshark, Bloodhound, Impacket — πάνω από 600 εργαλεία προεγκατεστημένα και ενημερωμένα.
  • Οι ενημερώσεις πάνε προς τη σωστή κατεύθυνση. Το κανάλι kali-rolling προωθεί τις πρόσφατες επιθετικές εκδόσεις. Σε ένα Ubuntu LTS, το Nmap μπορεί να έχει έναν χρόνο καθυστέρηση στα scripts NSE.
  • Η κοινότητα ξέρει τι κάνετε. Ένα πρόβλημα; Ψάχνετε «kali nmap segfault», βρίσκετε την απάντηση σε τριάντα δευτερόλεπτα. Σε μια γενική διανομή, κανείς δεν θα καταλάβει το πρόβλημά σας.

Το Kali δεν είναι «ένα OS για hackers». Είναι μια εργαλειοθήκη με ένα λειτουργικό σύστημα γύρω της. Δεν αποθηκεύετε τίποτα εκεί, δεν το ανοίγετε στο δημόσιο δίκτυο, και το ξαναδημιουργείτε από ένα snapshot μόλις γίνει περίεργο.

Ορισμός — μια διανομή rolling, και γιατί αυτό αλλάζει τη ζωή του δοκιμαστή

Μια διανομή rolling, κυριολεκτικά «που κυλάει», δημοσιεύει τις ενημερώσεις συνεχώς, χωρίς αριθμημένη σταθερή έκδοση. Ενημερώνετε μια Δευτέρα, τα πακέτα είναι στην κατάσταση που ήταν εκείνη τη Δευτέρα· ενημερώνετε δύο μήνες αργότερα, έχουν προχωρήσει. Δεν υπάρχει Kali 2023.4 που εγκαθίσταται για δύο χρόνια πριν επανεγκατασταθεί τα πάντα — υπάρχει μια μόνιμη ροή.

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

Το αντιστάθμισμα του μοντέλου rolling είναι πραγματικό: μια ενημέρωση μπορεί να σπάσει ένα εργαλείο από τη μια μέρα στην άλλη. Γι' αυτόν τον λόγο παίρνουμε ένα στιγμιότυπο VirtualBox μετά από κάθε επιτυχημένη ενημέρωση, και δεν επιστρέφουμε σε αυτήν παρά μόνο αφού δοκιμάσουμε τη νέα έκδοση σε εναλλακτικό περιβάλλον.

Ορισμός — ένα στιγμιότυπο εικονικού μηχανήματος

Ένα snapshot, ή στιγμιότυπο, είναι μια καταγραφή της πλήρους κατάστασης ενός εικονικού μηχανήματος σε μια δεδομένη στιγμή: περιεχόμενο δίσκου, περιεχόμενο μνήμης RAM, προσομοιωμένη διαμόρφωση υλικού. Το VirtualBox και το VMware αποθηκεύουν αυτή την κατάσταση δίπλα στον κύριο εικονικό δίσκο, με τη μορφή διαφορικού αρχείου — μόνο τα μπλοκ που τροποποιήθηκαν από τη λήψη αντιγράφονται ξανά, κάτι που κάνει τη λειτουργία γρήγορη ακόμη και για ένα VM δεκάδων gigabyte.

Δύο χρήσεις στο pentest. Η πρώτη είναι αμυντική: πριν εγκαταστήσετε ένα αμφίβολο εργαλείο ή εκτελέσετε ένα ύποπτο εκτελέσιμο, παίρνετε ένα στιγμιότυπο· αν το VM συμπεριφερθεί άσχημα, ένα κλικ το επαναφέρει στην προηγούμενη κατάσταση. Η δεύτερη είναι πειραματική: στο μηχάνημα-στόχο του εργαστηρίου, παίρνετε ένα στιγμιότυπο base-vulnerable πριν την πρώτη εκμετάλλευση. Μπορείτε τότε να επαναλαμβάνετε επ' αόριστον την ίδια επίθεση, κάτι απαραίτητο για να επαληθεύσετε μια επανόρθωση ή για να εκπαιδεύσετε κάποιον άλλο. Χωρίς στιγμιότυπο, ένας κατεστραμμένος στόχος δεν ξαναπαίζεται.


7. Οι συγχύσεις που κοστίζουν χρόνο​

Διορθώστε τις τώρα, πριν σας δαγκώσουν στην εβδομάδα 5.

Συχνά λέμε…Η σωστή έννοια
«Βρήκα ένα CVE»Ένα CVE είναι ένα αναγνωριστικό. Βρίσκουμε μια ευπάθεια, που ίσως αντιστοιχεί σε ένα CVE.
«Το hack-άρισα»Όχι, εκμεταλλευτήκατε μια ευπάθεια. Η λέξη hack δεν λέει τίποτα συγκεκριμένο.
«Είναι κακόβουλος κώδικας»Ένα exploit δεν είναι malware. Ένα exploit πυροδοτεί ένα ελάττωμα. Ένα malware κάνει κάτι κακό μία φορά που βρίσκεται εγκατεστημένο.
«Το Nmap μου βρήκε ένα ελάττωμα»Όχι, το Nmap βλέπει θύρες και εκδόσεις. Εσείς κάνετε τη σύνδεση με την ευπάθεια.
«Η θύρα είναι κλειστή»Μια θύρα μπορεί να είναι closed (η υπηρεσία λέει όχι), filtered (ένα firewall αναχαιτίζει), ή open (κάποιος ακούει). Τρεις καταστάσεις, τρεις ιστορίες.
«Το Metasploit χάκαρε το μηχάνημα»Το Metasploit παραδίδει ένα exploit και διαχειρίζεται τη συνεδρία. Δεν σκέφτεται στη θέση σας.

8. Τι πρέπει να συγκρατήσετε​

  • Ένα pentest είναι οριοθετημένο, εξουσιοδοτημένο, μετρημένο. Χωρίς αυτό το πλαίσιο, δεν είναι πια pentest, είναι αδίκημα.
  • Η αξία ενός pentest βρίσκεται στις αποδείξεις και τις συστάσεις, όχι στον αριθμό των ευρημάτων.
  • Ευπάθεια, exploit, αντίκτυπος: τρεις λέξεις, τρία πράγματα. Μην τα ξαναμπερδεύετε.
  • Ο επιτιθέμενος κοιτάζει τι προεξέχει, τι μιλάει, τι ξεχάστηκε, και αλυσιδώνει.
  • Η kill chain σας λέει πάντα πού βρίσκεστε.
  • Το Kali είναι η εργαλειοθήκη σας. Όχι το γραφείο σας, όχι το χρηματοκιβώτιό σας.

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