Resumen ejecutivo
Okta Threat Intelligence ha identificado una campaña de ataque de alto volumen que, según investigaciones posteriores, ha estado activa desde al menos marzo de 2025, aprovechando el kit de herramientas de phishing como servicio (PhaaS) EvilProxy para ejecutar ataques de phishing en tiempo real diseñados para robar credenciales de usuario y cookies de sesión activas. Realizamos un seguimiento de esta campaña como O-UNC-035.
Esta operación tiene como objetivo organizaciones de numerosos sectores, incluidos las finanzas, el gobierno, la salud y la tecnología, utilizando principalmente señuelos muy convincentes que se hacen pasar por herramientas empresariales populares como SAP Concur y servicios de firma de documentos como Adobe o DocuSign.
Análisis de amenazas
EvilProxy Phishing como servicio
EvilProxy (O-TA-041) es un kit de herramientas PhaaS que utiliza una arquitectura de proxy inverso/adversario en el medio (AitM) para interceptar los inicios de sesión y las cookies de sesión de las víctimas en tiempo real, lo que permite a los atacantes evitar la autenticación multifactor (MFA) y secuestrar cuentas.
Observado originalmente en 2022 y rápidamente convertido en producto en las tiendas de la dark web, EvilProxy se ha utilizado ampliamente en la apropiación de cuentas dirigidas y en las campañas de compromiso de correo electrónico empresarial porque sirve de proxy para sitios legítimos. Esto significa que los usuarios ven mensajes reales de MFA y que el atacante puede capturar tokens y cookies para que el atacante los reproduzca. Debido a que EvilProxy se vende y se mantiene como un servicio, escala los ataques y disminuye la barrera de habilidades para los delincuentes: los operadores pueden lanzar grandes volúmenes de campañas de phishing a medida.
Mecanismos de señuelo
Hemos observado la suplantación de software y servicios de Enterprise de confianza para engañar a los usuarios para que hagan clic en enlaces e ingresen credenciales:
- Servicios de firma de documentos (como Docusign, Adobe Acrobat, Adobe Sign, EchoSign): Un tema constante observado en esta campaña fue la suplantación de proveedores de gestión de documentos y firma electrónica. Los atacantes utilizan la promesa de un documento compartido o una solicitud de firma para atraer a las víctimas.
- Plataformas de gastos y adquisiciones (como SAP Concur, Coupa): Este fue el señuelo más frecuente observado en esta campaña. Se dirige a los empleados suplantando sistemas populares de gestión de gastos y viajes, a menudo con indicaciones para aprobar un informe o revisar un gasto. Un señuelo más genérico utiliza términos como gasto, informe de gastos o soluciones de gastos.
- Microsoft SharePoint: La campaña también se dirige a los usuarios del ecosistema de Microsoft 365 fingiendo un enlace a un documento compartido o a un sitio de colaboración.
- Reuniones en línea: Los atacantes registraron dominios genéricos que incluyen palabras como reunión para hacerse pasar por invitaciones a plataformas de reuniones.
- KnowBe4: Los atacantes se hicieron pasar por una empresa de capacitación en concientización sobre seguridad, en un intento de engañar a los usuarios objetivo para que asumieran que el señuelo de phishing era parte de una prueba de phishing oficial.
Análisis de código
La cadena de redirección del señuelo comienza con un enlace corto en el que la dirección de correo electrónico de la víctima está ofuscada dentro de la ruta URL. Luego, el usuario es rebotado a través de un redirector con la marca del nombre de la empresa objetivo en el subdominio y, finalmente, lo lleva a una página de phishing convincente con la marca de Microsoft que roba credenciales. El JavaScript en el redirector extrae el correo electrónico de la ruta, lo vuelve a codificar y crea una URL de redireccionamiento personalizada que lleva esa identidad a través de cada salto.
Ejemplo 1 de cadena HTTP
Enlace inicial:
hxxps[://]expensereport[.]ch/[coded_string]
Redirector:
hxxps[://][empresa][.]sapconcur[.]sa[.]com/expense/?uid=[uid]&hid=[hid] &document=[document]&token=[token]&t=[t]
URL final (que muestra el sitio web de inicio de sesión para la recopilación de credenciales):
hxxps[://][32_characters_string][.]laurimarierefling[.]com/?uid=[uid]&hid=[hid] &document=[document]&token=[token]&t=[token]&[string_7_characters]=[string_32_characters]
Ejemplo de cadena HTTP 2
Enlace inicial:
hxxps[://]sapconcursolutions[.]pl/[coded_string]
Redirector:
hxxps[://][empresa][.]sapconcur[.]sa[.]com/expense/?uid=[uid]&hid=[hid] &document=[document]&token=[token]&t=[t]
URL final (que muestra el sitio web de inicio de sesión para la recopilación de credenciales):
hxxps[://][32_characters_string][.]concurmgt[.]pl//?uid=[uid]&hid=[hid] &document=[document]&token=[token]&t=[token]&[string_7_characters]=[string_32_characters]
Cómo el redirector decodifica y personaliza a la víctima
Las páginas de phishing aceptan el último segmento de la ruta e intentan usar varios decodificadores en secuencia (mapeo de tokens personalizados, hexadecimal, Base32 y Base64) hasta que el resultado contenga "@". Ese valor se convierte en el correo electrónico de la víctima para su uso de etapa final, como se muestra en este ejemplo de código de página de señuelo inicial:
let encodedValue = window.location.pathname.split('/').pop();
...
correo electrónico = decodeEmail(encodedValue); // mapa de trigramas personalizado
...
if (!decodingSuccessful && isHexadecimal(encodedValue)) correo electrónico = hexToString(encodedValue);
if (!decodingSuccessful && isBase32(encodedValue)) correo electrónico = base32ToString(encodedValue);
if (!decodingSuccessful && isBase64(encodedValue)) correo electrónico = base64ToString(encodedValue);
El decodificador personalizado reemplaza los tokens de tres caracteres nuevamente en caracteres, utilizando un mapa como:
const encodingMap = {
"@":"MN3",".":"OP4","a":"QR5","e":"ST6","i":"UV7",
"o":"WX8","u":"YZ9","s":"ABO","n":"CD1","r":"EF2",
"d":"GH3","I":"JK4"
};
Puertas de anti-análisis
Antes de redirigir, la secuencia de comandos intenta evitar rastreadores y entornos de prueba:
function isBot() {
const botPatterns = ['bot','spider','crawl','slurp','baidu','yandex',
'wget','curl','lighthouse','pagespeed','prerender','screaming frog',
'semrush','ahrefs','duckduckgo'];
if (navigator.webdriver || navigator.complementos.length === 0 ||
navigator.languages === "" || navigator.languages === undefined)
return true;
...
}
Si se encuentra una señal de bot/sin cabeza, o si aparece la organización "bloqueada" del operador, la página se redirige directamente al inicio de sesión legítimo de Microsoft, lo que brinda a los equipos de triaje una página limpia mientras los usuarios reales continúan con el phishing. El servicio api.ipify.org se utiliza para devolver la dirección IP pública de la víctima, para compararla con una lista de bloqueo de IP/rango.
Dominios en la lista de bloqueo
El código también contiene dos dominios bloqueados, que si se encuentran en la dirección de correo electrónico de la víctima, harán que el flujo de phishing salga en su lugar a la página de inicio de sesión auténtica de Microsoft:
const blockedDomains = ['belfius', 'baringa'];
const emailDomain = correo electrónico.split('@')[1].toLowerCase();
for (const blocked of blockedDomains) { {
window.location.href = "https://login.microsoftonline.com/common/login";
return;
}
}
Se desconoce la procedencia del bloqueo de estos dos dominios. El dominio "belfius" parece referirse a un banco belga, mientras que "baringa" parece estar asociado con una consultora de gestión del Reino Unido.
Parámetros de consulta
En todas las muestras observadas, el redireccionador construye la misma URL parametrizada y solo varía la familia del dominio. Dos parámetros son el correo electrónico de la víctima en diferentes contenedores; el resto son valores únicos (nonces) y una marca de tiempo:
- uid → Base64(correo electrónico)
- Se puede decodificar utilizando una recetade CyberChef
- hid → hex(Base64(correo electrónico))
- Se puede decodificar utilizando una recetade CyberChef
- documento, token → identificadores aleatorios (tipo nonce)
- t → Timestamp Unix (ms)
- Se puede convertir a una fecha legible por humanos usando una recetade CyberChef
flujo de autenticación
Dentro del flujo de autenticación, el nombre de la empresa suplantada aparece en ciertos campos tanto del redirector como de la URL final. Además, el marco de phishing completa automáticamente la dirección de correo electrónico de la víctima en el campo de nombre de usuario de la página de phishing.
Enlace inicial:
hxxps[://]expensereport[.]ch/616c6578616e6465722e652e6261754073662e6672622e6f7267
Redireccionador:
hxxps[://]sf[.]sapconcur[.]sa[.]com/expense/?uid=...&hid=...&document=...&token=...&t=...
URL final
hxxps[://]299afcb76fac4238a0facad80c326230[.]concursolutions[.]asia/?uid=...&hid=... &document=...&token=...&t=...&u9pPUdqL=...
Figura 1: Captura de pantalla de la URL final presentada al usuario objetivo, que contiene la página de inicio de sesión maliciosa
Enlace inicial:
hxxps[://]concursecure[.]pl/AB0ST6QR5CD1OP4kUV7CD1CD1MN3cST6CD1AB0YZ9AB0OP4gWX8v
Redireccionador:
hxxps[://]census[.]concursystem[.]cv/auth/?uid=...&hid=...&document=... &token=...&t=...
URL final
hxxps[://]6b81e59848ba4a9d8cc3b4570b303a24[.]reports[.]sa[.]com/adfs/ls/?login_hint= ...&wa=wsignin1[.]0&wtrealm=...&wctx=...
Figura 2: Captura de pantalla de una URL final presentada al usuario que contiene la página de inicio de sesión maliciosa, con un front-end personalizado para la empresa objetivo.
Enlace inicial:
hxxps[://]expensereport[.]ch/phUV7JK4UV7ppQR5mQR5CD1CD1UV7xMN3tfJK4OP4gWX8vOP4YZ9k
Redireccionador:
hxxps[://]tfl[.]sapconcur[.]sa[.]com/expense/uid=...&hid=...&document=...&token=...&t=...
URL final
hxxps[://]b4f1341373f341d98f11caea1052d878[.]laurimarierefling[.]com/?uid=...&hid= ...&document=...&token=...&t=...&...
Figura 3: Captura de pantalla de una URL final que contiene la página de inicio de sesión maliciosa dirigida a Transport for London
Enlace inicial:
hxxps[://]concursolution[.]de/UV7JK4QR5CD1_CD1ST6tzST6EF2MN3mcQR5fST6ST6OP4cWX8m
Redireccionador:
hxxps[://]mcafee[.]concursystem[.]cv/auth/?uid=...&hid=...&document=...&token=...&t=...
URL final
hxxps[://]3b2c66787c6349369fc9f90ecf789899[.]echosign[.]uk[.]com/ app/office365/.../wsfed/passive?login_hint=...&wa=wsignin1[.]0&...
Figura 4: Captura de pantalla de la URL final presentada al usuario objetivo, en este caso, una página de inicio de sesión para un usuario de Office365 federado a Okta como el proveedor de identidades.
Suplantación efectiva
Desde la perspectiva de un usuario, todo se ve como el fondo familiar de Microsoft, el favicon y una breve animación de "por favor espere" antes de un inicio de sesión. Mientras tanto, el kit desobfusca el correo electrónico de la víctima, marca dinámicamente la página de señuelo posterior con el nombre de la organización objetivo y lleva identificadores (uid/hid/document/token/t) a través de la cadena para que cualquier credencial capturada pueda vincularse a una campaña específica. El patrón de URL repetible(un subdominio personalizado más el conjunto de parámetros estable), junto con el fragmento anti-bot ligero y el cargador estilo Office, proporciona detección y agrupación confiables en toda esta familia.
Objetivos de la campaña y modus operandi
El objetivo principal de esta campaña es la recolección de credenciales, centrándose específicamente en la captura de credenciales de usuario y cookies de sesión activas. La actividad observada demuestra una clara intención de eludir o capturar códigos de autenticación multifactor (MFA), lo que indica una capacidad avanzada más allá del simple robo de credenciales estáticas.
Sectores verticales específicos
- Finanzas, Seguros y Banca: Este es el sector vertical más atacado. Los atacantes se dirigen a los empleados de los principales bancos, empresas de inversión y compañías de seguros.
- Tecnología y servicios de TI: Las principales empresas de tecnología, software y consultoría de TI son los principales objetivos, probablemente debido a su acceso a valiosa propiedad intelectual e infraestructura crítica.
- Salud, productos farmacéuticos y biotecnología: Este sector es un objetivo debido a sus datos confidenciales y su investigación crítica.
- Aviación, Viajes y Logística: Dirigirse a este sector podría dar acceso a la logística de viajes, información de reservas corporativas y datos confidenciales de los empleados.
- Manufactura y Automotriz: Los gigantes mundiales de la manufactura y la automotriz también están en la lista.
- Venta Minorista y Bienes de Consumo: Incluye cadenas minoristas conocidas y empresas de productos de consumo.
- Gobierno y Sector Público: Varias agencias gubernamentales y organizaciones de servicio público son el objetivo.
Página señuelo
La página raíz de los dominios utilizados en esta campaña parece ser un inofensivo juego de una página titulado "Artistic One Page" o "Archery Master" con el fin de ofuscar el propósito de la infraestructura. Tenga en cuenta que debido a estos títulos, una consulta de búsqueda que se puede utilizar para localizar infraestructura adicional en esta campaña en urlscan.io, por ejemplo:
page.title:("Artistic One Page" OR "Archery Master")
Esta página señuelo pide a los visitantes que ingresen un nombre de usuario antes de jugar. El cliente bloquea ciertos nombres de usuario (por ejemplo: administrador, test y un filtro de blasfemias corto). Para cualquier otro nombre de usuario, el sitio lanza inmediatamente un juego de tiro con arco insertado y una experiencia de tabla de clasificación.
Figura 5: Captura de pantalla de la página señuelo como un juego de tiro con arco falso
Figura 6: Captura de pantalla del juego de arquería una vez que se introduce un nombre de usuario válido
Figura 7: Captura de pantalla del señuelo "Artistic One Page"
respuesta ante amenazas
Lo que estamos haciendo:
Estamos activamente involucrados en las siguientes actividades para mitigar esta amenaza:
- Supervisión continua de dominios de phishing recién registrados e infraestructura asociada con esta campaña.
- Presentar de forma proactiva informes de abuso a los registradores y proveedores de alojamiento pertinentes para iniciar solicitudes de eliminación de los sitios maliciosos identificados.
- Proporcionar orientación y asistencia a las organizaciones para mejorar la seguridad de sus entornos Okta y ayudarlas a investigar cualquier actividad sospechosa relacionada con cuentas potencialmente comprometidas.
Controles de protección
Recomendaciones para los clientes
- Inscriba a los usuarios en autenticadores sólidos como Okta FastPass, FIDO2 WebAuthn y tarjetas inteligentes, y aplique medidas de resistencia al phishing en las políticas.
- Las políticas de inicio de sesión de la aplicación Okta (anteriormente "políticas de autenticación") también se pueden usar para restringir el acceso a las cuentas de usuario en función de una variedad de requisitos previos configurables por el cliente. Recomendamos que los administradores restrinjan el acceso a las aplicaciones confidenciales a los dispositivos que son administrados por las herramientas de Administración de extremos y protegidos por las herramientas de seguridad de extremos. Para el acceso a aplicaciones menos confidenciales, requiera dispositivos registrados (usando Okta FastPass) que exhiban indicadores de higiene básica.
- Denegar o requerir mayor seguridad para las solicitudes de redes poco utilizadas. Con Okta Network Zones, el acceso puede ser controlado por ubicación, ASN (Número de Sistema Autónomo), IP y Tipo de IP (que puede identificar proxies de anonimización conocidos).
- Las evaluaciones de Okta Behavior y Risk se pueden utilizar para identificar solicitudes de acceso a aplicaciones que se desvían de los patrones de actividad del usuario establecidos previamente. Las políticas se pueden configurar para actualizar a nivel superior o denegar las solicitudes utilizando este contexto.
- Capacite a los usuarios para que identifiquen indicadores de correos electrónicos sospechosos, sitios de phishing y técnicas comunes de ingeniería social utilizadas por los atacantes. Facilite a los usuarios la notificación de posibles problemas mediante la configuración de Notificaciones para el usuario final y elaboración de informes de Actividad Sospechosa.
- Documente, divulgue y cúmplase con un proceso estandarizado para validar la identidad de los usuarios remotos que se ponen en contacto con el personal de soporte de TI, y viceversa.
- Adopte un enfoque de "Privilegios Cero Permanentes" para el acceso administrativo. Asigne a los administradores Roles de administrador personalizados con los permisos mínimos requeridos para las tareas diarias, y requiera autorización dual para el acceso JIT (justo a tiempo) a roles con más privilegios.
- Aplica el Enlace de Sesión IP a todas las aplicaciones administrativas para evitar la reproducción de sesiones administrativas robadas.
- Habilite las Acciones Protegidas para forzar la reautenticación cada vez que un usuario administrativo intente realizar acciones confidenciales.
Observación y respuesta a la infraestructura de phishing:
- Revise los registros de aplicaciones (registros de Okta, proxies web, sistemas de correo electrónico, servidores DNS, firewalls) para cualquier evidencia de comunicación con dichos dominios sospechosos.
- Supervise los dominios regularmente para ver si el contenido cambia.
Si el contenido alojado en el dominio infringe los derechos de autor o las marcas legales, considere proporcionar evidencia y emitir una solicitud de eliminación con el registrador del dominio y/o el proveedor de alojamiento web.
Apéndice A: Indicadores de compromiso
Esta es una investigación en curso, y se pueden identificar IOCs adicionales a medida que evoluciona la campaña. Se recomienda a las organizaciones que permanezcan atentas e implementen las estrategias de mitigación recomendadas. A continuación, se muestran los IOC observados.
| Tipo | Indicador | Comentario |
|---|---|---|
| dominio | acrobatsign[.]es | Página de destino sospechosa |
| dominio | adobeacrobat[.]sa[.]com | Página de destino sospechosa |
| dominio | adobesign[.]ceelegal[.]com | Página de destino sospechosa |
| dominio | adobesign[.]pl | Página de destino sospechosa |
| dominio | adobesign[.]us[.]com | Página de destino sospechosa |
| dominio | asir[.]co[.]com | Página de destino sospechosa |
| dominio | blue-styles[.]cz | Página de destino sospechosa |
| dominio | ceelegal[.]com | Página de destino sospechosa |
| dominio | codemonkey[.]cc | Página de destino sospechosa |
| dominio | comcursolutions[.]de | Página de destino sospechosa |
| dominio | comcursolutions[.]eu | Página de destino sospechosa |
| dominio | comcursolutions[.]pl | Página de destino sospechosa |
| dominio | comcursolutions[.]us | Página de destino sospechosa |
| dominio | concur[.]cv | Página de destino sospechosa |
| dominio | concur[.]pages[.]dev | Página de destino sospechosa |
| dominio | concurexpense[.]pl | Página de destino sospechosa |
| dominio | concurmgt[.]pl | Página de destino sospechosa |
| dominio | concursap[.]netlify[.]app | Página de destino sospechosa |
| dominio | concursecure[.]pl | Página de destino sospechosa |
| dominio | concursolution[.]de | Página de destino sospechosa |
| dominio | concursolution[.]pl | Página de destino sospechosa |
| dominio | concursolutions[.]asia | Página de destino sospechosa |
| dominio | concursolutions[.]at | Página de destino sospechosa |
| dominio | concursolutions[.]ceelegal[.]com | Página de destino sospechosa |
| dominio | concursolutions[.]ch | Página de destino sospechosa |
| dominio | concursolutions[.]com | Página de destino sospechosa |
| dominio | concursolutions[.]com[.]tr | Página de destino sospechosa |
| dominio | concursolutions[.]cv | Página de destino sospechosa |
| dominio | concursolutions[.]cz | Página de destino sospechosa |
| dominio | concursolutions[.]de[.]com | Página de destino sospechosa |
| dominio | concursolutions[.]es | Página de destino sospechosa |
| dominio | concursolutions[.]in | Página de destino sospechosa |
| dominio | concursolutions[.]mex[.]com | Página de destino sospechosa |
| dominio | concursolutions[.]my | Página de destino sospechosa |
| dominio | concursolutions[.]nl | Página de destino sospechosa |
| dominio | concursolutions[.]pl | Página de destino sospechosa |
| dominio | concursolutions[.]pt | Página de destino sospechosa |
| dominio | concursolutions[.]re | Página de destino sospechosa |
| dominio | concursystem[.]cv | Página de destino sospechosa |
| dominio | concursystem[.]netlify[.]app | Página de destino sospechosa |
| dominio | coupahost[.]pl | Página de destino sospechosa |
| dominio | crsign[.]com | Página de destino sospechosa |
| dominio | cruisesaudi[.]sa[.]com | Página de destino sospechosa |
| dominio | dfwcom[.]com | Página de destino sospechosa |
| dominio | dnglobal[.]ca | Página de destino sospechosa |
| dominio | echosign[.]cv | Página de destino sospechosa |
| dominio | echosign[.]de[.]com | Página de destino sospechosa |
| dominio | echosign[.]eu02-safelink[.]com | Página de destino sospechosa |
| dominio | echosign[.]nl | Página de destino sospechosa |
| dominio | echosign[.]pl | Página de destino sospechosa |
| dominio | echosign[.]ru[.]com | Página de destino sospechosa |
| dominio | echosign[.]uk | Página de destino sospechosa |
| dominio | echosign[.]za[.]com | Página de destino sospechosa |
| dominio | esign[.]sa[.]com | Página de destino sospechosa |
| dominio | eu02-safelink[.]com | Página de destino sospechosa |
| dominio | eumai1-docusign[.]com | Página de destino sospechosa |
| dominio | excelpediatric[.]us[.]com | Página de destino sospechosa |
| dominio | expense[.]pl | Página de destino sospechosa |
| dominio | expense[.]sa[.]com | Página de destino sospechosa |
| dominio | expensereport[.]ch | Página de destino sospechosa |
| dominio | expensereports[.]pages[.]dev | Página de destino sospechosa |
| dominio | expensereports[.]pl | Página de destino sospechosa |
| dominio | expensereports[.]pl | Página de destino sospechosa |
| dominio | getadobesign[.]eu02-safelink[.]com | Página de destino sospechosa |
| dominio | getconcur[.]pl | Página de destino sospechosa |
| dominio | khs[.]co[.]com | Página de destino sospechosa |
| dominio | knowbe4[.]es | Página de destino sospechosa |
| dominio | meeting[.]sa[.]com | Página de destino sospechosa |
| dominio | myapps[.]sa[.]com | Página de destino sospechosa |
| dominio | na4-6l9[.]pages[.]dev | Página de destino sospechosa |
| dominio | na4[.]it[.]com | Página de destino sospechosa |
| dominio | saferedirect[.]pages[.]dev | Página de destino sospechosa |
| dominio | sapconcur[.]cv | Página de destino sospechosa |
| dominio | sapconcur[.]pages[.]dev | Página de destino sospechosa |
| dominio | sapconcur[.]sa[.]com | Página de destino sospechosa |
| dominio | sapconcursolutions[.]pl | Página de destino sospechosa |
| dominio | scality[.]us[.]com | Página de destino sospechosa |
| dominio | secure[.]za[.]com | Página de destino sospechosa |
| dominio | sharepoint[.]za[.]com | Página de destino sospechosa |
| dominio | supancasign[.]netlify[.]app | Página de destino sospechosa |
| dominio | sutheha[.]za[.]com | Página de destino sospechosa |
| dominio | team[.]sa[.]com | Página de destino sospechosa |
| dominio | ug4t5w[.]cfd | Página de destino sospechosa |
| dominio | wepp[.]website | Página de destino sospechosa |
Una nota sobre el lenguaje de estimación
Los equipos de Okta Threat Intelligence utilizan los siguientes términos para expresar la probabilidad tal como se describe en la Directiva 203 de la Comunidad de Inteligencia - Estándares Analíticos de la Oficina del Director de Inteligencia Nacional de EE. UU.
| Probabilidad | Casi ninguna posibilidad | Muy improbable | Poco probable | Roughly even chance | Probable | Muy probable | Casi cierto(mente) |
|---|---|---|---|---|---|---|---|
| Probabilidad | Remoto | Altamente improbable | Improbable | Aproximadamente posibilidades parejas | Probable | Altamente probable | Casi Cierto |
| Porcentaje | 1-5% | 5-20% | 20-45% | 45-55% | 55-80 % | 80-95 % | 95-99% |