Este será el último post sobre GhostPack que como se ha mencionado anteriormente, es un conjunto de herramientas que cubren varias operaciones habituales en procesos de post-explotación en sistemas Windows. Las dos partes anteriores de esta serie se encuentran disponibles en los siguientes enlaces:
Post-explotación en sistemas Windows con GhostPack – Parte 1 de 3
Post-explotación en sistemas Windows con GhostPack – Parte 2 de 3
Se trata de una herramienta que utiliza la función SystemHandleInformation del componente NtQuerySystemInformation para listar y copiar lo file handles que tiene abiertos un proceso y que apuntan a un fichero concreto en el sistema comprometido. Evidentemente, para que estas operaciones se puedan llevar a cabo es necesario contar con privilegios para abrir el proceso y acceder a los handles del mismo. Si esta condición se cumple, se encarga de mapear los contenidos del fichero en memoria y posteriormente vuelca dichos contenidos en el fichero especificado. Como todos los proyectos disponibles en GhostPack, es necesario compilar la solución C# con el Visual Studio .NET y de esta forma obtener el binario correspondiente. Una vez hecho esto, utilizarlo es muy simple y necesita pocos parámetros para funcionar.
Como se puede ver en la imagen anterior, se puede ejecutar el binario de LockLess con el parámetro “all” y devolverá toda la información de los procesos que tienen algún file handle utilizado en ese momento. A continuación, basta simplemente con ejecutar el programa indicando la ruta del fichero que está siendo utilizado por el proceso y aparecerá información relacionada con el handle. Con esto es suficiente para realizar un volcado de los contenidos de dicho file handle en una ruta concreta.
Una de las utilidades más potentes que tiene GhostPack es precisamente Rubeus. Se trata de una herramienta que permite ejecutar diversos tipos de ataques contra el protocolo Kerberos. Incluye la posibilidad de ejecutar manipulaciones interesantes sobre los tickets TGT como su solicitud y renovación por medio de peticiones AS-REQ y análisis de respuestas AS-REP, su extracción por medio de la API LsaCallAuthenticationPackage, ataques del tipo Over-pass-the-hash, fuerza bruta, kerberoasting, entre otras cosas.
A continuación se describen algunas opciones y ataques que se pueden realizar contra un dominio partiendo de un sistema previamente comprometido.
En primer lugar se puede aplicar la técnica de Pass-The-Ticket disponible en Rubeus por medio de la opción /ptt. Un ejemplo típico consiste en utilizar las credenciales de un usuario local o de dominio para generar un ticket TGT utilizando un algoritmo de cifrado débil, como por ejemplo RC4. Hay que tener en cuenta que en versiones de Windows Server recientes (superiores a Windows Server 2008) este mecanismo de cifrado ya no se utiliza y por defecto la clave de sesión para el ticket TGT se cifrará utilizando un algoritmo más robusto como AES128/AES256. No obstante, Kerberos y más concretamente, el KDC (Kerberos Distribution Center) admite la generación de hashes con un algoritmo más débil siempre y cuando el hash de las credenciales sea correcto.
Como se puede ver, se genera el ticket TGT en formato Base64, el cual se puede utilizar posteriormente para pedir un ticket TGS sobre un servicio determinado al que el usuario tenga cierto nivel de acceso, para ello se utiliza la opción asktgs pasándole como argumento un fichero kirbi con el ticket TGT generado e importado anteriormente o la cadena en formato Base64. También es posible ver todos los tikets de Kerberos que se encuentran registrados actualmente junto con su información.
Como se ha mencionado antes, Rubeus es una de las utilidades más potentes que tiene GhostPack, sin embargo requiere unos conocimientos sólidos sobre el funcionamiento y estructura de Kerberos, el KDC y en términos generales, la configuración de seguridad de un directorio activo. Este tipo de cuestiones se cubrirán en detalle en una serie de posts que pronto comenzaré a preparar sobre pentesting y hacking contra entornos AD y se retomará nuevamente el uso de esta herramienta.
Un saludo y Happy Hack!
Adastra.