Dado que 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 COM buscados que no existen y que un atacante podría crear para persistir. Filtros:
Operaciones de RegOpenKey.
donde el Resultado sea NOMBRE NO ENCONTRADO.
y la Ruta termine 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 podría ser excesivo.
Componentes COM del Programador de tareas susceptibles de secuestro
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 CLSIDs COM$Tareas =Get-ScheduledTaskforeach ($Tarea in $Tareas){if ($Tarea.Actions.ClassId -ne$null){if ($Tarea.Triggers.Enabled -eq$true){$usersSid ="S-1-5-32-545"$usersGroup =Get-LocalGroup|Where-Object { $_.SID-eq $usersSid }if ($Tarea.Principal.GroupId -eq $usersGroup){Write-Host"Nombre de la Tarea: " $Tarea.TaskNameWrite-Host"Ruta de la Tarea: " $Tarea.TaskPathWrite-Host"CLSID: " $Tarea.Actions.ClassIdWrite-Host}}}}# Resultado de ejemplo:# Nombre de la Tarea: Ejemplo# Ruta de la Tarea: \Microsoft\Windows\Ejemplo\# CLSID: {1936ED8A-BD93-3213-E325-F38D112938E1}# [más resultados similares...]
Revisando la salida, puedes seleccionar una que se va a ejecutar cada vez que un usuario inicie sesión, por ejemplo.
Ahora, al buscar el CLSID {1936ED8A-BD93-3213-E325-F38D112938EF} en HKEY_CLASSES_ROOT\CLSID y en HKLM y HKCU, generalmente descubrirás que el valor no existe en HKCU.
# Exists in HKCR\CLSID\Get-ChildItem-Path"Registry::HKCR\CLSID\{1936ED8A-BD93-3213-E325-F38D112938EF}"NameProperty------------InprocServer32 (default) : C:\Windows\system32\some.dllThreadingModel:Both# Exists in HKLMGet-Item-Path"HKLM:Software\Classes\CLSID\{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1}"|ft-AutoSizeNameProperty------------{01575CFE-9A55-4003-A5E1-F38D1EBDCBE1} (default) : MsCtfMonitor task handler# Doesn't exist in HKCUPSC:\> 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á.