Más del 40% de la web está impulsada por WordPress. Pero esto convierte a este popular CMS en un objetivo atractivo para los hackers.

Así que si administras un sitio de WordPress, necesitarás asegurarte de que esté seguro. Y esto no es solo una tarea técnica, sino que también es una responsabilidad clave desde varios puntos de vista, como la reputación de la marca, las violaciones de datos y la continuidad del negocio.

Una herramienta que destaca en el ecosistema de WordPress es WPScan. Es un escáner de seguridad que está diseñado específicamente para WordPress. Viene con una licencia gratuita y una de pago, según tus necesidades. También está preinstalado en las distribuciones de Kali Linux.

Así que, ya seas un administrador de sitios experimentado o un propietario de sitio que busca mejorar la seguridad de su página, WPScan puede ayudarte a identificar vulnerabilidades antes de que los atacantes las exploten.

Antes de continuar, una cosa muy importante: el propósito de este artículo es ayudar a individuos y organizaciones a fortalecer la seguridad de sus sitios de WordPress utilizando WPScan de manera efectiva.

Si bien esta herramienta es increíblemente poderosa para identificar vulnerabilidades, es importante enfatizar que cualquier uso no autorizado de WPScan, como escanear sitios web sin el permiso adecuado, no solo es poco ético sino también ilegal.

Mi objetivo al compartir esta información es empoderar a los administradores de sitios y desarrolladores para asegurar proactivamente sus páginas, proteger sus datos y crear un entorno en línea más seguro para todos.

Lo que cubriremos:

  1. ¿Qué es WPScan?

  2. Cómo Escanear tu Sitio de WordPress Usando WPScan

  3. Qué Hacer con los Resultados de WPScan

  4. Limitaciones de WPScan

  5. Mejores Prácticas para Usar WPScan

  6. Cómo Monitorear los Resultados de Manera Efectiva

  7. Conclusión

¿Qué es WPScan?

WPScan es una herramienta de línea de comandos que te ayuda a identificar vulnerabilidades potenciales en tu instalación de WordPress. Es como un guardia de seguridad para tu sitio web, vigilando complementos desactualizados, configuraciones incorrectas y otros problemas comunes.

Lo que hace que WPScan sea único es su enfoque en WordPress. Utiliza una base de datos mantenida por expertos en seguridad, que se actualiza regularmente para rastrear miles de vulnerabilidades conocidas en el núcleo de WordPress, complementos y temas.

¿Qué Puede Hacer WPScan?

Aquí hay solo algunas cosas con las que WPScan puede ayudarte:

  • Detectar versiones del núcleo de WordPress desactualizadas.

  • Identificar vulnerabilidades en complementos y temas.

  • Enumerar usuarios (por ejemplo, descubrir nombres de usuario).

  • Probar contraseñas débiles (usando un ataque de diccionario).

  • Encontrar archivos sensibles expuestos (como copias de seguridad o registros de depuración).

Veamos ahora los comandos más comunes que puedes usar.

Cómo Escanear Tu Sitio de WordPress Usando WPScan

1. Escaneo Básico

Un escaneo básico proporciona una visión general de la seguridad de tu sitio de WordPress al identificar vulnerabilidades clave o configuraciones incorrectas. Puede detectar la versión principal de WordPress y marcarla si está desactualizada, resaltando posibles riesgos como la inyección SQL o vulnerabilidades de scripting entre sitios (XSS) asociadas con versiones antiguas.

El escaneo también puede revelar archivos de respaldo accesibles públicamente (por ejemplo, .sql o .zip) o archivos de depuración como debug.log, que podrían exponer información sensible como credenciales de base de datos o rutas de servidor.

Puede marcar encabezados de seguridad HTTP faltantes o configurados incorrectamente, como Strict-Transport-Security (HSTS) o Content-Security-Policy (CSP), que son críticos para protegerse contra ataques de degradación de protocolo y ejecución de scripts no autorizada.

