viernes, 30 de septiembre de 2022

Cual es tu frecuencia de gestión/respuesta a correos?

 Estimados amigos de Inseguros!!!

Hoy voy a reflexionar y pedir vuestra opinión sobre el tema del correo en el mundo empresarial, las comunicaciones, la velocidad de respuesta y todo esto.

Los que me conocéis y trabajáis conmigo, creo que coincidís con lo que opino de mi, que suelo ser ágil con los correos. Esto lo aprendí en mi primer trabajo. NUNCA seguí la línea de correo que entra, correo que gestione, y así en "hilera".

Pronto aprendí a que un correo de mi jefe era más importante que otro. O que si era del DUEÑO, era aún más. Y si el mensaje era de la mujer del dueño o su hermano, eso pasaba a ser de vida o muerte, ya que estaba en juego mi trabajo, y el del dueño ante su familiar xD

Muchas veces tenemos correos que requieren de 1 hora de trabajo, otros requieren de 2 minutos. Otros requieren de paciencia. Otros no hacemos nada con ellos. Algunos se van quedando atrás hasta que una vez al año los borramos.

Cuando hablo de correos, suelo asociarlo a "tareas". Para mi un correo marcado sin leer es "algo" que tengo que hacer. Si leo un correo y no lo puedo atender, lo vuelvo a dejar sin leer, para que mi frágil mente tenga pendiente que tengo que hacer algo.

Cada uno nos organizamos como podemos. 

El propósito de este post, es exponer algunos comportamientos de colegas/clientes/amigos que son tan radicalmente opuestos a los míos, que me rechinan.

Por ejemplo, estás inmerso en una tarea con alguien importante. Le mandas un mail al tipo a las 18:05 y como sale a las 18:00, ese correo muere hasta el día siguiente...

Yo no soy quien para decirle a la gente cómo usar su tiempo libre, pero yo cuando termino de trabajar sigo usando el móvil. A veces estoy en el gimnasio en la bici a las 19:32 y si me entra un correo de alguien, y puedo "quitarme" esa tarea, le respondo. Por supuesto que si requiere de trabajo o esfuerzo no pueda, y NO ESTOY DICIENDO que tengas que hacer esto, pero yo si puedo desastacar algo, que me cuesta 1 minuto, y quizás a mi contacto le de "alas" para seguir...lo hago. Hay gente con la que NO, y no es factible, pero NUNCA?

Tengo compañeros que responde correos a las 6 de la mañana en un avión, a las 21:45 viendo las noticias, en el postre en la comida... NO te digo que seas así, cada uno modula la intensidad y dedicación de su vida laboral, pero esto debería aportar algo por ejemplo a la hora de las remuneraciones? es lo mismo alguien que corta a las 18:00 en punto, a uno que, no trabaja 24 horas, pero si que revisa al menos el asunto del correo de vez en cuando?

Luego hay otros que se les olvida, con estos lo flipo. Gente que ve el correo, está ocupado, le entran 4 cosas más y ya tu correo muere. De verdad? es como cuando alguien te dice que "no le llegó el correo" amigo... en los 2000 si, pero en 2022 POCOS correos se pierden, eres un desastre !!!

Seguimos con el ordenado. Lee el asunto !!! Imagina un cocinero que va haciendo receta por receta, plato por plato conforme le entran. No comeríamos en 10 vídas !!! El cocinero está haciendo un plato. Escucha que llega una comando de un ... yo que se... cerdo asado... si sabe que el cerdo tarda 20 minutos en descongelarse, mientras que está haciendo una lubina, para 10 segundos para sacar el cerdo del congelador, para que cuando le toque al turno del plato, ya esté descongelado. Es sencillo...MULTITAREA.

Hay compañeros/clientes/amigos que NO. No lo hacen. Son como un robot. No le pidas hacer una cosa, cuando están haciendo otra. Aunque eso implique dejar parado a un equipo. A estos no los soporto.

Con el Covid, la digitalización y los "slots libres" han crecido este número. No le pidas nada, pídele una cita para verlo... necesitas 5 minutos de él o ella, pero te emplaza para dentro de 14 días...

Tengo algún cliente, que le pides una cosa: dame de alta un usuario. Y tarda 10 días, REAL. A ver, imagino que el hombre estará súper liado, pero como decíamos del cocinero. Dame el usuario en 5 minutos y no me tengas parado a mi...Se llama falta de consideración?

Otra cosa que me llama la atención, es que si la gente está acostumbrada a que respondas rápido, si un día lo haces lento se quejan. Sin embargo, aceptamos a esa persona que sabemos que va a tardar...no?

QUE SIIIII, que estoy tocando temas delicados, como la jornada laboral, el derecho al descanso, desconexión, etc, pero lo estoy viendo desde el punto de vista de la eficacia. 

NO digo que trabajes en vacaciones, ni los sábados, ni que vivas pendiente como yo del móvil, pero hay escenarios en los que este NO, se podría "modular".

