Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
pyCobaltHound — pyCobaltHound es una extensión de script Aggressor para Cobalt Strike que tiene como objetivo proporcionar una integración profunda entre Cobalt Strike y Bloodhound. | Kitploit
Herramientas/GitHubGitHub/nvisosecurity/pycobalthound
Frameworks de Pruebas de PenetraciónEscalada de PrivilegiosReconocimientoFrameworks de ExploitsMovimiento LateralRecopilación de InformaciónPost-ExplotaciónRed Teaming
GitHubnvisosecurity/pycobalthound

pyCobaltHound

pyCobaltHound es una extensión de script Aggressor para Cobalt Strike que tiene como objetivo proporcionar una integración profunda entre Cobalt Strike y Bloodhound.

1351916hace 4 añosRevisado por Kitploit
Ver Repositorio

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

Resumen rápido

pyCobaltHound es una extensión de script Aggressor para Cobalt Strike que tiene como objetivo proporcionar una integración profunda entre Cobalt Strike y Bloodhound.

pyCobaltHound se esfuerza por ayudar a los operadores de equipos rojos mediante:

  • Consultar automáticamente la base de datos de BloodHound para descubrir rutas de escalación abiertas por credenciales recién recolectadas.
  • Marcar automáticamente como comprometidos los usuarios y equipos comprometidos.
  • Permitir a los operadores investigar rápida y fácilmente el potencial de escalación de las sesiones de beacon y de los usuarios.

Para lograr esto, pyCobaltHound utiliza un conjunto de consultas integradas. Los operadores también pueden añadir/eliminar sus propias consultas para ajustar las capacidades de monitoreo de pyCobaltHound. Esto les da la flexibilidad de adaptar pyCobaltHound sobre la marcha durante los compromisos para tener en cuenta objetivos específicos del compromiso (usuarios, hosts, etc.).

Instalación y uso

Para instalar pyCobaltHound, clone este repositorio. ¡No olvide clonar también el submódulo incluido!

Puede usar el siguiente comando:

  • git clone https://github.com/NVISOsecurity/pyCobaltHound.git --recurse-submodules

Dependencias

Asegúrese de que las siguientes dependencias estén correctamente instaladas:

PyCobalt

PyCobalt es una API de Python para Cobalt Strike. Expone muchas funciones de Aggressor para ser utilizadas directamente desde Python.

Configuración

Asegúrese de tener instalado Python3+. Aunque PyCobalt puede funcionar también en macOS y Windows, solo lo hemos probado realmente en Linux.

Hay dos formas de usar la librería Python PyCobalt:

  1. Ejecutarlo directamente desde el repositorio usando PYTHONPATH. pyCobaltHound adopta este enfoque, estableciendo la ruta de búsqueda desde el programa Python usando la variable sys.path.
  2. Instalar la librería Python PyCobalt. Para hacerlo, ejecute python3 setup.py install. Deberá modificar pycobalthound.py para asegurarse de que use la librería instalada en lugar de la del repositorio incluido.
Observaciones
  • Tenga en cuenta que no hay garantía de que el proyecto PyCobalt se mantenga en el futuro. De hecho, la última actualización del proyecto fue para incorporar los cambios realizados en Cobalt Strike 4.2. Dado que pyCobaltHound solo utiliza funciones básicas de Aggressor para interactuar con Cobalt Strike y su operador, esto no es un gran problema para pyCobaltHound.
  • El submódulo PyCobalt utilizado en este proyecto es un fork realizado por nosotros. Sin embargo, no controlamos el repositorio de PyCobalt.
