File Editor Access/Modification
ID de alerta: file_editor_used
MITRE ATT&CK: T1055 – Process Injection · T1059 – Command and Scripting Interpreter
Severidad / Criticidad
Sección titulada «Severidad / Criticidad»| Nivel | Condición |
|---|---|
| Baja | Acceso al editor (cooldown de 15 minutos) |
| Media | Modificación de archivos CSS/JS (posible defacement) |
| Crítica | Modificación de archivos PHP (posible RCE) |
¿Por qué se considera maliciosa?
Sección titulada «¿Por qué se considera maliciosa?»- Los editores de temas/plugins permiten RCE inmediata mediante modificaciones PHP.
- Permite inyección de backdoors sin subida de archivos.
- Facilita alteraciones en archivos core para persistencia.
- Habilita defacement mediante manipulación de CSS/JS.
- No existe justificación legítima de seguridad para editar código directamente en producción.
- Es un anti-patrón de seguridad; debe deshabilitarse en entornos de producción.
¿Cuándo salta la alerta?
Sección titulada «¿Cuándo salta la alerta?»- Acceso al editor:
theme-editor.phpoplugin-editor.php(severidad baja, cooldown 15 min). - Modificación de archivo detectada:
POSTconnewcontent(severidad según extensión). - Análisis de contenido: presencia de funciones de ejecución peligrosas (
eval,system,exec,base64_decode). - Funciones peligrosas detectadas:
file_get_contents(),include(),require(). - Parámetros de request sospechosos: superglobales PHP con entrada controlada por el atacante (
POST,GET,REQUEST).
Indicadores Técnicos (IOCs)
Sección titulada «Indicadores Técnicos (IOCs)»En los patrones siguientes, <request-param> representa cualquier acceso a una superglobal de request controlada por el atacante (por ejemplo un acceso a los arrays POST, GET o REQUEST):
| Tipo | Patrón/Ejemplo |
|---|---|
file_pattern | eval(base64_decode(<request-param>)); |
file_pattern | @assert(<request-param>); |
file_pattern | create_function('', <request-param>); |
file_pattern | add_action('init', 'malicious_function'); |
behavior | Acceso a theme-editor.php o plugin-editor.php |
behavior | Cambios en archivos PHP fuera de despliegues planificados |
Falsos positivos comunes
Sección titulada «Falsos positivos comunes»- Desarrolladores realizando hotfixes de emergencia (aun así, mala práctica).
- Diseñadores editando CSS en producción.
- Plugins legítimos que actualizan plantillas a través del editor.
Pasos de investigación
Sección titulada «Pasos de investigación»- Confirmar identidad del usuario que editó y revisar los logs de acción.
- Comparar el archivo modificado con backups o control de versiones.
- Buscar código ofuscado o funciones peligrosas añadidas.
- Construir una línea de tiempo: timestamp, IP, número de archivos modificados y correlación con despliegues.
- Revisar logs de acceso para requests dirigidas a los archivos modificados.
Mitigaciones recomendadas
Sección titulada «Mitigaciones recomendadas»Inmediatas
Sección titulada «Inmediatas»Preventivas
Sección titulada «Preventivas»Referencias
Sección titulada «Referencias»- WordPress Hardening Guide
- OWASP Code Injection Guidance