Quizás este enganchado al trabajo? seguro, pero por otro lado, los que me conocéis, saco tiempo para el trabajo, para mis proyectos personales, para formarme, para contaros cosas, y me da tiempo para llevar una vida rica de actividades. Que no trabajo de 8 de la mañana a 10 de la noche, ya te digo yo que no, pero lo que es cierto son dos cosas, que siempre estoy pendiente, y que cuando trabajo, rindo como un cabrón.

No entiendo eso de estar trabajando " a medio gas". Si estoy estoy. Que son las 13:30 del viernes, seguramente estaré lejos de un pc, pero si estoy, estoy para lo que venga, como el héroe de juego manga...

Acabando ya el consultorio hater de kinomakino xD, qué tipo de trabajador eres tú?

Gracias por leerme.


lunes, 26 de septiembre de 2022

A qué me dedico profesionamente...

 Estimados amigos de Inseguros !!!

Algunos me consta que me seguís en cada aventura, y otros muchos llegáis en google buscando cosas como "hackers guapos de Murcia" y cosas así :-)

El otro día hablando con mi amigo el JaBato, hablando de nuestro día a día no parecía saber muy bien a lo que me dedicaba. Y esto no es todo lo bueno que cabe esperar para mi, ya que yo vendo mis servicios de ciberseguridad a empresas, por eso, he decidido contaros un poco más en detalle qué suelo hacer en mi día a día, o qué proyectos suelo acometer, para que lo tengas en el radar, para que me conozcas más, y como siempre, para que me tengas a tu disposición.

Principalmente mi trabajo está relacionado con la auditoría, consultoría y formación. Actualmente trabajo para la empresa Verne Tech.

Hago auditorías de seguridad, pentesting, hacking ético, red team... Como quieras llamar a las acciones ofensivas. Estoy muy orgulloso de mis resultados, ya que tengo conocimientos transversales, desde hacking web, a lo que más o menos sabes, que es el hacking Windows, Microsoft...Azure y estas cosas.

Lo bueno de mis auditorías es que suelo encontrar muchos fallos, entrar hasta la cocina,etc pero siempre he cuidado muchos las acciones de mejora. Las medidas recomendadas para solventar deficiencias. 

Soy un fiel defensor de que para saber atacar hay que saber defender, y no me vale que me "saques" 4 fallos, y que no me des una solución. O que me des una solución basada en un fabricante concreto, o una solución que no esté alineada con la empresa, o con el presupuesto económico... No todas las empresas pueden tirar lso W2008 a la basura... ni despedir empleados con pocos conocimientos técnicos.

Mis 30 años de experiencia en la informática creo que me posicionan bien en este sentido.


Si empezamos con auditoría, seguimos con la consultoría. No soy amigo de coger tu Active Directory y fortificarlo a base de GPO´s, y que el sysadmin no sepa qué hemos hechos. Soy amigo de acompañaro, de decirle qué y cómo tiene que hacerlo, de hacerlo junto a él, de darle soporte, pero creo que hay partes de los sistemas que la mejor persona o personas para acometer los cambios deben de ser desde dentro.

Y siguienteo esta línea, de consultoría, está la formación. No solo contarte los clicks que tienes que hacer, sino mostrarte lo que hay detrás, el por qué de las cosas. Cómo están los malos rompiendo algo. Cómo debemos los buenos de arreglar algo. 

Las formaciones son muy enriquecedoras para los clientes y disfrutamos mucho.

Como te he dicho, mi área de conocimiento es transversal, pero si que es cierto que me manejo con Microsoft, Windows, Azure, O365, Azure Sentinel, Defender y por supuesto linux, mucho linux.

Como mi perfil es transversal, muchas veces hay que hacer misión comercia, ayudar a los compañeros con la redacción de algunos items de una preventa... esta parte también la manejo y me gusta.

Y por último, ayudar en lo que puedo. Si aparece un caso de DFIR complejo, con mucha presencia "Microsoft" pues suelo echar un cable. O en el SOC, si hay que trabajar algunos TTp´s tanto en defensa como en detección.

Al final como sabes, me defino como un apasionado de la ciberseguridad. Podría instalar un Vmware y una 3700, pero prefiero centrarme en lo otro que no es poco.

Espero que te haya servido un poco para saber qué hago, cómo te puedo ayudar, y si te sirve para orientarte un poco en este mundillo de la ciber.

Como siempre, gracias por leerme !!!

lunes, 19 de septiembre de 2022

Tips&Tricks AzureAd: Crear una alerta sin meten a un usuario a un grupo admin... sin usar SIEM

 Estimados amigos de Inseguros!!!

Los que leeís el blog estaís acostumbrados a leer SIEM. Empezamos hace muchos años con AlienVault, ahora más con Microsoft Sentinel, pero no es algo nuevo.

Lo que no es nuevo es que estos sistemas son costosos, y que no todas las empresas han empezado con dicha andadura. O bien por costes, o por personal que les gestione las alertas, pero no lo encuentro en gran parte de mis clientes.

