Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
acCOMplice — Ferramentas para descoberta e abuso de sequestros de COM | Kitploit
Ferramentas/GitHubGitHub/nccgroup/accomplice
Mecanismos de PersistênciaPós-ExploraçãoRed TeamingDesenvolvimento de Payloads
GitHubnccgroup/accomplice

acCOMplice

Ferramentas para descoberta e abuso de sequestros de COM

Ver Repositório
33951há 6 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

acCOMplice

Seu cúmplice de sequestro de COM

Autor: David Tulis (@kafkaesqu3)

Visão Geral

Este repositório contém exemplos de código e provas de conceito para explorar o sequestro de COM. O sequestro de COM é uma técnica de pós-exploração do Windows, que pode ser usada para persistência ou evasão de defesa.

Para mais informações sobre a interface COM, como encontrar sequestros e técnicas para abusar de um sequestro, consulte a apresentação feita na Derbycon 9, COM Hijacking Techniques.

  • Slides: https://www.slideshare.net/DavidTulis1/com-hijacking-techniques-derbycon-2019
  • Apresentação: https://www.youtube.com/watch?v=pH14BvUiTLY

Projeto

  • COMHijackToolkit: Script do Powershell contendo scripts auxiliares para lidar com sequestros de COM. Destaques rápidos:
    • Extract-HijackableKeysFromProcmonCSV: analisa uma exportação CSV do Procmon em busca de objetos sequestráveis
    • Hijack-CLSID: sequestra um CLSID com uma DLL fornecida
    • Hijack-MultipleKeys: sequestra vários CLSIDs simultaneamente com uma DLL fornecida. Isso é útil para encontrar CLSIDs que são ativados com frequência
  • InjectionTemplates: 3 modelos demonstrados na apresentação da Derbycon
    • Criar um novo processo com CreateProcess
    • Injeta em um processo existente com CreateRemoteThread
    • Medir o tempo de vida de threads no processo atual usando CreateThread
  • COMinject: Prova de conceito demonstrando como sequestros de COM podem ser usados para realizar injeções/migrações de processo
  • masterkeys.csv: Algumas chaves para você brincar
  • procmon-filters: Filtros para o Procmon auxiliarem na identificação e exploração de sequestros

Exemplos

COMHijackToolkit

Script do Powershell contendo scripts auxiliares para lidar com sequestros de COM. Destaques:

Mostra todos os CLSIDs de objetos COM e a localização da implementação no disco

root@kitploit:~
$keys = Get-CLSIDRegistryKeys -RegHive HKCR
$results = $keys | % {$guid = Extract-GUIDFromText $_; Map-GUIDToDLL -guid $guid 2> $null }

Realiza um levantamento dos CLSIDs em um sistema

root@kitploit:~
$HKCR_keys = Get-CLSIDRegistryKeys -RegHive HKCR
$HKCR_keys | where-object {$_ -like "*inprocserver"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*inprocserver32"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*localserver"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*localserver32"} | Measure-Object

$HKLM_keys = Get-CLSIDRegistryKeys -RegHive HKLM
$HKLM_keys | Measure-Object
$HKCU_keys = Get-CLSIDRegistryKeys -RegHive HKCU
$HKCU_keys | Measure-Object
root@kitploit:~
explorer:{69486DD6-C19F-42e8-B508-A53F9F8E67B8}
explorer:{9E175B6D-F52A-11D8-B9A5-505054503030}
explorer:{30CC9D06-7E62-4966-9777-BC3442E788BD}
explorer:{3eef301f-b596-4c0b-bd92-013beafce793}
explorer:{682159d9-c321-47ca-b3f1-30e36b2ec8b9}
explorer:{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
explorer:{9aa46009-3ce0-458a-a354-715610a075e6}
explorer:{9BA05972-F6A8-11CF-A442-00A0C90A8F39}
explorer:{AC36A05C-FB95-4C7A-868C-A43CC8D2D926}
explorer:{B52D54BB-4818-4EB9-AA80-F9EACD371DF8}
explorer:{c2f03a33-21f5-47fa-b4bb-156362a2f239}

Encontra CLSIDs que referenciam uma DLL que não existe no sistema:

root@kitploit:~
Find-MissingLibraries

InjectionTemplates

3 modelos de prova de conceito para abuso de sequestro de COM, conforme demonstrado na apresentação da Derbycon 9:

  • HijackDLL-Process: Cria um novo processo quando a DLL é carregada
  • HijackDLL-CreateRemoteThread: Executa a técnica de injeção de thread usando a chamada de API CreateRemoteThread quando a DLL é carregada
  • HijackDLL-Threads: Útil para medir o tempo de vida de threads iniciadas na DLL após um sequestro

COMinject

Prova de conceito para mostrar como o sequestro de COM pode ser usado para injeções de processo:

  • COMInjectDotNet: Cliente de prova de conceito que injeta uma DLL em um processo compatível via sequestro de COM
  • COMInjectTarget: A biblioteca de destino a ser injetada em um processo

O primeiro passo é realizar o sequestro:

root@kitploit:~
COMInjectDotNet.exe chrome.exe C:\COM\COMInjectTarget.dll

O sequestro não será acionado imediatamente e pode exigir que o aplicativo seja iniciado (se não estiver em execução) ou algumas ações básicas do aplicativo. Provavelmente existem CLSIDs melhores que disparam com mais frequência, mas estes são bons o suficiente.

O COMInjectTarget.dll registrará seu progresso em um arquivo de log em C:\COM. Isso parece mais estável do que usar algo como AllocConsole de dentro de outro processo e simplesmente imprimir no console.

O seguinte mostra a DLL injetada em execução dentro do processo principal chrome.exe:

root@kitploit:~
[*] chrome pid=9104 ppid=4900 (count 0)
[*] chrome pid=9104 ppid=4900 (count 1)
[*] chrome pid=9104 ppid=4900 (count 2)
[*] chrome pid=9104 ppid=4900 (count 3)
[*] chrome pid=9104 ppid=4900 (count 4)
[*] chrome pid=9104 ppid=4900 (count 5)

Os processos atualmente compatíveis são:

  • explorer (padrão)
  • chrome
  • excel
  • word
  • outlook

Referências e créditos

Para saber mais sobre COM e sequestros de COM:

  • Leo Loobeek (@leoloobeek):
    • COMProxy, do qual aproveitei muito código
    • Proxying COM For Stable Hijacks
  • Matt Nelson (@enigma0x3):
    • Userland Persistence with Scheduled Tasks and COM Handler Hijacking
  • A série do @bohops sobre sequestros de COM:
    • Abusing the COM Registry Structure: CLSID, LocalServer32, & InprocServer32
    • Abusing the COM Registry Structure (Part 2): Hijacking & Loading Techniques
  • James Forshaw (@tiraniddo):
    • Having Fun with COM
    • COM in 60 seconds
    • OleViewDotNet
  • Casey Smith (@subtee) + @enimga0x3:
    • Windows Operating System Archaeology (slides, código)
Baixar ferramenta