Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Αυτό το άρθρο γράφτηκε με βάση μια πολύ επιτυχημένη δοκιμασία που διεξήγαγαν οι ειδικοί του Group-IB πριν από μερικά χρόνια: συνέβη μια ιστορία που θα μπορούσε να προσαρμοστεί για ταινίες στο Bollywood. Τώρα, μάλλον, θα ακολουθήσει η αντίδραση του αναγνώστη: «Α, άλλο ένα άρθρο δημοσίων σχέσεων, και πάλι αυτά απεικονίζονται, πόσο καλά είναι, μην ξεχάσετε να αγοράσετε ένα πεντεστ». Λοιπόν, από τη μια πλευρά, είναι. Ωστόσο, υπάρχουν αρκετοί άλλοι λόγοι για τους οποίους εμφανίστηκε αυτό το άρθρο. Ήθελα να δείξω τι ακριβώς κάνουν οι pentesters, πόσο ενδιαφέρουσα και μη τετριμμένη μπορεί να είναι αυτή η δουλειά, ποιες αστείες περιστάσεις μπορεί να προκύψουν σε έργα και το πιο σημαντικό, να δείξω ζωντανό υλικό με πραγματικά παραδείγματα.

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

Για τον πελάτη σε αυτό το άρθρο, όλα ήταν επίσης γενικά εξαιρετικά, τουλάχιστον καλύτερα από το 95% της αγοράς στη Ρωσική Ομοσπονδία, σύμφωνα με τα συναισθήματά μας, αλλά υπήρχαν ορισμένες μικρές αποχρώσεις που σχημάτισαν μια μακρά αλυσίδα γεγονότων, τα οποία πρώτα οδήγησε σε μια μακρά αναφορά για το έργο και στη συνέχεια σε αυτό το άρθρο.

Λοιπόν, ας προμηθευτούμε ποπ κορν και καλωσορίσατε στην αστυνομική ιστορία. Λέξη - Πάβελ Σουπρουνιούκ, τεχνικός υπεύθυνος του τμήματος “Audit and Consulting” του Group-IB.

Μέρος 1. Γιατρός Pochkin

2018 Υπάρχει ένας πελάτης - μια εταιρεία πληροφορικής υψηλής τεχνολογίας, η οποία εξυπηρετεί η ίδια πολλούς πελάτες. Θέλει να λάβει μια απάντηση στην ερώτηση: είναι δυνατόν, χωρίς καμία αρχική γνώση και πρόσβαση, να εργάζεστε μέσω Διαδικτύου, να αποκτήσετε δικαιώματα διαχειριστή τομέα Active Directory; Δεν με ενδιαφέρει καμία κοινωνική μηχανική (ω, αλλά μάταια), δεν σκοπεύουν να παρέμβουν στην εργασία επίτηδες, αλλά μπορεί να φορτώσουν κατά λάθος έναν διακομιστή που λειτουργεί παράξενα, για παράδειγμα. Ένας επιπλέον στόχος είναι να εντοπιστούν όσο το δυνατόν περισσότεροι άλλοι φορείς επίθεσης στην εξωτερική περίμετρο. Η εταιρεία πραγματοποιεί τακτικά τέτοιου είδους δοκιμές και τώρα έφτασε η προθεσμία για μια νέα δοκιμή. Οι συνθήκες είναι σχεδόν τυπικές, επαρκείς, κατανοητές. Ας αρχίσουμε.

Υπάρχει ένα όνομα του πελάτη - ας είναι "Εταιρεία", με τον κύριο ιστότοπο www.company.ru. Φυσικά, ο πελάτης ονομάζεται διαφορετικά, αλλά σε αυτό το άρθρο όλα θα είναι απρόσωπα.
Διεξάγω αναγνώριση δικτύου - μάθω ποιες διευθύνσεις και τομείς είναι καταχωρημένες στον πελάτη, σχεδιάζω ένα διάγραμμα δικτύου, πώς διανέμονται οι υπηρεσίες σε αυτές τις διευθύνσεις. Παίρνω το αποτέλεσμα: περισσότερες από 4000 ζωντανές διευθύνσεις IP. Εξετάζω τους τομείς σε αυτά τα δίκτυα: ευτυχώς, η συντριπτική πλειοψηφία είναι δίκτυα που προορίζονται για τους πελάτες του πελάτη και δεν μας ενδιαφέρουν επίσημα. Το ίδιο σκέφτεται και ο πελάτης.

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

Υπάρχουν πολλές υπηρεσίες. Συνήθως αυτό είναι χαρά για τον πεντέστερ και προσμονή μιας γρήγορης νίκης, αφού όσο περισσότερα σερβίς υπάρχουν, τόσο μεγαλύτερο είναι το πεδίο για επίθεση και τόσο πιο εύκολο είναι να βρεις τεχνούργημα. Μια γρήγορη ματιά στις ιστοσελίδες έδειξε ότι οι περισσότερες από αυτές είναι διαδικτυακές διεπαφές γνωστών προϊόντων μεγάλων παγκόσμιων εταιρειών, που κατά τα φαινόμενα σας λένε ότι δεν είναι ευπρόσδεκτες. Ζητούν όνομα χρήστη και κωδικό πρόσβασης, ανακινούν το πεδίο για την εισαγωγή του δεύτερου παράγοντα, ζητούν πιστοποιητικό πελάτη TLS ή το στέλνουν στο Microsoft ADFS. Μερικά είναι απλά απρόσιτα από το Διαδίκτυο. Για κάποιους, προφανώς πρέπει να έχετε έναν ειδικό αμειβόμενο πελάτη για τρεις μισθούς ή να γνωρίζετε την ακριβή διεύθυνση URL για να εισαγάγετε. Ας παραλείψουμε άλλη μια εβδομάδα σταδιακής απελπισίας στη διαδικασία της προσπάθειας «διάσπασης» εκδόσεων λογισμικού για γνωστά τρωτά σημεία, αναζήτησης κρυφού περιεχομένου σε διαδρομές ιστού και λογαριασμών που διέρρευσαν από υπηρεσίες τρίτων όπως το LinkedIn, προσπαθώντας επίσης να μαντέψουμε κωδικούς πρόσβασης χρησιμοποιώντας αυτά ως ανασκαφή τρωτών σημείων σε αυτογραμμένους ιστότοπους — παρεμπιπτόντως, σύμφωνα με στατιστικά στοιχεία, αυτός είναι ο πιο πολλά υποσχόμενος φορέας εξωτερικής επίθεσης σήμερα. Θα σημειώσω αμέσως το κινηματογραφικό όπλο που εκτοξεύτηκε στη συνέχεια.

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

