El caso analizado muestra una campaña de phishing que suplanta a Microsoft y usa subdominios de replit[.]app como capa de alojamiento rápido para páginas de captura de credenciales. Durante la ejecución observamos dos comportamientos de exfiltración: uno dirigido a un webhook de Discord y otro dirigido a varios endpoints externos con la ruta final policy.php.
Qué observamos
El análisis realizado confirma como muestra principal la URL hxxps://informacion-034--validar2901[.]replit[.]app, clasificada como Suspicious, con navegación interactiva, peticiones POST y exfiltración hacia un Discord webhook. El contenido observado encaja con una campaña de robo de credenciales orientada a cuentas Microsoft. Además, la correlación visual de la campaña muestra otras aplicaciones bajo replit[.]app con el mismo comportamiento general de robo de credenciales, pero enviando los datos a dominios externos distintos.
La señal no está únicamente en un subdominio concreto de Replit. Lo relevante es la combinación de nombres señuelo, hosting efímero en replit[.]app, formularios de captura y endpoints de exfiltración que se repiten con variaciones mínimas.
Patrón operativo en Replit
Los nombres observados en la campaña sugieren un workflow de despliegue rápido y reutilizable: informacion-034--validar2901, secure-static-page--alvid, secure-index-editor--murphymechanic, secure-page-editor--melisapritt, secure-site-editor--mnt1094 y secure-page-builder--lucasa22. Ese patrón encaja con el abuso de una plataforma como Replit para generar, editar y publicar landings con mucha velocidad.
Replit no es solo hosting. Su capa de IA, comercializada como Replit Agent y su Web App Builder, permite describir un sitio o aplicación en lenguaje natural, generar archivos y dependencias, iterar por chat y desplegar el resultado en una URL de replit[.]app. En un contexto malicioso, eso reduce la fricción para replicar una landing de acceso de Microsoft, cambiar textos o rutas y publicar una nueva variante en minutos.
No afirmamos que Replit sea el origen de la campaña, sino que la infraestructura observada abusa de aplicaciones alojadas en Replit para publicar la capa visible del phishing. El valor operativo para el atacante está en acelerar la réplica visual, la iteración del formulario y la rotación de URLs sin levantar infraestructura propia desde cero.
Dominios y endpoints relacionados
La correlación observada en la campaña incluye, al menos, los siguientes pares landing → exfiltration endpoint:
informacion-034--validar2901[.]replit[.]appdiscordapp[.]com/api/webhooks/1507452686398656664/qA48QiY1KiYbLlacCKtv0MCTcHj5c5unVK0cmAJQKWfDGn0spwl77oEHLj1sDHFDuxrbsecure-static-page--alvid[.]replit[.]appdestitulados[.]click/kin/policy.phpsecure-index-editor--murphymechanic[.]replit[.]appabanearias[.]us/wp_web/policy.phpsecure-page-editor--melisapritt[.]replit[.]appdw[.]peuioy[.]com/file/policy.phpsecure-site-editor--mnt1094[.]replit[.]appqq[.]lhrcr[.]com/nba/policy.phpsecure-page-builder--lucasa22[.]replit[.]appembarqueis[.]today/sau/policy.php
En todos los casos, el patrón de interés es el mismo: una landing de phishing alojada en replit[.]app, orientada a la captura de credenciales de Microsoft, que envía los datos robados a un endpoint externo. En un caso el atacante usa Discord como canal de recepción inmediata; en el resto, usa scripts PHP aparentemente dedicados a recolectar credenciales.
Qué significa la repetición de policy.php
La repetición del nombre policy.php merece una explicación precisa. Que varios endpoints terminen en policy.php no significa por sí solo que todos apunten al mismo servidor o al mismo dominio de backend. Lo que sí indica es un patrón operativo compartido.
- Lo que sí sugiere: reutilización de un kit, plantilla o lógica de captura que usa el mismo nombre de script para recibir formularios.
- Lo que no demuestra por sí solo: identidad absoluta de infraestructura.
- Por qué sigue siendo valioso: cuando
policy.phpaparece junto a múltiples landings enreplit[.]app, rutas muy parecidas y el mismo comportamiento de exfiltración, la correlación deja de ser casual y pasa a ser una señal de campaña.
En este caso, además, el nombre repetido no aparece aislado: cambia el prefijo del path (/kin/, /wp_web/, /file/, /nba/, /sau/) pero se mantiene la terminación policy.php. Eso encaja con una misma lógica de captura desplegada en contenedores o dominios distintos.
Detección y correlación
Casos como este demuestran que una campaña no debe analizarse solo por el dominio final visible. La correlación útil aparece cuando unes:
- Hostings compartidos: múltiples landings en
replit[.]app. - Convenciones de nombre: prefijos como
secure-,page-editor,page-builder,index-editor. - Comportamiento del formulario: peticiones POST a destinos externos tras interacción del usuario.
- Destino de exfiltración: webhook de Discord o scripts PHP repetidos.
- Rutas parecidas: múltiples variantes de
policy.phpcon carpetas distintas.
Operativamente, eso permite pasar de un IOC aislado a una visión de campaña: varias URLs, varios subdominios y varios destinos que, juntos, describen una infraestructura coordinada de robo de credenciales.
Cómo ayuda URL Sandbox sin complicarle la vida al usuario
Para un usuario o un equipo de marca, lo valioso no es ver todos los detalles técnicos del flujo, sino entender rápido si una URL forma parte de una campaña, qué otras páginas están relacionadas y hacia dónde se están enviando las credenciales. Ahí es donde `URL Sandbox` aporta valor real.
Desde la plataforma, el usuario puede analizar una landing sospechosa y obtener una vista clara de campaña: páginas relacionadas, dominios que comparten comportamiento, destinos comunes de captura y una explicación visual de por qué ese conjunto debe tratarse como una misma operación. Eso permite priorizar respuesta, bloqueo y takedown sin tener que interpretar manualmente cada IOC.
En campañas como esta, `URL Sandbox` ayuda a pasar de una sola URL a una historia completa: qué páginas están imitando a Microsoft, cuáles parecen ser variantes del mismo actor y qué infraestructura está recogiendo las contraseñas. El beneficio para el usuario es simple: menos tiempo investigando y más capacidad para actuar.
IOCs
- Landings en Replit:
informacion-034--validar2901[.]replit[.]app,secure-static-page--alvid[.]replit[.]app,secure-index-editor--murphymechanic[.]replit[.]app,secure-page-editor--melisapritt[.]replit[.]app,secure-site-editor--mnt1094[.]replit[.]appysecure-page-builder--lucasa22[.]replit[.]app. - Endpoint de recogida en Discord:
discordapp[.]com/api/webhooks/1507452686398656664/qA48QiY1KiYbLlacCKtv0MCTcHj5c5unVK0cmAJQKWfDGn0spwl77oEHLj1sDHFDuxrb. - Recolectores externos con
policy.php:destitulados[.]click/kin/policy.php,abanearias[.]us/wp_web/policy.php,dw[.]peuioy[.]com/file/policy.php,qq[.]lhrcr[.]com/nba/policy.phpyembarqueis[.]today/sau/policy.php. - Señal de campaña: suplantación de Microsoft, landings alojadas en Replit y exfiltración a Discord o a variantes repetidas de
policy.php.
Puntos clave
- La campaña suplanta a Microsoft y usa
replit[.]appcomo capa visible para desplegar landings de phishing rápidamente. - El abuso de Replit Agent y del Web App Builder encaja con la necesidad de replicar, ajustar y republicar landings con muy poca fricción.
- Las credenciales se exfiltran tanto a un webhook de Discord como a varios endpoints externos con la misma terminación
policy.php. - La repetición de
policy.phpno prueba por sí sola backend idéntico, pero sí una lógica operativa compartida y muy correlable. - La defensa eficaz exige correlacionar hostings, nombres, formularios, rutas y destinos, no solo bloquear un dominio aislado.