Compartilhe seus truques de hacking enviando PRs para osHackTricks e HackTricks Cloud repositórios do github.
Pesquisando componentes COM inexistentes
Como os valores de HKCU podem ser modificados pelos usuários, a Apropriação de COM pode ser usada como um mecanismo persistente. Usando procmon, é fácil encontrar registros COM pesquisados que não existem e que um atacante poderia criar para persistir. Filtros:
Operações de RegOpenKey.
onde o Resultado é NOME NÃO ENCONTRADO.
e o Caminho termina com InprocServer32.
Depois de decidir qual COM inexistente impersoanar, execute os seguintes comandos. Tenha cuidado se decidir impersoanar um COM que é carregado a cada poucos segundos, pois isso pode ser excessivo.
Componentes COM do Agendador de Tarefas suscetíveis a sequestro
As Tarefas do Windows usam Acionadores Personalizados para chamar objetos COM e, como são executadas através do Agendador de Tarefas, é mais fácil prever quando serão acionadas.
# Mostrar CLSIDs COM$Tarefas =Get-ScheduledTaskforeach ($Tarefa in $Tarefas){if ($Tarefa.Actions.ClassId -ne$null){if ($Tarefa.Triggers.Enabled -eq$true){$usersSid ="S-1-5-32-545"$grupoUsuarios =Get-LocalGroup|Where-Object { $_.SID-eq $usersSid }if ($Tarefa.Principal.GroupId -eq $grupoUsuarios){Write-Host"Nome da Tarefa: " $Tarefa.TaskNameWrite-Host"Caminho da Tarefa: " $Tarefa.TaskPathWrite-Host"CLSID: " $Tarefa.Actions.ClassIdWrite-Host}}}}# Saída de Exemplo:# Nome da Tarefa: Exemplo# Caminho da Tarefa: \Microsoft\Windows\Exemplo\# CLSID: {1936ED8A-BD93-3213-E325-F38D112938E1}# [mais como o anterior...]
Verificando a saída, você pode selecionar uma que será executada sempre que um usuário fizer login, por exemplo.
Agora, procurando pelo CLSID {1936ED8A-BD93-3213-E325-F38D112938EF} em HKEY_CLASSES_ROOT\CLSID e em HKLM e HKCU, geralmente você descobrirá que o valor não existe em 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.
Então, você pode simplesmente criar a entrada HKCU e toda vez que o usuário fizer login, sua backdoor será acionada.