BloodHound es una herramienta que incluye PowerView para enumerar las relaciones de confianza de Active Directory, así como cualquier otro tipo de entidad en un Active Directory: computadoras, sesiones, usuarios, grupos, usuarios y grupos privilegiados, etc. Se basa en PowerShell para sus entradas, pero los artefactos todavía pueden reunirse en Linux, macOS y probablemente en otros sistemas operativos. En lugar de la salida de texto o las bases de datos regulares, BloodHound usa la base de datos del gráfico Neo4j para explicar / explorar internamente las asignaciones de relaciones. Muestra claramente las relaciones de dominio con los bosques, así como los bosques con otros bosques.
Si bien técnicamente requiere derechos de los usuarios del dominio, estos se pueden recopilar desde otra perspectiva, como risita . Linux, como Windows, no tiene que estar en el dominio para conectarse a los activos de un dominio de servidor de Windows (solo se deben especificar el dominio de destino y la entidad). Normalmente, uno se conectaría con cualquier software cliente smb o ntlm (nuevamente con el dominio y la entidad, por ejemplo, MYDOMAIN\myusername
), pero se puede configurar una relación permanente de dominio completo (desde el inicio) para Linux usando winbind , sssd , PowerBroker Open , también el software de igual manera Enterprise, Centrify DirectControl, Quest Authentication Services y probablemente otros. Solo winbind y sssd están disponibles como software gratuito de código abierto.
Una forma rápida de ver el dominio y los bosques (incluida la correlación de las relaciones de confianza) sin autenticación ni explotación, suponiendo que su distribución de Linux admita estos paquetes, es instalar sssd con samba-common, realmd y adcli. Si todos son funcionales, entonces puede ser tan simple como (las llaves {}
indican que los argumentos son opcionales, los paréntesis []
indican que los argumentos son necesarios):
realm discover {--verbose} {--server-software = active-directory} {nombre de dominio o dominio.com}
Si conoce el nombre de dominio (o lo extrae del comando anterior cuando no lo sabe), puede ejecutar adcli info para obtener el controlador de dominio más cercano, y luego ejecute adcli contra el controlador de dominio para obtener el dominio-bosque info. Una vez que se conoce el nombre del dominio-bosque, puede ejecutar adcli nuevamente para obtener más información sobre ese bosque también.
adcli info [dominio o bosque]
adcli info --domain-controller = [dc.domain.example.com]