Παρεμπιπτόντως, για το τι βρήκαν γενικά οι σαρωτές που κυκλοφόρησαν στο παρελθόν. Επιτρέψτε μου να σας υπενθυμίσω: για μερικούς ανθρώπους, το "pentest" ισοδυναμεί με "αυτόματη σάρωση". Αλλά οι σαρωτές σε αυτό το έργο δεν είπαν τίποτα. Λοιπόν, το μέγιστο εμφανίστηκε από τα μεσαία τρωτά σημεία (3 στα 5 όσον αφορά τη σοβαρότητα): σε κάποια υπηρεσία ένα κακό πιστοποιητικό TLS ή ξεπερασμένοι αλγόριθμοι κρυπτογράφησης και στους περισσότερους ιστότοπους Clickjacking. Αλλά αυτό δεν θα σας οδηγήσει στον στόχο σας. Ίσως οι σαρωτές θα ήταν πιο χρήσιμοι εδώ, αλλά επιτρέψτε μου να σας υπενθυμίσω: ο ίδιος ο πελάτης μπορεί να αγοράσει τέτοια προγράμματα και να δοκιμάσει τον εαυτό του με αυτά και, αν κρίνουμε από τα θλιβερά αποτελέσματα, έχει ήδη ελέγξει.

Ας επιστρέψουμε στα «ανώμαλα» sites. Το πρώτο είναι κάτι σαν ένα τοπικό Wiki σε μια μη τυπική διεύθυνση, αλλά σε αυτό το άρθρο ας είναι wiki.company[.]ru. Ζήτησε επίσης αμέσως σύνδεση και κωδικό πρόσβασης, αλλά μέσω NTLM στο πρόγραμμα περιήγησης. Για τον χρήστη, αυτό μοιάζει με ένα ασκητικό παράθυρο που ζητά να εισαγάγετε ένα όνομα χρήστη και έναν κωδικό πρόσβασης. Και αυτή είναι κακή πρακτική.

Μια μικρή σημείωση. Το NTLM σε περιμετρικούς ιστότοπους είναι κακό για διάφορους λόγους. Ο πρώτος λόγος είναι ότι αποκαλύπτεται το όνομα τομέα Active Directory. Στο παράδειγμά μας, αποδείχθηκε επίσης το company.ru, όπως και το "εξωτερικό" όνομα DNS. Γνωρίζοντας αυτό, μπορείτε να προετοιμάσετε προσεκτικά κάτι κακόβουλο, ώστε να εκτελείται μόνο στον υπολογιστή τομέα του οργανισμού και όχι σε κάποιο sandbox. Δεύτερον, ο έλεγχος ταυτότητας περνά απευθείας μέσω του ελεγκτή τομέα μέσω NTLM (έκπληξη, σωστά;), με όλα τα χαρακτηριστικά των «εσωτερικών» πολιτικών δικτύου, συμπεριλαμβανομένου του αποκλεισμού λογαριασμών από την υπέρβαση του αριθμού προσπαθειών εισαγωγής κωδικού πρόσβασης. Εάν ένας εισβολέας ανακαλύψει τα στοιχεία σύνδεσης, θα δοκιμάσει τους κωδικούς πρόσβασης για αυτούς. Εάν έχετε ρυθμιστεί να αποκλείετε λογαριασμούς από την εισαγωγή εσφαλμένων κωδικών πρόσβασης, θα λειτουργήσει και ο λογαριασμός θα αποκλειστεί. Τρίτον, είναι αδύνατο να προστεθεί ένας δεύτερος παράγοντας σε έναν τέτοιο έλεγχο ταυτότητας. Εάν κάποιος από τους αναγνώστες ξέρει ακόμα πώς, παρακαλώ ενημερώστε με, είναι πραγματικά ενδιαφέρον. Τέταρτον, ευπάθεια σε επιθέσεις pass-the-hash. Το ADFS εφευρέθηκε, μεταξύ άλλων, για την προστασία από όλα αυτά.

Υπάρχει μια κακή ιδιότητα των προϊόντων της Microsoft: ακόμα κι αν δεν δημοσιεύσατε συγκεκριμένα τέτοιο NTLM, θα εγκατασταθεί από προεπιλογή τουλάχιστον στο OWA και το Lync.

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

Ο δεύτερος ιστότοπος είχε τη διεύθυνση "προφανώς κάποιου είδους επώνυμο.company.ru". Το βρήκα μέσω της Google, κάτι σαν αυτό στη σελίδα 10. Το σχέδιο ήταν από τις αρχές-μέσα της δεκαετίας του XNUMX και ένα αξιοσέβαστο άτομο το κοίταζε από την κεντρική σελίδα, κάπως έτσι:

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Εδώ πήρα ένα στιγμιότυπο από το "Heart of a Dog", αλλά πιστέψτε με, ήταν αόριστα παρόμοιο, ακόμη και το χρωματικό σχέδιο ήταν σε παρόμοιους τόνους. Αφήστε το site να ονομάζεται preobrazhensky.company.ru.

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

Όσον αφορά τα τρωτά σημεία, ο ίδιος ο ιστότοπος ήταν ασφαλής. Κοιτάζοντας μπροστά, θα πω ότι ήταν ένα σύνολο στατικών πληροφοριών - απλών σελίδων html με ενσωματωμένες εικόνες σε μορφή νεφρών και κύστεων. Είναι άχρηστο να "σπάσετε" έναν τέτοιο ιστότοπο.

Αλλά ο διακομιστής ιστού από κάτω ήταν πιο ενδιαφέρον. Κρίνοντας από την κεφαλίδα του διακομιστή HTTP, είχε IIS 6.0, που σημαίνει ότι χρησιμοποιούσε τα Windows 2003 ως λειτουργικό σύστημα. Ο σαρωτής είχε εντοπίσει προηγουμένως ότι ο συγκεκριμένος ιστότοπος ουρολόγου, σε αντίθεση με άλλους εικονικούς κεντρικούς υπολογιστές στον ίδιο διακομιστή ιστού, ανταποκρινόταν στην εντολή PROPFIND, που σημαίνει ότι εκτελούσε το WebDAV. Παρεμπιπτόντως, ο σαρωτής επέστρεψε αυτές τις πληροφορίες με την ένδειξη Πληροφορίες (στη γλώσσα των αναφορών σαρωτή, αυτός είναι ο χαμηλότερος κίνδυνος) - τέτοια πράγματα συνήθως απλώς παραλείπονται. Σε συνδυασμό, αυτό έδωσε ένα ενδιαφέρον αποτέλεσμα, το οποίο αποκαλύφθηκε μόνο μετά από μια άλλη ανασκαφή στο Google: μια σπάνια ευπάθεια υπερχείλισης buffer που σχετίζεται με το σύνολο Shadow Brokers, συγκεκριμένα το CVE-2017-7269, το οποίο είχε ήδη ένα έτοιμο exploit. Με άλλα λόγια, θα υπάρξει πρόβλημα εάν έχετε Windows 2003 και το WebDAV εκτελείται σε υπηρεσίες IIS. Αν και η εκτέλεση των Windows 2003 στην παραγωγή το 2018 είναι ένα πρόβλημα από μόνο του.