En el post de hoy vamos a mejorar la monitorización de eventos en nuestro Azure AD con herramientas "del sistema" para hacerlo más fácil y económico.

Pongamos por ejemplo que en un ataque, un maloso añade un usuario a un grupo administrador... deberíamos ser capaces de tener un correito con dicha alerta no?

Vamos a crear un Log Analytics Space, lo que sería un repositorio de almacenamiento donde irán los logs.

Los que usais Sentinel sabéis que logs se guardan en un spacio así, y se monta Sentinel por "encima" como softwara de ciberseguridad. Pero en esos Log Analytics podemos guardar casi cualquier cosa...

Es importante contar con que estos registros tiene un coste. Ponle 2 euros por gb... pero para este caso, una alerta de este tipo, nos va a consumir "céntimos". Podemos ver los precios aquí.


Entramos en Azure AAD, en Supervisión, Configuración de Diagnóstico... donde sino xD


Ahora agregamos una configuración, y activamos que eventos queremos guardar, y donde enviarlos. 

En esta ocasión voy a ser generoso y voy a activar que guarde todos los logs relacionado con "login".


Ahora que tenemos los eventos, vamos a Azure Monitor y creamos una regla de alerta.


Ahora delimitamos, que para la suscripción que queremos, para el grupo de recursos que queremos, el log analytics que hemos creado.


En condición, le decimos que queremos una condición Búsqueda de registros personaliza... y aquí haremos la magía del KQL xD xD xD


Le decimos por ejemplo algo así: 

AuditLogs | where OperationName contains "Add member to role" 

Y en los umbrales, le decimos que mayo que 0 cada 5 minutos.

Por último añadimos una acción, como vimos en el artículo anterior, y hacemos una prueba.


Espero que os sirva de ayuda este pequeño gran consejo.

Gracias por leerme !!!



viernes, 16 de septiembre de 2022

Mecanismos de persistencia en Azure AD mediante Runbooks, automatización y webhooks. y Detección !!!

 Estimados amigos de Inseguros !!!

En el post de hoy vamos a hablar de una de las fases que menos interesan a los blue team de primeras, a los red team así así, pero a los de respuesta a incidentes les trae de cabeza. Hablo sin duda de la persistencia.

En algún curso lo he preguntado los primeros días y confunden persistencia con tenacidad xD intentarlo muchas veces... no. Nos referimos a garantizar el acceso después de comprometer un equipo.

Por ejemplo, si pillas las claves de administrador, crear un usuario con esos permisos por si cambian las claves del usuario administrador, no quedarte sin nada...


El "rojo" quiere entrar como sea... el azúl que no le entren, pero cuando estás jodido, hay que ver por donde, y esto es muy dificil de detectar en un entorno Cloud en donde los logs no están tan a la vista, y todo es más "software" aún si cabe...

Vamos a trabajar con los Runbooks, los servicios de automatización de Azure. Si leiste el artículo de cómo identificarlos seguro que te suena algo más.

La idea es que después de comprometer un equipo, creemos una automatización que contenga un script, que cree un usuario con permisos. Crearemos una invocación. 

Si después de nuestro ataque revocan accesos que teníamos, realizaremos la invocación de un webhook que activará el script que creará un usuario y password. El concepto es sencillo.

Vamos a crear lo primero la cuenta de automatización.


Asignamos a la identidad de la cuenta que hemos creado para la cuenta de automatización los permisos de administrador de usuarios y de permisos.


Ahora nos vamos a la suscripción que queramos, al grupo de recursos, y añadimos el rol de Owner a la cuenta de automatización que hemos creado...


Se masca la tragedia? xDDDDD

Ahora volvemos a la cuenta de automatización y nos vamos a Módulos.


Y en examinar galeria, importamos az.accounts y az.resources


Una vez que tenemos "a nuestro alcance" los módulos, vamos a la cuenta de automatización, runbooks y le decimos importar. Ahora subiremos nuestro script de la muerte con la persistencia que queremos !!!

El script que ha funcionado es este:

Import-Module Az.Accounts
Import-Module Az.Resources
$user = "maloso@****.onmicrosoft.com"
$pass = "***”
$Nickname = "BackupsVc"
$DisplayName = "backup_service"
Connect-AzAccount -CertificateThumbprint "CBD27*****31AAA1" -TenantId "57****abf6-3f963d9d976e" -ApplicationId "f8916*****f6fda9" -ServicePrincipal
$SecureStringPassword = ConvertTo-SecureString -String $pass -AsPlainText -Force
New-AzADUser -DisplayName $DisplayName -UserPrincipalName $user -Password $SecureStringPassword -MailNickname $Nickname
New-AzRoleAssignment -SignInName $user -RoleDefinitionName "Owner"

Te aconsejo que primero vayas probando desde ahí mismo para ver los errores, en una consola o desde la creación del runbook.

