miércoles, 18 de enero de 2023

Contabilidad Ciber. El deber y el haber: Simulación de adversarios Con Caldera...

 Estimados amigos de Inseguros !!!

En el post de hoy os lanzo un pequeño recordatorio y consejo para los que estáis en el mundo ciber sobre la simulación de adversarios.

Hemos hablado aquí ya hace tiempo, y en algún post más que no tengo controlado ahora mismo. Se trata de realizar las mismas técnicas que emplean los malos, como cuando hacemos un redteaming, pero con el objetivo de comprobar la capacidad de respuesta de una organización.

Voy a explicarlo de otra manera. Tu tienes un objetivo, una IP Pública, y en un red team lo normal es que uses 10, 15, 30, 50 procesos/técnicas/herramientas para inentar conseguir, pues desde información,acceso, comprometer el equipo, cualquiera de las fases por ejemplo de MITRE...

Si de las 50 técnicas, solo 1 te funciona, sigues por ese camino. Tu objetivo es comprometer la máquina... por lo general.

En un purple team o simulación de adversarios, me preocupa qué técnica has usado para "joderme" con el fin de "parchear" o securizar la vulnerabilidad. Pero también me interesan las 49 técnicas que no hansido efectivas, porque lo que estamos midiendo es nuestra capacidad de detección.

Sigo con este concepto para explicarme mejor. Imagina que tienes una vulnerabilidad conocida en Exchange CVE 2022-41040 que permite código remóto en tu servidor de correo. Imagina que un atacante, en un ejercicio de Purple Team o simulación de adversarios, detecta que tienes un Exchange, y te tira 5 exploits para 5 CVE, para 5 fallos. Puede que no seas vulnerable a 4 de ellos, pero al 2022-41040 si. Pero se trata de saber que te han tirado 5 exploits, para que mejores tus capacidades de detección, por ejemplo en un firewall con IDS, o es un host IDS en el servidor, o un antimalware en el servidor... o lo que sea.


Porque en el purple team, para mi punto de vista, no es tanto medir tu ciberseguridad de hoy, es decir, si eres vulnerable a esos 5 exploits que te he tirado, sino que tu resiliencia, tu capacidad defensiva crezca, no para estos 5, sino para todos los que vengan en el futuro.

Digamos que un redteam o un pentesting tiene una vigencia de HOY, porque te diríamos que parcheases ese Exchange que tienes con RCE, pero un purple team te diría qué hacer para detectar ese, y otros exploits de la misma índole...

No se si me he explicado? xD

Siguiendo estos planteamientos, seguimos alineados con MITRE, y queremos conocer las técnicas que emplean los malos, no tanto las herramientas. En el pasado nos preocupábamos de la firma para un antvirus, o una firma de red para detectar una herrramienta. Hoy en día la herramienta es mucho menos importante, porque me da "igual" que estés usando un powershell, un modulo de Empire o un c2 hecho a mano... Al final yo quiero detectar comportamientos inusuales.

Siempre pongo el ejemplo de arp -a. Me da igual la herramienta que lo lance, al final, es un técnica que usan los malos para descubrimientos de objetivos en la red. Si consigo detectar un ataque que emplea esta técnica, y más técnicas, podré adivinar la herramienta, e ir escalando en la pirámide de valor para llegar a saber quien me está atacando... nos suena todo esto?

Biennnn seguimos. Por eso en el titulo escribía el debe y el haber. Como en la contabilidad de las empresas, tengo que tener siempre equilibrada la cuenta. Si tengo 100 euros en el haber, luego tengo que tener equis movimientos de debe, si me los he gastado...

Con el Purple Team igual. Si te he lanzado 17 técnicas, tengo que detectarlas, independientemente de que hayan sido fructíferas o no.