Los directorios abiertos que exponen la estructura de archivos de tu sitio y posiblemente complementos o temas vulnerables también pueden ser marcados si se identifican en metadatos públicos.

Estos hallazgos proporcionan un punto de partida para abordar las brechas de seguridad fundamentales.

wpscan --url http://yourwebsite.com

Esto es lo que verás en tu terminal cuando ejecutes este comando:

2. Enumeración de Usuarios

La enumeración de usuarios es un proceso de identificación de nombres de usuario en tu sitio de WordPress. Conocer estos nombres de usuario puede ayudar a los atacantes a dirigirse a cuentas específicas para ataques de fuerza bruta.

Para enumerar usuarios, ejecuta:

wpscan --url http://yourwebsite.com --enumerate u

La salida mostrará los nombres de usuario:

Si encuentras nombres de usuario predeterminados como admin, deberías reemplazarlos por algo único y seguro.

Aquí tienes algunas prácticas recomendadas para nombres de usuario:

  • Avoida nombres predeterminados: Reemplaza nombres de usuario predeterminados como admin o user por algo único y difícil de adivinar.

  • Renombra nombres de usuario vulnerables: Para cambiar un nombre de usuario, puedes crear un nuevo usuario con privilegios de administrador, transferir la propiedad de publicaciones o contenido y luego eliminar el antiguo usuario.

  • Usa nombres de usuario basados en roles con precaución: Evita nombrar cuentas según sus roles (por ejemplo, editor, manager), ya que pueden ser objetivos fáciles.

  • Implementa bloqueos de inicio de sesión: Combina nombres de usuario seguros con complementos que bloquean las cuentas después de varios intentos fallidos de inicio de sesión.

  • Activa la Autenticación de Dos Factores (2FA): Agregar 2FA garantiza que incluso si se adivina un nombre de usuario, la cuenta permanezca segura.

3. Revisar Plugins y Temas

Los plugins y temas pueden tener problemas de seguridad. WPScan puede listar todos los plugins y temas instalados, junto con cualquier vulnerabilidad asociada.

Para los plugins, ejecuta esto:

wpscan --url http://yourwebsite.com --enumerate p

Mostrará una salida como esta:

Para los temas, ejecuta esto:

wpscan --url http://yourwebsite.com --enumerate t

Mostrará una salida similar a esta:

Busca versiones desactualizadas o vulnerabilidades conocidas en los resultados, y actualiza o reemplaza esos componentes inmediatamente.

Veamos algunos problemas de seguridad comunes en plugins y temas.

Primero, tenemos Scripting entre Sitios (XSS). El manejo inseguro de la entrada de datos en plugins o temas puede permitir a los atacantes inyectar scripts maliciosos, potencialmente robando información de usuario o tomando control de sesiones de administrador. Un sitio de WordPress poco seguro con una vulnerabilidad XSS puede permitir a los atacantes robar cookies de sesión, potencialmente obtener acceso no autorizado como administrador, inyectar redirecciones maliciosas, llevar a los usuarios a sitios de phishing, mostrar contenido engañoso, engañar a los usuarios para proporcionar información sensible.

También está la Inyección SQL. Los plugins o temas mal escritos pueden permitir a los atacantes manipular consultas a la base de datos, exponiendo datos sensibles o dañando tu sitio. Las vulnerabilidades de inyección SQL pueden ser explotadas para extraer datos sensibles, evadir la autenticación y modificar o eliminar datos.

Algunos plugins o temas pueden incluir código malicioso—intencionadamente o debido a una mala seguridad—que otorga a los atacantes acceso no autorizado a su sitio, conocido como puertas traseras. Una vez instalado, una puerta trasera puede otorgar acceso persistente, permitir cargas de archivos arbitrarios, socavar la integridad del sitio y robar datos sensibles.