Cuando importamos, fijaros en los nombres de los runbooks previos, veis que tenemos alguno de tutorial, lo suyo es usar una nomenclatura como esa.


Ahora añadimos lo que será nuestra puerta de entrada, el webhook que llamará al automatismo para recuperar nuestra persistencia.


Una vez tenemos la llamada, procedemos a invocarlos y bingo, se nos crea el usuario...


Para rellenar el script con vuestros datos, creo que lo tenéis todo aquí:


La idea de usar las cuentas de automatismos no es ni nueva ni mía. Hace dos o tres años que se viene apareciendo este TTP y ya se ha hablado de ella en varios blogs, pero me gusta aportar mi granito de arena, y sobre todo, que a día de hoy, los scripts de las webs existentes no funcionan. Ya sabéis que actualizan las versiones de los módulos de Powershell, y algunos Cmdlets cambian.

Al final, es importante conocer estas técnicas tanto si atacas, como si defiendes, y que consolides y aprendas de los todo el mundo Azure. Como decía un haters, que es como el ordenador de otro...si si...

Lo que es más importante es ser capaces de detectar estos movimientos. Por ejemplo, en este ejercicio hemos creado automatismos, usuarios, hemos metido usuarios a grupos... todo esto te lo debería cantar un SIEM. Pero quien tiene un SIEM hoy en día? xD xD xD

Vamos a ver un sistema de detección más sencillo. Vamos a empezar al revés, por crear los eventos. Es decir, si sigues este artículo, tendrás estos eventos.

Ahora nos vamos a una suscripción, donde hemos creado la cuenta de automatización y vemos los registros de actividad.


Con el evento que más nos gsute, le damos a Nueva Regla de Alertas. Por ejemplo en creación de Automation job.


Aquí deberías cambiar Evento iniciado por, y dejar TODOS...

Seguimos con más detalles... 


A continuación seleccionamos Acciones, crear. Y vamos a crear notificaciones a kino xD


Con esto y poco más, tendremos una alerta cuando se produzca un evento de este tipo...



Existen otras vías para configurar estas acciones, en otro post los veremos.

Espero que os guste, 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. 

jueves, 15 de septiembre de 2022

Tips&Tricks AzureAd: Cazando contraseñas en Runbooks

Estimados amigos de Inseguros!!!

Los que vais conociendo un poco más del mundo Azure y en general del Cloud, entendeis que la cadena de ataques que hacen los malos difiere bastante de la que siguen los ataques destinados al mundo OnPrem.

Por ejemplo, no tiene mucho sentido buscar servidores desactualizados en servicios SaaS... por lo que la identidad suele se la pieza clave.

Una vez que tenemos una identidad, tenemos que enumerar el entorno, conocer la organización que queremos atacar/proteger.

Dentro de esta enumeración, vamos a ver un pequeño proceso que en alguna ocasión ha servidor para escalar privilegios. Se trata de los Runbooks. Son funciones de código en python o powershell que programas en la nube, sin necesidad de montar un servidor por debajo para moverlas...muy útil para cualquier proceso que uses ahora, sin tener que meter la pata de administración del sistema operativo.

En muchas ocasiones estos automatismos introducimos claves en los scripts, en vez de usar Key Vaul o similar, ya sabes para ir a nosedonde,coger noseque y hacer nosecuantos. 

Un buen hacker/auditor miraría en estos runbooks para ver si hay contraseñas.

En otro post vamos a usarlas como persistencia, pero esto es solo para poneros los dientes largos xD

Una vez tenemos acceso a un Tenant, buscamos cuentas de automatismos.

Get-AzAutomationAccount

Una vez que tenemos una cuenta, buscamos todos los runbooks que mueve esa cuenta.

Get-AzAutomationRunbook -AutomationAccountName «AutomationAccountName> -ResourceGroupName <ResourceGroupName> 


Una vez hemos encontrado el automatismo, procedemos a descargarlo en nuestro sistema para olfatear :-)

Export-AzAutomationRunbook -AutomationAccountName<accountname> -ResourceGroupName <resource group name> -Name runbook name> 

Si tenemos suerte, podremos ver algún token/clave/secreto o cualquier otra información que nos sirva para hacernos con el control del mundo xD xD xD

Espero que os sirva de ayuda, y lo probeis en vuetros clientes para comprobar que no existen riesgos.

Gracias por leerme !!!


miércoles, 14 de septiembre de 2022

Tips&Tricks AzureAd: Prevenir a los usuarios listar información de otros usuarios

Estimados amigos de Inseguros !!!

En el brico-consejo de hoy vamos a ver una pequeña configuración sencilla y efectiva en nuestro proceso de hacer más seguro el Azure Ad. Se trata de una configuración que impide que, usuarios no administradores, puedan ver el resto de usuarios de la organización.


En un proceso de hacking, en el que un atacante consigue credenciales básicas, este stopper es útil para hacer más dificil al malo la enumeración de cuentas.

Las teclas del piano son soncillas.

install-module msonline

import-module msonline

Connect-MsolService

