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
GPOHound — Herramienta ofensiva de volcado y análisis de GPO que aprovecha y enriquece los datos de BloodHound | Kitploit
Herramientas/GitHubGitHub/cogiceo/gpohound
Escalada de PrivilegiosAnálisis de VulnerabilidadesAuditoría de ConfiguraciónRecopilación de InformaciónPruebas de PenetraciónMala ConfiguraciónRed Teaming
GitHubcogiceo/gpohound

GPOHound

Herramienta ofensiva de volcado y análisis de GPO que aprovecha y enriquece los datos de BloodHound

Ver Repositorio
4153879hace 5 díasRevisado 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
Sitio web
# GPOHound

`GPOHound` es una herramienta para volcar y analizar Objetos de directiva de grupo (GPO) extraídos del recurso compartido SYSVOL.

Proporciona un formato estructurado y formalizado para ayudar a descubrir configuraciones incorrectas, ajustes inseguros y rutas de escalada de privilegios en entornos de Active Directory.

La herramienta se integra con la base de datos Neo4j de BloodHound, utilizándola como una fuente similar a LDAP para información de Active Directory, al mismo tiempo que la enriquece agregando nuevas relaciones (bordes) y propiedades de nodo basadas en el análisis.

## Características

### Volcado

- [x] Volca GPOs en un formato JSON estructurado o en árbol

- [x] Maneja múltiples dominios

- [x] Resuelve nombres de GPO con GUIDs de GPO

- [x] Filtra la salida por archivos GPO, GUIDs de GPO y dominios

- [x] Busca en pares clave/valor usando expresiones regulares

### Análisis

- [x] Agrupa configuraciones por objeto impactado (por ejemplo, Grupos locales, Registro)

- [x] Detecta miembros agregados a grupos locales privilegiados

- [x] Detecta configuraciones de registro inseguras, credenciales almacenadas y derechos de privilegio

- [x] Soporta descifrado de credenciales VNC y contraseñas GPP

- [x] Encuentra dominios, contenedores y UO afectados por GPOs

- [x] Obtiene GPOs aplicados a un usuario, equipo, UO, contenedor o dominio específico

- [x] Enriquece datos de BloodHound con relaciones y propiedades

## Instalación

### Instalar con pip

```
git clone "https://github.com/cogiceo/GPOHound"
cd GPOHound
pip install .
```

### Instalar con pipx

```
pipx install "git+https://github.com/cogiceo/GPOHound"
```

### Configurar APOC para Neo4j

Debes configurar Neo4j APOC para el enriquecimiento de datos de BloodHound:

- Si estás usando la instalación estándar de Neo4j, puedes habilitar APOC copiando el archivo `jar` de APOC a la carpeta de plugins y luego reiniciar Neo4j:

  ```bash
  cp /var/lib/neo4j/labs/apoc-* /var/lib/neo4j/plugins/
  neo4j restart
  ```

- Si estás instalando Neo4j con "Docker Compose", agrega la variable de entorno `NEO4J_PLUGINS=["apoc"]`:

  ```yaml
  neo4j:
    image: neo4j:latest
    environment:
      - NEO4J_PLUGINS=["apoc"]
  ```

