Identifica vulnerabilidades Active Directory Certificate Services (AD CS) con Certify y Certipy – Parte 1
2023-3-8 16:0:33 Author: thehackerway.com(查看原文) 阅读量:20 收藏

Demostración en vídeo de este post

En los últimos años, los servicios de certificados en entornos de directorio activo (AD CS) han dado mucho de que hablar. Seguramente te suenan vulnerabilidades como NoPAC, PetitPotam, entre otras. Todas ellas, relacionadas con esta implementación de PKI y que, en la mayoría de los casos, permiten la elevación de privilegios en un dominio de Active Directory. Si tienes que hacer un pentest en un AD, analizar este tipo de servicios es recomendable, ya que es posible que encuentres alguna plantilla que te permita suplantar a otro usuario o máquina, consiguiendo de esta forma, la elevación de privilegios.
En este sentido, hay dos herramientas interesantes para realizar consultas sobre la PKI de Microsoft, se trata de Certify y Ceritipy. La primera de ellas, hace parte del proyecto GhostPack, el cual incluye herramientas tan interesantes como Rubeus, SeatBelt o SafetyKatz. La segunda, es un script en Python que te ayuda a realizar las mismas operaciones que Certify, pero, a diferencia de Certify, la puedes desde tu máquina como atacante, sin necesidad de subir nada a una estación de trabajo o controlador de dominio.
Por otro lado, ambas herramientas se encargan de realizar consultas habituales y permiten el uso de alguna de las plantillas instaladas en el AD CS, por lo tanto pueden ser usadas por un pentester o un administrador de sistemas Windows para ver el estado del servicio y comprobar que todo está bien, o no.
A continuación, enseñaré el uso Certify y, en el siguiente post, hablaré de Certipy

En primer lugar, Certify es un proyecto que es necesario compilar, está desarrollado en C#. Una vez se cuenta con el binario correspondiente, se puede ejecutar desde una estación de trabajo o, directamente, sobre el controlador de dominio si se tiene acceso a él.

En primer lugar, se pueden listar todas las plantillas con «find» y filtrar aquellas que pueden ser vulnerables con /vulnerable

Puedes solicitar un certificado digital utilizando una de las plantillas disponibles, esta es, de hecho, una de las acciones más comunes cuando se utiliza AD CS por parte de aplicaciones en el entorno o manualmente por administradores.

Lo que devuelve Certify en este caso, es un certificado PEM directamente en la terminal. Es necesario copiar tanto la clave privada como la pública e incluir dichos contenidos en un fichero. A continuación, con la ayuda de OpenSSL se podría generar un certificado funcional, que se podrá utilizar para llevar a cabo el proceso de autenticación en donde el usuario tenga permitido iniciar sesión. El comando de OpenSSL para convertir a PFX aparece justo después de que Certify finaliza la ejecución del comando «request».
Es importante tener en cuenta que OpenSSL pedirá una contraseña, en este punto no es necesario introducir nada, pero si se indica una contraseña, luego hay que usar la opción «/password» en Rubeus y poner lo que se haya introducido.

Con este certificado, además de poder realizar procesos de autenticación en alguna de las máquinas del dominio, también podría utilizarse para pedir un ticket TGT al KDC de Kerberos.

Este es uno de los casos de uso más habituales con Certify, no obstante, hay muchas más opciones interesantes que merece la pena explorar. Es posible enumerar no solamente las plantillas disponibles, además se pueden consultar los detalles de la PKI

Si te interesa aprender más sobre AD CS y algunos de los escenarios más habituales, te recomiendo leer Certified Pre-Owned: Abusing Active Directory Certificate Services de Will Schroeder y Lee Christensen

En el siguiente post, explicaré el uso de Certipy, que si bien resulta muy parecido a Certify, tiene sus peculiaridades.

Un saludo y Happy Hack!
Adastra.


文章来源: https://thehackerway.com/2023/03/08/identifica-vulnerabilidades-active-directory-certificate-services-ad-cscon-certify-y-certipy/
如有侵权请联系:admin#unsafe.sh