Para la simulación de adversarios yo uso CALDERA, un framework del MITRE muy simpático. Instalas un agente en el equipo que quieres probar, para hacer de C2, y empiezas a lanzar golosinas, y en el lado del defensor esperas la alerta en el siem, o el contraro de rescinsión del SOC gestionado :-)

Caldera viene de casa con unos 140 ataques, técnicas, lo que llama abilities. Si habilitamos el plugin de ATOMIC, nos importa 1400 técnicas que provienen del proyecto RED CANARY


Por ejemplo, vamos a ver una técnica que simula ser un Bypass de Amsi


Puedo copiar y pegar la ejecución de la técnica... de la maldad xD o ejecutarlo desde el servidor de Caldera mediante nuestro agente.


Ahora me voy a Sentinel, mi SIEM en Azure, y voy a ver los logs que ha dejado esto. Voy a lanzar una consulta sencilla, sabiendo el comando, buscándo un proceso que se haya abierto así, y vemos como detecto dos ejecuciones, y veo como el proceso padre es maloso.exe, el C2 que uso de Caldera.

Si realizara más pruebas con este agente, podría buscar por este campo, para saber qué ha hecho el "malo"


Aquí podemos ver varios comandos que hemos ejecutado, habitualmente empleados por los malos.

Como siempre, me gusta dejar el "poso" de los que hacemos los buenos. Aparte de detectar, podemos usar las características de Powershell 5 para bloquear contenido.  Aunque me temo que también hay varios bypass a este medida :-)

Al final, como resumen, espero que os haya gustado esta síntesis de ideas, nada nuevas, pero que creo que es importante que vayamos interiorizando, incorporando en nuestros procesos de revisión,  e igual que hacemos auditorias periódicas para revisar la salud de los sistemas, realizar estos ejercicios incrementa notoriamente las capacidades defensivas de la empresa.



Imagino que te interesa este mundo de atacar, defender, monitorizar. Simulación de adversarios, Sysmon para detectar, Sentinel, Caldera. 
Dentro de unos días comienza la tercera edición del master de ciberseguridad que imparto. Un master diseñado para trabajadores, para desarrollar tu carrera en la ciber.
Si te interesa, puedes pinchar en el curso: https://marketing.seguridadsi.com/informacin-para-el-master-ciber
También puedes suscribirte al boletín para estar al tanto de noticias de este tipo.

Gracias por leerme !!!

lunes, 9 de enero de 2023

Teletexto y tercera edad?

 Estimados amigos de Inseguros !!!

Viendo unas noticias en la TV me percato de un dato que me llama la atención. Solo Alemania y España preservan el servicio de Telexto en sus canales principales y aportan un dato, que en España lo usan de media unos 2.000.000 personas.

Seguramente si eres jóven, el teletexto te sonará de chistes, memes, de esa tecla que nadie cual es, que te "desconfigura" la televisión y luego no sabes cómo salir :-)

Pero esto me hace reflexionar sobre muchas ideas. Por ejemplo, para mi ya dilatada edad, me resulta curioso como recordar, "hace dos días", como mis mayores usaban ese sistema de una manera ágil, rápida, eficiente, y yo apenas pulsaba las teclas así con el dedo indice muy pronunciado. Como hace mi madre ahora con el móvil? igual. Mis mayores conocían esa tecnología, yo no, y a esto se le sumaba la admiración por los mayores...

Como decía, han pasado dos días, y ahora esas personas ya no manejan tan bien "mi" tecnología. Les enseñas un proceso en el movíl pero lo aprenden paso por paso. En cuando cambie una pantalla, icono, como cambie algo del proceso, son incapaces de reconducir el paso. La llamada brecha tecnológica. Siempre la ha habiado !!!

Recuerdo como hace 25 años, antes de que ningún coach,experto, influencer, mentor, growth hacking y pepinillos en vinagre existiera, y casi que ni nacido, yo ya practicaba la "digitalización". Era sencillo, tenía que convencer a mis compañeros de trabajo, a cambiar sus procesos, del papel, al pc. Ya aparte introducir mejoras, es decir, no "apuntar" lo mismo en papel, pero ahora en excel... 

