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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BARK — Kit de Investigación de Ataques BloodHound | Kitploit
Herramientas/GitHubGitHub/bloodhoundad/bark
Escalada de PrivilegiosReconocimientoExplotaciónRecopilación de InformaciónPruebas de PenetraciónSeguridad en la NubeGestión de Identidad y Acceso (IAM)AutenticaciónRed Teaming
GitHubbloodhoundad/bark

BARK

Kit de Investigación de Ataques BloodHound

6047119hace 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
Ver Repositorio

BARK

BARK Logo

BARK significa BloodHound Attack Research Kit. Es un script de PowerShell diseñado para ayudar al equipo de BloodHound Enterprise a investigar y validar continuamente primitivas de abuso. BARK actualmente se enfoca en el conjunto de productos y servicios de Microsoft Azure.

BARK no requiere dependencias de terceros. Las funciones de BARK están diseñadas para ser lo más simples y mantenibles posible. La mayoría de las funciones son envoltorios muy simples para realizar solicitudes a varios endpoints de API REST. Las funciones básicas de BARK ni siquiera se necesitan entre sí: puedes extraer casi cualquier función de BARK y funcionará perfectamente como una función independiente en tus propios scripts.

Autor y Contribuidores

Autor principal: Andy Robbins @_wald0

Contribuidores:

  • Jonas Bülow Knudsen @Jonas_B_K
  • Fabian Bader @fabian_bader
  • CravateRouge @CravateRouge
  • g60ocR @g60ocR

Cómo Empezar

Hay muchas formas de importar un script de PowerShell. Aquí hay una:

Primero, descarga BARK.ps1 clonando este repositorio o simplemente copiando y pegando su contenido sin formato desde GitHub.

git clone https://github.com/BloodHoundAD/BARK

Ahora, navega al directorio donde está el PS1:

cd BARK

Finalmente, puedes importar el script con punto así:

. .\BARK.ps1

Presiona Enter, y tu instancia de PowerShell ahora tendrá acceso a todas las funciones de BARK.

Ejecutando tus primeros comandos de BARK

Con muy pocas excepciones, los endpoints de la API de Azure requieren autenticación para interactuar. BARK incluye algunas funciones que te ayudarán a adquirir los tokens necesarios para interactuar con las API de MS Graph y Azure REST. Cualquier función de BARK que interactúe con una API de Azure que requiera autenticación te pedirá que proporciones un token.

Supongamos que quieres listar todos los usuarios en un inquilino de Entra ID. Primero necesitas obtener un token con alcance para MS Graph. Hay muchas formas de obtener este token:

Si tienes una combinación de nombre de usuario/contraseña para un usuario de Entra en ese inquilino, puedes adquirir primero un token de actualización para el usuario usando la función Get-EntraRefreshTokenWithUsernamePassword de BARK:

$MyRefreshTokenRequest = Get-EntraRefreshTokenWithUsernamePassword -username "[email protected]" -password "MyVeryCoolPassword" -TenantID "contoso.onmicrosoft.com"

El objeto resultante que acabas de crear, $MyRefreshTokenRequest, tendrá como parte de él un token de actualización para tu usuario. Ahora puedes solicitar un token con alcance para MS Graph usando este token de actualización:

$MyMSGraphToken = Get-MSGraphTokenWithRefreshToken -RefreshToken $MyRefreshTokenRequest.refresh_token -TenantID "contoso.onmicrosoft.com"

Ahora este nuevo objeto, $MyMSGraphToken, tendrá como uno de sus valores de propiedad un JWT con alcance para MS Graph para tu usuario. Ahora estás listo para usar este token para listar todos los usuarios en el inquilino de Entra:

$MyUsers = Get-AllEntraUsers -Token $MyMSGraphToken.access_token -ShowProgress

Una vez terminado, la variable $MyEntraUsers se llenará con objetos que representan a todos los usuarios en tu inquilino de Entra.