También existe Ejecución Remota de Código (RCE) – vulnerabilidades que permiten a los atacantes ejecutar código arbitrario en su servidor, lo que a menudo lleva al control total de su sitio o servidor. Una vez que los atacantes obtienen acceso RCE, pueden crear usuarios administradores, exfiltrar datos, lanzar ataques adicionales y escalar privilegios.

Mejores Prácticas:

  • Siempre mantenga los plugins y temas actualizados a las últimas versiones.

  • Elimine cualquier plugin y tema no utilizado o inactivo, ya que estos aún pueden representar un riesgo.

  • Asegúrese de que los plugins y temas se descarguen de fuentes confiables y de buena reputación y que tengan un historial de mantenimiento activo.

  • Considere usar plugins de seguridad para monitorear cambios en los archivos de plugins o temas y detectar actividad sospechosa.

4. Pruebas de Contraseñas

WPScan puede probar contraseñas débiles intentando un ataque de fuerza bruta utilizando una lista de palabras:

wpscan --url http://yourwebsite.com --passwords /path/to/passwords.txt

y esta es la salida en tu línea de comando:

¿Qué es el ataque de fuerza bruta?

El ataque de fuerza bruta es un método que utilizan los atacantes para adivinar contraseñas al probar sistemáticamente cada combinación posible hasta encontrar la correcta. Cuando se combina con una lista de palabras, que es un archivo que contiene una colección de contraseñas comúnmente utilizadas, el ataque de fuerza bruta se vuelve mucho más rápido y eficiente.

Una lista de palabras típica podría incluir:

  • Contraseñas simples como 123456, password, y qwerty.

  • Patrones comunes como Spring2024! o welcome123.

  • Contraseñas filtradas de brechas de datos anteriores.

Al simular este tipo de ataque, WPScan puede identificar cuentas que utilizan contraseñas débiles, lo que te permite abordar vulnerabilidades de manera proactiva.

Las contraseñas débiles facilitan y aceleran el ataque de fuerza bruta. Una contraseña corta o predecible puede ser adivinada en segundos, mientras que una contraseña más larga y compleja con elementos únicos es exponencialmente más difícil de crackear.

Cómo crear contraseñas fuertes

Las contraseñas fuertes son tu primera línea de defensa contra ataques de fuerza bruta. Aquí hay características clave de las contraseñas fuertes:

  • Longitud: Al menos de 12 a 16 caracteres de largo.

  • Complejidad: Usa una mezcla de letras mayúsculas y minúsculas, números y caracteres especiales.

  • Unicidad: Evita reutilizar contraseñas en múltiples cuentas.

  • Impredecibilidad: Evita palabras del diccionario, frases comunes o información personal como fechas de cumpleaños.

Estrategias para Generar Contraseñas Fuertes

Hay varias medidas que puedes tomar para crear contraseñas fuertes. Primero, usa un generador de contraseñas. Herramientas como LastPass y Bitwarden pueden crear y almacenar contraseñas altamente complejas para ti.

También deberías usar frases de contraseña (en lugar de solo contraseñas regulares). Combina palabras aleatorias y no relacionadas con números y símbolos, como Cielo#Árbol!Motocicleta12.

Finalmente, evita patrones que puedan ser fácilmente adivinados por un atacante. No uses patrones secuenciales o de teclado como abcdef o qwerty.

Usa Herramientas para Administrar Contraseñas

Gestionar contraseñas seguras puede ser desafiante. Los gestores de contraseñas simplifican esto almacenando de manera segura y rellenando automáticamente sus credenciales. Opciones populares incluyen:

  • Bitwarden

  • LastPass

Estas herramientas también tienen funciones como auditoría de contraseñas para detectar contraseñas débiles o reutilizadas.

Usar Autenticación de Dos Factores (2FA)

La autenticación de dos factores (2FA) agrega una capa adicional de seguridad al requerir que los usuarios verifiquen su identidad a través de un segundo factor más allá de la contraseña. Esto puede incluir:

  • Códigos de un solo uso enviados por correo electrónico o SMS.

  • Códigos generados por aplicaciones de herramientas como Google Authenticator o Authy.

  • Verificación biométrica, como huellas dactilares o reconocimiento facial.