Como indico, la brecha tecnológica siempre ha existido. Desde hace miles de años, hasta hace unos pocos.

El problema es que vivimos una época, la sociedad de la información, que será estudiada por su importancia como la revolución industrial, la imprenta o el uso del Cobre... pero que quizás no hemos considerado muy mucho a nuestros mayores.

No me cabe duda de que en la revolución industrial, un artesano manufacturero de cualquier disciplina, con 40 años de experiencia, adoptase las nuevas técnicas, pero seguro que se respetaba como eso, como artesano, como experto, como viejo.

Hoy en día nuestros mayores están inmersos, igual que nosotros prácticamente, en la revolución digital, y los técnicos como técnicos, ni la sociedad como sociedad, hemos sabido ubicar sus necesidades en nuestro mundo.

Piensa en lo cotidiano de tu día, en la de cosas que haces con el móvil, y piensa en esa persona sin conocimientos, o que lo mismo no ve bien !!! 

Cuantos cabreos he tomado por gestiones infructuosas con tu operador de noseque, con tu banco, con tu cita para la administración pública... y un largo etc. Pues ahora pon al abuelico.

Hay gente de 60 años, de 70, de 80, de 90 años que aún viven !! :-) hablamos de una franja de la población muy amplia, y que la sociedad está dejando de lado.

Lo estamos haciendo de muchas maneras. Laboralmente, con expertos en sus campos, de 50 años, que no encuentra trabajo. Joder !!! el otro día !! discutía con un niño de internet, con 23 años. Cero experiencia laboral. cero experiencia como padre. cero experiencia como "marido" o pareja. Un bebe, un pequeño lechón con la panza rosa, y ya me quería encasillas como boomer, porque no uso Twitch... 

Estas navidades muchas familias pusieron al abuelo a cenar antes en la cocina, para tener una velada de ocio tranquila...

Hace miles de años, el conocimiento se pasaba de mayores a menores. En una hoguera, en medio del pueblo, los antiguos contaban sus historias, y los jóvenes escuchaban y aprendían. SI, los jóvenes se revelan, sobrepasan al maestro, apren en 2 lo que a mi me costo 22, si, pero la brecha digital con la que vivimos me parece súper injusta.

Y volviendo al telexto. Me parece una manera fantástica de que los mayores sigan conectados. Quizás exista, una interface "similar" para móviles o equipos, que les pueda ayudar a estas personas a navegar por eso de Internete, pero desde luego, que la noticia me ha hecho reflexionar sobre todas estas cosas, y desde luego que me parece genial que haya 2.000.000 de usuarios de teletexto.

Un saludo amigos !!!

martes, 8 de noviembre de 2022

Azure Key Vault para tus scripts en Powershell: No more hardcored passwords...

 Estimados amigos de Inseguros !!!

En el post de hoy vamos a trabajar con algunas ideas para fortificar usuario/contraseña dentro de nuestros scripts.

Cuantos de vosotros tenéis claves a fuego en scripts?. La idea es guardarlos en un repositorio centralizado en Azure Key Vault, que nos permite más control sobre ellos.



Imagina que tu clave del usuario que hace algo en un script es mimamamemima.

La quieres cambiar cada 3 meses. En vez de cambiarla en el fichero del scrtip, yo hago una llamada el KeyVault, y me devuelve la clave.

Si la quiero cambiar, la cambio en KeyVault, pero en el script no hace falta, seguirá usando la llamada para recuperar la nueva clave. El concepto es ese más o menos.

Como siempre, voy a intentar explicaros mejor el concepto con el ejemplo. Lo primero, crear en Azure un almacen de claves e instalar el módulo de Azure en Powershell, si no lo tienes aún.


Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force

Connect-AzAccount

