WP Auditory analiza vulnerabilidades técnicas, errores de configuración, exposición de datos y riesgos estructurales que podrían comprometer la seguridad, la reputación y la funcionalidad de un sitio web. A continuación, se presentan los principales problemas que se pueden identificar:
Los archivos como wp-config.php, .env o copias de seguridad (.zip, .sql) son de acceso público.
Configuraciones de servidor que no bloquean el acceso directo a estos archivos.
Riesgo de ataque: Fuga de credenciales de bases de datos, claves secretas y código fuente, lo que permite el control total del sitio (intrusión, robo de datos).
Sin un parche, un atacante puede descargar estos archivos y comprometer todo el sistema, lo que puede provocar pérdida de datos, desfiguración o ransomware. Se trata de una vulnerabilidad básica y común explotada por bots automatizados.
El servidor muestra el contenido de las carpetas (por ejemplo, /wp-content/uploads/) cuando no hay ningún archivo de índice.
Configuración del servidor por defecto sin bloqueo (Opciones + Índices en Apache).
Enumeración de archivos sensibles, copias de seguridad o configuraciones ocultas, lo que facilita ataques dirigidos.
Revela la estructura del sitio, lo que permite a los hackers encontrar vulnerabilidades que explotar (por ejemplo, cargas de shell mediante directorios expuestos). Es una puerta abierta para el reconocimiento.
La carpeta .git (que contiene el historial del código) es de acceso público.
Implementación incorrecta o falta de bloqueo del servidor.
Riesgo de ataque: Descarga completa del código fuente, incluyendo contraseñas codificadas, claves API y confirmaciones antiguas.
Expone todo el código del sitio web, lo que permite la ingeniería inversa y exploits personalizados. Esto puede provocar filtraciones de datos confidenciales o puertas traseras.
Existe una falta de protección contra la carga del sitio en un iframe desde otro dominio.
Encabezados de seguridad no configurados en el servidor.
Riesgo de ataque: Clickjacking (superposición de iframes para robar clics, como inicios de sesión o pagos).
Protege a los usuarios del phishing avanzado, en el que se utiliza el sitio web real para engañar a los usuarios. Es una medida básica contra la vulneración de la interfaz de usuario.
No obliga al navegador a utilizar únicamente HTTPS para futuras conexiones.
Encabezado no añadido al servidor HTTPS.
Riesgo de ataque de hackers: Ataques de degradación (obligando a HTTP a interceptar el tráfico en redes Wi-Fi públicas).
Asegura que el tráfico permanezca encriptado, previniendo ataques del tipo «man-in-the-middle» (MITM) y el robo de datos confidenciales como contraseñas.
No impide que el navegador adivine el tipo de archivo (rastreo MIME).
Encabezado no configurado.
Riesgo de ataque de hackers: Ataques XSS mediante archivos subidos que se malinterpretan (por ejemplo, una imagen como script).
Previene la explotación de cargas maliciosas, reduciendo el riesgo de inyección de código en los navegadores.
No controla el envío de información de origen (referrers) a otros sitios web.
Encabezado predeterminado no definido.
Riesgo de ataque de hackers: Filtración de URL sensibles (p. ej., que contienen tokens) a terceros.
Protege la privacidad y evita el seguimiento o la explotación de enlaces internos filtrados.
No define reglas para cargar recursos (scripts, estilos) ni permite elementos ‘unsafe-inline’.
Encabezado no implementado o mal configurado.
Alta exposición a XSS (inyección de scripts maliciosos).
Reduce drásticamente los ataques de inyección, protegiendo a los usuarios del robo de datos a través de JavaScript malicioso.
El servidor de encabezado revela el nombre/versión del servidor (por ejemplo, Apache/2.4).
Configuración predeterminada del servidor.
Facilita exploits conocidos para versiones específicas.
Reduce las huellas dactilares, lo que hace más difícil para los piratas informáticos elegir ataques específicos.
El servidor permite métodos como TRACE o PUT además de GET/POST.
Configuración predeterminada sin restricciones.
Fuga de encabezados (TRACE) o carga maliciosa (PUT).
Evita el uso excesivo de métodos innecesarios, reduciendo la superficie de ataque.
Las metaetiquetas o cadenas de consulta revelan la versión de WordPress.
Funcionalidad estándar de WP.
Ataques dirigidos a vulnerabilidades conocidas en esa versión.
Esto dificulta el reconocimiento y da tiempo para actualizar el WP sin convertirse en un objetivo inmediato.
La API REST expone a usuarios no autenticados.
La API REST de WP está habilitada de forma predeterminada.
Ataques de fuerza bruta en inicios de sesión reales (por ejemplo, administrador).
Protege contra ataques automatizados de credenciales, reduciendo el riesgo de intrusión.
El punto final xmlrpc.php permite llamadas remotas.
Habilitado por defecto en WordPress.
Fuerza bruta masiva y DDoS vía pingback.
Cierra una puerta de entrada común para ataques amplificados, mejorando el rendimiento y la seguridad.
Archivos WP estándar accesibles, versión reveladora.
No se elimina ni se bloquea después de la instalación.
Facilita la identificación de versiones vulnerables.
Reduce las huellas dactilares en WP, lo que dificulta los escáneres automáticos.
Tráfico enviado sin cifrado.
Certificado SSL no instalado o configurado.
Interceptación de datos (contraseñas, cookies) vía MITM.
Protege los datos en tránsito, mejora el SEO y evita las advertencias del navegador.
Los usuarios pueden acceder a través de HTTP sin redirección.
Falta regla de reescritura.
Cambiar a HTTP inseguro.
Garantiza el cifrado en todo momento, evitando ataques MITM en redes públicas.
Los parámetros de URL redirigen a sitios web externos arbitrarios.
Validación débil en códigos de redirección.
Phishing o robo de tokens mediante redirecciones maliciosas.
Evita que el sitio se utilice como vector para estafas o ataques de credenciales.
El servidor responde al TRACE haciendo eco de los encabezados.
Configuración predeterminada sin deshabilitar.
Fuga de cookies mediante XST (Cross-Site Tracing).
Fecha brecha para roubo de dados protegidos (HttpOnly cookies).
Permite un amplio acceso entre orígenes con credenciales.
Los encabezados CORS están configurados incorrectamente.
Robo de datos a través de JavaScript desde otros sitios web.
Protege las API y los datos confidenciales contra lecturas no autorizadas.
Sin FPS o sin -todo (falla total).
DNS no configurado para correos electrónicos.
Suplantación de correo electrónico (correos electrónicos de phishing que simulan provenir de su propio dominio).
Previene el abuso del dominio para spam/phishing, mejorando la capacidad de entrega y el cumplimiento de LGPD.
Sin DMARC o con p=ninguno/cuarentena (no rechaza).
Falta de configuración avanzada de DNS.
Correos electrónicos falsos enviados pretendiendo ser suyos.
Bloquea la suplantación de identidad, protegiendo la reputación y a los usuarios del fraude.
No hay firma digital para correos electrónicos.
Proveedor de correo electrónico no configurado.
Correos electrónicos alterados en tránsito sin detección.
Garantiza la integridad de los correos electrónicos, reduciendo el spam y la suplantación de identidad.
Archivos o directorios con permisos excesivos (por ejemplo, 777, 666).
Implementación manual, alojamiento compartido mal configurado.
Permite escritura no autorizada → puerta trasera o carga webshell.
Los permisos incorrectos facilitan que se modifique maliciosamente el código.
Área administrativa de acceso público sin capa adicional.
Fuerza bruta dirigida.
Incluso con una contraseña segura, reduce los ataques automatizados.
No controla funciones como la cámara, el micrófono o la geolocalización.
Abuso de las API de los navegadores modernos.
Cookies sin Secure, HttpOnly y SameSite.
Secuestro de sesión mediante XSS o MITM.
/wp-json/
Rutas personalizadas
Complementos que exponen puntos finales inseguros
Exposición de datos confidenciales a través de puntos finales personalizados.
wp-cron.php es accesible externamente.
Abuso para sobrecargar el servidor.
El servidor ejecuta archivos .php dentro de /uploads.
Webshell remoto.
/respaldo/
/viejo/
/desarrollador/
/prueba/
Los bots buscan estas carpetas.
Subdominio que apunta a un servicio inexistente (por ejemplo, el antiguo Heroku).
El delantero registra el servicio y se hace cargo del subdominio.
Los servidores DNS no están protegidos contra la suplantación de identidad.
Secuestro de dominio.
El servidor acepta solicitudes ilimitadas.
Ataques de fuerza bruta y DDoS leves.
Las páginas iniciadas se almacenan en la caché pública.
Fuga de sesión.
Se puede acceder al archivo phpinfo.php.
Exposición completa de la configuración del servidor.
El servidor acepta TLS 1.0 o 1.1.
Ataques de degradación y cifrado débil.
Cifras inseguras habilitadas.
Ataques de descifrado.
Certificado con menos de 15 días restantes.
Site cai inesperadamente.
Carga de páginas HTTPS de recursos HTTP.
MITM a través de activos inseguros.
El sitio tiene un usuario con el nombre de inicio de sesión «admin», que es el nombre de usuario predeterminado de WordPress en instalaciones anteriores.
Facilita los ataques de fuerza bruta y el robo de credenciales, ya que el atacante ya conoce la mitad de las credenciales (el inicio de sesión). Los bots automatizados prueban miles de combinaciones, comenzando por el usuario «admin».
Reduce significativamente los ataques automatizados. Cuando el inicio de sesión es predecible, basta con descifrar la contraseña. Cambiar el usuario elimina un vector común explotado por los escáneres masivos.
Usuarios con contraseñas débiles (por ejemplo, 123456, admin123, nombre+año).
Los ataques de diccionario y el robo de credenciales pueden generar acceso rápidamente, especialmente cuando se combinan con violaciones de datos anteriores.
Incluso con firewalls y medidas de seguridad, las contraseñas débiles son el principal vector de intrusiones en WordPress. La mayoría de los sitios web pirateados se deben a credenciales débiles, no a fallos técnicos avanzados.
Complemento instalado sin actualización durante más de 2 años o eliminado del repositorio oficial.
Las vulnerabilidades conocidas pueden explotarse públicamente. Los exploits automatizados suelen tener como objetivo complementos descontinuados.
Los plugins abandonados no reciben parches de seguridad. Mantener un plugin así es como dejar una puerta permanentemente abierta a futuras intrusiones.
Temas instalados, pero no activos.
Incluso desactivado, los archivos permanecen accesibles en el servidor. Las vulnerabilidades del tema pueden explotarse directamente mediante URL.
Reduce la superficie de ataque. Si no se utiliza, no debe permanecer en el entorno de producción.
Modo de depuración habilitado en un entorno público.
Visualización de mensajes de error con:
Rutas absolutas
Consultas SQL
Estructura interna del sistema
Información del complemento
Facilita la ingeniería inversa y la explotación dirigida. La información privilegiada ayuda al atacante a identificar vulnerabilidades con precisión.
Los errores de PHP revelan la ruta completa del servidor.
Ayuda a crear cargas útiles personalizadas, explorar LFI (inclusión de archivos locales) y otras técnicas avanzadas.
Reduce las huellas dactilares y evita que los atacantes obtengan información interna sobre el entorno.
Las tablas utilizan el prefijo estándar wp_.
Facilita scripts de inyección SQL automatizados que asumen nombres de tabla predeterminados.
No evita SQLi, pero dificulta los ataques automatizados masivos que dependen de estructuras predecibles.
Usuario del banco con permisos como GRANT ALL o acceso administrativo completo.
Si hay una inyección SQL, el atacante puede:
Crear nuevos usuarios
Borrar base de datos
Realizar operaciones destructivas
La aplicación del principio del mínimo privilegio limita el impacto de un posible fallo.
Puerta 3306 abierta para acceso externo.
Intentos de fuerza bruta dirigidos directamente a MySQL o explotando vulnerabilidades del servicio.
La base de datos sólo debe aceptar conexiones locales o a través de una dirección IP restringida.
Ausencia de una capa de filtrado entre el visitante y el servidor.
Ataques como:
Inyección SQL
XSS
Explotaciones automatizadas
DDoS leve
WAF bloquea los ataques antes de que lleguen a WordPress, lo que reduce drásticamente el riesgo y la carga del servidor.
El sistema acepta intentos de inicio de sesión ilimitados.
Ataque masivo de fuerza bruta hasta que se encuentre la contraseña correcta.
Limitar los intentos evita que los ataques automatizados prueben miles de combinaciones.
El inicio de sesión depende únicamente de la contraseña.
Si se filtra la contraseña, el acceso es inmediato.
2FA agrega una capa adicional y bloquea intrusiones incluso con una contraseña comprometida.
Los parámetros de URL se muestran sin desinfección.
Ejecución de scripts maliciosos en el navegador de la víctima, que pueden robar cookies o redirigir a sitios de phishing.
Protege a los usuarios contra el secuestro de sesiones y la manipulación de contenido.
Entradas de usuario no validadas antes de consultar la base de datos.
Extraer o modificar datos de la base de datos.
La inyección SQL es una de las vulnerabilidades más críticas según OWASP y puede comprometer completamente un sitio web.
La dirección IP real del servidor se descubre fácilmente.
Evitar firewalls CDN y ataques directos al servidor.
Ocultar su dirección IP le protege contra ataques directos y ataques DDoS.
cPanel, Plesk o un panel de acceso público.
Fuerza bruta administrativa.
El panel es un puerto crítico: debe tener una dirección IP restringida o 2FA obligatoria.
Puerto 22 abierto sin límite de velocidad o fail2ban.
Ataque de fuerza bruta a las credenciales SSH.
SSH comprometido significa control completo del servidor.
No hay sistema para detectar cambios de archivos.
Las puertas traseras pueden permanecer ocultas durante meses.
Permite la detección rápida de intrusiones.
Copias de seguridad manuales o ninguna copia de seguridad.
El ransomware o una falla técnica pueden causar una pérdida total.
La copia de seguridad es la última línea de defensa.
Registros no almacenados ni analizados.
Los registros permiten la auditoría, la investigación y el cumplimiento de la LGPD (Ley General de Protección de Datos de Brasil).
Scripts externos cargados sin verificación de hash.
Si la CDN se ve comprometida, se ejecuta un script malicioso.
SRI garantiza la integridad del recurso cargado.
Encabezados de aislamiento de contexto modernos.
Posibilidad de ataques avanzados de origen cruzado.
Mejora el aislamiento y la seguridad en aplicaciones modernas.
Enlaces externos abiertos con target=»_blank» sin protección.
La página externa puede alterar la pestaña original.
Protege a los usuarios contra el phishing indirecto.
HSTS está activo, pero no está incluido en la lista de precarga global.
El acceso inicial puede ocurrir a través de HTTP.
Garantiza HTTPS incluso antes de la primera conexión.
Los encabezados permiten el almacenamiento en caché público de contenido confidencial.
Los datos privados pueden almacenarse de forma incorrecta.
Evita fugas de datos a través de proxy/caché.
Puntos finales AJAX o REST expuestos sin autenticación.
Extracción de datos o ejecución de acciones indebidas.
Cada API debe requerir autenticación y validación adecuadas.
⚠️ La presencia de uno o más de estos problemas puede poner el sitio web en riesgo de piratería informática, fugas de datos, pérdida de ventas o sanciones legales. WP Auditory identifica estas fallas y ofrece soluciones especializadas.