Consejos y trucos
  • PyCobalt viene con algunos comandos de la consola de scripts para gestionar los scripts Python en ejecución. Cuando recargue su script Aggressor, debería detener explícitamente los scripts Python primero. De lo contrario, se ejecutarán para siempre sin hacer nada. Durante el desarrollo de pyCobaltHound, notamos que esto también puede provocar un comportamiento indefinido.

    Recargar pyCobaltHound se puede hacer de la siguiente manera:

    aggressor> python-stop-all`
    [pycobalt] Asking script to stop: /root/pycobalthound/pycobalthound.py
    [pycobalt] Script process exited: /root/pycobalthound/pycobalthound.py
    
    aggressor> reload example.cna`
    [pycobalt] Executing script /root/pycobalthound/pycobalthound.py
    
  • Para que PyCobalt funcione correctamente, solo puede llamar a PyCobalt en un script Aggressor. Tenga esto en cuenta si desea usar pyCobaltHound junto con otros scripts Aggressor que usen PyCobalt. Nuestro enfoque es tener un script Aggressor con llamadas a python() e include() para cada herramienta basada en PyCobalt.

notify2 (Opcional)

notify2 es – o era – un paquete para mostrar notificaciones de escritorio en Linux. Como veremos más adelante, pyCobaltHound soporta algunas formas de notificar al operador. notify2 se usa en Linux para enviar notificaciones al demonio de notificaciones a través de D-Bus.

Para habilitarlo, notify2 debe instalarse usando:

pip install notify2

Uso en Cobalt Strike

Usar pyCobaltHound en Cobalt Strike es tan simple como importar el script Aggressor pycobalthound.cna en su cliente. Una vez hecho esto, debería ver un menú pyCobaltHound en la barra de menú de su Cobalt Strike.

Uso

Monitoreo del almacén de credenciales

El objetivo inicial de pyCobaltHound era monitorear el caché de credenciales de Cobalt Strike (Ver > Credenciales) en busca de nuevas entradas. Lo hace reaccionando al evento on_credentials que Cobalt Strike dispara cuando se realizan cambios en el almacén de credenciales.

Cuando se dispara este evento, pyCobaltHound:

  1. Analiza y valida los datos recibidos de Cobalt Strike.
  2. Comprueba si ya ha investigado estas entidades revisando su caché.
  3. Agrega las entidades a un caché para futuras ejecuciones.
  4. Comprueba si las entidades existen en la base de datos de BloodHound.
  5. Marca las entidades como comprometidas.
  6. Consulta la base de datos de BloodHound para cada nueva entidad utilizando tanto consultas integradas como personalizadas.
  7. Analiza los resultados devueltos, notifica al operador sobre cualquier hallazgo interesante y los escribe en un informe HTML básico.

Dado que todo esto tiene lugar de forma asíncrona con respecto al cliente principal de Cobalt Strike, este proceso no debería bloquear su interfaz de usuario, por lo que puede seguir trabajando mientras pyCobaltHound investiga en segundo plano.

pyCobaltHound utiliza cachés separados por teamserver para evitar problemas al usar múltiples teamservers.

Eliminar entidades del caché

A veces hay situaciones en las que desearía investigar usuarios específicos (o todo el almacén de credenciales) nuevamente. Esto podría ser el caso cuando ha subido nuevos datos a la base de datos de BloodHound.

Dado que pyCobaltHound ya debería haber investigado (y por lo tanto almacenado en caché) todas las entidades en su almacén de credenciales, no las evaluará contra estos nuevos datos sin alguna intervención del operador.

Hay dos métodos disponibles para que los operadores controlen qué entidades están en caché.

Eliminar entidades específicas

En casos donde desee eliminar una entidad específica (o varias) del caché, puede hacerlo en el visor de credenciales (Ver > Credenciales). Simplemente seleccione su(s) objetivo(s) y haga clic en la opción eliminar del caché bajo la entrada del menú pyCobaltHound.

Eliminar todo el caché

En casos donde desee eliminar todas las entidades del caché, puede hacerlo en el menú principal de pyCobaltHound (Cobalt Strike > pyCobaltHound > Limpiar caché). Esto es más útil cuando desea reevaluar todo su almacén de credenciales.

Desencadenar manualmente una investigación

Después de eliminar sus objetivos del caché, puede solicitar manualmente que pyCobaltHound reinvestigue el contenido del almacén de credenciales. Esto sigue exactamente el mismo proceso que el anterior.

Gestión de beacons

Descargar herramienta