Ahora damos de alta un SPN, un service principal name, que en Azure es una aplicación que tiene una identidad concreta, y le vamos a dar una autenticación. Esta identidad será la que tenga permisos sobre el KeyVault para leer nuestra clave. 


Una vez tenemos creado el SPN, le asociamos un secreto. 


Nos vamos al almacen de claves, y le decimos que a ese SPN, le de X permisos. En este caso solo "get".
Es decir, cuando usemos nuestro script que hace "lo que sea" le pasaremos el ID y la key del paso anterior, y solo podrá recuperar secretos del KeyVault. No podrá cambiar, por ejemplo.




Ahora creamos nuestra clave, la que queremos usar en el script: mimamamemima




Como es normal, esto nos lo da porque estamos logueados en Azure. Si lo direccionamos a una variable $laclave= "chorizo" pues ya podemos usarlo.

Si no estuvieramos logueado, tendríamos que hacer algo así?


Una vez llegados a este punto, coincidireis conmigo que antes teníamos scripts con las claves, y ahora tenemos script con un secreto, que me da acceso a la clave xD xD xD. Cual es la diferencia?

Bueno, en primer lugar, hemos adquirido la buena costumbre de crearnos un usuario/clave para cada script, y un secreto en keyvault distinto. Esto ya es mucho, porque tenemos glanularidad en control de accesos, auditoria, etc, pero hablaremos en otro momento de ello. Tenemos la posibilidad de rotar estas claves, no todas, de poco en poco. También tenemos Defender for KeyVault...

Luego existe la posibilidad, de que hayamos accedido al contenido de este script, no porque tengamos una shell local con acceso al fichero, sino que hubieramos accedidor por una RFI/LFI en un server web, por lo que podríamos ver el fichero con el secreto, pero no podríamos ejecutarlo.

En el caso de máquinas en Azure, podemos establecer la IP del equipo que realiza la petición al keyvault, para no está disponible, o no se me ocurre este control, para IP on-premise.

Entonces, volvemos al asunto que nos requiere. Ahora lo que vamos a hacer es guardar el secreto que nos permite acceder al keyvault y recuperar la clave, pero lo vamos a cifrar con DPAPI. Como sabes, esto nos ayuda en el sentido de que para descifrar esa clave, debes ser el usuario que la cifro, y el sistema operativo.
Es decir, imagina el usuario kinomakino que cifra el secreto de acceso al keyvault. Para descifrarlo, tienes que ser kinomakino y estar en ese servidor. Si ejecutamos el script en ese contexto, podemos hacerlo. Si entras al servidor con otro usuario, por ejemplo administrador, no "podras" descifrar el secreto, por lo que tendrá sentido el fichero que indicamos. 

Por supuesto, este usuario que corre el script, no deberá tener permisos de login local, login interactivo, Rdp, acceso a disco ( solo a la carpeta indicada) etc... lo normal de cuando creamos un usuario para un servicio verdad? 

Con la base del script anterior, vamos a guardar en un fichero el contenido del secreto del acceso al keyvault, cifrado con dpapi:

 #$spnsecret = "Ame8Q~dAZB13s262sRzUo5k3Ipm1T5TjOJrIubFq"

#$spnsecret |  ConvertTo-Securestring -AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\sysmon_config\license.txt" 


Y ahora le decimos al script que lea de ese fichero.

 $tenant = "5790'¡0'¡90'¡90¡3d9d976e"

$spnid = "793e90'¡90'¡9bffaeadf7"

$secreto_des = Get-content "C:\sysmon_config\license.txt" | ConvertTo-SecureString

$credenciales = New-Object System.Management.Automation.PSCredential ($spnid,$secreto_des)

Connect-AzAccount -ServicePrincipal -Credential $credenciales -Tenant $tenant

$clave = Get-AzKeyVaultSecret -VaultName "formacion" -Name "miclavedescripts1" -AsPlainText

