Enumeración manual

Dominio

Obtener dominio actual

Herramienta
Comando

PowerView

AD Module

CMD

ADSI

Obtener objeto de otro dominio

Herramienta
Comando

PowerView

AD Module

Obtener SID del dominio actual

Herramienta
Comando

PowerView

AD Module

Obtener todos los dominios

Herramienta
Comando

PowerView

AD Module

CMD

Obtener relación de confianza del dominio

Herramienta
Comando

PowerView

AD Module

Política del dominio

Obtener la política del dominio actual

Herramienta
Comando

PowerView

Obtener la política de otro dominio

Herramienta
Comando

PowerView

Controladores de dominio

Obtener controladores de dominio del dominio actual

Herramienta
Comando

PowerView

AD Module

CMD

Obtener controladores de dominio del otro dominio

Herramienta
Comando

PowerView

AD Module

ADSI

Usuarios

Obtener una lista de usuarios del dominio actual

Herramienta
Comando

PowerView

AD Module

Net

ADSI

Obtener información/propiedades de un usuario

Herramienta
Comando

PowerView

AD Module

Net

ADSI

Obtener grupos a los que pertenece un usuario

Herramienta
Comando

ADSI

Obtener usuarios dentro del grupo de administradores del dominio

Herramienta
Comando

ADSI

Obtener los usuarios no administradores con permisos de edición de GPOs

Obtener usuarios dentro del grupo administradores

Obtener los usuarios privilegiados que no se encuentran en el grupo de usuarios protegidos

  • Obtiene los usuarios miembros de grupos privilegiados.

  • Compara contra los miembros del grupo Protected Users.

  • Consulta el atributo adminCount de cada usuario.

  • Agrega columnas:

    • Si pertenece o no a Protected Users.

    • El valor de adminCount.

    • Si es considerado vulnerable (por no estar en Protected Users o por no tener adminCount = 1).

  • Incluye la fecha en el nombre del CSV para trazabilidad.

Grupos

Obtener todos los grupos del dominio

Herramienta
Comando

PowerView

Net

ADSI

Obtener propiedades de un grupo

Herramienta
Comando

AD Module

Net

Obtener miembros de un grupo

Herramienta
Comando

AD Module

Obtener grupos a los que pertenece un grupo

Herramienta
Comando

AD Module

Obtener todos los miembros de todos los grupos de forma recursiva

Obtener todos los miembros de todos los grupos (lista txt) de forma recursiva

Input: Lista de grupos en un fichero txt (ej: group_list.txt)

Ejecución del script:

Output: Fichero CSV con la lista de grupos y miembros.

Obtener los miembros recursivos del grupo "Domain Admins"

Obtener todos los grupos con "admin" y sus miembros (si los hay)

Equipos / Servidores

Obtener equipos/servidores

Herramienta
Comando

PowerView

ADSI

Unidades organizativas

Obtener unidades organizativas

Herramienta
Comando

PowerView

Obtener todos los equipos asociados a una unidad organizativa

Herramienta
Comando

PowerView

Herramienta
Comando

PowerView

El siguiente comando une los dos anteriores en uno:

Política de contraseñas

Herramienta
Comando

Net

ACL (Listas de control de acceso)

Obtener las ACLs

GUI con Out-GridView:

PowerShell:

Herramienta
Comando

PowerView

Obtener los ACLs de un objeto, por ejemplo, "Administrator"

Obtener las ACLs de SYSVOL

Lo mismo, pero recursivo:

Obtener ACLs que podrían ser interesantes

Herramienta
Comando

PowerView

GPO

Se enumera información sobre las políticas de grupo e información de la configuración del usuario. Como los grupos de seguridad a los que pertenece, versión del sistema operativo, nombre de dominio, etc.

Herramienta
Comando

PowerView

CMD

Objetos AD

Obtener todos los objetos que hayan cambiado tras una determinada fecha

Herramienta
Comando

AD Module

Enumerar cuentas que cuenten con un badPwdCount > 0

Esto es útil para enumerar las cuentas que ya cuenten con intentos de contraseñas fallidas. ¿Y por qué es interesante este dato? Porque antes de hacer un ataque de password spraying, se pueden omitir estas cuentas de la prueba para evitar bloquearlas:

Herramienta
Comando

AD Module

Sesiones activas

Enumerar todas las sesiones usando el fichero CSV de equipos listado en el script anterior:

Enumerar las sesiones de todas las máquinas remotas

Invoke-SessionHunter

https://github.com/Leo4j/Invoke-SessionHunter

Si se quiere realizar lo mismo, pero contra una lista de hosts en concreto:

Ejemplo de acceso remoto:

Otras vías de Misc

PowerView

Acceso remoto:

Campertas compartidas / Shares

PowerHuntShares

Es una herramienta en PowerShell desarrollada por NetSPI que permite descubrir y analizar potenciales vulnerabilidades en carpetas compartidas vía SMB en entornos Active Directory.

Su objetivo es facilitar la identificación de permisos excesivos, shares de alto riesgo y potenciales vectores de ataque a través de un análisis automatizado con generación de informes en HTML y CSV.

Se puede contar con una lista de hosts objetivo ya predefinida o que sea necesario enumerar.

Por ejemplo, se pueden enumerar los equipos en AD con el siguiente comando de PowerView y crear un txt con la lista para usarla posteriormente como lista de hosts objetivo en adelante:

Luego, podemos usar la herramienta para crear un reporte con los resultados de las pruebas que se realicen:

Al finalizar se creará una carpeta con un fichero html que contendrá el resumen de resultados.

  • Con credenciales:

  • Desde una máquina fuera del dominio:

Registros a CSV

Última actualización

¿Te fue útil?