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
jackdaw — reunir reunir reunir | Kitploit
Herramientas/GitHubGitHub/skelsec/jackdaw
Descifrado de ContraseñasRecopilación de InformaciónPruebas de PenetraciónDetección de Anomalías
GitHubskelsec/jackdaw

jackdaw

reunir reunir reunir

Ver Repositorio
5858654hace 1 añoRevisado 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

jackdaw

reúne reúne reúne jackdaw_card

¿Qué es esto?

Jackdaw está aquí para recopilar toda la información de tu dominio, almacenarla en una base de datos SQL y mostrarte gráficos interesantes sobre cómo los objetos de tu dominio interactúan entre sí y cómo un posible atacante podría explotar estas interacciones. También incluye una práctica función para ayudarte en un proyecto de cracking de contraseñas, almacenando/consultando/informando hashes/contraseñas/usuarios.

Información de uso rápido

  • Si no usas la recolección automática (por ejemplo, no en Windows), necesitarás crear una base de datos vacía inicial mediante dbinit
  • Primero debes realizar enum. Esto se puede hacer automáticamente en Windows haciendo doble clic en el ejecutable, o escribiendo jackdaw.exe auto.
  • Segundo, necesitarás ejecutar nest para obtener la interfaz web. Por defecto se sirve en http://127.0.0.1:5000/nest. Hay una API documentada con SWAGGER en http://127.0.0.1:5000/ui.
  • En la interfaz web, deberás ir a la vista de dominio y hacer clic en Generate graph cache solo una vez para obtener la información de las aristas en un archivo de caché. Puede llevar un tiempo, pero en la línea de comandos verás una barra de progreso.
  • Una vez que la caché del grafo esté lista, puedes jugar con el grafo en la vista de grafo, pero no olvides seleccionar el número de caché correcto en la esquina superior izquierda.

Trucos/consejos de rendimiento

Esta sección se actualizará regularmente según los comentarios de los usuarios.

Recolección de datos

No hay consejos aquí; si bien se pueden hacer algunas mejoras en el código, no hay nada que un genérico pueda hacer.

Generación del archivo de caché de datos del grafo

La generación del archivo de caché de datos del grafo debe realizarse una vez (y solo una vez) en cada grafo, lo que puede llevar un tiempo usando la herramienta sqlalchemy predeterminada.
El rendimiento y la velocidad pueden mejorar significativamente (más de 50 veces más velocidad y 20 veces menos memoria) si usas el backend sqlite Y pones la utilidad de línea de comandos "sqlite3" en algún lugar del PATH. Recomiendo esto a todos los usuarios.

Cálculo de rutas y carga de datos del grafo

Ahora viene la parte del gran intercambio. La implementación temprana de Jackdaw usaba el módulo networkx como backend del grafo porque está completamente escrito en Python. Pero esto conllevaba un costo significativo de memoria y velocidad. Para mantener Jackdaw puro en Python, esta opción aún existe; sin embargo, usar el backend igraph es ahora el predeterminado.
Nota: igraph es una biblioteca de C++ con enlaces para Python. Tiene wheels precompilados para Windows y las principales distribuciones de Linux, pero si usas Jackdaw en otra cosa (sistemas embebidos/teléfonos móviles/navegadores web) deberás volver a networkx o sufrir con el tiempo de compilación de horas.

Ejemplos de comandos

Enumeración automática - solo Windows, con usuario unido al dominio -

No es necesario preinicializar la base de datos, se hará automáticamente. Usando el binario distribuido, solo tienes que hacer doble clic en jackdaw.exe
Usando como script de Python jackdaw auto

Inicialización de la base de datos

jackdaw --sql sqlite:///<full path here>/test.db dbinit
EN SISTEMAS LINUX <full path aquí> incluye la primera / por lo que tendrás //// cuatro (4) guiones antes del nombre del archivo. No te asustes.

Enumeración

Enumeración completa con sspi integrado - solo Windows

