Detección de Phishing: Reglas Sigma, YARA y Análisis Automatizado de URLs
Detección técnica de phishing con reglas Sigma (Office child processes, PowerShell download, suspicious email patterns), YARA (HTML smuggling, macro detection), y análisis automatizado de URLs con herramientas open source.
La detección de phishing no empieza en el email
La mayoría de organizaciones concentran su defensa anti-phishing en el gateway de correo: filtros de reputación, sandbox de adjuntos, análisis de URLs. Esa capa es necesaria, pero insuficiente. Los atacantes usan redirects legítimos (Google AMP, Cloudflare Workers, Azure Blob Storage), HTML smuggling que no ejecuta nada hasta que el usuario abre el archivo, y cadenas de infección de múltiples etapas que evaden la inspección en línea.
La detección real de phishing requiere cobertura en profundidad: reglas Sigma en el SIEM para detectar comportamiento post-click en el endpoint, reglas YARA para identificar archivos de phishing antes y después de la entrega, y pipelines automatizados de análisis de URLs que descompongan redirect chains y clasifiquen la página final. Este artículo cubre las tres capas con reglas funcionales que puedes desplegar en tu SOC.
Dónde detectar phishing: las cuatro capas
Cada capa de detección captura lo que las otras no ven. Entender qué detecta cada una evita duplicar esfuerzo y, más importante, evita dejar huecos.
Email gateway (pre-delivery). Filtra emails antes de que lleguen al buzón. Detecta: adjuntos conocidos (hashes en blocklist), URLs con mala reputación, spoofing sin SPF/DKIM/DMARC válido. No detecta: HTML smuggling (el HTML pasa limpio), URLs en servicios legítimos (bit.ly, Google Docs), payload descargado en segundo paso post-click.
Endpoint (post-delivery, post-click). EDR y logs de Sysmon. Detecta: Office spawning procesos hijos sospechosos, PowerShell descargando payloads, ejecución de .lnk o .iso anómalos, Mark-of-the-Web bypass. Es la capa donde Sigma brilla para phishing.
Red (in-transit). IDS/IPS, proxy, DNS logs. Detecta: conexiones a dominios recién registrados, DNS queries a dominios DGA, tráfico HTTP/S a IPs sin hostname, resolución de dominios homóglifos. Complementa al endpoint con visibilidad de red.
SIEM (correlación). Correlaciona señales de las tres capas anteriores. Un email con adjunto .html (gateway) + ejecución de wscript.exe desde Downloads (endpoint) + conexión a dominio de 3 días de antigüedad (red) = cadena de phishing con alta confianza cuando se correlaciona en el SIEM.
┌───────────────────────────────────────────────────────────┐
│ CADENA DE PHISHING │
│ │
│ Email ──→ Gateway ──→ Buzón ──→ Click ──→ Payload ──→ C2│
│ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ │
│ SPF/DKIM Sandbox Sysmon EDR Proxy│
│ DMARC URL scan (Sigma) (YARA) DNS │
│ │
│ ◄── Pre-delivery ──► ◄────── Post-delivery ─────────► │
│ (gateway) (endpoint + red + SIEM) │
└───────────────────────────────────────────────────────────┘
Reglas Sigma para phishing: 6 detecciones operativas
Las siguientes reglas Sigma detectan comportamiento post-click en el endpoint. Están escritas para logs de Sysmon (Event ID 1: Process Creation, Event ID 11: File Created, Event ID 15: FileCreateStreamHash). Cada regla incluye el mapeo a MITRE ATT&CK correspondiente.
1. Office spawning proceso hijo sospechoso
Cuando un usuario abre un documento de phishing con macros, Office lanza un proceso hijo (cmd.exe, PowerShell, wscript.exe, mshta.exe). Este patrón es la señal más fiable de phishing con macros.
title: Office Application Spawning Suspicious Child Process
id: 8e5c4a1b-9f2d-4c3e-b7a6-1d5e8f3c2a9b
status: stable
description: |
Detects Microsoft Office applications spawning command-line
interpreters or scripting engines, a strong indicator of
malicious macro execution from phishing documents.
references:
- https://attack.mitre.org/techniques/T1566/001/
- https://attack.mitre.org/techniques/T1059/
author: MalwareIntel Research
date: 2026-06-05
tags:
- attack.initial_access
- attack.t1566.001
- attack.execution
- attack.t1059
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith:
- '\WINWORD.EXE'
- '\EXCEL.EXE'
- '\POWERPNT.EXE'
- '\OUTLOOK.EXE'
- '\MSACCESS.EXE'
- '\MSPUB.EXE'
selection_child:
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\mshta.exe'
- '\certutil.exe'
- '\regsvr32.exe'
- '\rundll32.exe'
- '\bitsadmin.exe'
condition: selection_parent and selection_child
falsepositives:
- Legitimate Office add-ins that spawn command-line tools
- IT automation scripts triggered from Outlook rules
level: high
2. HTML smuggling: ejecución post-descarga
HTML smuggling entrega un archivo .html que, al abrirse en el navegador, construye un binario en JavaScript y lo descarga. La detección en el gateway falla porque el HTML es "limpio". La detección en el endpoint busca el patrón: navegador escribe archivo en Downloads y ese archivo se ejecuta.
title: HTML Smuggling - Browser Writing Executable to Disk
id: 3a7c5e9d-2b1f-4d8a-c6e3-9f4b2a7d1c5e
status: test
description: |
Detects a browser process writing PE files or scripts to the
user Downloads folder, consistent with HTML smuggling delivery.
references:
- https://attack.mitre.org/techniques/T1027/006/
author: MalwareIntel Research
date: 2026-06-05
tags:
- attack.defense_evasion
- attack.t1027.006
- attack.initial_access
- attack.t1566.001
logsource:
category: file_event
product: windows
detection:
selection_browser:
Image|endswith:
- '\chrome.exe'
- '\msedge.exe'
- '\firefox.exe'
- '\brave.exe'
- '\iexplore.exe'
selection_path:
TargetFilename|contains:
- '\Downloads\'
- '\Temp\'
selection_extension:
TargetFilename|endswith:
- '.exe'
- '.dll'
- '.scr'
- '.hta'
- '.vbs'
- '.js'
- '.wsf'
- '.iso'
- '.img'
- '.vhd'
- '.zip'
condition: selection_browser and selection_path and selection_extension
falsepositives:
- Legitimate file downloads from trusted sources
- Browser extensions saving files
level: medium
3. LNK ejecutando PowerShell con argumentos sospechosos
Los archivos .lnk enviados por email (dentro de .zip o .iso) son un vector frecuente. El .lnk apunta a PowerShell o cmd.exe con argumentos que descargan el payload real.
title: LNK File Executing PowerShell with Download Cradle
id: 7d4b2e8a-1c3f-5a9d-e6b7-3f8c1d5a2e4b
status: test
description: |
Detects shortcut files (.lnk) launching PowerShell with
download cradle patterns (IEX, DownloadString, WebClient),
commonly used in phishing campaigns.
references:
- https://attack.mitre.org/techniques/T1204/002/
- https://attack.mitre.org/techniques/T1059/001/
author: MalwareIntel Research
date: 2026-06-05
tags:
- attack.execution
- attack.t1204.002
- attack.t1059.001
logsource:
category: process_creation
product: windows
detection:
selection_lnk_parent:
ParentImage|endswith: '\explorer.exe'
ParentCommandLine|contains: '.lnk'
selection_powershell:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
selection_download:
CommandLine|contains:
- 'IEX'
- 'Invoke-Expression'
- 'DownloadString'
- 'DownloadFile'
- 'WebClient'
- 'Start-BitsTransfer'
- 'Invoke-WebRequest'
- 'curl '
- 'wget '
- '-enc '
- '-encodedcommand'
condition: selection_lnk_parent and selection_powershell and selection_download
falsepositives:
- IT deployment scripts launched via shortcuts
level: high
4. Email client spawning navegador a dominio sospechoso
Outlook (o Thunderbird) lanzando el navegador por defecto. Por sí solo no es malicioso (el usuario hace clic en un enlace del email), pero combinado con reputación del dominio en el SIEM, es una señal valiosa.
title: Email Client Spawning Browser Process
id: 5e9a3c7b-4d2f-1a8e-b6c5-2d7f4a9b3e1c
status: test
description: |
Detects email client applications spawning web browsers,
indicating a user clicked a link in an email. Correlate with
DNS/proxy logs to identify clicks to suspicious domains.
references:
- https://attack.mitre.org/techniques/T1204/001/
author: MalwareIntel Research
date: 2026-06-05
tags:
- attack.execution
- attack.t1204.001
logsource:
category: process_creation
product: windows
detection:
selection_email:
ParentImage|endswith:
- '\OUTLOOK.EXE'
- '\thunderbird.exe'
selection_browser:
Image|endswith:
- '\chrome.exe'
- '\msedge.exe'
- '\firefox.exe'
- '\brave.exe'
- '\iexplore.exe'
condition: selection_email and selection_browser
falsepositives:
- Normal user behavior clicking links in legitimate emails
level: low
5. Mark-of-the-Web bypass via container files
Los archivos .iso, .img y .vhd montados en Windows no propagan el Mark-of-the-Web (MotW) a los archivos internos. Los atacantes empaquetan el payload en un contenedor para evitar las advertencias de "archivo descargado de Internet". La detección busca ejecuciones desde rutas de volúmenes montados que no son C:.
title: Execution from Mounted ISO/IMG/VHD - MotW Bypass
id: 9b2d4f6a-3e1c-7a5b-d8f2-4c6a1e3b5d7f
status: test
description: |
Detects process execution from mounted disk image files
(ISO, IMG, VHD), which bypass Mark-of-the-Web protections.
Common phishing technique since Microsoft disabled Office
macros by default.
references:
- https://attack.mitre.org/techniques/T1553/005/
author: MalwareIntel Research
date: 2026-06-05
tags:
- attack.defense_evasion
- attack.t1553.005
- attack.initial_access
- attack.t1566.001
logsource:
category: process_creation
product: windows
detection:
selection:
Image|re: '^[D-Z]:\\[^\\]+\.(exe|dll|scr|bat|cmd|ps1|vbs|js)$'
filter_known_drives:
Image|startswith:
- 'C:\'
- 'D:\Program'
condition: selection and not filter_known_drives
falsepositives:
- USB drives and legitimate removable media
- Network mapped drives
level: medium
6. Extracción de adjunto sospechoso desde archivador
Cuando el usuario extrae un adjunto de phishing (.zip, .rar, .7z) que contiene un ejecutable o script, el archivador (WinRAR, 7-Zip) escribe el archivo en disco. La regla detecta este patrón.
title: Archive Utility Extracting Executable or Script
id: 1c5a8e3d-7b4f-2d6a-9e3c-5f1b7d2a4c8e
status: test
description: |
Detects archive utilities writing executable files or
scripts to disk, indicating extraction of potentially
malicious attachments from phishing emails.
references:
- https://attack.mitre.org/techniques/T1204/002/
author: MalwareIntel Research
date: 2026-06-05
tags:
- attack.execution
- attack.t1204.002
logsource:
category: file_event
product: windows
detection:
selection_archiver:
Image|endswith:
- '\WinRAR.exe'
- '\7zG.exe'
- '\7z.exe'
- '\unzip.exe'
selection_target:
TargetFilename|endswith:
- '.exe'
- '.scr'
- '.bat'
- '.cmd'
- '.ps1'
- '.vbs'
- '.js'
- '.wsf'
- '.hta'
- '.dll'
- '.lnk'
condition: selection_archiver and selection_target
falsepositives:
- Legitimate software distribution via ZIP archives
- IT departments distributing tools via archives
level: medium
Reglas YARA para phishing: 4 firmas de archivos
YARA opera sobre archivos, no sobre logs. En el contexto de phishing, YARA inspecciona adjuntos en el email gateway, archivos en cuarentena y muestras subidas a sandbox. Las siguientes reglas cubren los vectores de entrega más comunes en campañas actuales.
1. Macro VBA maliciosa en documento Office
Detecta documentos Office (OLE2) que contienen macros con patrones de descarga o ejecución. Busca strings específicas del VBA que indican comportamiento malicioso: Shell, CreateObject("WScript.Shell"), URLDownloadToFile, PowerShell invocation.
rule Phishing_Maldoc_VBA_Downloader {
meta:
description = "Detects Office documents with VBA macros containing download or execution patterns"
author = "MalwareIntel Research"
date = "2026-06-05"
reference = "https://attack.mitre.org/techniques/T1566/001/"
severity = "high"
tlp = "WHITE"
strings:
$ole_magic = { D0 CF 11 E0 A1 B1 1A E1 }
$vba_marker1 = "Attribute VB_" ascii
$vba_marker2 = "VBAProject" ascii wide
$suspicious1 = "Shell" ascii nocase
$suspicious2 = "WScript.Shell" ascii nocase
$suspicious3 = "Scripting.FileSystemObject" ascii nocase
$suspicious4 = "MSXML2.XMLHTTP" ascii nocase
$suspicious5 = "URLDownloadToFile" ascii nocase
$suspicious6 = "powershell" ascii nocase
$suspicious7 = "cmd.exe" ascii nocase
$suspicious8 = "CreateObject" ascii nocase
$obfuscation1 = "Chr(" ascii nocase
$obfuscation2 = "ChrW(" ascii nocase
$obfuscation3 = "Replace(" ascii nocase
$obfuscation4 = "StrReverse(" ascii nocase
$autoexec1 = "AutoOpen" ascii
$autoexec2 = "Auto_Open" ascii
$autoexec3 = "Document_Open" ascii
$autoexec4 = "Workbook_Open" ascii
condition:
$ole_magic at 0 and
any of ($vba_marker*) and
any of ($autoexec*) and
(2 of ($suspicious*) or (1 of ($suspicious*) and 2 of ($obfuscation*)))
}
2. HTML smuggling: archivo HTML con JavaScript que construye binarios
El archivo .html de smuggling contiene JavaScript que decodifica un payload en base64 y lo presenta como descarga al usuario mediante Blob y URL.createObjectURL. Esta regla detecta esa combinación de patrones.
rule Phishing_HTML_Smuggling {
meta:
description = "Detects HTML files with JavaScript-based payload construction (HTML smuggling)"
author = "MalwareIntel Research"
date = "2026-06-05"
reference = "https://attack.mitre.org/techniques/T1027/006/"
severity = "high"
tlp = "WHITE"
strings:
$html = "<html" ascii nocase
$script = "<script" ascii nocase
$blob1 = "new Blob" ascii
$blob2 = "URL.createObjectURL" ascii
$blob3 = "msSaveOrOpenBlob" ascii
$blob4 = "msSaveBlob" ascii
$decode1 = "atob(" ascii
$decode2 = "btoa(" ascii
$decode3 = "fromCharCode" ascii
$decode4 = "charCodeAt" ascii
$decode5 = "TextDecoder" ascii
$download1 = "download" ascii
$download2 = ".click()" ascii
$download3 = "createElement" ascii
$b64_payload = /[A-Za-z0-9+\/]{500,}={0,2}/ ascii
condition:
$html and $script and
(1 of ($blob*)) and
(1 of ($decode*)) and
(1 of ($download*)) and
$b64_payload
}
3. ISO/IMG con ejecutable embebido
Los archivos .iso se usan como contenedor para evadir MotW. Esta regla detecta archivos ISO que contienen ejecutables PE embebidos.
rule Phishing_ISO_With_PE {
meta:
description = "Detects ISO disk image files containing PE executables, common phishing delivery method"
author = "MalwareIntel Research"
date = "2026-06-05"
reference = "https://attack.mitre.org/techniques/T1553/005/"
severity = "medium"
tlp = "WHITE"
strings:
$iso_magic1 = "CD001" ascii
$iso_magic2 = { 45 52 02 00 00 }
$pe_header = "MZ" ascii
$pe_sig = { 50 45 00 00 }
$lnk_magic = { 4C 00 00 00 01 14 02 00 }
$suspicious_ext1 = ".exe" ascii nocase
$suspicious_ext2 = ".dll" ascii nocase
$suspicious_ext3 = ".bat" ascii nocase
$suspicious_ext4 = ".cmd" ascii nocase
$suspicious_ext5 = ".ps1" ascii nocase
$suspicious_ext6 = ".vbs" ascii nocase
condition:
(1 of ($iso_magic*)) and
($pe_header and $pe_sig) or
($lnk_magic and 1 of ($suspicious_ext*))
}
4. Phishing kit PHP: credential harvesting
Los phishing kits desplegados en servidores comprometidos son archivos PHP que imitan páginas de login y envían las credenciales capturadas por email o a un panel de control. Esta regla detecta los patrones comunes en el código PHP de estos kits.
rule Phishing_Kit_PHP_Credential_Harvester {
meta:
description = "Detects PHP phishing kits with credential harvesting and exfiltration patterns"
author = "MalwareIntel Research"
date = "2026-06-05"
reference = "https://attack.mitre.org/techniques/T1056/003/"
severity = "high"
tlp = "WHITE"
strings:
$php_tag = "<?php" ascii nocase
$harvest1 = "$_POST['password']" ascii nocase
$harvest2 = "$_POST['pass']" ascii nocase
$harvest3 = "$_POST['email']" ascii nocase
$harvest4 = "$_POST['login']" ascii nocase
$harvest5 = "$_POST['username']" ascii nocase
$harvest6 = "$_REQUEST['password']" ascii nocase
$exfil1 = "mail(" ascii
$exfil2 = "file_put_contents" ascii
$exfil3 = "fwrite(" ascii
$exfil4 = "curl_exec" ascii
$exfil5 = "file_get_contents" ascii
$brand1 = "Microsoft" ascii nocase
$brand2 = "Office 365" ascii nocase
$brand3 = "Google" ascii nocase
$brand4 = "PayPal" ascii nocase
$brand5 = "Apple" ascii nocase
$brand6 = "Amazon" ascii nocase
$brand7 = "DHL" ascii nocase
$brand8 = "Netflix" ascii nocase
$antibot1 = "bot" ascii nocase
$antibot2 = "crawler" ascii nocase
$antibot3 = "HTTP_USER_AGENT" ascii
$antibot4 = "blocked" ascii nocase
condition:
$php_tag and
(2 of ($harvest*)) and
(1 of ($exfil*)) and
(1 of ($brand*) or 1 of ($antibot*))
}
Análisis automatizado de URLs: pipeline de 5 pasos
Los analistas SOC reciben URLs sospechosas de múltiples fuentes: emails reportados por usuarios, alertas del gateway, IOC feeds. Analizar cada URL manualmente no escala. Un pipeline automatizado reduce el tiempo de triage de minutos a segundos.
Paso 1: Extracción y normalización
Extraer URLs del cuerpo del email (HTML y texto plano), de adjuntos (.html, .pdf) y de QR codes embebidos. Normalizar: decodificar URL encoding (%20, %3A), resolver acortadores (bit.ly, t.co, tinyurl.com), expandir safe links de Microsoft (safelinks.protection.outlook.com) y Google (google.com/url?q=).
# Pseudocódigo del pipeline de extracción
def extract_urls(email_raw: bytes) -> list[str]:
urls = []
urls += extract_from_html_body(email_raw)
urls += extract_from_text_body(email_raw)
urls += extract_from_attachments(email_raw) # PDF, HTML, DOCX
urls += extract_from_qr_codes(email_raw) # QR en imágenes adjuntas
return [normalize_url(u) for u in deduplicate(urls)]
Paso 2: Expandir redirects
Seguir la cadena de redirects sin ejecutar JavaScript, registrando cada hop. Límite: 10 redirects. Timeout: 5 segundos por hop. User-Agent: uno genérico (no de bot). Registrar código HTTP de cada salto y dominio final.
Paso 3: Comprobar reputación
Consultar en paralelo: Google Safe Browsing API, VirusTotal URL scan, PhishTank API, listas internas de dominios bloqueados. Si cualquier fuente clasifica la URL como maliciosa, marcar como confirmed. Si ninguna la conoce pero el dominio tiene menos de 30 días de antigüedad (consulta WHOIS), marcar como suspicious.
Paso 4: Screenshot y captura DOM
Enviar la URL final (después de redirects) a URLScan.io o a un navegador headless interno (Playwright en sandbox). Capturar: screenshot de la página renderizada, DOM completo, JavaScript cargado, formularios con campos de tipo password, logos y marcas comerciales detectadas. No introducir datos en ningún formulario.
Paso 5: Clasificar y actuar
Aplicar reglas de clasificación:
| Señal | Peso | Descripción |
|---|---|---|
| Dominio en blocklist | Confirmado | Match en Safe Browsing, PhishTank o VT |
| Dominio < 30 días | Alto | Recién registrado, sin historial |
| Formulario login + marca | Alto | Página que imita login de marca conocida |
| SSL Let's Encrypt + dominio sospechoso | Medio | Patrón frecuente en phishing |
| Redirect chain > 3 hops | Medio | Evasión de inspección |
| Typosquatting detectado | Alto | Dominio similar a marca (Levenshtein < 3) |
| Sin hallazgos | Bajo | Pendiente de monitorización |
Herramientas open source para análisis de phishing
| Herramienta | Tipo | Uso principal | URL |
|---|---|---|---|
| URLScan.io | SaaS (free tier) | Screenshot, DOM, network, verdicts | urlscan.io |
| PhishTank | Base de datos comunitaria | Verificar si una URL está reportada como phishing | phishtank.org |
| OpenPhish | Feed de IOCs | Lista actualizada de URLs de phishing activas | openphish.com |
| Phishing Catcher | Herramienta local (Python) | Monitoriza Certificate Transparency logs para detectar dominios sospechosos recién emitidos | github.com/x0rz/phishing_catcher |
| PhishDetect | Framework de análisis | Analiza URLs y páginas web buscando indicadores de phishing | phishdetect.io |
| CyberChef | Decodificador multi-propósito | Decodificar base64, URL encoding, redirect chains, defang IOCs | gchq.github.io/CyberChef |
| GoPhish | Plataforma de simulación | Campañas de phishing interno para medir awareness (no detección, sino prevención) | getgophish.com |
| ThePhish | Automatización de triage | Pipeline automatizado que integra MISP, VirusTotal y análisis de emails reportados | github.com/emalderson/ThePhish |
Integración en el SOC: workflow operativo
Un workflow de detección de phishing en el SOC integra las tres capas (Sigma, YARA, URL analysis) en un flujo coherente desde la alerta hasta el bloqueo.
Fase 1: Alerta
La alerta llega de una de estas fuentes: regla Sigma en el SIEM (Office spawning cmd.exe), sandbox del gateway (adjunto .html con JS sospechoso), usuario reporta email (botón Report Phish en Outlook), o feed externo (PhishTank, OpenPhish).
Fase 2: Triage automatizado
El playbook automático (SOAR o n8n) ejecuta en paralelo: extraer IOCs del email (URLs, hashes de adjuntos, IPs de headers), consultar reputación de cada IOC, escanear adjuntos con reglas YARA, expandir URLs y capturar screenshot. Tiempo objetivo: menos de 60 segundos.
Fase 3: Análisis del analista
El analista N2 revisa: screenshot de la URL final (busca imitación de marca), headers del email (SPF/DKIM/DMARC), cadena de infección completa (email a ejecución), mapeo ATT&CK de las técnicas observadas. Clasifica: phishing confirmado, sospechoso (requiere más datos), o falso positivo.
Fase 4: Bloqueo y contención
Para phishing confirmado: bloquear dominio y URL en proxy/DNS, bloquear hash del adjunto en EDR, eliminar email de todos los buzones (clawback), bloquear remitente en gateway. Si hubo ejecución de payload: aislar endpoint, iniciar incident response.
Fase 5: Reporte e inteligencia
Documentar: IOCs extraídos (URLs, hashes, IPs), técnicas ATT&CK observadas, actor atribuido (si es posible), reglas Sigma/YARA creadas o actualizadas. Compartir IOCs con la comunidad (MISP event, PhishTank submission). Actualizar playbook si el vector de entrega era nuevo.
┌──────────┐ ┌────────────────┐ ┌───────────────┐
│ Alerta │───→│ Triage Auto │───→│ Análisis N2 │
│ (Sigma, │ │ (IOCs, YARA, │ │ (Headers, │
│ Gateway,│ │ URL pipeline, │ │ screenshot, │
│ User) │ │ reputación) │ │ ATT&CK map) │
└──────────┘ └────────────────┘ └───────┬───────┘
│
┌────────────────────────┬┘
▼ ▼
┌──────────────┐ ┌───────────────────┐
│ Falso │ │ Confirmado │
│ Positivo │ │ ┌─ Block dominio │
│ → Tune rule │ │ ├─ Block hash │
└──────────────┘ │ ├─ Clawback email │
│ ├─ Aislar endpoint │
│ └─ Report + IOCs │
└───────────────────┘
Métricas de detección de phishing
Un programa de detección de phishing necesita métricas para evaluar su efectividad y justificar inversión. Las siguientes métricas cubren las tres dimensiones: velocidad, cobertura y precisión.
Tiempo medio de detección (MTTD). Desde que el email llega al buzón hasta que se genera la primera alerta. Objetivo: menos de 5 minutos para phishing con adjunto ejecutable, menos de 15 minutos para phishing con URL.
Tiempo medio de contención (MTTC). Desde la alerta hasta que el dominio/hash está bloqueado y el email eliminado de buzones. Objetivo: menos de 30 minutos.
Tasa de click-through reportado. Porcentaje de usuarios que reportan el email antes de hacer clic vs. los que hacen clic. Mide la efectividad del awareness training.
Falsos positivos por regla. Número de alertas falsas por cada regla Sigma/YARA en los últimos 30 días. Reglas con FP > 10/día requieren tuning o desactivación.
Cobertura ATT&CK. Porcentaje de técnicas de phishing cubiertas por al menos una regla (T1566.001 Spearphishing Attachment, T1566.002 Spearphishing Link, T1566.003 Spearphishing via Service, T1566.004 Spearphishing Voice). Objetivo: 100% de las subtécnicas de T1566.
Tasa de evasión. Porcentaje de phishing confirmado que no generó alerta en ninguna capa. Se mide retrospectivamente cuando un incidente revela phishing no detectado. Objetivo: menos del 5%.
Recursos y referencias
Repositorios de reglas:
- SigmaHQ (github.com/SigmaHQ/sigma): repositorio oficial con 3.000+ reglas, incluida la categoría de initial access donde viven las reglas de phishing
- YARA-Rules (github.com/Yara-Rules/rules): colección comunitaria de reglas YARA organizadas por categoría (maldocs, email, webshells)
- Elastic Detection Rules (github.com/elastic/detection-rules): reglas de detección de Elastic con mapeo ATT&CK, varias cubren vectores de phishing
Feeds de inteligencia de phishing:
- PhishTank (phishtank.org): base de datos comunitaria de URLs de phishing verificadas, API gratuita
- OpenPhish (openphish.com): feed de URLs de phishing, versión community con datos de las últimas 12 horas
- APWG eCrime Database: base de datos del Anti-Phishing Working Group (requiere membresía)
Herramientas de análisis:
- URLScan.io: análisis visual y técnico de URLs, API gratuita con límite de 100 scans/día
- CyberChef (gchq.github.io/CyberChef): herramienta de transformación de datos para decodificar payloads, URL encoding y base64
- oletools (github.com/decalage2/oletools): suite Python para analizar documentos OLE/Office, extraer macros VBA y detectar indicadores de malware
Documentación ATT&CK:
- T1566 Phishing: attack.mitre.org/techniques/T1566/
- T1204 User Execution: attack.mitre.org/techniques/T1204/
- T1027.006 HTML Smuggling: attack.mitre.org/techniques/T1027/006/
- T1553.005 Mark-of-the-Web Bypass: attack.mitre.org/techniques/T1553/005/
Preguntas frecuentes
Artículos relacionados
Reglas Sigma: Sintaxis, Estructura y Tu Primer Caso Práctico
Reglas YARA: Anatomía, Patrones y Tu Primera Regla de Detección
Anatomía de un Email de Phishing: Headers, SPF, DKIM, DMARC y Red Flags
Phishing Kits: Análisis de Infraestructura, Evasión y Phishing-as-a-Service
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.