Το exploit κατέληξε στο Metasploit και δοκιμάστηκε αμέσως με ένα φορτίο που έστειλε ένα αίτημα DNS σε μια ελεγχόμενη υπηρεσία - Το Burp Collaborator χρησιμοποιείται παραδοσιακά για τη λήψη αιτημάτων DNS. Προς έκπληξή μου, λειτούργησε την πρώτη φορά: λήφθηκε ένα νοκ-άουτ DNS. Στη συνέχεια, έγινε μια προσπάθεια δημιουργίας backconnect μέσω της θύρας 80 (δηλαδή, μια σύνδεση δικτύου από τον διακομιστή στον εισβολέα, με πρόσβαση στο cmd.exe στον κεντρικό υπολογιστή του θύματος), αλλά στη συνέχεια συνέβη ένα φιάσκο. Η σύνδεση δεν έγινε και μετά την τρίτη προσπάθεια χρήσης του ιστότοπου, μαζί με όλες τις ενδιαφέρουσες εικόνες, εξαφανίστηκαν για πάντα.

Συνήθως ακολουθείται από ένα γράμμα με το ύφος «πελάτη, ξύπνα, τα αφήσαμε όλα». Αλλά μας είπαν ότι ο ιστότοπος δεν έχει καμία σχέση με επιχειρηματικές διαδικασίες και λειτουργεί εκεί χωρίς κανένα λόγο, όπως ολόκληρος ο διακομιστής, και ότι μπορούμε να χρησιμοποιήσουμε αυτόν τον πόρο όπως θέλουμε.
Περίπου μια μέρα αργότερα ο ιστότοπος άρχισε ξαφνικά να λειτουργεί μόνος του. Έχοντας δημιουργήσει έναν πάγκο από το WebDAV στο IIS 6.0, διαπίστωσα ότι η προεπιλεγμένη ρύθμιση είναι η επανεκκίνηση των διεργασιών εργασίας IIS κάθε 30 ώρες. Δηλαδή, όταν ο έλεγχος έβγαινε από τον shellcode, η διαδικασία του IIS worker τελείωσε, στη συνέχεια επανεκκινήθηκε μερικές φορές και μετά πήγε σε ανάπαυση για 30 ώρες.

Εφόσον η επανασύνδεση στο tcp απέτυχε την πρώτη φορά, απέδωσα αυτό το πρόβλημα σε μια κλειστή θύρα. Δηλαδή, υπέθεσε την παρουσία κάποιου είδους τείχους προστασίας που δεν επέτρεπε στις εξερχόμενες συνδέσεις να περάσουν έξω. Άρχισα να τρέχω κώδικες shell που έκαναν αναζήτηση σε πολλές θύρες tcp και udp, δεν υπήρχε αποτέλεσμα. Τα φορτία αντίστροφης σύνδεσης μέσω http(s) από το Metasploit δεν λειτούργησαν - meterpreter/reverse_http(s). Ξαφνικά, δημιουργήθηκε μια σύνδεση με την ίδια θύρα 80, αλλά αμέσως σταμάτησε. Αυτό το απέδωσα στη δράση του ακόμα φανταστικού IPS, που δεν του άρεσε η κίνηση του μετρητή. Υπό το πρίσμα του γεγονότος ότι μια καθαρή σύνδεση tcp στη θύρα 80 δεν πραγματοποιήθηκε, αλλά μια σύνδεση http, κατέληξα στο συμπέρασμα ότι ένας διακομιστής μεσολάβησης http είχε ρυθμιστεί με κάποιο τρόπο στο σύστημα.

Δοκίμασα ακόμη και τον μετρητή μέσω DNS (ευχαριστώ d00kie για τις προσπάθειές σας, έσωσε πολλά έργα), υπενθυμίζοντας την πρώτη επιτυχία, αλλά δεν λειτούργησε καν στο περίπτερο - ο shellcode ήταν πολύ ογκώδης για αυτήν την ευπάθεια.

Στην πραγματικότητα, έμοιαζε κάπως έτσι: 3-4 απόπειρες επιθέσεων μέσα σε 5 λεπτά, μετά αναμονή για 30 ώρες. Και ούτω καθεξής για τρεις συνεχόμενες εβδομάδες. Έβαλα ακόμη και μια υπενθύμιση για να μην χάνω χρόνο. Επιπλέον, υπήρχε μια διαφορά στη συμπεριφορά των περιβαλλόντων δοκιμής και παραγωγής: για αυτήν την ευπάθεια υπήρχαν δύο παρόμοια exploit, το ένα από το Metasploit, το δεύτερο από το Διαδίκτυο, που μετατράπηκαν από την έκδοση Shadow Brokers. Έτσι, μόνο το Metasploit δοκιμάστηκε στη μάχη και μόνο το δεύτερο δοκιμάστηκε στον πάγκο, κάτι που έκανε το debugging ακόμα πιο δύσκολο και ήταν εγκεφαλικό.

Στο τέλος, ένας shellcode που κατέβαζε ένα αρχείο exe από έναν συγκεκριμένο διακομιστή μέσω http και το εκτόξευε στο σύστημα προορισμού αποδείχθηκε αποτελεσματικός. Ο κώδικας του κελύφους ήταν αρκετά μικρός για να χωρέσει, αλλά τουλάχιστον λειτούργησε. Δεδομένου ότι στον διακομιστή δεν άρεσε καθόλου η κυκλοφορία TCP και το http(s) επιθεωρήθηκε για την παρουσία μετρητή, αποφάσισα ότι ο πιο γρήγορος τρόπος ήταν να κατεβάσω ένα αρχείο exe που περιείχε μετρητή DNS μέσω αυτού του κελύφους.

