Linux Active Directory
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Una máquina linux también puede estar presente dentro de un entorno de Active Directory.
Una máquina linux en un AD podría estar almacenando diferentes tickets CCACHE dentro de archivos. Estos tickets pueden ser utilizados y abusados como cualquier otro ticket kerberos. Para leer estos tickets necesitarás ser el usuario propietario del ticket o root dentro de la máquina.
Si tienes acceso a un AD en linux (o bash en Windows) puedes intentar https://github.com/lefayjey/linWinPwn para enumerar el AD.
También puedes consultar la siguiente página para aprender otras formas de enumerar AD desde linux:
389, 636, 3268, 3269 - Pentesting LDAPFreeIPA es una alternativa de código abierto a Microsoft Windows Active Directory, principalmente para entornos Unix. Combina un directorio LDAP completo con un Centro de Distribución de Claves Kerberos de MIT para la gestión similar a Active Directory. Utilizando el Sistema de Certificados Dogtag para la gestión de certificados CA y RA, admite autenticación multi-factor, incluyendo tarjetas inteligentes. SSSD está integrado para procesos de autenticación Unix. Aprende más sobre ello en:
FreeIPA PentestingEn esta página encontrarás diferentes lugares donde podrías encontrar tickets kerberos dentro de un host linux, en la siguiente página puedes aprender cómo transformar estos formatos de tickets CCache a Kirbi (el formato que necesitas usar en Windows) y también cómo realizar un ataque PTT:
Pass the TicketLos archivos CCACHE son formatos binarios para almacenar credenciales Kerberos que generalmente se almacenan con permisos 600 en /tmp
. Estos archivos pueden ser identificados por su formato de nombre, krb5cc_%{uid}
, que se correlaciona con el UID del usuario. Para la verificación del ticket de autenticación, la variable de entorno KRB5CCNAME
debe establecerse en la ruta del archivo de ticket deseado, permitiendo su reutilización.
Lista el ticket actual utilizado para la autenticación con env | grep KRB5CCNAME
. El formato es portátil y el ticket puede ser reutilizado configurando la variable de entorno con export KRB5CCNAME=/tmp/ticket.ccache
. El formato del nombre del ticket Kerberos es krb5cc_%{uid}
donde uid es el UID del usuario.
Los tickets de Kerberos almacenados en la memoria de un proceso pueden ser extraídos, particularmente cuando la protección ptrace de la máquina está deshabilitada (/proc/sys/kernel/yama/ptrace_scope
). Una herramienta útil para este propósito se encuentra en https://github.com/TarlogicSecurity/tickey, que facilita la extracción inyectando en sesiones y volcando tickets en /tmp
.
Para configurar y usar esta herramienta, se siguen los pasos a continuación:
Este procedimiento intentará inyectar en varias sesiones, indicando el éxito al almacenar los tickets extraídos en /tmp
con una convención de nombres de __krb_UID.ccache
.
SSSD mantiene una copia de la base de datos en la ruta /var/lib/sss/secrets/secrets.ldb
. La clave correspondiente se almacena como un archivo oculto en la ruta /var/lib/sss/secrets/.secrets.mkey
. Por defecto, la clave solo es legible si tienes permisos de root.
Invocar **SSSDKCMExtractor
** con los parámetros --database y --key analizará la base de datos y desencriptará los secretos.
El blob de caché de credenciales de Kerberos se puede convertir en un archivo CCache de Kerberos utilizable que se puede pasar a Mimikatz/Rubeus.
Las claves de cuentas de servicio, esenciales para los servicios que operan con privilegios de root, se almacenan de forma segura en los archivos /etc/krb5.keytab
. Estas claves, similares a contraseñas para servicios, requieren estricta confidencialidad.
Para inspeccionar el contenido del archivo keytab, se puede emplear klist
. La herramienta está diseñada para mostrar detalles de la clave, incluyendo el NT Hash para la autenticación de usuarios, particularmente cuando el tipo de clave se identifica como 23.
Para los usuarios de Linux, KeyTabExtract
ofrece funcionalidad para extraer el hash RC4 HMAC, que se puede aprovechar para la reutilización del hash NTLM.
En macOS, bifrost
sirve como una herramienta para el análisis de archivos keytab.
Utilizando la información de cuenta y hash extraída, se pueden establecer conexiones a servidores utilizando herramientas como crackmapexec
.
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)