La siguiente herramienta que veremos en el blog viene directamente de la mano de la serie de Active Directory que nos encontramos realizando en el blog, ya que el uso e implementación que podemos dar puede ser tanto del lado del pentester como también de un lado de monitoreo para determinar que cambios se están realizando durante un proceso de Pentesting en el controlador de dominio, e incluso si realizamos alguna movida de escalamiento de privilegios identificarlo.
LDAPMONITOR
La herramienta fue desarrollada en Python por P0dalirius, como mencionamos al inicio del post nos ayuda a identificar cambios en el Controlador de Dominio lo primero que debemos de hacer es decargar el repositorio desde Github ya sea con git clone
o bajando el ZIP desde el área de release.
|
|
Si visualizamos el directorio LDAPmonitor, veremos que contamos con 3 implementaciones realizadas tanto en Windows como Linux, en la entrada veremos los 3 dando un enfasis particular a Python ya que podremos usarlo desde Linux.
- cSHARP
- Powershell
- Python
Las características y soporte de las diferentes versiones son las siguientes.
Python
Para ejecutarlo debemos de instalar a traves de pip python-ldap
recuerda hacerlo con pip3, ya que el script está realizado en Python3, solo al ejecutar el script o directamente con el comando --help
tendremos el siguiente resultado.
|
|
UPDATE: Febrero 06
Se debe contar con los siguientes paquetes antes de instalar python-ldap, apt-get install libpq-dev python-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libffi-dev
Para ejecutar la herramienta y realizar el monitoreo es con los siguientes comandos.
|
|
En el Controlador de dominio procedemos a crear un usuario y una nueva GPO por medio de PowerShell como se muestra en la siguiente captura.
La herramienta identificará los cambios realizados empezando con la creación de un nuevo usuario y también la GPO que fue creada, si se tiene un escalamiento de privilegios o cambios adicionales podremos visualizarlo.
Algo para aclarar con ldapmonitor es que podemos ignorar los eventos pertenecientes a los inicios de sesion con la flag --ignore-user-logon
o bien si deseamos que se almacene en un fichero todo el monitoreo realizado es con el flag -l
o --logfile
.
PowerShell
Ejecutar con credenciales para que el mismo ejecute es el siguiente comando.
|
|
Con un usuario ya autenticado solo debemos mandar la flag -dcip
|
|
Csharp
La implementación de Csharp como también la de PowerShell puede ser utilizada con parámetros adicionales forzando el uso de /dcip
para comunicarse con el Controlador de Dominio.
|
|
En caso de autenticarnos con un usuario en dominio del mismo modo debemos de usar los flags /user:USERNAME
y /password:PASSWORD
respectivamente.
Sé que estos últimos meses no estoy muy activo por el blog, ni que decir del Podcast estoy pasando nuevamente con algunos problemas de salud y algo de estrés que no esta muy de la mano con mi día a día, esta pequeña entrada es realizada para recordar una utilidad que recién fue publicada y me dieron ganas de compartir en el blog.
Regards,
Snifer