Cyberg Academy Blog

Hunting GoPhish & Evilginx: Detección y Prevención (2/3)

Detección Prevención
En el primer artículo de esta saga demostramos la facilidad con la que se puede ejecutar un ataque de phishing AiTM (Adversary in The Middle) utilizando GoPhish y Evilginx para comprometer credenciales y tokens de sesión, superando las protecciones de autenticación multifactor (MFA). Los ataques de phishing siguen siendo una de las amenazas más relevantes en el ámbito de la ciberseguridad y, aún en la actualidad, el vector de entrada más utilizado por los atacantes debido a su eficacia (coste / beneficio).

Ahora que hemos comprendido el alcance destructivo de estas herramientas, es fundamental abordar el lado defensivo. En esta segunda entrega nos centraremos en cómo detectar y prevenir estos ataques sofisticados desde múltiples perspectivas: análisis de indicadores de compromiso, detección a nivel de red y aplicación, y medidas preventivas organizacionales.
Disclaimer: a continuación se proponen ideas interesantes para detectar y prevenir ataques de robos de credenciales, las cuales no han sido probadas en un entorno corporativo. Se recomienda testear en vuestros entornos antes de aplicar estas medidas.

Detección

Idea 1) Peticiones a dominios typosquatted

🤨 Ye Llopis... aun seguimos con esto? Esto ya es muy viejo, los atacantes utilizarán formas mucho más sofisticadas para engañar a los usuarios...

Pues vemos que no... En un reciente reporte de Microsoft, del 27 de mayo de 2025, observamos que amenazas avanzadas, como el grupo ruso Void Blizzard, siguen usando técnicas "poco sofisticadas" para el acceso inicial de sus campañas de ataque.
Así que la primera idea de detección que se propone es detectar accesos a dominios similares a los originales:

Regla Sigma:
title: Typosquatting detection for microsoftonline.com domain
id: f7g8h9i0-j1k2-3456-fghi-678901234569
status: experimental
description: Detects DNS queries to typosquatted domains mimicking microsoftonline.com
author: Llopis - Cyberg Academy
date: 2025/07/26
references:
   - https://cyberg-academy.io/tpost/elfl1agvi1-hunting-gophish-amp-evilginx-poc-ataque
tags:
   - attack.initial_access
   - attack.t1566.002
logsource:
   category: dns
detection:
   selection1:
       # Comprehensive character substitutions and transpositions
       query|re: '.*m[i1l]{1,3}[ck]?r?[o0]{0,2}[s5z]{1,2}[ro0]{0,2}[s5z]?[o0]{0,2}[ft]{1,2}[t]?[o0]{1,3}nl?[i1l]{1,3}n?[e3]{1,2}\..*'
   selection2:
       # Multiple character repetitions and omissions
       query|re: '.*m[i1l]{1,3}[ck]?[ro0]{0,2}s[o0]{0,2}[ft]{1,2}[t]?[-_]?[o0]{1,3}n?l[i1l]{1,3}n[e3]{1,2}\..*'
   selection3:
       # Transposed characters (micsro, micorsoft, etc.)
       query|re: '.*mi[ck]?[s5z]?r[o0]{0,2}s[o0]{0,2}[ft]{1,2}[t]?[o0]{1,3}nl?[i1l]{1,3}n[e3]{1,2}\..*'
   selection4:
       # Number substitutions (m11crosoft, 0nline, etc.)
       query|re: '.*m[i1l]{1,3}[1-9]{0,2}[ck]?r?[o0]{0,3}[s5z]{0,2}[o0]{0,2}[ft]{1,2}[t0-9]?[o0]{1,3}n?l?[i1l]{1,3}n?[e3]{1,3}\..*'
   selection5:
       # Special character insertions and complex substitutions
       query|re: '.*m[i1l]{1,3}[ick]{0,2}r?[o05]{0,3}[s5z]{0,2}[o05]{0,3}[ft]{1,2}[t]?[-_]?[o05]{1,4}n?l?[i1l]{1,3}n?[e35]{1,3}\..*'
   selection6:
       # Homoglyph and visual similarity attacks
       query|re: '.*m[íìî1l]{1,3}cr[óò0]{0,2}s[óò0]{0,2}ft[óò05]{1,3}nl[íìî1l]{1,3}n[éè3]{1,2}\..*'
   selection7:
       # Double letters and common typos
       query|re: '.*m[i1]{1,3}[ck]{0,2}rr?[o0]{0,3}ss?[o0]{0,2}ff?tt?[o0]{1,4}nn?ll?[i1]{1,3}nn?[e3]{1,3}\..*'
   selection8:
       # Mixed case variations with numbers
       query|re: '.*[Mm][i1I]{1,3}[cCkK]?[rR]?[o0O]{0,3}[sS5zZ$]{0,2}[o0O]{0,2}[fF][tT]{1,2}[o0O5]{1,4}[nN]?[lL]?[i1Il]{1,3}[nN]?[e3E]{1,3}\..*'
   filter:
       query|endswith: 'microsoftonline.com'
   condition: (1 of selection*) and not filter
