Los atacantes utilizan cada vez más nuevos kits de herramientas de phishing (de código abierto, comerciales y criminales) para ejecutar ataques de adversario en el medio (Adversary-in-the-Middle – AitM).
AitM permite a los atacantes no solo recopilar credenciales sino también robar sesiones en vivo, lo que les permite eludir los controles tradicionales de prevención de phishing, como MFA, EDR y filtrado de contenido de correo electrónico.
La realidad es que ahora estamos en una nueva era de la ciberseguridad, donde la identidad es el nuevo perímetro. Esto significa que las identidades son la fruta más fácil de elegir para los atacantes cuando buscan una manera de llegar a una posible víctima.
¿Qué es el phishing de AitM?
El phishing AitM es una técnica que utiliza herramientas dedicadas para actuar como proxy entre el objetivo y un portal de inicio de sesión legítimo para una aplicación.
Como es un proxy de la aplicación real, la página aparecerá exactamente como el usuario espera, porque está iniciando sesión en el sitio legítimo, simplemente tomando un desvío a través del dispositivo del atacante. Por ejemplo, si accede a su correo web, el usuario verá todos sus correos electrónicos reales; si accede a su almacén de archivos en la nube, todos sus archivos reales estarán presentes, etc.
Esto le da a AitM una mayor sensación de autenticidad y hace que el compromiso sea menos obvio para el usuario. Sin embargo, debido a que el atacante está sentado en medio de esta conexión, puede observar todas las interacciones y también tomar el control de la sesión autenticada para hacerse con el control de la cuenta del usuario.
Si bien este acceso es técnicamente temporal (dado que el atacante no puede volver a autenticarse si se le solicita), en la práctica las sesiones autenticadas a menudo pueden durar hasta 30 días o más si se mantienen activas. Además, existe una amplia gama de técnicas de persistencia que permiten a un atacante mantener cierto nivel de acceso a la cuenta de usuario y/o a la aplicación objetivo de forma indefinida.
¿Cómo funcionan los kits de herramientas de AitM?
Consideremos las dos técnicas principales que se utilizan para implementar el phishing AitM: servidores proxy web inversos (AitM clásico) y técnicas de navegador en el medio (BitM). Hay dos variantes principales de kits de herramientas AitM:
Proxy web inverso
Este es posiblemente el enfoque más escalable y confiable desde el punto de vista de un atacante. Cuando una víctima visita un dominio malicioso, las solicitudes HTTP se pasan entre el navegador de la víctima y el sitio real a través del sitio malicioso. Cuando el sitio malicioso recibe una solicitud HTTP, la reenvía al sitio legítimo que está suplantando, recibe la respuesta y luego la reenvía a la víctima.
Las herramientas de código abierto que demuestran este método incluyenModlishka, Muraena y el siempre popular Evilginx. En el mundo criminal, también hay disponibles conjuntos de herramientas privadas similares que se han utilizado en muchas infracciones en el pasado.
BitM
En lugar de actuar como un proxy web inverso, esta técnica engaña al objetivo para que controle directamente el propio navegador del atacante de forma remota mediante enfoques de control y uso compartido de la pantalla del escritorio como VNC y RDP. Esto permite al atacante recopilar no solo el nombre de usuario y la contraseña, sino también todos los demás secretos y tokens asociados que acompañan al inicio de sesión.
En este caso, la víctima no está interactuando con un clon o proxy de un sitio web falso. Literalmente, controlan de forma remota el navegador del atacante para iniciar sesión en la aplicación legítima sin darse cuenta. Este es el equivalente virtual de un atacante que le entrega su computadora portátil a su víctima, le pide que inicie sesión en Okta y luego se la lleva de vuelta. ¡Muchas gracias!
En términos prácticos, el enfoque más común para implementar esta técnica es utilizar el proyecto de código abierto noVNC, que es un cliente VNC basado en JavaScript que permite utilizar VNC en el navegador. Probablemente el ejemplo más conocido de una herramienta ofensiva que implementa esto es EvilnoVNC, que activa instancias Docker de VNC y proporciona acceso a ellas, al mismo tiempo que registra las pulsaciones de teclas y las cookies para facilitar el compromiso de la cuenta.
Phishing AitM
El perímetro digital de las organizaciones ha cambiado a medida que la TI empresarial ha evolucionado desde redes centralizadas hacia servicios y aplicaciones basados en la web.
El hecho de que los atacantes estén invirtiendo en el desarrollo y comercialización de kits de herramientas de phishing avanzados es un fuerte indicador de las oportunidades que presentan los ataques de identidad. Esto está respaldado por los datos, como:
- El 80% de los ataques actuales involucran identidad y credenciales comprometidas (CrowdStrike).
- El 79% de los ataques a aplicaciones web fueron el resultado de credenciales vulneradas (Verizon).
- El 75 % de los ataques en 2023 fueron libres de malware y los ataques “conscientes de la nube” aumentaron en un 110 % (CrowdStrike).
Pero, en realidad, sólo necesitamos mirar lo que nos muestran las recientes violaciones de alto perfil sobre lo lucrativo que puede ser para los atacantes encontrar formas de apoderarse de las identidades de la fuerza laboral para acceder a aplicaciones empresariales basadas en la web (con los recientes ataques Snowflake, que van en aumento) considerada una de las mayores brechas de la historia, siendo el elefante en la habitación.
Los atacantes ahora tienen muchas oportunidades de causar daños importantes con mucho menos esfuerzo que antes. Por ejemplo, si el objetivo es comprometer una aplicación como Snowflake y deshacerse de sus datos, la Kill Chain es mucho más corta que un ataque tradicional basado en red. Y con la creciente popularidad de las plataformas SSO como Okta, un compromiso de identidad puede propagarse rápidamente entre aplicaciones y cuentas, aumentando el radio potencial de explosión. Esto significa que hay poco margen de error cuando se trata de ataques de identidad como el phishing AitM, y no puede confiar en los controles de su punto final y de red para detectarlos más tarde.
En este nuevo mundo, los ataques ni siquiera tienen que tocar los antiguos perímetros, porque todos los datos y funcionalidades que podrían desear existen en Internet. Como resultado, vemos cada vez más ataques dirigidos a aplicaciones SaaS, y toda la cadena de ataque concluye fuera de las redes de los clientes, sin tocar ningún punto final o red tradicional.
Los kits de herramientas de phishing de AitM son efectivamente el equivalente de identidad de un marco C2. En el mundo de los ataques a terminales y redes, conjuntos de herramientas como Metasploit y Cobalt Strike se han centrado cada vez más en la post-explotación y la automatización para permitir compromisos mucho más sofisticados. Ya estamos viendo esto con cosas como la integración de Evilginx con GoPhish para la automatización y orquestación de campañas de phishing.
Las soluciones de prevención de phishing existentes han intentado resolver el problema protegiendo la bandeja de entrada del correo electrónico, un vector de ataque común (pero no el único), y bloqueando listas de dominios conocidos como malos.
El hecho de que el phishing haya seguido siendo un problema durante tanto tiempo es prueba suficiente de que estos métodos no funcionan (y, sinceramente, nunca lo han hecho).
La principal protección antiphishing consiste en bloquear las URL, IP y nombres de dominio conocidos como incorrectos. La principal limitación aquí es que para que los defensores sepan que algo anda mal, es necesario informarlo primero.¿Cuándo se informan las cosas? Por lo general, solo después de haber sido utilizado en un ataque, por lo que, desafortunadamente, siempre alguien resulta herido y los defensores siempre están un paso detrás de los atacantes.
E incluso si se informan, es trivial para los atacantes ofuscar o cambiar estos componentes:
- Puede buscar URL conocidas como incorrectas en los correos electrónicos, pero estas cambian con cada campaña de phishing. En los ataques modernos, cada objetivo puede recibir un correo electrónico y un enlace únicos. Usar un acortador de URL o compartir un enlace a un documento que contenga otra URL maliciosa puede evitar esto. Es equivalente a un hash de malware: es trivial de cambiar y, por lo tanto, no es una gran cosa a la que atribuir sus detecciones.
- Se podría ver a qué dirección IP se conecta el usuario, pero hoy en día es muy sencillo para los atacantes agregar una nueva IP a su servidor alojado en la nube.
- Si un dominio se marca como malo, el atacante solo tiene que registrar un nuevo dominio o comprometer un servidor de WordPress en un dominio que ya es confiable. Ambas cosas están sucediendo a gran escala a medida que los atacantes planifican de antemano el hecho de que sus dominios serán quemados en algún momento, comprando dominios al por mayor con años de anticipación para garantizar un flujo continuo de dominios de alta reputación. Los atacantes están más que felices de gastar entre 10 y 20 dólares por nuevo dominio en el gran esquema de las ganancias potenciales del crimen.
- No es necesario que el sitio web del atacante envíe a cada visitante al mismo sitio web. Puede cambiar dinámicamente según la procedencia del visitante, lo que significa que es posible que las herramientas de detección que resuelven dónde van los enlaces para analizarlos no se muestren en la página de phishing.
Por ejemplo, una investigación reciente que analizó el kit de phishing de NakedPages encontró 9 pasos separados que el atacante utilizó para ofuscar el sitio de phishing y enmascarar su actividad maliciosa:
- Usar Cloudflare Workers para darle al sitio un dominio legítimo.
- Usar Cloudflare Turnstile para evitar que los robots accedan al sitio.
- Requerir ciertos parámetros de URL y encabezados para que funcione la solicitud HTTP(S).
- Requerir la ejecución de JavaScript para ofuscarse de las herramientas de análisis estático.
- Redirigir a dominios legítimos si no se cumplen las condiciones.
- Enmascarar el encabezado de referencia HTTP para realizar la redirección de forma anónima.
- Redirigir a un grupo de URL para mantener activos los enlaces maliciosos.
- Rompiendo firmas de páginas de inicio de sesión fáciles.
- Solo se activa para cuentas laborales de Microsoft, no para cuentas personales.
Está claro que se requiere un enfoque diferente si los sitios de phishing de AitM van a ser detectados de manera confiable antes de que se pueda reclamar a una víctima.
Construyendo mejores detecciones usando la Pirámide del Dolor
Entonces, ¿cómo se crean controles que puedan detectar y bloquear un sitio de phishing la primera vez que se utiliza?
La respuesta es encontrar indicadores que sean más difíciles de cambiar para los atacantes. Los miembros del equipo azul han utilizado el concepto de la Pirámide del Dolor para guiarlos hacia tales detecciones durante más de una década.
Para escalar la pirámide hacia la cúspide, es necesario encontrar formas de detectar partes cada vez más genéricas de una técnica de ataque. Por lo tanto, desea evitar cosas como el aspecto del código de un malware específico o el lugar al que se conecta. Pero lo que hace el malware, o lo que sucede cuando se ejecuta, es más genérico y, por tanto, más interesante para los defensores.
El cambio de firmas de código estáticas y hashes difusos al análisis dinámico de lo que hace el código en un sistema activo es la razón fundamental por la que EDR acabó con los antivirus hace una década. Proporcionó a escala el valor de las detecciones en movimiento hacia arriba en la pirámide.
El mejor lugar para comenzar es observar lo que debe suceder para que un usuario sea víctima de phishing con éxito:
- Etapa 1: Se debe atraer a la víctima para que visite un sitio web.
- Etapa 2: El sitio web debe de alguna manera engañar o convencer al usuario de que es legítimo y digno de confianza, por ejemplo imitando un sitio legítimo.
- Etapa 3: el usuario debe ingresar sus credenciales reales en ese sitio web.
Ya hemos establecido que las detecciones basadas en las dos primeras etapas son fáciles de eludir para los atacantes cambiando esos indicadores.
Para que un ataque de phishing tenga éxito, la víctima debe ingresar sus credenciales reales en la página web. Entonces, si puedes evitar que el usuario ingrese su contraseña real, no hay ataque.
Pero, ¿cómo se puede impedir que un usuario introduzca su contraseña en un sitio de phishing? Aprovechando los controles de seguridad basados en el navegador
Para poder construir tipos de control que puedan golpear a los atacantes donde más les duele, se necesita una nueva superficie para la detección y la aplicación del control: el equivalente de EDR para identidades.
Hay razones claras por las que el navegador es el principal candidato para esto. En muchos sentidos, el navegador es el nuevo sistema operativo y el lugar donde se realiza el trabajo moderno: la puerta de entrada a las aplicaciones y servicios basados en la web que los empleados utilizan todos los días y de los que depende la actividad empresarial.
Desde una perspectiva técnica, el navegador presenta una mejor alternativa a otras fuentes de telemetría de identidad:
En el navegador, puede interactuar dinámicamente con el DOM o la aplicación web renderizada, incluido su código JS. Esto facilita encontrar, por ejemplo, campos de entrada para nombres de usuario y contraseñas. Puede ver qué información ingresa el usuario y dónde, sin necesidad de averiguar cómo se codifican los datos y se envían de regreso a la aplicación. Estos son campos bastante genéricos que se pueden identificar en su conjunto de aplicaciones sin necesidad de un código personalizado complejo. Visibilidad ideal para generar detecciones en torno al comportamiento del usuario al ingresar una contraseña.
El navegador también tiene el beneficio adicional de ser un punto de aplicación natural. Puede recopilar y analizar datos dinámicamente y producir una respuesta inmediata, en lugar de quitar información, analizarla y regresar con una detección minutos u horas más tarde (y potencialmente provocar una respuesta manual).
Por lo tanto, es muy posible interceptar a los usuarios en el punto de impacto (es decir, la etapa en la que se ingresa una contraseña en un campo de entrada en un sitio de phishing), para detener el ataque antes de que suceda.
Por lo tanto, incorporar capacidades de detección y respuesta al navegador para detener los ataques de identidad es una gran ventaja para los equipos de seguridad. Existen claros paralelismos con el surgimiento de EDR, que surgió porque las fuentes y controles de registros de endpoints existentes no eran suficientes. Hoy en día, ni se nos ocurriría intentar detectar y responder a ataques basados en endpoints sin EDR; es hora de empezar a pensar en los ataques de identidad y en el navegador de la misma manera.
Se pueden usar los controles basados en el navegador para detener los ataques de identidad.
Demostración de detección y ataque de AitM y BitM
En este vídeo hay una demostración de los kits de herramientas de phishing Evilginx y EvilNoVNC en acción, así como también cómo se pueden usar los controles de seguridad basados en el navegador para detectarlos y bloquearlos antes de que se complete el ataque de phishing.
Fuente: SeguInfo