jackdaw --sql sqlite:///test.db enum 'ldap+sspi-ntlm://<domain>\<placeholder>@10.10.10.2' 'smb+sspi-ntlm://<domain>\<placeholder>@10.10.10.2'

Enumeración completa con nombre de usuario y contraseña - independiente de la plataforma

La contraseña es Passw0rd!
jackdaw --sql sqlite:///test.db enum 'ldap+ntlm-password://TEST\victim:[email protected]' 'smb+ntlm-password://TEST\victim:[email protected]'

Enumeración solo LDAP con nombre de usuario y contraseña - independiente de la plataforma

La contraseña es Passw0rd!
jackdaw --sql sqlite:///test.db ldap 'ldap+ntlm-password://TEST\victim:[email protected]'

Iniciar la interfaz web interactiva para graficar y acceder a funciones adicionales

jackdaw --sql sqlite:///<FULL PATH TO DB> nest

Abre http://127.0.0.1:5000/ui para la API

Consulta la sección Construyendo la UI más abajo para aprender cómo construir la UI. Una vez construida:

Abre http://127.0.0.1:5000/nest para la interfaz del grafo (muestra el grafo, pero está lejos de funcionar)

Características

Adquisición de datos

mediante LDAP

La fase de enumeración LDAP adquiere datos sobre información de AD, objetos de Usuario, Máquina, OU, Grupo, que se representarán como un nodo en el grafo y como una tabla separada en la base de datos. Además, se analizará el Descriptor de Seguridad de todos los objetos mencionados y se agregarán las ACL para la DACL a la base de datos. Esto, junto con la información de membresía, se representará como aristas en el grafo. Además, se pueden realizar consultas SQL personalizadas sobre cualquiera de los tipos de datos mencionados cuando sea necesario.

mediante SMB

La fase de enumeración SMB adquiere datos sobre recursos compartidos, grupos locales, sesiones, datos NTLM mediante la conexión a cada máquina del dominio (que se adquiere a través de LDAP)

mediante Kerberos

El módulo Kerberos realiza kerberoasting y aspreproasting automáticos

mediante volcados de LSASS (opcional)

El framework permite a los usuarios cargar volcados de memoria de LSASS para almacenar credenciales y extender la tabla de información de sesiones. Ambos se utilizarán como aristas adicionales en el grafo (contraseña compartida y sesión respectivamente). El framework también utiliza esta información para crear un informe de contraseñas sobre credenciales débiles/compartidas/descifradas.

mediante resultados de DCSYNC (opcional)

El framework permite a los usuarios cargar archivos DCSYNC de impacket para almacenar credenciales. Esto se usará como aristas adicionales en el grafo (contraseña compartida). El framework también utiliza esta información para crear un informe de contraseñas sobre credenciales débiles/compartidas/descifradas.

mediante carga manual (opcional)

El framework permite extender manualmente la base de datos disponible en todos los aspectos. Ejemplo: cuando se descubre información de sesión de usuario en una computadora determinada (fuera de la enumeración automática), existe la posibilidad de cargar manualmente estas sesiones, lo que poblará la base de datos y también el grafo resultante.

Grafo

El framework puede generar un grafo usando la información disponible en la base de datos y trazarlo a través de la interfaz web (nest). Además, la generación del grafo y los cálculos de rutas se pueden invocar mediante programación, ya sea usando la API web (endpoint /ui) o las funciones del objeto del grafo.

Detección de anomalías

El framework puede identificar configuraciones incorrectas comunes de AD sin generar el grafo. Actualmente solo a través de la API web.

Usuario

La detección de anomalías de usuario implica la detección de permisos UAC inseguros y valores extensos de descripción de usuario. Se espera que este conjunto de funcionalidades crezca en el futuro a medida que se implementen nuevas características.

Máquina

La detección de anomalías de máquina implica la detección de permisos UAC inseguros, firmas SMB no obligatorias, versiones de SO desactualizadas, máquinas fuera del dominio. Se espera que este conjunto de funcionalidades crezca en el futuro a medida que se implementen nuevas características.

Descargar herramienta