falsepositives:
   - Legitimate microsoftonline.com subdomains
   - CDN or proxy services for Microsoft
   - Internal applications with similar naming
level: high
Podemos crear también las reglas en Suricata para que analicen cualquier contacto DNS o HTTP contra estos dominios:

Reglas Suricata:
# DNS Rules - Typosquatted microsoftonline.com domain detection
# Comprehensive character substitutions and transpositions
alert dns any any -> any any (msg:"PHISHING DNS - Typosquatted microsoftonline.com - Comprehensive substitutions"; dns.query; pcre:"/.*m[i1l]{1,3}[ck]?r?[o0]{0,2}[s5z]{1,2}[ro0]{0,2}[s5z]?[o0]{0,2}[ft]{1,2}[t]?[o0]{1,3}nl?[i1l]{1,3}n?[e3]{1,2}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001010; rev:1;)

# Multiple character repetitions and omissions
alert dns any any -> any any (msg:"PHISHING DNS - Typosquatted microsoftonline.com - Character repetitions"; dns.query; pcre:"/.*m[i1l]{1,3}[ck]?[ro0]{0,2}s[o0]{0,2}[ft]{1,2}[t]?[-_]?[o0]{1,3}n?l[i1l]{1,3}n[e3]{1,2}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001011; rev:1;)

# Transposed characters (micsro, micorsoft, etc.)
alert dns any any -> any any (msg:"PHISHING DNS - Typosquatted microsoftonline.com - Transposed chars"; dns.query; pcre:"/.*mi[ck]?[s5z]?r[o0]{0,2}s[o0]{0,2}[ft]{1,2}[t]?[o0]{1,3}nl?[i1l]{1,3}n[e3]{1,2}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001012; rev:1;)

# Number substitutions (m11crosoft, 0nline, etc.)
alert dns any any -> any any (msg:"PHISHING DNS - Typosquatted microsoftonline.com - Number substitutions"; dns.query; pcre:"/.*m[i1l]{1,3}[1-9]{0,2}[ck]?r?[o0]{0,3}[s5z]{0,2}[o0]{0,2}[ft]{1,2}[t0-9]?[o0]{1,3}n?l?[i1l]{1,3}n?[e3]{1,3}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001013; rev:1;)

# Special character insertions and complex substitutions
alert dns any any -> any any (msg:"PHISHING DNS - Typosquatted microsoftonline.com - Special chars"; dns.query; pcre:"/.*m[i1l]{1,3}[ick]{0,2}r?[o05]{0,3}[s5z]{0,2}[o05]{0,3}[ft]{1,2}[t]?[-_]?[o05]{1,4}n?l?[i1l]{1,3}n?[e35]{1,3}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001014; rev:1;)

# Homoglyph and visual similarity attacks
alert dns any any -> any any (msg:"PHISHING DNS - Typosquatted microsoftonline.com - Homoglyph attacks"; dns.query; pcre:"/.*m[íìî1l]{1,3}cr[óò0]{0,2}s[óò0]{0,2}ft[óò05]{1,3}nl[íìî1l]{1,3}n[éè3]{1,2}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001015; rev:1;)

# Double letters and common typos
alert dns any any -> any any (msg:"PHISHING DNS - Typosquatted microsoftonline.com - Double letters"; dns.query; pcre:"/.*m[i1]{1,3}[ck]{0,2}rr?[o0]{0,3}ss?[o0]{0,2}ff?tt?[o0]{1,4}nn?ll?[i1]{1,3}nn?[e3]{1,3}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001016; rev:1;)

# Mixed case variations with numbers
alert dns any any -> any any (msg:"PHISHING DNS - Typosquatted microsoftonline.com - Mixed case"; dns.query; pcre:"/.*[Mm][i1I]{1,3}[cCkK]?[rR]?[o0O]{0,3}[sS5zZ$]{0,2}[o0O]{0,2}[fF][tT]{1,2}[o0O5]{1,4}[nN]?[lL]?[i1Il]{1,3}[nN]?[e3E]{1,3}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001017; rev:1;)

# HTTP Rules - Typosquatted microsoftonline.com domain detection
# Comprehensive character substitutions and transpositions
alert http any any -> any any (msg:"PHISHING HTTP - Typosquatted microsoftonline.com - Comprehensive substitutions"; http.host; pcre:"/.*m[i1l]{1,3}[ck]?r?[o0]{0,2}[s5z]{1,2}[ro0]{0,2}[s5z]?[o0]{0,2}[ft]{1,2}[t]?[o0]{1,3}nl?[i1l]{1,3}n?[e3]{1,2}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001018; rev:1;)

# Multiple character repetitions and omissions
alert http any any -> any any (msg:"PHISHING HTTP - Typosquatted microsoftonline.com - Character repetitions"; http.host; pcre:"/.*m[i1l]{1,3}[ck]?[ro0]{0,2}s[o0]{0,2}[ft]{1,2}[t]?[-_]?[o0]{1,3}n?l[i1l]{1,3}n[e3]{1,2}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001019; rev:1;)

# Transposed characters (micsro, micorsoft, etc.)
alert http any any -> any any (msg:"PHISHING HTTP - Typosquatted microsoftonline.com - Transposed chars"; http.host; pcre:"/.*mi[ck]?[s5z]?r[o0]{0,2}s[o0]{0,2}[ft]{1,2}[t]?[o0]{1,3}nl?[i1l]{1,3}n[e3]{1,2}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001020; rev:1;)

# Number substitutions (m11crosoft, 0nline, etc.)
alert http any any -> any any (msg:"PHISHING HTTP - Tyrosquatted microsoftonline.com - Number substitutions"; http.host; pcre:"/.*m[i1l]{1,3}[1-9]{0,2}[ck]?r?[o0]{0,3}[s5z]{0,2}[o0]{0,2}[ft]{1,2}[t0-9]?[o0]{1,3}n?l?[i1l]{1,3}n?[e3]{1,3}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001021; rev:1;)

# Special character insertions and complex substitutions
alert http any any -> any any (msg:"PHISHING HTTP - Typosquatted microsoftonline.com - Special chars"; http.host; pcre:"/.*m[i1l]{1,3}[ick]{0,2}r?[o05]{0,3}[s5z]{0,2}[o05]{0,3}[ft]{1,2}[t]?[-_]?[o05]{1,4}n?l?[i1l]{1,3}n?[e35]{1,3}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001022; rev:1;)

# Homoglyph and visual similarity attacks
alert http any any -> any any (msg:"PHISHING HTTP - Typosquatted microsoftonline.com - Homoglyph attacks"; http.host; pcre:"/.*m[íìî1l]{1,3}cr[óò0]{0,2}s[óò0]{0,2}ft[óò05]{1,3}nl[íìî1l]{1,3}n[éè3]{1,2}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001023; rev:1;)

# Double letters and common typos
alert http any any -> any any (msg:"PHISHING HTTP - Typosquatted microsoftonline.com - Double letters"; http.host; pcre:"/.*m[i1]{1,3}[ck]{0,2}rr?[o0]{0,3}ss?[o0]{0,2}ff?tt?[o0]{1,4}nn?ll?[i1]{1,3}nn?[e3]{1,3}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001024; rev:1;)

# Mixed case variations with numbers
alert http any any -> any any (msg:"PHISHING HTTP - Typosquatted microsoftonline.com - Mixed case"; http.host; pcre:"/.*[Mm][i1I]{1,3}[cCkK]?[rR]?[o0O]{0,3}[sS5zZ$]{0,2}[o0O]{0,2}[fF][tT]{1,2}[o0O5]{1,4}[nN]?[lL]?[i1Il]{1,3}[nN]?[e3E]{1,3}\..*/i"; pcre:!"/.*microsoftonline\.com$/i"; classtype:trojan-activity; sid:2001025; rev:1;)

Idea 2) Respuesta HTTP de servidores Evilginx/Gophish configurados por defecto

Muchos de los atacantes ni se molestan en cambiar las configuraciones que ofrecen las herramientas por defecto. Así que una buena, y fácil, idea de detección siempre es detectar configuraciones por defecto.

En este caso, propongo reglas de Suricata para detectar respuestas de las páginas de Login por defecto de Evilginx y Gophish, y otra regla para detectar la cadena "/kgretzky/evilginx2/" que apunta al repositorio oficial de la herramienta:
# Evilginx default patterns
alert http any any -> any any (msg:"MALWARE Evilginx Phishing Framework Login Page Detection"; flow:established,to_client; http.response_body; content:"<title>Evilginx"; content:"Login</title>"; nocase; sid:2001026; rev:1;)
alert http any any -> any any (msg:"MALWARE Evilginx Phishing Framework GitHub Repository Reference"; flow:established,to_client; http.response_body; content:"/kgretzky/evilginx2/"; nocase; sid:2001027; rev:1;)

# Gophish default patterns
alert http any any -> any any (msg:"MALWARE GoPhish Phishing Framework Login Page Detection"; flow:established,to_client; http.response_body; content:"<title>Gophish - Login</title>"; nocase; sid:2001028; rev:1;)

Idea 3) Peticiones a Lures generados por Evilginx

Como vimos en la primera publicación de esta saga, los Lures (URLs señuelo) generados por Evilginx tienen el siguiente formato:

<subdominio>.<dominio>/<8 letras>

Ejemplo del lure generado en el anterior post:
https://login[.]mircosoft-helpdesk[.]es/bTUlXnGW

Regla Suricata:
alert http any any -> any any (msg:"PHISHING HTTP - Possible Default Evilginx Lure"; flow:established,to_server; http.host; pcre:"/^(login|adfs)\..*/i"; http.uri; pcre:"/^\/[a-zA-Z]{8}$/"; classtype:trojan-activity; sid:2001031; rev:1; metadata: mitre_ttp t1566.002, tool evilginx, severity high, confidence high;)

Idea 4) Redirecciones al videoclip de YouTube Rick Astley - Never Gonna Give You Up

El autor de Evilginx configuró por defecto la herramienta para que todas las peticiones GET, sin parámetros, redirigieran al video de Rick Astley - Never Gonna Give You Up, de Youtube, como afirma en el siguiente tweet:
Por lo que una idea interesante es monitorizar las redirecciones a este video, que no sean desde Youtube. Con esto se cubre posibles usuarios que sospechen de un dominio y naveguen a él, y exista la versión por defecto de Evilginx.

A continuación, se muestran 2 reglas de Suricata para detectar esta actividad: una para detectar redirecciones 302 a este video y otra para detectar el contenido por defecto del servidor Evilginx con la redirección:
alert http any any -> any any (msg:"WEB_SERVER HTTP 302 redirection to YouTube Rick Astley"; flow:established,from_server; http.stat_code; content:"302"; http.location; content:"youtube.com/watch?v=dQw4w9WgXcQ"; nocase; sid:2001028; rev:1; metadata: mitre_ttp t1566.002, tool evilginx, severity low, confidence low;)

alert http any any -> any any (msg:"WEB_SERVER redirection content to YouTube Rick Astley - possible Evilginx"; flow:established,from_server; http.response_body; content:"<script>top.location.href='https://www.youtube.com/watch?v=dQw4w9WgXcQ'"; nocase; sid:2001029; rev:1; metadata: mitre_ttp t1566.002, tool evilginx, severity high, confidence high;)

Idea 5) Logins exitosos desde diferentes IP

Por último, se propone una regla (muy típica) que detectaría logins exitosos desde diferentes IP lo que podría indicar un usuario afectado por robo de credenciales, y/o token.

En este caso, al tratarse de una lógica más compleja, se realiza la regla en format KQL:
// KQL Detection Rule: Successful logins from same user across different public IP addresses
// This rule detects when a user successfully logs in from multiple different public IP addresses
// within a specified time window (default: 1 hour)

let timeframe = 1h;
let min_unique_ips = 2; // Minimum number of unique public IPs to trigger alert
SigninLogs
| where TimeGenerated >= ago(timeframe)
| where Category == "SignInLogs"
| where ResultSignature == "SUCCESS"
| where isnotempty(IPAddress)
| where isnotempty(UserPrincipalName)
// Filter for public IP addresses (exclude private/internal ranges)
| where not(ipv4_is_private(IPAddress))
| where not(IPAddress startswith "127.")
| where not(IPAddress == "::1")
// Group by user and count unique public IP addresses
| summarize 
    UniquePublicIPs = dcount(IPAddress),
    IPAddresses = make_set(IPAddress),
    ClientAppsUsed = make_set(ClientAppUsed),
    Locations = make_set(Location),
    FirstSeen = min(TimeGenerated),
    LastSeen = max(TimeGenerated),
    LogonCount = count()
    by UserPrincipalName
// Filter for users with logins from multiple public IPs
| where UniquePublicIPs >= min_unique_ips
// Calculate time span between first and last login
| extend TimeSpan = LastSeen - FirstSeen
// Sort by number of unique IPs (highest risk first)
| sort by UniquePublicIPs desc, LogonCount desc
// Add additional context for analysis
| extend 
    RiskScore = case(
        UniquePublicIPs >= 5, "High",
        UniquePublicIPs >= 3, "Medium", 
        "Low"
    ),
    PossibleThreatActivity = case(
        TimeSpan <= 5m, "Potential Account Compromise - Very Fast Geographic Movement",
        TimeSpan <= 30m, "Potential Account Compromise - Fast Geographic Movement",
        TimeSpan <= 2h, "Suspicious Activity - Multiple Locations",
        "Moderate Risk - Extended Time Window"
    )
| project 
    UserPrincipalName,
    UniquePublicIPs,
    IPAddresses,
    ClientAppsUsed,
    Locations,
    FirstSeen,
    LastSeen,
    TimeSpan,
    LogonCount,
    RiskScore,
    PossibleThreatActivity
Esta regla puede generar mucha volumetría de alertas debido a que hoy en día los usuarios pueden acceder a sus cuentas desde diferentes sistemas: equipos y redes corporativos y/o personales, VPNs, móviles...

Por ello se debe filtrar la regla con los rangos de IPs y aplicaciones confiables.

Se puede aplicar esta lógica en el resto de tablas de logins como DeviceLogonEvents, SecurityEvent o OfficeActivity.

Medidas Preventivas y Recomendaciones

En el punto anterior hemos definido ideas interesantes para tratar de detectar ataques de phishing usando Evilginx y Gophish, o ataques similares.

En esta sección, vamos a proponer 10 medidas para tratar de prevenir estos ataques y mantener nuestra organización segura.

Estas 10 recomendaciones han sido copiadas y resumidas de esta magnífica publicación de Jan Bakker. Simplemente, las he reordenado basándome en el impacto de seguridad y la capacidad de prevenir múltiples tipos de ataques.

1) ¡Adopta Passwordless!

Implementa autenticación sin contraseña usando Windows Hello for Business, la aplicación Microsoft Authenticator o llaves de seguridad FIDO2. Dado que no puedes robar lo que no existe, eliminar las contraseñas proporciona la protección más fuerte contra ataques de phishing.

2) Bloquear autenticación heredada

Bloquea protocolos antiguos como IMAP, POP3 y SMTP que no pueden aplicar autenticación moderna como la Autenticación Multifactor. Usa plantillas de Acceso Condicional para implementar rápidamente esta medida de seguridad y reducir riesgos de ataques de contraseña.

3) Activar Políticas de User Risk / Sign-in Risk

Habilita Azure AD Identity Protection para usar el motor de inteligencia de Microsoft con MFA basado en riesgo que solo solicita autenticación cuando se detecta actividad inusual. Esto previene la fatiga de MFA mientras mantiene la seguridad a través de detección automatizada de amenazas.

4) Gestión de Identidades Privilegiadas

Implementa just-in-time access para roles administrativos con protección MFA y flujos de aprobación, siguiendo los principios de Zero Trust. Esto asegura que el acceso privilegiado sea limitado en tiempo, revisado regularmente y solo usado desde dispositivos o ubicaciones seguras.

5) Defender para Office 365

Implementa Attack Simulator para entrenamiento contra phishing, Safe Links para verificación de URLs y políticas Anti-phishing para detección de suplantación. Estas características proporcionan protección integral contra ataques basados en correo electrónico y oportunidades de educación para usuarios.

6) Defender para Cloud Apps

Integra con Defender for Cloud Apps para detectar señales de riesgo adicionales como impossible travel, reglas sospechosas de bandeja de entrada y acceso masivo a archivos sensibles. Esto mejora las capacidades de Identity Protection con monitoreo de seguridad de aplicaciones en la nube y características de respuesta automatizada.

7) Contexto adicional para Azure MFA

Configura las solicitudes de MFA para mostrar contexto adicional como nombre de aplicación y ubicación, además de habilitar coincidencia numérica en lugar de simple aprobar/denegar. Esto ayuda a los usuarios a tomar decisiones informadas sobre solicitudes de autenticación y previene aprobaciones no autorizadas.

8) Habilitar Sincronización de Hash de Contraseña

Para identidades híbridas, sincroniza hashes de contraseña con Azure AD para habilitar la detección de credenciales filtradas a través de Identity Protection. Esto permite a Microsoft verificar las credenciales de tus usuarios contra contraseñas comprometidas conocidas de la dark web.

9) Que las contraseñas no expiren

Las investigaciones muestran que forzar el cambio de contraseñas cada 90 días en realidad las hace más débiles ya que los usuarios crean variaciones predecibles. Enfócate en implementar opciones sin contraseña como las mencionadas en el primero punto en lugar de cambios frecuentes de contraseña.

10) Extensión Pink Thumb

Despliega la extensión de navegador Pink Thumb que muestra un icono de pulgar rosa en sitios legítimos y se vuelve gris en sitios de phishing. Esto proporciona un indicador visual de seguridad para ayudar a los usuarios a identificar páginas legítimas de inicio de sesión de Microsoft versus intentos de phishing.

Conclusión

La detección y prevención de ataques AiTM ejecutados con herramientas como GoPhish y Evilginx requiere un enfoque integral que combine tecnología, procesos y personas. Como hemos visto en el primer artículo, estos ataques pueden ser muy efectivos al superar las protecciones tradicionales de MFA.
Para protegerse contra estos ataques se recomiendan los siguientes puntos:

  1. Configurar las reglas de detección propuestas, adaptadas a vuestros entornos.
  2. Aplicar las medidas de prevención sugeridas que estén a vuestro alcance.
  3. Continuar (o empezar) con los programas de concienciación, ya que el factor humano sigue siendo el vector inicial de entrada preferido por los atacantes.
  4. Automatizar, en la medida de lo posible, la respuesta ante estos ataques para reducir el tiempo de afectación. Por ejemplo, bloquear temporalmente el acceso al usuario cada vez que se genere una alerta relacionada.

En la tercera y última entrega de esta saga, nos enfocaremos en las técnicas de Threat Hunting proactivo para identificar servidores de GoPhish y Evilginx in the wild, completando así el ciclo de defensa contra estos ataques.

¡Nos vemos en la entrega final de la saga! 🔍🚀