echo $clave 


Espero que haya quedada clara la idea. Usar Keyvault y sus ventajas, mediante DPAPI.

Podríamos haber usado solo DPAPI, es decir, en el script inicial, en el que "hace cosas" hacer una llamada al fichero donde tenemos cifrada , en este caso, en vez el secreto del keyvault, la propia clave, SI. Pero Keyvault aporta una capa más. Sin entrar en detalles, de esta manera, podríamos rotar la clave en Azure, y no estar volviendo a generar el fichero, por decir alguna más...

Espero que te haya ayudado, y sobre todo, aprendas de los conceptos que vamos manejando.

También podríamos hacer esto, en vez de con KeyVault, con Keep pass, como vimos aquí hace 5 años !!!

Como siempre, gracias por leerme !!!



Y si te gusta este contenido, te animo a que te registre para estar al día de nuevos post, cursos, webinars, eventos etc. 

lunes, 24 de octubre de 2022

Workbook para detectar recursos huérfanos en Azure

 Estimados amigos de Inseguros !!!

Los que trabajamos con Azure sabemos lo fácil que es adquirir servicios, que muchas veces no sabemos muy bien quien los paga :-) pero siempre los paga alguien :-)

No en serio, cuando creas una máquina virtual, muchas veces metes una ip pública, un storage adicional, o una logic app que hiciste para no se qué... y luego borras la máquina y se quedan recursos que pueden engrosar la factura mensual.



En este WorkBook, siguiendo las instrucciones, podemos controlar alguno de los recursos más habituales que suelen quedar huérfanos, sin uso, en nuestros grupos de rucursos.

Muy interesante para para la escoba de vez en cuando y mantener la casa limpia.

Espero que os guste, gran trabajo del autor 

Y si te gusta este contenido, te animo a que te registre para estar al día de nuevos post, cursos, webinars, eventos etc. 

martes, 18 de octubre de 2022

De TTP Mitre a GPO usable con unos clicks: Eventlist Tool

 Estimados amigos de Inseguros !!!

Al que pregunte por Mitre lo mandamos al pasillo 15 días !! :-) 

Conocer los TTP´s Mitre es muy interesante, como siempre decimos, para conocer las "virtudes" de los atacantes y conocer como debemos defendernos los buenos. Por el camino tenemos la detección.

Como sabéis, en los entornos Microsoft hay que lidar con una buena configuración de eventos. En Linux también... Si no activamos las opciones de auditoría avanzada en las GPO´s no registraremos eventos de valor que a posteriori, puedan ser consultados.


Lo que siempre digo, primero instala las cámaras de video para poder consultar las cintas... 

En esta ocasión os traigo un proyecto que puede serviros para vuestros inicios, o si estáis haciendo simulación de adversarios, o si estáis intentanto ahorrar costes en el SIEM con eventos de mucho valor.

La herramienta se llama Eventlist. Aplausos para Miriam Xyra 

Es un conjunto de scripts en Powershell, con una interface gráfica, que nos permite hacer cosas tan jugosas como seleccionar uno o varios TTP´s, generarnos una liasta de id de eventos que necesitamos para detectar el TTP´s. También nos genera un fichero donde usar la conversión de reglas Sigma a nuestro SIEM. También nos ayuda con el forwarder Splunk para delimitar que eventos quiero ingestar, y no meterle un "select * " de todos los logs que si, nos dará mucha visibilidad, pero aumentará la tarifa de EPS...

Pero lo que más me gusta así para comenzar, es que nos genera una GPO con las opciones necesarias para habiltar los eventos necesarios para la detección.


Súper simpático. Os aconsejo que le déis un vistazo, seguro que le encontráis utilidades interesantes.

Como siempre, espero que os guste y gracias por leerme !!!

Y si te gusta este contenido, te animo a que te registre para estar al día de nuevos post, cursos, webinars, eventos etc.