Εδώ πάλι προέκυψε ένα πρόβλημα: κατά τη λήψη ενός αρχείου exe και, όπως έδειξαν οι προσπάθειες, ανεξάρτητα από το ποιο, η λήψη διακόπηκε. Και πάλι, σε κάποια συσκευή ασφαλείας μεταξύ του διακομιστή μου και του ουρολόγο δεν άρεσε η κυκλοφορία http με ένα exe μέσα. Η «γρήγορη» λύση φαινόταν να είναι η αλλαγή του shellcode ώστε να θολώνει την κυκλοφορία http εν κινήσει, έτσι ώστε να μεταφέρονται αφηρημένα δυαδικά δεδομένα αντί για exe. Τελικά, η επίθεση ήταν επιτυχής, ο έλεγχος ελήφθη μέσω του λεπτού καναλιού DNS:

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

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Όλες οι μεθοδολογίες pentest υποδηλώνουν σθεναρά ότι πρέπει να αυξήσετε τα δικαιώματα όταν αποκτάτε πρόσβαση. Συνήθως δεν το κάνω τοπικά, καθώς η πρώτη κιόλας πρόσβαση θεωρείται απλώς ως σημείο εισόδου στο δίκτυο και η παραβίαση ενός άλλου υπολογιστή στο ίδιο δίκτυο είναι συνήθως ευκολότερη και ταχύτερη από την κλιμάκωση των προνομίων σε έναν υπάρχοντα κεντρικό υπολογιστή. Αλλά αυτό δεν συμβαίνει εδώ, καθώς το κανάλι DNS είναι πολύ στενό και δεν θα επιτρέψει την εκκαθάριση της κυκλοφορίας.

Υποθέτοντας ότι αυτός ο διακομιστής Windows 2003 δεν έχει επιδιορθωθεί για τη διάσημη ευπάθεια MS17-010, διοχετεύω την κυκλοφορία στη θύρα 445/TCP μέσω της σήραγγας DNS του μετρητή στο localhost (ναι, αυτό είναι επίσης δυνατό) και προσπαθώ να εκτελέσω το προηγουμένως κατεβασμένο exe μέσω την ευπάθεια. Η επίθεση λειτουργεί, λαμβάνω δεύτερη σύνδεση, αλλά με δικαιώματα SYSTEM.

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor

Είναι ενδιαφέρον ότι εξακολουθούσαν να προσπαθούν να προστατεύσουν τον διακομιστή από το MS17-010 - είχε απενεργοποιημένες ευάλωτες υπηρεσίες δικτύου στην εξωτερική διεπαφή. Αυτό όντως προστατεύει από επιθέσεις μέσω του δικτύου, αλλά η επίθεση από μέσα στο localhost λειτούργησε, καθώς δεν μπορείτε απλά να απενεργοποιήσετε γρήγορα το SMB στο localhost.

Στη συνέχεια, αποκαλύπτονται νέες ενδιαφέρουσες λεπτομέρειες:

  1. Έχοντας δικαιώματα SYSTEM, μπορείτε εύκολα να δημιουργήσετε μια backconnection μέσω TCP. Προφανώς, η απενεργοποίηση του άμεσου TCP είναι αυστηρά πρόβλημα για τον περιορισμένο χρήστη IIS. Spoiler: η κίνηση των χρηστών IIS ήταν κατά κάποιο τρόπο τυλιγμένη στον τοπικό διακομιστή μεσολάβησης ISA και προς τις δύο κατευθύνσεις. Το πώς ακριβώς λειτουργεί, δεν το έχω αναπαραγάγει.
  2. Είμαι σε ένα συγκεκριμένο "DMZ" (και αυτό δεν είναι τομέας Active Directory, αλλά WORKGROUP) - ακούγεται λογικό. Αλλά αντί για την αναμενόμενη ιδιωτική ("γκρίζα") διεύθυνση IP, έχω μια εντελώς "λευκή" διεύθυνση IP, ακριβώς την ίδια με αυτή στην οποία επιτέθηκα νωρίτερα. Αυτό σημαίνει ότι η εταιρεία είναι τόσο παλιά στον κόσμο των διευθύνσεων IPv4 που μπορεί να αντέξει οικονομικά να διατηρήσει μια ζώνη DMZ για 128 "λευκές" διευθύνσεις χωρίς NAT σύμφωνα με το σχήμα, όπως απεικονίζεται στα εγχειρίδια της Cisco από το 2005.

Δεδομένου ότι ο διακομιστής είναι παλιός, το Mimikatz είναι εγγυημένο ότι λειτουργεί απευθείας από τη μνήμη:

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Λαμβάνω τον κωδικό πρόσβασης τοπικού διαχειριστή, διοχετεύω την κυκλοφορία RDP μέσω TCP και συνδέομαι σε μια άνετη επιφάνεια εργασίας. Επειδή μπορούσα να κάνω ό,τι ήθελα με τον διακομιστή, αφαίρεσα το πρόγραμμα προστασίας από ιούς και διαπίστωσα ότι ο διακομιστής ήταν προσβάσιμος από το Διαδίκτυο μόνο μέσω των θυρών TCP 80 και 443 και το 443 δεν ήταν απασχολημένο. Ρύθμισα έναν διακομιστή OpenVPN στο 443, προσθέτω λειτουργίες NAT για την επισκεψιμότητα VPN μου και έχω άμεση πρόσβαση στο δίκτυο DMZ σε απεριόριστη μορφή μέσω του OpenVPN μου. Αξιοσημείωτο είναι ότι η ISA, έχοντας κάποιες μη απενεργοποιημένες λειτουργίες IPS, απέκλεισε την κυκλοφορία μου με σάρωση θυρών, για την οποία έπρεπε να αντικατασταθεί με ένα απλούστερο και πιο συμβατό RRAS. Έτσι, οι διεισδυτές μερικές φορές εξακολουθούν να πρέπει να διαχειρίζονται όλα τα είδη των πραγμάτων.

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Ένας προσεκτικός αναγνώστης θα ρωτήσει: "Τι γίνεται με τον δεύτερο ιστότοπο - ένα wiki με έλεγχο ταυτότητας NTLM, για τον οποίο έχουν γραφτεί τόσα πολλά;" Περισσότερα για αυτό αργότερα.

Μέρος 2. Εξακολουθείτε να μην κρυπτογραφείτε; Τότε ερχόμαστε σε εσάς ήδη εδώ

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