> Para más detalles o métodos de instalación alternativos, consulta la [Documentación oficial de APOC](https://neo4j.com/docs/apoc/current/installation/).

### Agregar consultas de BloodHound

Para visualizar las relaciones y propiedades agregadas por `GPOHound`, puedes importar las consultas personalizadas del archivo `customqueries.json` en BloodHound. Por defecto, este archivo se encuentra en `~/.config/bloodhound/customqueries.json`.

## Requisitos previos

### Volcado de SYSVOL

Comienza descargando el contenido de `SYSVOL` desde el controlador de dominio.

- Descarga el `SYSVOL` completo:

  ```bash
  gpohound sysvol --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD 
  ```

- Descarga solo los GPOs:

  ```bash
  gpohound sysvol --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD --gpos
  ```

- Descarga con exclusiones:

  ```bash
  gpohound sysvol --dc $DC_HOST -u $USER -p $PASSWORD --exclude '/Policydefinitions/','/scripts/' --max-size 100
  ```

### Volcado de LDAP

Recupera todos los datos necesarios de LDAP:

```bash
gpohound ldap --dc $DC_HOST -d $DOMAIN -u $USER -p $PASSWORD
```

### BloodHound

Para el enriquecimiento de datos de BloodHound, debes recopilar datos de BloodHound usando un recopilador como `bloodhound.py` o `SharpHound.exe` e importar los datos recopilados en la interfaz de BloodHound.

## Uso

Los archivos de ejemplo de GPOHound están disponibles en `example.zip`. Extráigalos con `unzip example.zip`.

Consulta [CONFIG.md](https://github.com/cogiceo/gpohound/blob/main/CONFIG.md) para instrucciones sobre cómo personalizar valores predeterminados y configuraciones.

```bash
gpohound --neo4j-user $USER --neo4j-pass $PASS dump
gpohound --neo4j-user $USER --neo4j-pass $PASS analysis
```

### Analizar

```bash
gpohound parse "gpos/sysvols/$DOMAIN/Policies/{31B2F340-016D-11D2-945F-00C04FB984F9}/MACHINE/Registry.pol"
```

### Volcado

```bash
gpohound dump
gpohound dump --list
gpohound dump --guid 31B2F340-016D-11D2-945F-00C04FB984F9
gpohound dump --policies scripts psscripts
gpohound dump --search 'VNC.*Server' --show
```

### Análisis

```bash
gpohound analysis
gpohound analysis --affected
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL'
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL' --list
gpohound analysis --trustee 'SRV01.SEVENKINGDOMS.LOCAL' --dump
gpohound analysis --enrich
gpohound analysis --enrich-ce
```

## Análisis y enriquecimiento actual

> [!IMPORTANT] 
> - Condiciones como filtros de seguridad, filtros WMI y segmentación a nivel de elemento no se interpretan.
> - No se simulan conflictos de GPO, para evitar omitir configuraciones válidas.

### Grupos locales

- Detección de usuarios asignados a grupos locales privilegiados durante el inicio de sesión

- Detección de grupos locales privilegiados integrados renombrados.

- Detección de fideicomisarios agregados a grupos locales privilegiados usando "Variables de proceso de preferencia" (por ejemplo, %ComputerName%, %DomainName%)

- Detección de fideicomisarios abusables mediante secuestro de `sAMAccountName`

- Detección de cualquier fideicomisario agregado a grupos locales privilegiados:

  | Grupo                          | Borde         |
  |--------------------------------|--------------|
  | Administradores                 | `AdminTo`    |
  | Usuarios de escritorio remoto           | `CanRDP`     |
  | Usuarios COM distribuidos          | `ExecuteDCOM`|
  | Usuarios de administración remota        | `CanPSRemote`|
  | Operadores de respaldo               | `CanPrivEsc` |
  | Operadores de impresión                | `CanPrivEsc` |
  | Operadores de configuración de red| `CanPrivEsc` |

### Registro

| Análisis                                                                 | Propiedad                 |
|--------------------------------------------------------------------------|---------------------------|
| El grupo "Todos" incluye "Inicio de sesión anónimo"                              | —                         |
| La firma de sesión del servidor SMB no está habilitada                                | `smbSigningEnabled: false`|
| La firma de sesión del servidor SMB no es obligatoria                               | `smbSigningRequired: false`|
| Se admite la autenticación NTLMv1                                       | `NTLMv1Support: true`     |
| Contraseña predeterminada de inicio de sesión automático de Windows                                 | —                         |
| Credenciales VNC (Genéricas: RealVNC, TightVNC, TigerVNC, etc.)             | `*VNC*PASS*` (varios)  |
| Contraseñas almacenadas de FileZilla                                               | —                         |
| Contraseña de proxy de PuTTY                                                     | —                         |
| Credenciales almacenadas de TeamViewer                                            | —                         |
| Sesiones guardadas de WinSCP                                                    | —                         |
| Contraseña almacenada de Picasa                                                   | —                         |

### Derechos privilegiados

Los fideicomisarios privilegiados predeterminados, así como las cuentas de servicio con SID que comienzan con `S-1-5-8`, están excluidos del análisis.

| Privilegio                     | Descripción                                                    | Borde         |
| ----------------------------- | -------------------------------------------------------------- | ------------ |
| SeDebugPrivilege              | Permite al usuario depurar e interactuar con cualquier proceso             | `CanPrivEsc` |
| SeBackupPrivilege             | Otorga acceso a archivos sensibles                               | `CanPrivEsc` |
| SeRestorePrivilege            | Omite permisos de objetos durante la restauración                     | `CanPrivEsc` |
| SeAssignPrimaryTokenPrivilege | Habilita la suplantación de tokens para escalada a SYSTEM              | `CanPrivEsc` |
| SeImpersonatePrivilege        | Permite la creación de procesos bajo el contexto de otro usuario        | `CanPrivEsc` |
| SeTakeOwnershipPrivilege      | Permite a los usuarios tomar propiedad de objetos del sistema                    | `CanPrivEsc` |
| SeTcbPrivilege                | Otorga la capacidad de actuar como parte del SO                    | `CanPrivEsc` |
| SeCreateTokenPrivilege        | Permite la creación de tokens de autenticación                      | `CanPrivEsc` |
| SeLoadDriverPrivilege         | Autoriza la carga/descarga de controladores                            | `CanPrivEsc` |
| SeManageVolumePrivilege       | Otorga privilegios de gestión de volúmenes o discos                    | `CanPrivEsc` |
| SeEnableDelegationPrivilege   | Habilita que cuentas de equipo y usuario sean de confianza para delegación |              |

# Mejoras

- [x] Mejorar el registro
- [x] Integrar LDAP
- [x] Integrar SMB
- [ ] Analizar extensiones restantes
- [ ] Interfaz web
- [ ] Resaltar conflictos potenciales entre GPOs

## Documentación de GPO

### SYSVOL y LDAP

- [x] [\[MS-GPAC\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPAC/) Extensión de configuración de auditoría
- [x] [\[MS-GPCAP\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPCAP/) Extensión de protocolo de políticas de acceso central
- [x] [\[MS-GPEF\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPEF/) Extensión de sistema de archivos cifrados
- [x] [\[MS-GPFAS\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPFAS/) Estructura de datos de firewall y seguridad avanzada
- [x] [\[MS-GPFR\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPFR/) Extensión de protocolo de redirección de carpetas
- [ ] [\[MS-GPIE\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPIE/) Extensión de mantenimiento de Internet Explorer
- [x] [\[MS-GPNAP\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPNAP/) Extensión de protección de acceso a redes (NAP)
- [x] [\[MS-GPNRPT\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPNRPT/) Extensión de datos de tabla de políticas de resolución de nombres (NRPT)
- [x] [\[MS-GPOL\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPOL/) Protocolo principal
- [x] [\[MS-GPPREF\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPPREF/) Estructura de datos de extensión de preferencias
- [x] [\[MS-GPREG\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPREG/) Codificación de extensión de registro
- [x] [\[MS-GPSB\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSB/) Extensión de protocolo de seguridad
- [x] [\[MS-GPSCR\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSCR/) Codificación de extensión de scripts
- [x] [\[MS-GPSI\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPSI/) Extensión de protocolo de instalación de software

### Solo LDAP

- [x] [\[MS-GPDPC\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPDPC/) Extensión de conexiones de impresora implementadas
- [ ] [\[MS-GPWL\]](https://learn.microsoft.com/en-us/openspecs/windows_protocols/MS-GPWL/) Extensión de protocolo inalámbrico/cableado
Descargar herramienta