Set-MsolCompanySettings -UsersPermissionToReadOtherUsersEnabled $false

Get-MsolUser para comprobar que como administradores podemos.

Nos conectamos con usuario básico y vemos que no podemos, sencillo.

Espero que os sirva de ayuda !!!

Gracias por leerme.

viernes, 9 de septiembre de 2022

Cual es tu postura favorita... el kamasutra de la ciberseguridad

 Estimados amigos de Inseguros !!!

Cuando hablamos de Cibersecurity Posture, algo que me recuerda mucho menos a las técnicas del Kamasutra, hablamos de la postura de ciberseguridad de tu organización, traducido literalmente, pero más bien me gustar darle otro enfoque.

Podría definirlo asi "on the wild" como la capacidad que tiene tu organización para afrontar los retos de la ciberseguridad...algo así muy de preguntas y respuestas de examen :-) 

Vamos a intentar hablar un poco sobre esto, y así esclarecer lo que para mi es, no que tenga que ser así por decreto.

Lo que si que hay que entender es que la postura en ciberseguridad no tiene nada que ver con evaluación de riesgos que conocemos. Identificar los activos, riesgos asociados será el principio de la mejora de la postura en ciberseguridad. Cuanto mejor tengamos nuestra postura en ciberseguridad, menos riesgos tendremos...

Para entender cual debería ser una correcta postura, deberíamos conocer cuales son las principales líneas de ataque que están realizando los malos.

Bajo mi punto de vista, y sin querer hacer un gran trabajo, se me ocurren:

  • Phishing.
  • Ransomware.
  • Robo de credenciales.
  • Fallos en la configuración.
En nuestro trabajo de auditorias, estos son los vectores que más empleamos, y en el cibercrimen real también. Si, hay zero days, hay vulnerabilidades con exploit, pero las empresas más o menos parchean, es la lucha que llevábamos desde hace 20 años, y aunque existe, es menor.


Ahora piensa en tu actual modelo de ciberseguridad. Los malos los conocen a la perfección, y debes contar con que la evasión de medidas de seguridad es algo real. Antes creíamos que con tener una medida de antivirus, ya no te entraban virus... ahora es así, parcialmente, pero tenemos que seguir con las barreras, lo que tan de moda está, la resiliencia. Hace 8 años hablamos de ello aquí.

Ahora que sabemos qué hay en el panorma, deberíamos establecer nuestra postura de ciberseguridad, que se debería basar en tres pilares: bueno, bonito y barato, pero realmente me refiero a :

  • Protección.
  • Detección.
  • Respuesta.

En Verne tenemos definido algo parecido, con más o menos elementos, con nombres parecidos. Igual que otros partners, pero los conceptos subyacentes son los mismos.


Siguiendo el ejemplo de la Pyme, no nos basta con tener un antivirus, que debemos tenerlo !!! Imagina que te salta una alerta de ejecución de proceso de escalada de privilegios. Te quedas tranquilo de que el antivirus lo ha parado? yo pensaría que estoy bajo un ataque, y debería activar otros métodos de detección. O por ejemplo, detectamos un ataque de fuerza bruta, con 10 intentos de inicio de sesión contra un usuario, pero que para. Ha terminado, o el malo lo ha conseguido...

Introducimos aquí un concepto muy sencillo que se autodefine: Estimated Time To Detection (ETTD) 

Uno de esos KPI´s que todos sabemos :-)

Y en relación a los pilares de la postura de la ciberseguridad, y los indicadores, seguimos con Estimated Time To Recovery ( ETTR).
Cuanto tiempo invertiomos en recuperar, o en responder para ser más amplios.

Siguiendo el ejemplo anterior, de la fuerza bruta. Imagina que detectamos que el usuario ha entrado en el AD. Tenemos los mecanismos para bloquear el usuario? aislarlo? podemos bloquearlo en el correo de GCP? podemos bloquearlo en las distintas apps que usa con la misma clave?

Esto es sencillo, si te lo llevas a un incidente en organizaciones con 1000 usuarios, y en donde no sabem el verdadero alcance de la intrusión, sino una pequeña evidencia... estamos jodi***

Asume la brecha !!! es la frase de moda !!! algún gurú de la ciber te dirá eso de que hay dos empresas, las que han hackeado, y las que van a hackear... o las que no saben que las han hackeado... pero es así !!!!

No te tienes que fiar de nada, de nadie !!! tienes que activar tus instinstos más básicos de auto-protección, confianza cero. ZERO TRUST :-)




Muchos fabricantes tienen guías de implementación de este modelo. Básicamente, podemos segmentarlo en 4 componentes:

  • Un proveedor de Identidad.
  • Un servicio de inventario de dispositivos.
  • Políticas de acceso condicional.
  • Un sistema de acceso para conceder o denegar el acceso.
