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 !!! 

Recuerda, hacemos los mejores cursos de ciberseguridad y ofrecemos servicios de auditoría experta en entornos Microsoft.


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  !!!


Recuerda, hacemos los mejores cursos de ciberseguridad y ofrecemos servicios de auditoría experta en entornos Microsoft.

jueves, 16 de febrero de 2023

Run Some Where: Ransomware

 Estimados amigos de Inseguros!!!

Seguimos con los incidentes de seguridad usando el ransomware como medio de monitización. En las últimas semanas numerosas empresas de mi entorno han sufrido en mayor o menor medida algún toque de atención respecto a este vector.

Me da hasta un poco de verguenza hablaros de este asunto, cuando es algo con lo que llevamos en guerra desde hace muchos años, pero muchas organizaciones siguen sin entender el asunto.


No se trata de "parar el ransomware" mediante EDR, Firewalls, sistemas de IA, fortificaciones, etc. Ante el Ransomware tenemos que tener otra aproximación. SI tenemos que establecer medidas para EVITAR el ataque, pero poniendo como símil el COVID, la gran mayoría de ciudadanos lo ha pillado. Muchos no lo saben, y por más medidas que hemos puesto, el virus ha encontrado alguna "brecha de seguridad".

Con el ransomware ocurre lo mismo. Pensar que el Ransomware no es el vector de ataque, es el "payload", es en lo que va a desembocar un ataque, producida por distinta vulnerabilidades, por lo que su defensa es muy compleja, y tenemos que trabajar mucho en la mitigación/contención/detección.

Un ransomware te puede entrar mediante una pieza de malware distribuida por correo, en una descarga, en la visita de una web, instalando un componente, o te puede entrar por un zero day, o por una vulnerabilidad en un server sin actualizar, o en un servicio mal configurado con una contraseña débil, o mediante un ataque de phishing y robo de credenciales de acceso a distintos entornos como vpn, rdp, etc... 

El ransomware es la manera que el cibercrimen ha encontrado para todos los ataques que hemos visto durante años, insisito, protegernos es MUY COMPLEJO.

Cuando hago auditorías de ciberseguridad encuentro administradores o responsables que no entienden esto, y cuando le dices de iniciar una fase del pentest, con credenciales de red, de distintos ámbitos, es decir, un usuario plano, y un usuario no tan plano... se sorprenden...

Por supuesto que yo voy a intentar conseguir hacerme admin sin ayuda... pero es de vital importancia medir la ciberseguridad desde todos los puntos. El que más se entiende es el externo, el blackbos, no te digo nada y dime hasta donde llegas, pero tenemos que ser capaces de defendernos antes otros escenarios.

Yo te preunto a ti, amigo lector:

  • Imagina un entorno en el que el malo tiene el usuario administrador del dominio.
  • Imagina un entorno en el que el malo ha deshabilitado el antivirus.
  • Imagina un entorno en el que el malo accede a distintos segmentos de red.
Antes este escenario, entiendo que tenemos la batalla muy muy perdida, pero no la guerra tota.

La gente no entiende, o no interioriza todo esto del Mitre, del Kill Chain, del DFIR, etc...

Los malos van a envirual un equipo, un servidor, un cliente, un navegador, como VECTOR DE INICIO, pero luego, una vez comprometida la organización, va a empezar a hacer escaladas de privilegios, movimientos laterales, comunicaciones al C&C... todo esto que sabemos.

Entonces, por qué solo le ponemos foco en que no ocurra el compromiso inicial? Deberíamos trabajar muy mucho en la parte de la detección y contención. No es lo mismo que se cifre un equipo, que las cabinas con los hypervisores y las máquinas.

Es muy importante tener esta visión global, 360, holística, siiii, estas palabras, y añado resiliencia... puedo seguir eh!!! pero al final, es lo que nos toca.

Es como los coches, tienen elementos de seguridad para que no nos estrellemos, pero tienen otros para que si nos hemos estrellado, el daño sea el menor...

Es como los militares, por un lado no queremos tener una guerra bacteoriológica en nuestro pais, o un terremoto de grado 8, pero si que hay que realizar pruebas para que cuando ocurra, estar preparados y poder actuar ante el incidente...

Esto en la informática se hace siguiendo un plan que contenga estas fases:
  • Auditoria.
  • Fortificación
  • Monitorización/Respuesta
Y esto nunca acaba, siempre habrá nuevos sistemas que auditar, o que fortificar, o que probar la monitorización.

Espero que te sirvan de ayuda estas reflexiones.

Por otro lado, contar con una buena formación teórico-práctica es importante.

El 23 de Marzo se inicia un curso de 3 meses que imparto sobre Ciberseguridad en entornos Microsoft que te podría servir de ayuda en tu misión con la ciberseguridad en las empresas.
Si quieres estar informado, te paso un link para inscribirte en la lista y estar informado.

Gracias por leerme !!!


Recuerda, hacemos los mejores cursos de ciberseguridad y ofrecemos servicios de auditoría experta en entornos Microsoft.

martes, 14 de febrero de 2023

Setntlm: Escalando a Azure AD desde un sistema comprometido

 Estimados amigos de Inseguros !!!

Imagina un escenario habitual en los ejercicios de ciberseguridad, pentest, etc en los que nos hemos hecho con el dominio. No creas que hay que imaginar mucho xD.