Φορτίζω τους σαρωτές μέσω DMZ μέσω ενός τούνελ OpenVPN και περιμένω. Ανοίγω την αναφορά - και πάλι τίποτα σοβαρό, προφανώς κάποιος είχε την ίδια μέθοδο πριν από μένα. Το επόμενο βήμα είναι να εξετάσουμε πώς επικοινωνούν οι κεντρικοί υπολογιστές εντός του δικτύου DMZ. Για να το κάνετε αυτό, ξεκινήστε πρώτα το συνηθισμένο Wireshark και ακούστε για αιτήματα εκπομπής, κυρίως ARP. Τα πακέτα ARP συλλέχθηκαν όλη την ημέρα. Αποδεικνύεται ότι σε αυτό το τμήμα χρησιμοποιούνται πολλές πύλες. Αυτό θα σας φανεί χρήσιμο αργότερα. Συνδυάζοντας δεδομένα σχετικά με αιτήματα και αποκρίσεις ARP και δεδομένα σάρωσης θυρών, βρήκα τα σημεία εξόδου της κίνησης των χρηστών μέσα από το τοπικό δίκτυο, εκτός από εκείνες τις υπηρεσίες που ήταν προηγουμένως γνωστές, όπως ο ιστός και η αλληλογραφία.

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

Το Cain&Abel κυκλοφόρησε στον διακομιστή του ουρολόγου. Λαμβάνοντας υπόψη τις προσδιορισμένες ροές κυκλοφορίας, επιλέχθηκαν τα πιο πολλά υποσχόμενα ζεύγη για την επίθεση man-in-the-middle και, στη συνέχεια, ελήφθη κάποια κίνηση δικτύου με βραχυπρόθεσμη εκκίνηση για 5-10 λεπτά, με χρονοδιακόπτη για επανεκκίνηση του διακομιστή σε περίπτωση κατάψυξης. Όπως και στο αστείο, υπήρχαν δύο νέα:

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

Ως αποτέλεσμα, απέκτησα πολλά διαπιστευτήρια που ήταν άχρηστα στο πλαίσιο του έργου, αλλά σίγουρα ενδιαφέροντα ως επίδειξη του κινδύνου της επίθεσης. Border routers μεγάλων εταιρειών με telnet, προωθημένες θύρες http debug σε εσωτερικό CRM με όλα τα δεδομένα, άμεση πρόσβαση στο RDP από τα Windows XP στο τοπικό δίκτυο και άλλος σκοταδισμός. Αποδείχθηκε έτσι Συμβιβασμός Εφοδιαστικής Αλυσίδας σύμφωνα με τον πίνακα MITER.

Βρήκα επίσης μια αστεία ευκαιρία να μαζέψω γράμματα από την κυκλοφορία, κάπως έτσι. Αυτό είναι ένα παράδειγμα έτοιμης επιστολής που πήγε από τον πελάτη μας στη θύρα SMTP του πελάτη του, ξανά, χωρίς κρυπτογράφηση. Κάποιος Αντρέι ζητά από τον συνονόματό του να στείλει ξανά την τεκμηρίωση και αυτή μεταφορτώνεται σε έναν δίσκο cloud με login, κωδικό πρόσβασης και σύνδεσμο σε μια επιστολή απάντησης:

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

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

Μετά από άλλη μια ανασκαφή στις υπηρεσίες, μια ενδιαφέρουσα ιδέα ήρθε στο μυαλό. Υπάρχει ένα τέτοιο βοηθητικό πρόγραμμα που ονομάζεται Responder (είναι εύκολο να βρείτε παραδείγματα χρήσης με αυτό το όνομα), το οποίο, «δηλητηριάζοντας» αιτήματα εκπομπής, προκαλεί συνδέσεις μέσω μιας ποικιλίας πρωτοκόλλων όπως SMB, HTTP, LDAP κ.λπ. με διαφορετικούς τρόπους, στη συνέχεια ζητά από όλους όσους συνδέονται να πραγματοποιήσουν έλεγχο ταυτότητας και ρυθμίζουν έτσι ώστε ο έλεγχος ταυτότητας να πραγματοποιείται μέσω NTLM και σε τρόπο διαφανή για το θύμα. Τις περισσότερες φορές, ένας εισβολέας συλλέγει χειραψίες NetNTLMv2 με αυτόν τον τρόπο και από αυτές, χρησιμοποιώντας ένα λεξικό, ανακτά γρήγορα τους κωδικούς πρόσβασης χρήστη τομέα. Εδώ ήθελα κάτι παρόμοιο, αλλά οι χρήστες κάθισαν "πίσω από έναν τοίχο", ή μάλλον, χωρίζονταν από ένα τείχος προστασίας και είχαν πρόσβαση στο WEB μέσω του συμπλέγματος διακομιστή μεσολάβησης Blue Coat.

Θυμηθείτε, όρισα ότι το όνομα τομέα Active Directory συμπίπτει με τον "εξωτερικό" τομέα, δηλαδή ήταν company.ru; Έτσι, τα Windows, πιο συγκεκριμένα ο Internet Explorer (και ο Edge και ο Chrome), επιτρέπουν στον χρήστη να πραγματοποιεί διαφανή έλεγχο ταυτότητας σε HTTP μέσω NTLM εάν θεωρεί ότι ο ιστότοπος βρίσκεται σε κάποια «Ζώνη Intranet». Ένα από τα σημάδια ενός "Intranet" είναι η πρόσβαση σε μια "γκρίζα" διεύθυνση IP ή ένα σύντομο όνομα DNS, δηλαδή χωρίς τελείες. Δεδομένου ότι είχαν έναν διακομιστή με "λευκή" IP και όνομα DNS preobrazhensky.company.ru, και οι μηχανές τομέα συνήθως λαμβάνουν το επίθημα τομέα Active Directory μέσω DHCP για απλοποιημένη καταχώριση ονόματος, έπρεπε μόνο να γράψουν τη διεύθυνση URL στη γραμμή διευθύνσεων preobrazhensky, ώστε να βρουν το σωστό μονοπάτι προς τον διακομιστή του παραβιασμένου ουρολόγου, χωρίς να ξεχνούν ότι αυτό ονομάζεται πλέον «Intranet». Δηλαδή, δίνοντάς μου ταυτόχρονα τη χειραψία NTLM του χρήστη εν αγνοία του. Το μόνο που μένει είναι να αναγκάσουμε τα προγράμματα περιήγησης πελατών να σκεφτούν την επείγουσα ανάγκη επικοινωνίας με αυτόν τον διακομιστή.

Το υπέροχο βοηθητικό πρόγραμμα Intercepter-NG ήρθε στη διάσωση (ευχαριστώ Αναχαιτιστής). Σας επέτρεπε να αλλάζετε την κυκλοφορία εν κινήσει και λειτούργησε εξαιρετικά στα Windows 2003. Είχε ακόμη και ξεχωριστή λειτουργία για την τροποποίηση μόνο αρχείων JavaScript στη ροή της κυκλοφορίας. Είχε προγραμματιστεί ένα είδος μαζικής δέσμης ενεργειών μεταξύ τοποθεσιών.

