jueves, 2 de febrero de 2023

Nace la academia Seguridadsi. Bienvenidos !!!

 Estimados amigos de Inseguros !!!

Después de mucho tiempo, y de varios intentos marketinianos que estáis viendo por las redes sociales, creo que es hora de que hablemos :-)

En 2023 he lanzado un proyecto de formación bajo el nombre comercial que uso en mis servicios, se trata de formacion.seguridadsi.com 

Mi primer trabajo en la informática fue con 14 años haciendo videos en autodesk animator y el 286 en los campamentos de verano, como ya he contado en alguna ocasión, pero mi primer trabajo de verdad en la informática fue dando clases. En los inicios del 2000, con mucha pasta europea... como siempre vienen estas cosas, yo con 20 años dando clases de windows 2000 :-). 

Empecé realmente dando clases de SqlServer 7. No tengo fotos de ese momento, pero el otro día un amigo-alumno me envió uno de los certificados y me hizo mucha ilusión. Llevaba 3 años dándo clase y tenía 23 xD.


Siempre me ha gustado contar cosas, este blog, las charlas, las clases, y raro ha sido el año que no he cumplido este placer con alguna actividad.

Entonces, ¿por qué no montar mi propia academia?. Seguro que si alguna vez te has planteado obtener un curso, has investigado en las formaciones, o las has hecho, te has encontrado con lo que yo, después de mucho formarme como alumno también, y haciendo un profundo análisis de mercado.
  • Cursos de introducción a.... Cuando yo hago un curso, es porque no se de algo. Quiero aprender, pero que no sepa no significa que quiera quedarme solo en la introducción. Además, esto suele ser síntoma de que el que lo importe, tampoco tiene mucho más que dar. Esto no es así siempre, entrecomillas.
  • Cursos poco actualizados... Cursos de hace 20 años, en los que han introducido un "exploit" nuevo, pero el 70% del curso está desfasado.
  • Cursos poco teóricos... Cursos donde te enseñan a hacer click click, siguiente siguiente, y configuras algo, pero no aprendes de verdad nada.
  • Cursos muy teóricos... Cursos donde aprendes conceptos, pero no aprendes a implementarlos, no le ves la usabilidad. Un curso de raices cuadradas por ejempo xD
  • Credibilidad del profesorado... Cursos que no sabes muy bien quien da. Otras veces, si sabes quien lo da, puedes tener referencias suyas, pero no sabes que cobra. ESTO ES MUY IMPORTANTE. Yo he rechazazo muchos cursos, impartirlos, porque me pagaban poco. Cuando pagan poco al profesor, y este lo acepta, muchas veces esto revierte en la poca dedicación del mismo en el curso.
  • Contenido aplicable... A mi me encanta el sushi, pero estoy muy gordo, no debo formarme en esta disciplina, que se que no me va a llevar a ir más al gym, sino en ir más al ñam... Pues al reves. Si tu empresa o tu te pagan un curso, debes poder aplicarlo para ofrecer un "revenue" a tu empresa.
  • Contenido de calidad...Poder revisar algunos contenidos de ejemplo es fundamental para poder hacerte una idea de lo que viene.
Seguro que si has hecho/mirado formaciones, tendrás muchas más opiniones. Estas son algunas. 
Y SeguridadSI pretende dar cursos que no caigan en estos problemas, por ejemplo:

  • El profesor soy yo. No lo digo por lo guapo, sino porque soy un profesional en activo. No me dedico en exclusiva a la formación. Esos profesores huelen a kilómetros y no dejan de ser una versión humana de loquendo y un par de libros. La experiencia que aporto en mis contenidos creo que es un factor interesante, quizás el que más.
  • Los cursos son completos. Están hechos para que entres sin saber, y salgas sabiendo mucho. No a medio.
  • Actualizados a 2023 y lo más intemporales posibles. 
  • Mix entre teoria y práctica.
No me siento muy bien hablando bien de yo mismo conmigo mismo, pero estoy muy orgulloso del contenido.

