============================================================================== DOS ALERTAS CRÍTICAS DE WORDPRESS EN QUINCE DÍAS, Y UN SITIO CHILENO YA SIRVIENDO PHISHING ============================================================================== Fuente: https://www.vantis.cl/noticias/wordpress-dos-alertas-criticas-quince-dias-chile Publicado: 2026-08-03 (hora de Chile) Ambito: chile · Criticidad: critica Descargado: 2026-10-12 07:00 (hora de Chile) COMO USAR ESTE ARCHIVO ---------------------- La regla SIGMA es la canonica: es el formato neutral del que se derivan las demas. Si tu SIEM no aparece aca, convierte esa con pySigma. Las traducciones a motores concretos se incluyen por conveniencia y ESTAN SIN VALIDAR CONTRA TU MODELO DE DATOS. Revisa los nombres de tabla, indice y campo antes de ponerlas en produccion. Una regla que no dispara por un campo mal escrito es peor que no tener regla. QUE NECESITAS TENER LOGUEADO ---------------------------- · Registros de acceso del servidor web, con URI completa y cabeceras de cookie · Eventos de archivo del EDR sobre el directorio del sitio, o monitoreo de integridad · Tabla de usuarios de WordPress, revisada contra el listado real del equipo · Registros del WAF si existe, para ver intentos bloqueados que indican interés en tu sitio ============================================================================== REGLA 1 de 3 · SIGMA (canonica, neutral) Abuso de la API de lotes y PHP en directorios de subida ============================================================================== Requiere: Registros del servidor web normalizados, con cs-uri-stem y cs-cookie title: Indicios de compromiso en instalaciones WordPress id: 9d4a2f18-6c73-4b90-a1e5-8f3d7b201c64 status: experimental description: > Cubre las dos rutas de abuso descritas en AVC26-00724 y AVC26-00726 de la ANCI: peticiones sin autenticar al endpoint de lotes de la API REST, y creacion de archivos PHP dentro de wp-content, que es como se persiste una web shell. references: - https://www.anci.gob.cl/alertas/ author: Vantis Chile SpA date: 2026/08/03 logsource: category: webserver detection: api_lotes: cs-uri-stem|contains: '/wp-json/batch/v1' sin_sesion: cs-cookie|contains: 'wordpress_logged_in' php_en_uploads: cs-uri-stem|contains: '/wp-content/uploads/' cs-uri-stem|endswith: '.php' condition: (api_lotes and not sin_sesion) or php_en_uploads falsepositives: - El endpoint de lotes tiene uso legitimo desde el propio panel de administracion. Filtrar por origen antes de bloquear; alertar primero, bloquear despues. - Ningun PHP deberia servirse jamas desde uploads. Ahi no hay falso positivo posible. level: high tags: - attack.initial_access - attack.t1190 - attack.persistence - attack.t1505.003 ============================================================================== REGLA 2 de 3 · MICROSOFT SENTINEL - KQL PHP nuevo en wp-content y procesos desde ahí ============================================================================== Requiere: Defender for Endpoint instalado en el servidor que aloja el sitio // Ejecucion de PHP desde directorios de subida y altas de administrador en WordPress let ventana = 45d; union isfuzzy=true (DeviceProcessEvents | where Timestamp > ago(ventana) | where InitiatingProcessFileName in~ ("php-fpm","php","httpd","apache2","nginx") | where ProcessCommandLine has "wp-content" | project Timestamp, DeviceName, Senal="proceso desde wp-content", Detalle=ProcessCommandLine), (DeviceFileEvents | where Timestamp > ago(ventana) | where FolderPath has "wp-content" and FileName endswith ".php" | where ActionType in ("FileCreated","FileModified") | project Timestamp, DeviceName, Senal="PHP nuevo en wp-content", Detalle=FolderPath) | order by Timestamp desc ============================================================================== REGLA 3 de 3 · WAZUH / VERIFICACION EN HOST Verificación de compromiso directa en el servidor ============================================================================== Requiere: Acceso al servidor y, para los tres últimos comandos, WP-CLI instalado # Ejecutar en el servidor del sitio. No borra nada: solo enumera para revision. # 1. PHP creado o modificado en los ultimos 45 dias dentro de wp-content find /var/www -path '*/wp-content/*' -name '*.php' -mtime -45 -printf '%TY-%Tm-%Td %p\n' | sort # 2. PHP dentro de uploads: no existe razon legitima para que haya uno find /var/www -path '*/wp-content/uploads/*' -name '*.php' -ls # 3. Administradores dados de alta, ordenados por fecha de registro wp user list --role=administrator --fields=ID,user_login,user_email,user_registered --allow-root # 4. Version instalada frente a las parchadas por la ANCI (6.8.6 / 6.9.5 / 7.0.2) wp core version --allow-root # 5. Plugins con actualizacion pendiente, que es donde suele estar el agujero real wp plugin list --update=available --allow-root ============================================================================== FALSOS POSITIVOS ESPERABLES ============================================================================== El endpoint /wp-json/batch/v1 tiene uso legítimo desde el propio panel de administración: por eso la regla exige ausencia de cookie de sesión. Filtra además por las IP desde las que administra tu equipo. La detección de PHP en wp-content/uploads no tiene falso positivo posible: ningún proceso legítimo de WordPress escribe código ejecutable en el directorio de subidas. Si aparece uno, es un hallazgo, no una alerta a calibrar. ============================================================================== Vantis Chile SpA · https://www.vantis.cl/noticias Analisis con fines defensivos. Reutilizable citando la fuente. ==============================================================================