Διακομιστές μεσολάβησης Blue Coat, μέσω των οποίων οι χρήστες είχαν πρόσβαση στο παγκόσμιο WEB, αποθήκευαν περιοδικά στατικό περιεχόμενο. Αναχαιτίζοντας την κυκλοφορία, ήταν ξεκάθαρο ότι εργάζονταν όλο το εικοσιτετράωρο, ζητώντας ασταμάτητα συχνά χρησιμοποιούμενο στατικό για να επιταχύνουν την εμφάνιση περιεχομένου κατά τις ώρες αιχμής. Επιπλέον, το BlueCoat είχε ένα συγκεκριμένο User-Agent, που το ξεχώριζε σαφώς από έναν πραγματικό χρήστη.

Ετοιμάστηκε το Javascript, το οποίο, χρησιμοποιώντας το Intercepter-NG, υλοποιήθηκε για μια ώρα τη νύχτα για κάθε απάντηση με αρχεία JS για το Blue Coat. Το σενάριο έκανε τα εξής:

  • Προσδιορίστηκε το τρέχον πρόγραμμα περιήγησης από τον παράγοντα χρήστη. Αν ήταν Internet Explorer, Edge ή Chrome, συνέχιζε να λειτουργεί.
  • Περίμενα μέχρι να σχηματιστεί το DOM της σελίδας.
  • Έγινε εισαγωγή μιας αόρατης εικόνας στο DOM με ένα χαρακτηριστικό src της φόρμας preobrazhensky:8080/NNNNNN.png, όπου το NNN είναι αυθαίρετοι αριθμοί έτσι ώστε το BlueCoat να μην το αποθηκεύει προσωρινά.
  • Ορίστε μια μεταβλητή καθολικής επισήμανσης για να υποδείξετε ότι η ένεση ολοκληρώθηκε και ότι δεν χρειάζεται πλέον να εισάγετε εικόνες.

Το πρόγραμμα περιήγησης προσπάθησε να φορτώσει αυτήν την εικόνα· στη θύρα 8080 του παραβιασμένου διακομιστή, μια σήραγγα TCP την περίμενε στον φορητό υπολογιστή μου, όπου εκτελούσε το ίδιο Responder, απαιτώντας από το πρόγραμμα περιήγησης να συνδεθεί μέσω NTLM.

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Κρίνοντας από τα αρχεία καταγραφής του Responder, οι άνθρωποι ήρθαν στη δουλειά το πρωί, άνοιξαν τους σταθμούς εργασίας τους και στη συνέχεια μαζικά και απαρατήρητοι άρχισαν να επισκέπτονται τον διακομιστή του ουρολόγο, χωρίς να ξεχνούν να «στραγγίζουν» τις χειραψίες του NTLM. Οι χειραψίες έπεφταν βροχή όλη μέρα και μαζεύτηκε σαφώς υλικό για μια προφανώς επιτυχημένη επίθεση για ανάκτηση κωδικών πρόσβασης. Έτσι έμοιαζαν τα αρχεία καταγραφής του Responder:

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του RoskomnadzorΜαζικές μυστικές επισκέψεις στον διακομιστή ουρολόγο από χρήστες

Πιθανότατα έχετε ήδη παρατηρήσει ότι όλη αυτή η ιστορία βασίζεται στην αρχή "όλα ήταν καλά, αλλά μετά υπήρξε ένα κακό, μετά υπήρξε μια υπέρβαση και μετά όλα ήρθαν σε επιτυχία". Οπότε, εδώ έγινε μια κακία. Από τις πενήντα μοναδικές χειραψίες δεν αποκαλύφθηκε ούτε μία. Και αυτό λαμβάνει υπόψη το γεγονός ότι ακόμη και σε φορητό υπολογιστή με νεκρό επεξεργαστή, αυτές οι χειραψίες NTLMv2 επεξεργάζονται με ταχύτητα πολλών εκατοντάδων εκατομμυρίων προσπαθειών ανά δευτερόλεπτο.

Έπρεπε να οπλιστώ με τεχνικές μετάλλαξης κωδικού πρόσβασης, μια κάρτα βίντεο, ένα πιο χοντρό λεξικό και να περιμένω. Μετά από πολύ καιρό, αποκαλύφθηκαν αρκετοί λογαριασμοί με κωδικούς πρόσβασης της μορφής "Q11111111...1111111q", γεγονός που υποδηλώνει ότι όλοι οι χρήστες αναγκάστηκαν κάποτε να βρουν έναν πολύ μεγάλο κωδικό πρόσβασης με διαφορετική κεφαλαία χαρακτήρων, ο οποίος επίσης υποτίθεται ότι να είναι σύνθετη. Αλλά δεν μπορείς να ξεγελάσεις έναν έμπειρο χρήστη και έτσι τον έκανε πιο εύκολο να θυμηθεί. Συνολικά, περίπου 5 λογαριασμοί παραβιάστηκαν και μόνο ένας από αυτούς είχε πολύτιμα δικαιώματα στις υπηρεσίες.

Μέρος 3. Η Roskomnadzor αντεπιτίθεται

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

  • Η εταιρεία διαθέτει δίκτυο WiFi με έλεγχο ταυτότητας χρησιμοποιώντας λογαριασμούς τομέα με πρόσβαση στο τοπικό δίκτυο. Με το τρέχον σύνολο δεδομένων, αυτό είναι ήδη ένας λειτουργικός φορέας επίθεσης, αλλά πρέπει να πάτε στο γραφείο με τα πόδια σας και να βρίσκεστε κάπου στην επικράτεια του γραφείου του πελάτη.
  • Βρήκα μια οδηγία σύμφωνα με την οποία υπήρχε μια υπηρεσία που επέτρεπε... να καταχωρήσει ανεξάρτητα μια συσκευή ελέγχου ταυτότητας "δεύτερου παράγοντα" εάν ο χρήστης βρίσκεται εντός τοπικού δικτύου και θυμάται με σιγουριά τη σύνδεση και τον κωδικό πρόσβασης στον τομέα του. Σε αυτήν την περίπτωση, το «μέσα» και το «εκτός» προσδιορίστηκαν από την προσβασιμότητα της θύρας αυτής της υπηρεσίας στον χρήστη. Η θύρα δεν ήταν προσβάσιμη από το Διαδίκτυο, αλλά ήταν αρκετά προσβάσιμη μέσω του DMZ.