Incluso si un atacante adivina su contraseña mediante fuerza bruta, 2FA evita que accedan a su cuenta sin verificación secundaria. Este paso adicional hace que la fuerza bruta sea poco práctica, ya que los atacantes también necesitarían comprometer su dispositivo o método 2FA.

Cómo Implementar 2FA en WordPress
  1. Instala un plugin de WordPress como Google Authenticator.

  2. Exige a todas las cuentas de usuario, especialmente a los administradores, que habiliten la autenticación de dos factores (2FA).

  3. Ofrece códigos de respaldo o opciones de recuperación en caso de que los usuarios pierdan el acceso a su dispositivo 2FA.

  4. Prueba y asegúrate de que la 2FA funcione de manera confiable para todos los roles de usuario antes de hacerla obligatoria.

La Importancia de la Higiene de Contraseñas

Al usar contraseñas fuertes e implementar 2FA, puedes reducir significativamente la efectividad de los ataques de fuerza bruta.

La función de prueba de contraseñas de WPScan puede ayudarte a identificar credenciales débiles. También subraya la necesidad crítica de una higiene de contraseñas proactiva y capas de seguridad adicionales para mantener seguro tu sitio de WordPress.

Qué Hacer con los Resultados de WPScan

Los informes de WPScan proporcionan información útil sobre la seguridad de tu sitio. Aquí tienes lo que puedes hacer con la información:

Primero, actualiza el núcleo de WordPress, los plugins y los temas: Mantén todo actualizado para corregir vulnerabilidades.

Segundo, aborda problemas de configuración: Corrige permisos de archivos mal configurados, encabezados HTTP inseguros y otras advertencias.

Aquí tienes un par de ejemplos de remedios que puedes aplicar:

  • Indización de directorios: Si WPScan detecta directorios abiertos, desactiva la navegación de directorios agregando esta línea a tu archivo .htaccess:

      Options -Indexes
    
  • Permisos de archivo: Asegúrate de que archivos críticos como wp-config.php sean de solo lectura configurando los permisos a 440 o 400 mediante el comando:

      chmod 400 wp-config.php
    

También debes fortalecer todas las cuentas de usuario. Puedes hacerlo de varias formas:

  • Actualizar contraseñas débiles: Utiliza contraseñas fuertes y únicas para todas las cuentas de usuario (consulta la sección de pruebas de contraseñas para obtener consejos).

  • Eliminar cuentas no utilizadas: Elimina cuentas inactivas, especialmente aquellas con privilegios de administrador.

  • Renombrar nombres de usuario predecibles: Cambiar nombres de usuario como admin por algo menos obvio.

Asegúrate también de proteger cualquier archivo sensible: si WPScan encuentra archivos expuestos como debug.log, bórralos o protégelos. Elimina archivos innecesarios o copias de seguridad antiguas.

Para los archivos que necesitas conservar, muévelos a un directorio fuera de la raíz web. También puedes proteger archivos con .htaccess, bloqueando el acceso a archivos sensibles usando reglas de Deny y Allow:

<Files wp-login.php>
    Order Deny,Allow
    Deny from all
    Allow from 123.456.789.000
</Files>

Limitaciones de WPScan

WPScan es una herramienta poderosa, pero tiene algunas limitaciones. Simplemente ten en cuenta esto para que puedas tomar otras medidas para proteger tus sitios de WP.

1. Solo Vulnerabilidades Conocidas

WPScan se basa en su base de datos de vulnerabilidades conocidas, por lo que no detectará exploits de día cero o vulnerabilidades personalizadas.