Tenemos por un lado clientes. Los clientes a veces son personas, otras son dispositivos, otras veces son aplicaciones... si... aplicaciones !!! no basta con un usuario y contraseña, o un token. Imagina una api que consume de tus servicios, con un token. Pero imagina que se ve comprometido ese token. Identificar a la app de origen, como si fuera "un usuario", como hacemos con las aplicaciones en Azure AD, es fundamental pare tener ese control extra, más allá de : si conoces la clave ya estas muerto...

Seguimos, por un lado clientes de n tipo, por otro lado los recursos, y en medio el zero trust. Los recursos pueden ser algo evidente, como un login de escritorio, o un acceso a una vpn, o a un portal, pero lo mismo, puede que lo tengamos que proteger sea un dato concreto, una tupla en una bbdd accedida por un servicio...

El nivel de detalle/protección debe ser todo lo granular que necesitemos, y como hemos dicho, olvidar o luchar por olvidar eso de : si tiene la clave estás muerto.



Un ejemplo sencillo, el MFA en el correo... ya no basta con tener el user/pass, hay que tener el MFA, a esto podemos sumarle ubicaciones, dispositivos, horarios, condiciones de software cliente, etc...

Hay empresas en las que aún están en la fase de "si tienen la clave estoy perdido" orientado al perímetro, es decir, que una vez estás "sentado" en el pc cliente, ya tienes barra libre...

Quiero decir con esto que el Zero Trust en organizaciones pasará por complejos sistemas e integraciones, y en otros casos, será poner una vlan con permisos... pero el concepto de confianza cero debe prevalecer.

Vamos a ponerle nombre y apellidos con una mezcla de soluciones.

  • Podemos tener un directorio activo, en la nube o en on-premise como proveedor de identidades.
  • Podemos INTUNE para inventario de dispositivos.
  • Podemos tener un FORTINAC que hago de acceso condicional y conceder o denegar el acceso.
O podemos usar más características de Forti y quitar Intune de Microsoft por el propio FORTINAC.

O podemos usar los 3 primeros elementos de Microsoft y usar Forticlient contra un Fortigate en la nube

O podemos poner un OKTA en la capa de identidad delante de un AD.

Entramos en el multicloud y quizás podamos meter en la ecuación servicios AWS... se complica.

Al final, cada fabricante ofrece un "circuito cerrado" o un  componente para el Zero Trust, por lo que es importante hacer una buena consultoría, ver qué tienes, qué quieres, hacia donde vas, tus experiencias previas, conocimientos, target económico, etc.

Al final, como en TODO en la informática, no hay una solución buena, ni única. Podemos tener mezcolanza, y creo que en este sentido, los fabricantes están evolucionando bien.

"Peleando" con alguien de la casa que tanto quiero, Fortinet, amistosamente jugábamos como hacen los crios con las cartas del futbol, pero con las características de "su producto", entendiendo que yo defendía servicios Microsoft.

Al final, mi buen amigo, me dijo algo así como: imagina que te doy la razón, con Forti puedes elegir la pieza exacta que más te encaja, no todo el modelo... me tuve que callar :-)

Espero que hayas entendido un poco más sobre la necesidad de adoptar una postura correcta en la ciberseguridad, haciendo las preguntas concretas.

Si necesitas ayuda con esto, ya sabes donde estamos, pero como siempre, gracias por leerme !!!


jueves, 8 de septiembre de 2022

HASHES NTLM: Crack sencillo con Hashcat

 Estimados amigos de Inseguros !!!


En este pequeño post voy a mostraros algunas opciones que tienen Hashcat, la utilidad de cracking usada desde antaño, junto a Jhon The Ripper.

En una "nutshell" Hashcat es una herramienta que conoce muuuuchos algoritmos y nos ofrece la posibilidad de "descifrarlos". 


Como sabes, estas herramientas hacen un uso intensivo de procesamiento, y da la casualidad que las GPU, las tarjetas gráficas "para los juegos" o el diseño o lo que sea, ofrecen cálculos optimizados que aumenta el rendimiento a la hora de hacer la tarea de cracking...

En este post hablamos un poco más en detalle de esta introducción y algunas reflexiones.

En esta ocasión vamos a probar una tarjeta normalita, algo vieja, para crackear hashes NTLM que obtenemos de procesos de hacking con las herramientas que ya sabes, por ejemplo mimikatz y sucedáneos... 

Por ejemplo, voy a probar estos hashes...

F5EE72A6914C82EF4C7C957A834A9799 Kino1234
5B16623C240570866E9401F54A4CE697 Kino123!
616F1CA2F7B33FE56941DFF2AAB882D0 kino123

La tarjeta es esta:

CUDA API (CUDA 11.7)
====================
* Device #1: NVIDIA GeForce GTX 1650, 3321/4095 MB, 14MCU

Si usas .\hashcat.exe -a 3 -m 1000 fichero_con_hashes.txt --username --force -O -w 3 verás como hasta 6 caracteres es practicamente inmediato, pero el 7 le cuesta un poco más. 


Con una mejor tarjeta y 8 caracteres es viable, más no...

