DCOM Exec
Try Hard Security Group
MMC20.Application
Za više informacija o ovoj tehnici pogledajte originalni post na https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/
Model distribuiranih komponentnih objekata (DCOM) predstavlja zanimljivu mogućnost za mrežne interakcije sa objektima. Microsoft pruža sveobuhvatnu dokumentaciju za DCOM i Model komponentnih objekata (COM), dostupnu ovde za DCOM i ovde za COM. Spisak DCOM aplikacija može se dobiti korišćenjem PowerShell komande:
COM objekat, MMC Application Class (MMC20.Application), omogućava pisanje skriptova za MMC snap-in operacije. Posebno, ovaj objekat sadrži ExecuteShellCommand
metod pod Document.ActiveView
. Više informacija o ovom metodu možete pronaći ovde. Proverite pokretanjem:
Ova funkcija olakšava izvršavanje komandi preko mreže putem DCOM aplikacije. Za interakciju sa DCOM-om na daljinu kao administrator, PowerShell se može koristiti na sledeći način:
Ova komanda se povezuje sa DCOM aplikacijom i vraća instancu COM objekta. Metoda ExecuteShellCommand može zatim biti pozvana da izvrši proces na udaljenom računaru. Proces uključuje sledeće korake:
Provera metoda:
Dobijanje daljinskog izvršenja koda (RCE):
ShellWindows & ShellBrowserWindow
Za više informacija o ovoj tehnici pogledajte originalni post https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
Identifikovano je da objekat MMC20.Application nedostaje eksplicitna "LaunchPermissions", podrazumevajući dozvole koje dozvoljavaju pristup administratorima. Za dalje detalje, može se istražiti nit ovde, a preporučuje se korišćenje @tiraniddo’s OleView .NET za filtriranje objekata bez eksplicitnih dozvola za pokretanje.
Dva specifična objekta, ShellBrowserWindow
i ShellWindows
, istaknuta su zbog nedostatka eksplicitnih dozvola za pokretanje. Odsustvo unosa LaunchPermission
u registru pod HKCR:\AppID\{guid}
označava nedostatak eksplicitnih dozvola.
ShellWindows
Za ShellWindows
, koji nema ProgID, .NET metode Type.GetTypeFromCLSID
i Activator.CreateInstance
olakšavaju instanciranje objekta koristeći njegov AppID. Ovaj proces koristi OleView .NET za dobijanje CLSID-a za ShellWindows
. Jednom kada je instanciran, interakcija je moguća kroz metod WindowsShell.Item
, što dovodi do poziva metoda poput Document.Application.ShellExecute
.
Dati su primeri PowerShell komandi za instanciranje objekta i izvršavanje komandi na daljinu:
Lateralno kretanje pomoću Excel DCOM objekata
Lateralno kretanje može se postići iskorišćavanjem DCOM Excel objekata. Za detaljne informacije, preporučuje se čitanje diskusije o iskorišćavanju Excel DDE za lateralno kretanje putem DCOM na Cybereason-ovom blogu.
Projekat Empire pruža PowerShell skriptu, koja demonstrira korišćenje Excela za izvršavanje udaljenog koda (RCE) manipulišući DCOM objektima. U nastavku su isečci iz skripte dostupne na Empire-ovom GitHub repozitorijumu, prikazujući različite metode zloupotrebe Excela za RCE:
Alatke za automatizaciju lateralnog kretanja
Dve alatke su istaknute za automatizaciju ovih tehnika:
Invoke-DCOM.ps1: PowerShell skripta koju pruža Empire projekat koja pojednostavljuje pozivanje različitih metoda za izvršavanje koda na udaljenim mašinama. Ova skripta je dostupna na Empire GitHub repozitorijumu.
SharpLateral: Alatka dizajnirana za izvršavanje koda na daljinu, koja se može koristiti sa komandom:
Automatski alati
Powershell skripta Invoke-DCOM.ps1 omogućava lako pozivanje svih komentarisanih načina izvršavanja koda na drugim mašinama.
Takođe možete koristiti SharpLateral:
Reference
Try Hard Security Group
Last updated