DCOM Exec
MMC20.Application
Για περισσότερες πληροφορίες σχετικά με αυτή την τεχνική, ελέγξτε την αρχική ανάρτηση από https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/
Τα αντικείμενα του Distributed Component Object Model (DCOM) προσφέρουν μια ενδιαφέρουσα δυνατότητα για αλληλεπιδράσεις με αντικείμενα μέσω δικτύου. Η Microsoft παρέχει εκτενή τεκμηρίωση τόσο για το DCOM όσο και για το Component Object Model (COM), προσβάσιμη εδώ για το DCOM και εδώ για το COM. Μια λίστα με τις εφαρμογές DCOM μπορεί να ανακτηθεί χρησιμοποιώντας την εντολή PowerShell:
Το αντικείμενο COM, MMC Application Class (MMC20.Application), επιτρέπει την scripting των λειτουργιών snap-in του MMC. Σημαντικά, αυτό το αντικείμενο περιέχει μια μέθοδο ExecuteShellCommand
κάτω από Document.ActiveView
. Περισσότερες πληροφορίες σχετικά με αυτή τη μέθοδο μπορούν να βρεθούν εδώ. Ελέγξτε το να τρέχει:
Αυτή η δυνατότητα διευκολύνει την εκτέλεση εντολών μέσω ενός δικτύου μέσω μιας εφαρμογής DCOM. Για να αλληλεπιδράσετε με το DCOM απομακρυσμένα ως διαχειριστής, μπορεί να χρησιμοποιηθεί το PowerShell ως εξής:
Αυτή η εντολή συνδέεται με την εφαρμογή DCOM και επιστρέφει μια παρουσία του αντικειμένου COM. Η μέθοδος ExecuteShellCommand μπορεί στη συνέχεια να κληθεί για να εκτελέσει μια διαδικασία στον απομακρυσμένο υπολογιστή. Η διαδικασία περιλαμβάνει τα εξής βήματα:
Check methods:
Αποκτήστε RCE:
ShellWindows & ShellBrowserWindow
Για περισσότερες πληροφορίες σχετικά με αυτή την τεχνική, ελέγξτε την αρχική ανάρτηση https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
Το MMC20.Application αντικείμενο αναγνωρίστηκε ότι στερείται ρητών "LaunchPermissions," προεπιλέγοντας δικαιώματα που επιτρέπουν την πρόσβαση στους Διαχειριστές. Για περισσότερες λεπτομέρειες, μπορεί να εξερευνηθεί ένα νήμα εδώ, και συνιστάται η χρήση του @tiraniddo’s OleView .NET για φιλτράρισμα αντικειμένων χωρίς ρητή Άδεια Εκκίνησης.
Δύο συγκεκριμένα αντικείμενα, ShellBrowserWindow
και ShellWindows
, επισημάνθηκαν λόγω της έλλειψης ρητών Αδειών Εκκίνησης. Η απουσία μιας καταχώρισης LaunchPermission
στο μητρώο κάτω από HKCR:\AppID\{guid}
σημαίνει ότι δεν υπάρχουν ρητές άδειες.
ShellWindows
Για το ShellWindows
, το οποίο στερείται ProgID, οι μέθοδοι .NET Type.GetTypeFromCLSID
και Activator.CreateInstance
διευκολύνουν την δημιουργία αντικειμένων χρησιμοποιώντας το AppID του. Αυτή η διαδικασία εκμεταλλεύεται το OleView .NET για να ανακτήσει το CLSID για το ShellWindows
. Μόλις δημιουργηθεί, η αλληλεπίδραση είναι δυνατή μέσω της μεθόδου WindowsShell.Item
, οδηγώντας σε κλήσεις μεθόδων όπως Document.Application.ShellExecute
.
Παραδείγματα εντολών PowerShell παρέχονται για να δημιουργήσουν το αντικείμενο και να εκτελέσουν εντολές απομακρυσμένα:
Lateral Movement with Excel DCOM Objects
Η πλευρική κίνηση μπορεί να επιτευχθεί εκμεταλλευόμενη τα αντικείμενα DCOM Excel. Για λεπτομερείς πληροφορίες, είναι σκόπιμο να διαβάσετε τη συζήτηση σχετικά με την εκμετάλλευση του Excel DDE για πλευρική κίνηση μέσω DCOM στο blog της Cybereason.
Το έργο Empire παρέχει ένα σενάριο PowerShell, το οποίο δείχνει τη χρήση του Excel για απομακρυσμένη εκτέλεση κώδικα (RCE) μέσω της χειραγώγησης αντικειμένων DCOM. Παρακάτω παρατίθενται αποσπάσματα από το σενάριο που είναι διαθέσιμο στο GitHub repository του Empire, που παρουσιάζουν διάφορες μεθόδους για την κακή χρήση του Excel για RCE:
Automation Tools for Lateral Movement
Δύο εργαλεία επισημαίνονται για την αυτοματοποίηση αυτών των τεχνικών:
Invoke-DCOM.ps1: Ένα σενάριο PowerShell που παρέχεται από το έργο Empire και απλοποιεί την κλήση διαφόρων μεθόδων για την εκτέλεση κώδικα σε απομακρυσμένες μηχανές. Αυτό το σενάριο είναι προσβάσιμο στο αποθετήριο GitHub του Empire.
SharpLateral: Ένα εργαλείο σχεδιασμένο για την εκτέλεση κώδικα απομακρυσμένα, το οποίο μπορεί να χρησιμοποιηθεί με την εντολή:
Αυτόματα Εργαλεία
Το σενάριο Powershell Invoke-DCOM.ps1 επιτρέπει την εύκολη εκτέλεση όλων των σχολιασμένων τρόπων για την εκτέλεση κώδικα σε άλλες μηχανές.
Μπορείτε επίσης να χρησιμοποιήσετε SharpLateral:
Αναφορές
Last updated