Para empezar, aunque tengo varios grabados ondemand, estoy empezando por la 3ª Edición del Master de Ciberseguridad en entornos Microsoft que he impartido en otras empresas, pero esta vez lo hago completo desde mi control.

Un curso completo de 3 meses, dos tardes, 3 horas cada tarde, en los que el alumno aprende mucho de ciberseguridad en general, y sobre todo orientado a redes Microsoft y Azure. Por supuesto que usamos linux para atacar, por supuesto que atacaremos el cloud, pero no es un curso de ciberseguridad ofensiva en exlusivo.

Para mi, es el curos perfecto para un profesional de los sistemas o redes, un recien titulado de ingenieria, alguien que quiera iniciarse en la ciber, pero profunidar, no quedarse en "metasploit" y Burp.

El curso tiene cosas muy buenas, posibilidades de pago, etc. Si estás interesado, contacta comigo para ver como podemos llegar a un acuerdo, porque de corazón, es un pedazo de curso, y el dinero al final se soluciona.

Si te parece, te dejo la landing de marketing para que te suscribas a las news y estés enterado de todo lo que vamos sacando. En unos días sacaremos unos descuentos y quizás te vengan bien.

Como siempre, gracias por todo, y perdona la turra xDDDD

Suscríbete



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

lunes, 30 de enero de 2023

KeepPass contraseñas en claro versiones 2.5x. Actualiza !!!

 Estimados amigos de Inseguros !!!

Volvemos al año 2000, a los consejos de actualiza tu sistema !!! Muchas empresas tienen una gestión de actualizaciones medio conveniente, pero para el software "oficial", para el "core" como pueda ser entorno Microsoft, componentes de desarrollo, etc.

Pero al final, las vulnerabilidades nos vienen de todo tipo de software que corre por nuestras organizaciones.



En esta ocasión, vamos a ver una vulnerabilidad reportada por Alex Hernandez, un CRACK en esto, que ha publicado si POC tan amablemente.

Se trata de aprovecha una funcionalidad nativa de Keep Pass que permite definir triggers, actuaciones. Creamos un xml con nuestro trigger, y manda un mail a nuestro jefe cuando alguien graba una contraseña nueva... o escribimos un trigger que guarde en texto sin cifrar las contraseñas xD.

Para poder hacer uso de este Feature tenemos que tener acceso de escritura a la carpeta de Keep Pass, osea, administrador.  

El autor hace dos triggers, el comentado de escribir en un fichero, y el enviarlas por powershell a un servidor maloso a la escucha.

Los pasos para recrear el escenario son sencillos.

Copiamos el XML que nos propone el autor en su exploit. Yo he cambiado la ruta para adaptarla a mi usuario, imnotjhon, imkino xD. Pegamos el trigger en el fichero keeppass.config.xml


Y ya tenemos el desencadenador. Cuando alguien abra y cierre el fichero keep pass, volcará el contenido del fichero en claro en la ruta indicada.



Me parece muy interesante este vector de ataque ya que Keep Pass es un software muy popular entre los departamentos IT. Y la moraleja "defensiva" no es que no lo uses, sino que mantengas actualizado tu software.

Podríamos auditar la carpeta de Keep Pass para ver quien accede y qué procesos modifican o crean ficheros, para detectar que alguien a modificado algo... pero esto es porque sabemos el ataque, pero llegará otro tipo de ataque, por otro vector, como los de la extracción en memoria que ya vimos en el pasado, y no servirá de nada la monitorización. 

Al final es intentar poner muchas "puertas" al campo.

Sin embargo te traigo buenas noticias. A finales de Marzo empieza la 3ª Edición del Master de ciberseguridad Microsoft que imparto. De Marzo a principios de Junio, 2 tardes, 3 horas. Intenso pero muy productivo. Si te apetece saber algo más, envía un correo y charlamos.

https://marketing.seguridadsi.com/acc07105yy

Gracias por leerme !!!


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.