Por eso empleamos máscaras, una opción que nos permite decirle a Hashcat que conocemos algún patrón.

En esta ocasión ejecutamos hashcat dicíendole una máscara en la que el primer caracter es mayúscula. En tus contraseñas se da este circunstancia? xD. Es más habitual de lo que crees.

Voy a mejorar un poco la máscara y voy a decirle que tenga 8 caracteres, el primero una mayúscula y el último un "caracter raro" o un número. La máscara sería así : -1 ?d?s,?u?a?a?a?a?a?a?1

Donde creamos un juego especial, denominado -1, que contiene ?d?s ( números y caracteres) una coma, y la máscara usando este juego especial. Intento explicarlo mejor:

-1(como se llama el juego de caracteres) ?d?s ( le digo d y s, que son números y caracteres especiales),?u?a?a?a?a?a?a?1 (empiezo con ?u letras mayúsculas, seguido de 6 ?a, que son mayúsculas, minúsculas y especiales, seguido de ?1, que es el juego especial que definimos)

Con las máscaras también podemos hacer otra, por ejemplo:
Verne?a?a?a?a 
Esto buscaría contraseñas por ejemplo:
Verne2021
Verne----
Verne20--
Verne--20

Si le decimos:
-1 ?d?s, Verne?a?a?1?1 encontraría contraseñas que empiezan por Verne, que tienen 9 caracteres de longitud, y que los dos últimos caracteres son o número o "especial".

Al final es jugar un poco con las máscaras e intentar acotar mejor el keyspace de búsqueda para hacerlo más rápido. Al final, voy a tirar este mensaje, en el que guardo mis máscaras en el fichero hcmask.

.\hashcat.exe -a 3 -m 1000 libro2.txt --username --force -O -w 3 .\primera_mayuscula_hasta10_acabaensimbolo.hcmask



En un rato (horas)  empezaré a ver resultados. En este caso libro2.txt son 4500 contraseñas de una empresa que estamos auditando y que hemos puesto alguna máscara más.


Espero que os sirve de ayuda, en otro post hablaremos de RULES y como podemos mejorar este proceso de cracking.

Como sabes, dentro del kill chain de los sistemas Microsoft, hacerse con credencial es fundamental, y aunque tenemos muchas opciones, las contraseñas en claro molan.

Si eres blue team, puedes realizar estos ejercicios contra tus hashes, para comprobar qué están haciendo tus usuarios.

Espero que os sirva de ayuda, y como siempre, gracias por leerme.

miércoles, 7 de septiembre de 2022

O365: Qué hacer después de detectar un ataque de Phishing en nuestra organización. Sin licencias premium...

Estimados amigos de Inseguros !!!

Con el paso de los días escuchamos más sobre phishing que viendo los documentales de la pesca del cangrejo en Alaska :-)

Estudiamos como simular ataques, como pararlos, como detectarlos, pero es inevitable que en algún momento algún usuario sea pescado y tengamos que lidiar con el "restablecimiento" o acciones posteriores.

Vamos a intentar crear en todos una lista de acciones a realizar en un incidente de Phishing, os parece?

En este lista he intentado no usar productos o licencias "premium" para hacerlo más accesible.

Estoy preparando otro post dándole un enfoque distinto, con TODAS las opciones de ciberseguridad que existen, ya veremos. Vamos a por la lista !!!

  • Resetear la cuenta de la víctima. Hay que tener en cuenta que si dispone de sincronización de Password hash en el AD Connect, tardará unos 5 minutos en replicarse en el AzureAd, aunque la ventana de tiempo de sincronización de todos los elementos es de 30 minutos. Podemos usar los comandos de este artículo para fozar la sincronización.
  • Aunque se fuerce un cambio de contraseña, el token hay que revocarlo tambien. Empleamos el comando que nos indica Microsoft.
  • Habilitar el MFA a la cuenta afectada, mejor a todas. Ahora está incluido en TODOS los planes... 
  • Comprobar si se ha habilitado alguna regla de Forwarding.



  • Mirar en el seguimiento de mensajes, qué mensajes ha enviado la cuenta de correo. Lo podemos ver desde aquí.
  • Comprobar los inicios de sesión de riesgo desde Azure Ad p1 aquí.
  • Revisar los roles del usuario en: O365 y Azure AD.
  • Compureba y habilita la auditoria de todos los buzones con un :

Get-Mailbox -ResultSize Unlimited -Filter {RecipientTypeDetails -eq "UserMailbox"} | Set-Mailbox -AuditEnabled $true
  • Si encontramos un mensaje con la URL que ha iniciado el Phishing, bloquearla.
  • Si encontramos un mensaje enviado a nuestros usuarios, y aún no lo han abierto, podemos hacer lo siguiente. Podemos hacer una búsqueda entre todos los buzones, indicando un nombre a la búsqueda, y con las condiciones que queremos, por ejemplo el sender o el subject.

Por ejemplo vamos a probar con un Subject "cambio de factura"