Φυσικά, ένας "δεύτερος παράγοντας" προστέθηκε αμέσως στον παραβιασμένο λογαριασμό με τη μορφή μιας εφαρμογής στο τηλέφωνό μου. Υπήρχε ένα πρόγραμμα που μπορούσε είτε να στείλει δυνατά ένα αίτημα ώθησης στο τηλέφωνο με τα κουμπιά "έγκριση"/"απόρριψη" για την ενέργεια ή να εμφανίσει σιωπηλά τον κωδικό OTP στην οθόνη για περαιτέρω ανεξάρτητη είσοδο. Επιπλέον, η πρώτη μέθοδος υποτίθεται από τις οδηγίες ότι ήταν η μόνη σωστή, αλλά δεν λειτούργησε, σε αντίθεση με τη μέθοδο OTP.

Με τον "δεύτερο παράγοντα" σπασμένο, μπόρεσα να αποκτήσω πρόσβαση στην αλληλογραφία του Outlook Web Access και απομακρυσμένη πρόσβαση στο Citrix Netscaler Gateway. Υπήρχε μια έκπληξη στο mail στο Outlook:

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Σε αυτό το σπάνιο στιγμιότυπο μπορείτε να δείτε πώς η Roskomnadzor βοηθάει τους διεισδυτές

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

Όποιος είναι εξοικειωμένος με το Citrix Netscaler φαντάζεται ότι συνήθως υλοποιείται με τέτοιο τρόπο ώστε μόνο μια διεπαφή εικόνας μπορεί να μεταφερθεί στον χρήστη, προσπαθώντας να μην του δώσει τα εργαλεία για την εκκίνηση εφαρμογών τρίτων και τη μεταφορά δεδομένων, περιορίζοντας με κάθε δυνατό τρόπο τις ενέργειες μέσω τυπικών κελυφών ελέγχου. Το «θύμα» μου, λόγω του επαγγέλματός του, πήρε μόνο 1C:

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

Ζήτησα από τους φίλους μου προγραμματιστές 1C να δημιουργήσουν μια επεξεργασία που θα δεχόταν μια συμβολοσειρά και θα την εκτελούσε. Στη γλώσσα 1C, η έναρξη μιας διαδικασίας μοιάζει κάπως έτσι (λήφθηκε από το Διαδίκτυο). Συμφωνείτε ότι η σύνταξη της γλώσσας 1C εκπλήσσει τους ρωσόφωνους με τον αυθορμητισμό της;

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor

Η επεξεργασία εκτελέστηκε τέλεια· αποδείχθηκε ότι ήταν αυτό που οι διεισδυτές αποκαλούν "κέλυφος" - μέσω αυτού ξεκίνησε ο Internet Explorer.

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Νωρίτερα, βρέθηκε στο ταχυδρομείο η διεύθυνση ενός συστήματος που σας επιτρέπει να παραγγείλετε κάρτες εισόδου στην περιοχή. Παρήγγειλα ένα πάσο σε περίπτωση που έπρεπε να χρησιμοποιήσω ένα διάνυσμα επίθεσης WiFi.

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Γίνεται συζήτηση στο Διαδίκτυο ότι υπήρχε ακόμα νόστιμο δωρεάν catering στο γραφείο του πελάτη, αλλά εξακολουθούσα να προτιμώ να αναπτύξω την επίθεση από απόσταση, είναι πιο ήρεμο.

Το AppLocker ενεργοποιήθηκε στον διακομιστή εφαρμογών που εκτελούσε το Citrix, αλλά παρακάμφθηκε. Το ίδιο Meterpreter φορτώθηκε και ξεκίνησε μέσω DNS, καθώς οι εκδόσεις http δεν ήθελαν να συνδεθούν και δεν ήξερα την εσωτερική διεύθυνση του διακομιστή μεσολάβησης εκείνη τη στιγμή. Παρεμπιπτόντως, από αυτή τη στιγμή και μετά, η εξωτερική πεντάδα ουσιαστικά μετατράπηκε εντελώς σε εσωτερική.

Μέρος 4. Τα δικαιώματα διαχειριστή για τους χρήστες είναι κακά, εντάξει;

Το πρώτο καθήκον ενός pentester όταν αποκτά τον έλεγχο μιας περιόδου λειτουργίας χρήστη τομέα είναι να συλλέγει όλες τις πληροφορίες σχετικά με τα δικαιώματα στον τομέα. Υπάρχει ένα βοηθητικό πρόγραμμα BloodHound που σας επιτρέπει αυτόματα να κάνετε λήψη πληροφοριών σχετικά με χρήστες, υπολογιστές, ομάδες ασφαλείας μέσω του πρωτοκόλλου LDAP από έναν ελεγκτή τομέα και μέσω SMB - πληροφορίες σχετικά με το ποιος χρήστης συνδέθηκε πρόσφατα, πού και ποιος είναι ο τοπικός διαχειριστής.

Μια τυπική τεχνική για την κατάσχεση των δικαιωμάτων διαχειριστή τομέα φαίνεται απλοποιημένη ως ένας κύκλος μονότονων ενεργειών:

  • Πηγαίνουμε σε υπολογιστές τομέα όπου υπάρχουν δικαιώματα τοπικού διαχειριστή, βάσει λογαριασμών τομέα που έχουν ήδη καταγραφεί.
  • Εκκινούμε το Mimikatz και λαμβάνουμε προσωρινά αποθηκευμένους κωδικούς πρόσβασης, εισιτήρια Kerberos και κατακερματισμούς NTLM λογαριασμών τομέα που συνδέθηκαν πρόσφατα σε αυτό το σύστημα. Ή αφαιρούμε την εικόνα μνήμης της διαδικασίας lsass.exe και κάνουμε το ίδιο από την πλευρά μας. Αυτό λειτουργεί καλά με Windows νεότερα από 2012R2/Windows 8.1 με προεπιλεγμένες ρυθμίσεις.
  • Καθορίζουμε πού οι παραβιασμένοι λογαριασμοί έχουν δικαιώματα τοπικού διαχειριστή. Επαναλαμβάνουμε το πρώτο σημείο. Σε κάποιο στάδιο αποκτάμε δικαιώματα διαχειριστή για ολόκληρο τον τομέα.

«Τέλος κύκλου;», όπως θα έγραφαν εδώ οι προγραμματιστές του 1C.

