Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
acCOMplice — Herramientas para el descubrimiento y abuso de secuestros COM | Kitploit
Herramientas/GitHubGitHub/nccgroup/accomplice
Mecanismos de PersistenciaPost-ExplotaciónRed TeamingDesarrollo de Payloads
GitHubnccgroup/accomplice

acCOMplice

Herramientas para el descubrimiento y abuso de secuestros COM

Ver Repositorio
33951hace 6 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

acCOMplice

Tu cómplice en el secuestro de COM

Autor: David Tulis (@kafkaesqu3)

Resumen

Este repositorio contiene ejemplos de código y pruebas de concepto para explorar el secuestro de COM. El secuestro de COM es una técnica de post-explotación de Windows que puede utilizarse para la persistencia o la evasión de defensas.

Para obtener más información sobre la interfaz COM, cómo encontrar secuestros y las técnicas para abusar de un secuestro, consulte la presentación realizada en Derbycon 9, COM Hijacking Techniques.

  • Diapositivas: https://www.slideshare.net/DavidTulis1/com-hijacking-techniques-derbycon-2019
  • Presentación: https://www.youtube.com/watch?v=pH14BvUiTLY

Proyecto

  • COMHijackToolkit: Script de PowerShell que contiene scripts auxiliares para tratar con los secuestros de COM. Lo más destacado:
    • Extract-HijackableKeysFromProcmonCSV: analiza una exportación CSV de Procmon en busca de objetos secuestrables
    • Hijack-CLSID: Secuestra un CLSID con una DLL determinada
    • Hijack-MultipleKeys: Secuestra varios CLSID simultáneamente con una DLL determinada. Esto es útil para encontrar CLSID que se activan con frecuencia
  • InjectionTemplates: 3 plantillas demostradas en la presentación de Derbycon
    • Crear un nuevo proceso con CreateProcess
    • Inyectar en un proceso existente con CreateRemoteThread
    • Medir la vida útil de los hilos en el proceso actual usando CreateThread
  • COMinject: Prueba de concepto que demuestra cómo los secuestros de COM pueden utilizarse para realizar inyecciones/migraciones de procesos
  • masterkeys.csv: Algunas claves para que puedas experimentar
  • procmon-filters: Filtros para Procmon que ayudan en la identificación y explotación de secuestros

Ejemplos

COMHijackToolkit

Script de PowerShell que contiene scripts auxiliares para tratar con secuestros de COM. Puntos destacados:

Muestra todos los CLSID de objetos COM y la ubicación de la implementación en disco

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

Realiza un inventario de los CLSID de un 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}

Encuentra CLSID que hagan referencia a una DLL que no existe en el sistema:

root@kitploit:~
Find-MissingLibraries

InjectionTemplates

3 plantillas de prueba de concepto para el abuso del secuestro de COM, como se demostró en la presentación de Derbycon 9:

  • HijackDLL-Process: Crea un nuevo proceso cuando se carga la DLL
  • HijackDLL-CreateRemoteThread: Realiza la técnica de inyección de hilos mediante la llamada a la API CreateRemoteThread cuando se carga la DLL
  • HijackDLL-Threads: Útil para medir la vida útil de los hilos iniciados en la DLL después de un secuestro

COMinject

Prueba de concepto que muestra cómo el secuestro de COM puede utilizarse para inyecciones de procesos:

  • COMInjectDotNet: Cliente de prueba de concepto que inyecta una DLL en un proceso compatible mediante un secuestro de COM
  • COMInjectTarget: La biblioteca objetivo que se inyecta en un proceso

El primer paso es realizar el secuestro:

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

El secuestro no se activará de inmediato y puede requerir que la aplicación se inicie (si no está en ejecución) o algunas acciones básicas en la aplicación. Es probable que existan mejores CLSID que se activen con más frecuencia, pero estos son suficientes.

La COMInjectTarget.dll registrará su progreso en un archivo de registro en C:\COM. Esto parece más estable que usar algo como AllocConsole desde otro proceso e imprimir simplemente en la consola.

Lo siguiente muestra la DLL inyectada ejecutándose dentro del proceso 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)

Los procesos actualmente compatibles son:

  • explorer (por defecto)
  • chrome
  • excel
  • word
  • outlook

Referencias y créditos

Para obtener más información sobre COM y los secuestros de COM:

  • Leo Loobeek (@leoloobeek):
    • COMProxy, del cual tomé prestado mucho código
    • Proxying COM For Stable Hijacks
  • Matt Nelson (@enigma0x3):
    • Userland Persistence with Scheduled Tasks and COM Handler Hijacking
  • La serie sobre secuestros de COM de @bohops:
    • 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 (diapositivas, código)
Descargar herramienta