Ahora nos conectamos al centro de cumplimiento, buscamos por el nombre de la búsqueda...y le decimos que para todos los elementos encontrados, borre el correo

Get-ComplianceSearch -Identity “Cambio de factura”
New-ComplianceSearchAction -SearchName “Cambio de factura” -Purge -PurgeType HardDelete

Para conectar al centro de cumplimiento deberas hacer lo siguiente:

$SecureCreds = Get-Credential -Message 'Introduce el usuario del rey del castillo'
$URI = 'https://ps.compliance.protection.outlook.com/powershell-liveid/'
$ComplianceSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $URI -Credential $SecureCreds -Authentication Basic –AllowRedirection
Import-PSSession $ComplianceSession

Microsoft tiene una guía de respuesta en formato playbook con todos los comandos, pero en algún momento hacen uso a funciones que necesitas tener Defender, por lo que he intentado no usar esta guía.

Como siempre, espero que os guste, que os sirva, 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. 

lunes, 5 de septiembre de 2022

Tips&Tricks O365: Impedir el acceso al portal AAD a los usuarios sin permisos

 Estimados amigos de Inseguros !!!

En el post de hoy seguimos con los consejos para hacer mas segura o robusta nuestra infraestructura O365.

En este caso vamos a activar un pequeño control para evitar que los usuarios sin permisos puedan entrar al portal de administración de Azure Active Directory y así evitar fugas de información no controladas por algún permiso o característica.


Espero que os sirva de ayuda, y como siempre, gracias por leerme !!!

viernes, 2 de septiembre de 2022

AzureAD Tips&Tricks: Bloquear inicios de sesión desde paises/rango de ip

 Estimados amigos de Inseguros!!!

Desde que hemos empezado a hablar de hacking sobre Azure estamos viendo como aparecen nuevos vectores de ataque, y nuevas medidas de seguridad.

Muchas de ellas recaen sobre los servicios de acceso condicional. Como indica su nombre, un usuario y contraseña no es suficiente. En esta ocasión, vamos a meter en la "cocktelera" la ubicación.

Podemos definir ubicaciones "buenas" y ubicaciones "malas". En esta ocasión, vamos a bloquear el acceso de algún pais oriental así en plan random xD

Empezamos el viaje entrando como siempre en Azure Ad, en seguridad, Acceso Condicional.

Antes de crear la política, vamos a definir "pais". Al final podemos elegir un pais como nos ofrece Azure, o un rango de direcciones ip. Pero tenemos que "habilitar" el origen. El objeto.


Una vez que hemos definido la ubicación... Bueno espera. Ten en cuenta que ahora podremos elegir incluir o excluir ubicaciones, por lo que no estaría de mal crear un objeto que sea "nuestra sede". O el ASN de confianza, o el pais... para luego EXCLUIR ese rango de la regla, o Incluir el acceso SOLO desde ese punto... No se si me explico... Prohibir implícitamente o explícitamente... Y aparte, tener un Break Glass. Imagina por ejemplo que bloqueas CHINA, esto se hace con varios ASN, y por cualquier motivo, tus usuarios de Cáceres usan un proveedor de IP rural que sale por un ASN ubicado en China..., si has excluido un rango concreto... no pasará nada.

No se si debería haber escrito lo de arriba :-) Ahora iniciamos una nueva política de acceso condicional.


Inidicamos un nombre, le indicamos para qué usuarios (todos) y para qué aplicaciones ( todos) queremos recibir esta configuración, y le damos a la condición de UBICACIONES. Indicamos cuales.





Ahora cuando se cumpla esta condición, que queremos CONCEDER? Podríamos requerir que se cumpla una o más condiciones previas, o bloquear, como será nuestro caso. Aquí podríamos tener un segundo breakglass, por ejemplo, imagina que tienes un MFA Azure para todos tus usuarios, y quieres bloquear el inicio de sesión desde China. Podrías añadir un segundo MFA externo, por ejemplo OKTA, para darle servicio a tus dos usuarios de China...

Ahora viene la cuestión. Has hecho todo bien? lo has pensado bien? es Viernes, ayer te fuiste a la cama a las 3 AM y no sabes donde estas... o simplemente eres cauto? 


El propio sistema te recomienda, que excluyas al menos el usuario que estás usando de administrador, o el genérico...o que lo pruebs con un grupo... Pero por si acaso, ley de Murphy presente, lo vamos a poner en modo SOLO AUDITORIA !!! 

Cuando esté activo, vamos a dejar correr la sangre por el rio, y en unos días vamos a analizar los inicios de sesión que hemos tenido y qué ha pasado. Allí podremos ver si tenemos usuarios que han incumplido la política, y analizar si el escenario de seguridad que habíamos "dibujado" es compatible con los procesos de la empresa.

Una vez validado, cambiamos el modo de Auditoria a Activo y listo...

Espero que os sirva un poco de ayuda para que repenseis vuestras estratégias de ciberseguridad.

Gracias por leerme !!!