Una de las cosas que vamos a hacer es posiblemente hacer un DCSYN, emular que somos un DC y replicar toda la base de datos para obtener los hashes de todas las cuentas.

Seguramente algunas las podremos crackear, otras no, da igual. Pero hoy por hoy nos encontramos con entornos en los que aún pudiendo hacer pass the hass en el equipo de la víctima, los usuarios ya no guardan todo en sus pc´s. Muchos usan Azure, Onedrive etc para guardar sus documentos... como debe ser.


Saltar de AD on premise a Azure a veces es muy fácil y otras veces muy complejo. Bueno seguimos.

Tenemos un hash o clave de un usuario potente, un admin. del sistema y queremos su keep pass que guarda en onedrive. Podríamos cambiar la clave del usuario en el dc, esperar media hora a que Azure Ad Connect hiciera su magia y ya tendríamos acceso a su nube, pero esto sería un poco disrruptivo, y según que ejercicio de redteam, podría no estar permitido.

Tampoco está permitido que los administradores de sistemas sepan la clave de los empleados, pero con un procedimiento como esté, podemos cambiarla, hacer "cosas" y volverla a cambiar...

Para ello nos vamos de paseo con Mimikatz, y explorar alguna de sus funciones.

Hacemos un dcsync, o cualquiera de los métodos que tenemos en nuestro arsenal, y sacamos el hash ntlm del usuario "jugoso"


Ahora tenemos la opción de cambiar la contraseña:


Y si queremos comprobarlo...



Pero no habíamos dicho que no podíamos cambiar las claves de un usuario? Podemos hacerlo por la noche, mientras no trabaja, y dejarle la contraseña como estaba:


Y aquí es donde entra la parte defensiva. Recuerdas una GPO de hace más de 20 años que dice: Vigencia Mínima de la contraseña? que no entedíamos muy bien para que estaba? ahora lo tenemos claro. si subes esta cifra, evitas que alguien pueda usar este hack.

Contraseñas recordadas, por defecto 24 en los nuevos Servers y dominios, pues lo mismo, deberíamos cambiar 24 veces la clave antes de poder volver a poner la que estaba...

Y por último, tienes eventos del tipo ;

4738(S): se cambió una cuenta de usuario.


Quizas en un SIEM debería haber alguna regla para este tipo de acciones...porque el malo va a tener que hacer varios cambios en un espacio de tiempo limitado...

Por otro lado, contar con una buena formación teórico-práctica es importante.

El 23 de Marzo se inicia un curso de 3 meses que imparto sobre Ciberseguridad en entornos Microsoft que te podría servir de ayuda en tu misión con la ciberseguridad en las empresas.
Si quieres estar informado, te paso un link para inscribirte en la lista y estar informado.

Gracias por leerme !!!


Recuerda, hacemos los mejores cursos de ciberseguridad y ofrecemos servicios de auditoría experta en entornos Microsoft.


lunes, 13 de febrero de 2023

De Backup admin a domain admin...ya está.

 Estimados amigos de Inseguros !!!

Los que me conocen lo saben, soy un profundo defensor de conocer en profunidad aquello que manejas, en el tema laboral, los sistemas, en mi caso Microsoft.

Conocer los ataques y las defensas, las monitorización, la detección, la contención, es una pieza más del complejo puzzle que es la administración la sistemas. En grandes organizaciones esto puede ser tarea del depto. de Ciber, o más en detalle del BlueTeam, pero en la inmensa mayoría de organizaciones es cuestión del DEPTO. Informática...

En esta ocasión os traigo una pequeña referencia, pero que aporta más como reflexión que como técnica concreta, y es un exploit para elevar de Backup Admin a Domain Admin en un click.

El permiso SeBackupPrivilege es algo viejo y muy conocido en el mundo del pentester, y se usa, pero no te preocupes del pentester !!! preocúpate del ransomware que lo va a utilizar una vez entre en tu red...

Hace tiempo que Impacket nos ofrece esta posibilidad, con el simple dump de la SAM, SYSTEM y SECURITY del registro, a una ubicación...

Lo bueno de este exploit, es que no usa WINRM ni nada por el estilo, solo se conecta de manera remota a la clave del registro...


Y digo yo, si sabemos cómo funciona, podemos hacer dos cosas, por qué no prescindir, en la manera de lo posible, de este grupo y permiso? por qué no monitorizar los logins de estas cuentas? y lo que más aportaría, de verdad necesitamos acceso remoto al registro?

Computer Configuration > Policies > Windows Settings > Security Settings > System Services

Podemos cambiar su inicio a manual y listo, ya no permitimos ni a a los buenos ni a los malos trabajar con registro remoto.

Por supuesto, que añadiría una monitorización a esta rama del registro, donde se guarda la SAM... que creo que es algo importante. Vimos como hacerlo hace un tiempo aquí. 

Al final, como he empezado diciendo, no se trata tanto de este pequeño recurso, sino de que comprendamos que es importante conocer estos vectores de ataque y como gestionarlos.

Por otro lado, contar con una buena formación teórico-práctica es importante.

El 23 de Marzo se inicia un curso de 3 meses que imparto sobre Ciberseguridad en entornos Microsoft que te podría servir de ayuda en tu misión con la ciberseguridad en las empresas.
Si quieres estar informado, te paso un link para inscribirte en la lista y estar informado.

Gracias por leerme !!!



Recuerda, hacemos los mejores cursos de ciberseguridad y ofrecemos servicios de auditoría experta en entornos Microsoft.