Έτσι, ο χρήστης μας αποδείχθηκε ότι ήταν τοπικός διαχειριστής σε έναν μόνο κεντρικό υπολογιστή με Windows 7, το όνομα του οποίου περιελάμβανε τη λέξη "VDI" ή "Εικονική υποδομή επιφάνειας εργασίας", προσωπικές εικονικές μηχανές. Πιθανώς, ο σχεδιαστής της υπηρεσίας VDI εννοούσε ότι δεδομένου ότι το VDI είναι το προσωπικό λειτουργικό σύστημα του χρήστη, ακόμα κι αν ο χρήστης αλλάξει το περιβάλλον λογισμικού όπως θέλει, ο κεντρικός υπολογιστής μπορεί να "επαναφορτωθεί". Σκέφτηκα επίσης ότι γενικά η ιδέα ήταν καλή, πήγα σε αυτόν τον προσωπικό οικοδεσπότη VDI και έφτιαξα μια φωλιά εκεί:

  • Εγκατέστησα ένα πρόγραμμα-πελάτη OpenVPN εκεί, το οποίο έκανε ένα τούνελ μέσω του Διαδικτύου στον διακομιστή μου. Ο πελάτης έπρεπε να αναγκαστεί να περάσει από το ίδιο Blue Coat με έλεγχο ταυτότητας τομέα, αλλά το OpenVPN το έκανε, όπως λένε, "out of the box".
  • Εγκατεστημένο το OpenSSH σε VDI. Λοιπόν, αλήθεια, τι είναι τα Windows 7 χωρίς SSH;

Έτσι έμοιαζε ζωντανά. Επιτρέψτε μου να σας υπενθυμίσω ότι όλα αυτά πρέπει να γίνουν μέσω Citrix και 1C:

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Μια τεχνική για την προώθηση της πρόσβασης σε γειτονικούς υπολογιστές είναι ο έλεγχος των κωδικών πρόσβασης τοπικού διαχειριστή για μια αντιστοίχιση. Εδώ περίμενε αμέσως η τύχη: ο κατακερματισμός NTLM του προεπιλεγμένου τοπικού διαχειριστή (ο οποίος ονομάστηκε ξαφνικά Διαχειριστής) προσεγγίστηκε μέσω μιας επίθεσης pass-the-hash σε γειτονικούς κεντρικούς υπολογιστές VDI, από τους οποίους υπήρχαν αρκετές εκατοντάδες. Φυσικά η επίθεση τους χτύπησε αμέσως.

Εδώ οι διαχειριστές VDI πυροβολήθηκαν δύο φορές στα πόδια:

  • Η πρώτη φορά ήταν όταν οι μηχανές VDI δεν τέθηκαν υπό LAPS, διατηρώντας ουσιαστικά τον ίδιο κωδικό πρόσβασης τοπικού διαχειριστή από την εικόνα που αναπτύχθηκε μαζικά στο VDI.
  • Ο προεπιλεγμένος διαχειριστής είναι ο μόνος τοπικός λογαριασμός που είναι ευάλωτος σε επιθέσεις pass-the-hash. Ακόμη και με τον ίδιο κωδικό πρόσβασης, θα ήταν δυνατό να αποφευχθεί ο μαζικός συμβιβασμός δημιουργώντας έναν δεύτερο τοπικό λογαριασμό διαχειριστή με έναν περίπλοκο τυχαίο κωδικό πρόσβασης και αποκλείοντας τον προεπιλεγμένο.

Γιατί υπάρχει μια υπηρεσία SSH σε αυτά τα Windows; Πολύ απλό: τώρα ο διακομιστής OpenSSH όχι μόνο παρείχε ένα βολικό διαδραστικό κέλυφος εντολών χωρίς να παρεμβαίνει στην εργασία του χρήστη, αλλά και ένα socks5 proxy στο VDI. Μέσω αυτών των καλτσών, συνδέθηκα μέσω SMB και συνέλεξα αποθηκευμένους λογαριασμούς από όλες αυτές τις εκατοντάδες μηχανές VDI και, στη συνέχεια, αναζήτησα τη διαδρομή προς τον διαχειριστή τομέα χρησιμοποιώντας τους στα γραφήματα του BloodHound. Με εκατοντάδες οικοδεσπότες στη διάθεσή μου, βρήκα αυτόν τον τρόπο αρκετά γρήγορα. Έχουν αποκτηθεί δικαιώματα διαχειριστή τομέα.

Εδώ είναι μια εικόνα από το Διαδίκτυο που δείχνει μια παρόμοια αναζήτηση. Οι συνδέσεις δείχνουν ποιος βρίσκεται πού είναι ο διαχειριστής και ποιος είναι συνδεδεμένος πού.

Κάποτε, ή Πώς να σπάσετε τα πάντα με τη βοήθεια ενός ουρολόγου και του Roskomnadzor
Παρεμπιπτόντως, θυμηθείτε την κατάσταση από την αρχή του έργου - "μην χρησιμοποιείτε κοινωνική μηχανική". Λοιπόν, προτείνω να σκεφτούμε πόσο θα κοπεί όλο αυτό το Bollywood με ειδικά εφέ, αν ήταν ακόμα δυνατό να χρησιμοποιηθεί το κοινόχρηστο phishing. Αλλά προσωπικά, ήταν πολύ ενδιαφέρον για μένα να το κάνω όλο αυτό. Ελπίζω να σας άρεσε να διαβάζετε αυτό. Φυσικά, δεν φαίνεται κάθε έργο τόσο ενδιαφέρον, αλλά το έργο στο σύνολό του είναι πολύ προκλητικό και δεν του επιτρέπει να μείνει στάσιμο.

Πιθανώς κάποιος θα έχει μια ερώτηση: πώς να προστατεύσετε τον εαυτό σας; Ακόμη και αυτό το άρθρο περιγράφει πολλές τεχνικές, πολλές από τις οποίες οι διαχειριστές των Windows δεν γνωρίζουν καν. Ωστόσο, προτείνω να τα εξετάσουμε από την οπτική γωνία των χαμένων αρχών και των μέτρων ασφάλειας πληροφοριών:

  • μην χρησιμοποιείτε ξεπερασμένο λογισμικό (θυμάστε τα Windows 2003 στην αρχή;)
  • μην κρατάτε ενεργοποιημένα τα περιττά συστήματα (γιατί υπήρχε ο ιστότοπος ενός ουρολόγου;)
  • ελέγξτε μόνοι σας τους κωδικούς πρόσβασης των χρηστών για ισχύ (διαφορετικά οι στρατιώτες... θα το κάνουν αυτό οι εισβολείς)
  • δεν έχουν τους ίδιους κωδικούς πρόσβασης για διαφορετικούς λογαριασμούς (συμβιβασμός VDI)
  • και άλλες

Φυσικά, αυτό είναι πολύ δύσκολο να εφαρμοστεί, αλλά στο επόμενο άρθρο θα δείξουμε στην πράξη ότι είναι αρκετά δυνατό.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο