
D(COM) V(Vulnerabilidad) S(Escáner) alias navaja suiza maliciosa - Movimiento lateral usando objetos DCOM
¿Alguna vez te has preguntado cómo moverte lateralmente a través de redes internas? ¿o interactuar con máquinas remotas sin alertar a los EDR?
Supongamos que tenemos credenciales válidas, o una sesión activa con acceso a una máquina remota, pero no tenemos una opción para ejecutar un proceso de forma remota mediante un método conocido, esperado o altamente monitoreado (es decir, WMI, Programador de tareas, WinRM, PowerShell Remoting).
Para estos escenarios, el framework DVS viene al rescate.
El framework DVS es una navaja suiza que te permite enumerar funciones vulnerables de objetos DCOM remotos, lanzarlos e incluso lanzar ataques utilizándolos.
El framework se desarrolla con una mentalidad de "Red Team" y utiliza métodos sigilosos para comprometer máquinas remotas.
El framework DVS contiene varias formas de evadir el endurecimiento remoto contra DCOM, re-habilitando el acceso a DCOM de forma remota y otorgando automáticamente los permisos necesarios al usuario atacante.
El framework también puede revertir los cambios en la máquina remota a su estado original antes del ataque, ocultando estos cambios a los defensores.
Nuestra idea principal es que la herramienta también puede ejecutar comandos utilizando objetos DCOM no vulnerables mediante una técnica ingeniosa (Lea más abajo sobre Invoke-RegisterRemoteSchema)
Compatible con PowerShell 2.0 y superior
Video PoC en Youtube: DVS
Esta herramienta es solo para fines educativos y de prueba. Cualquier otro uso de este código no está permitido. Úselo bajo su propio riesgo.
El autor NO asume ninguna responsabilidad por el mal uso de esta herramienta.
Al usarla, acepta que cualquier daño causado por el uso de esta herramienta es su responsabilidad.
Acceso al registro remoto (MS-RRP)
AutoGrant está activado, verificar permisos de escritura; de lo contrario, verificar permisos de lecturaProveedor de registro estándar (Si el registro remoto está denegado)
StdRegProv es accesibleAutoGrant está activado, verificar permisos de escritura; de lo contrario, verificar permisos de lecturaLa herramienta DVS primero verifica si la identidad principal tiene acceso a la máquina remota mediante los siguientes pasos:
Acciones básicas
SkipRegAuth)
AutoGrant), de lo contrario, fallaradsi/WindowsIdentity) tienen permiso para interactuar con DCOM (a través de consultas al registro remoto)AutoGrant), de lo contrario, fallarHKLM o HKCU)Invoke-DCOMObjectScan
Get-ExecutionCommand
Invoke-ExecutionCommand
Invoke-RegisterRemoteSchema
git clone https://github.com/ScorpionesLabs/DVS
powershell -ep bypass
PS> Import-Module .\DVS.psm1
PS> Get-Help Invoke-DCOMObjectScan -Detailed # Obtener detalles del comando Invoke-DCOMObjectScan
PS> Get-Help Get-ExecutionCommand -Detailed # Obtener detalles del comando Get-ExecutionCommand
PS> Get-Help Invoke-ExecutionCommand -Detailed # Obtener detalles del comando Invoke-ExecutionCommand
PS> Get-Help Invoke-RegisterRemoteSchema -Detailed # Obtener detalles del comando Invoke-RegisterRemoteSchema
La función Invoke-DCOMObjectScan permite escanear objetos DCOM y encontrar funciones vulnerables a través de una lista de patrones o nombres de funciones exactos que incluya en un archivo.
Ejemplos:
Enumera y escanea el objeto MMC20.Application (ProgID) desde la máquina atacante hacia el host DC01 sin consultar el registro.
Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipRegAuth -Username "lab\administrator" -Password "Aa123456!" -Verbose
Nota: La herramienta no analizará los permisos ACL, y cuando tenga éxito, resolverá toda la información sobre el objeto, excepto los detalles mencionados en el registro (como nombre del objeto, archivo ejecutable, etc.).
MMC20.Application (ProgID) es accesible desde la máquina atacante hacia el host DC01 sin consultar ni verificar primero la lista de acceso del objeto DCOM.