Aquí tienes algunos consejos sobre cómo puedes mitigar este problema:

  • Mantente informado: Monitorea blogs de seguridad de WordPress, bases de datos de vulnerabilidades como CVE o WPVulnDB, y foros comunitarios en busca de amenazas emergentes.

  • Usar un Firewall de Aplicaciones Web (WAF): Herramientas como Cloudflare o Sucuri pueden bloquear actividades sospechosas y intentos de explotar vulnerabilidades desconocidas.

  • Realizar revisiones de seguridad manuales: Revisa periódicamente tu sitio en busca de comportamientos inusuales o cambios no autorizados, especialmente en archivos críticos como wp-config.php o tu base de datos.

2. Falta de Protección en Tiempo Real

WPScan es una herramienta de diagnóstico, no un firewall o sistema de detección de intrusiones. Para protección en tiempo real, es buena idea combinar WPScan con otras herramientas.

Algunos pasos que puedes seguir son:

  • Instalar plugins de seguridad: Utiliza plugins de seguridad específicos para proporcionar monitoreo continuo, escaneo de malware y protección de firewall.

  • Monitorear registros de actividad: Configura el seguimiento de actividad para identificar intentos de inicio de sesión sospechosos, cambios de archivos o acciones de usuario no autorizadas.

3. Intensivo en recursos

Escanear sitios grandes con muchos complementos y temas puede ser demorado y puede afectar el rendimiento del servidor.

Existen diversas estrategias que puede adoptar para mitigar esto, como programar escaneos durante períodos de baja actividad para minimizar la interrupción a los visitantes del sitio. También puede realizar escaneos en una copia de ensayo de su sitio en lugar de directamente en el entorno en vivo.

4. Curva de aprendizaje

Como herramienta de línea de comandos, WPScan puede resultar intimidante para usuarios menos técnicos. Sin embargo, la documentación es excelente y, con práctica, se volverá competente.

Si la interfaz de línea de comandos es abrumadora para usted, intente combinar WPScan con complementos de seguridad que ofrecen escaneos y reportes basados en GUI.

Mejores prácticas para usar WPScan

Para aprovechar al máximo WPScan, querrá adaptar su uso a las necesidades específicas de su sitio y establecer una estrategia sólida para monitorear los resultados. Así es como puede maximizar su efectividad:

Elija los Escaneos Correctos para su Sitio

WPScan ofrece una variedad de opciones de escaneo, desde escaneos básicos hasta verificaciones de vulnerabilidades dirigidas para complementos, temas y cuentas de usuario. Elegir los escaneos correctos depende del tipo de sitio que administre y la sensibilidad de los datos que maneja.

Para sitios pequeños y de bajo tráfico:

  • Prioriza escaneos básicos para verificar el núcleo de WordPress, los plugins y los temas en busca de actualizaciones y vulnerabilidades.

  • Realiza escaneos mensuales o después de actualizaciones importantes.

  • Utiliza enumeración de usuarios (--enumerate u) si sospechas de contraseñas débiles o nombres de usuario predeterminados.

Para sitios de negocios de tamaño mediano:

  • Además de escaneos básicos, incluye enumeración de plugins y temas (--enumerate p,t) para asegurar que todos los componentes estén seguros.

  • Escaneos semanales para anticiparse a amenazas emergentes.

  • Combina WPScan con plugins de registro de actividad para rastrear acciones de usuarios y cambios en archivos.

Para sitios de alto tráfico o de comercio electrónico:

  • Realiza escaneos completos, incluyendo enumeración de usuarios (--enumerate u), enumeración de archivos (--enumerate f) y pruebas de fuerza bruta de contraseñas (si está permitido).

  • Escaneos diarios o semanales para minimizar riesgos.

  • Implementa medidas adicionales como la autenticación de dos factores (2FA) para cuentas de administrador, un firewall de aplicación web (WAF) y encabezados de seguridad para reforzar tu sitio.

Para sitios que manejan datos sensibles:

  • Prioriza todos los escaneos disponibles, incluyendo aquellos para archivos expuestos y vulnerabilidades de configuración.

  • Escaneos semanales con monitoreo en tiempo real a través de un plugin de seguridad.

  • Utiliza entornos de pruebas para probar configuraciones de seguridad sin afectar la producción.