Funciones de Gestión y Manipulación de Tokens

  • Get-AzureKeyVaultTokenWithClientCredentials solicita un token de STS con Azure Vault especificado como recurso/público objetivo usando un ID de cliente y secreto.
  • Get-AzureKeyVaultTokenWithUsernamePassword solicita un token de STS con Azure Vault especificado como recurso/público objetivo usando un nombre de usuario y contraseña proporcionados por el usuario.
  • Get-AzurePortalTokenWithRefreshToken solicita un token de actualización de Auth de Azure Portal con un token de actualización proporcionado por el usuario.
  • Get-AzureRMTokenWithClientCredentials solicita un JWT con alcance de AzureRM usando un ID de cliente y secreto. Útil para autenticarse como una entidad de servicio de Entra.
  • Get-AzureRMTokenWithPortalAuthRefreshToken solicita un JWT con alcance de AzureRM usando un token de actualización de Auth de Azure Portal proporcionado por el usuario.
  • Get-AzureRMTokenWithRefreshToken solicita un JWT con alcance de AzureRM usando un token de actualización proporcionado por el usuario.
  • Get-AzureRMTokenWithUsernamePassword solicita un JWT con alcance de AzureRM usando un nombre de usuario y contraseña proporcionados por el usuario.
  • Get-EntraRefreshTokenWithUsernamePassword solicita una colección de tokens, incluyendo un token de actualización, de login.microsoftonline.com con un nombre de usuario y contraseña proporcionados por el usuario. Esto fallará si el usuario tiene requisitos de autenticación multifactor o está afectado por una política de acceso condicional.
  • Get-MSGraphTokenWithClientCredentials solicita un JWT con alcance de MS Graph usando un ID de cliente y secreto. Útil para autenticarse como una entidad de servicio de Entra.
  • Get-MSGraphTokenWithPortalAuthRefreshToken solicita un JWT con alcance de MS Graph usando un token de actualización de Auth de Azure Portal proporcionado por el usuario.
  • Get-MSGraphTokenWithRefreshToken solicita un JWT con alcance de MS Graph usando un token de actualización proporcionado por el usuario.
  • Get-MSGraphTokenWithUsernamePassword solicita un JWT con alcance de MS Graph usando un nombre de usuario y contraseña proporcionados por el usuario.
  • Parse-JWTToken toma un JWT codificado en Base64 como entrada y lo analiza por ti. Útil para verificar la audiencia y los claims correctos del token.

Las funciones basadas en tokens de actualización en BARK se basan en funciones de TokenTactics de Steve Borosh.

Funciones de Enumeración de Entra

  • Get-AllEntraApps recopila todos los objetos de registro de aplicaciones de Entra.
  • Get-AllEntraGroups recopila todos los grupos de Entra.
  • Get-AllEntraRoles recopila todos los roles de administrador de Entra.
  • Get-AllEntraServicePrincipals recopila todos los objetos de entidad de servicio de Entra.
  • Get-AllEntraUsers recopila todos los usuarios de Entra.
  • Get-EntraAppOwner recopila los propietarios de un registro de aplicación de Entra.
  • Get-EntraDeviceRegisteredUsers recopila los usuarios de un dispositivo de Entra.
  • Get-EntraGroupMembers recopila los miembros de un grupo de Entra.
  • Get-EntraGroupOwner recopila los propietarios de un grupo de Entra.
  • Get-EntraRoleTemplates recopila las plantillas de roles de administrador de Entra.
  • Get-EntraServicePrincipal recopila una entidad de servicio de Entra.
  • Get-EntraServicePrincipalOwner recopila los propietarios de una entidad de servicio de Entra.
  • Get-EntraTierZeroServicePrincipals recopila las entidades de servicio de Entra que tienen una asignación de rol de administrador de Entra de nivel cero o de rol de aplicación de MS Graph de nivel cero.
  • Get-MGAppRoles recopila los roles de aplicación puestos a disposición por la entidad de servicio de MS Graph.
Descargar herramienta