¿Debes utilizar todos los escaneos?

Si bien puede parecer beneficioso utilizar cada escaneo que ofrece WPScan, hay varios factores a considerar.

Primero, piensa en el tamaño de tu sitio y tus recursos. Para sitios más pequeños, ejecutar todos los escaneos puede ser excesivo y consumir muchos recursos.

También querrás enfocarte en escaneos que aborden las vulnerabilidades más probables de tu sitio. Por ejemplo, un sitio de comercio electrónico debería priorizar la seguridad del usuario y de los pagos sobre la enumeración exhaustiva de archivos.

Los requisitos de cumplimiento también son importantes a tener en cuenta. Si estás sujeto a regulaciones como el GDPR, asegúrate de escanear y abordar vulnerabilidades relacionadas con la protección de datos.

Cómo monitorear resultados de manera efectiva

Es importante monitorear los resultados de WPScan. Te ayuda a corregir vulnerabilidades, por supuesto, pero también te ayuda a crear un sistema para rastrear cambios con el tiempo y mantener la vigilancia.

Configurar informes

Puedes guardar los resultados del escaneo en archivos usando la bandera --output:

wpscan --url http://example.com --output /path/to/report.txt

Luego revisa los informes regularmente y compáralos con escaneos anteriores para identificar problemas recurrentes o nuevas vulnerabilidades.

Crear un plan de acción

Es una buena idea categorizar las vulnerabilidades según su gravedad (por ejemplo, críticas, moderadas, bajas).

Esto te permite abordar problemas de alta gravedad (como complementos desactualizados con exploits conocidos) de inmediato. Luego puedes programar tareas de menor prioridad, como ajustes de permisos de archivo o cambios de configuración menores, para el mantenimiento de rutina.

Utiliza herramientas como hojas de cálculo o una aplicación de gestión de proyectos (por ejemplo, Trello, Asana) para registrar vulnerabilidades, correcciones y acciones de seguimiento.

Asegúrate de analizar los problemas recurrentes para identificar patrones, como vulnerabilidades frecuentes de plugins, y considera reemplazar componentes problemáticos.

Automatiza Notificaciones

Si programas escaneos utilizando trabajos cron, configura alertas por correo electrónico o notificaciones para revisar los resultados sin demora.

Utiliza plugins de seguridad con monitoreo en tiempo real para notificarte sobre actividades sospechosas entre las verificaciones de WPScan.

Comunica con Tu Equipo:

Querrás asegurarte de compartir informes con miembros relevantes del equipo, como desarrolladores o administradores del sitio, para que todos estén al tanto de las posibles vulnerabilidades.

También es una buena idea establecer protocolos para una acción inmediata si se descubren vulnerabilidades críticas.

Al elegir escaneos basados en las necesidades específicas de tu sitio e implementar un enfoque estructurado para monitorear resultados, puedes asegurarte de que WPScan se utilice de manera efectiva. Además, asegúrate de adaptar la herramienta a tu perfil de riesgo, rastrear vulnerabilidades a lo largo del tiempo e integrar sus hallazgos en una estrategia de seguridad más amplia.

Este enfoque no solo mejora la postura de seguridad de tu sitio, sino que también minimiza el uso de recursos y esfuerzo mientras proporciona la máxima protección.

Conclusión

WPScan es una herramienta invaluable para cualquiera que gestione un sitio de WordPress. Simplifica el proceso de identificación de vulnerabilidades y proporciona recomendaciones claras y accionables para fortalecer la seguridad de tu sitio.

Al integrar WPScan en tu flujo de trabajo y seguir las mejores prácticas, puedes reducir el riesgo de ataques y mantener segura tu página de WordPress. La seguridad es un viaje continuo, y herramientas como WPScan facilitan mantenerse un paso adelante de posibles amenazas.