
Escáner de seguridad de WordPress que detecta vulnerabilidades, enumera plugins/temas/usuarios y verifica contraseñas débiles. Se integra con la API de WPScan para obtener datos de vulnerabilidades en tiempo real.
Escáner de Seguridad de WordPress
Base de datos de vulnerabilidades de WordPress de WPScan - Plugin de seguridad de WordPress
Stream error in the HTTP/2 framing layer en algunos casosCuando se utiliza una distribución de pentesting (como Kali Linux), se recomienda instalar/actualizar wpscan a través del gestor de paquetes si está disponible.
brew install wpscanteam/tap/wpscan
WPScan depende de gemas con extensiones nativas (p. ej. yajl-ruby, nokogiri, ffi), por lo que es necesario contar con un conjunto de herramientas C funcionales y los encabezados de desarrollo de Ruby antes de gem install wpscan. Sin ellos, la instalación falla con errores como Failed to build gem native extension o make: x86_64-linux-gnu-gcc: No such file or directory (ver #1844).
sudo apt install build-essential ruby-dev
sudo dnf install @development-tools ruby-devel
sudo pacman -S base-devel ruby
sudo apk add build-base ruby-dev
xcode-select --install).Luego instale la gema:
gem install wpscan
En macOSX, si se produce un Gem::FilePermissionError debido a la Protección de Integridad del Sistema (SIP) de Apple, instale RVM y vuelva a instalar wpscan, o ejecute sudo gem install -n /usr/local/bin wpscan (ver #1286)
Puede actualizar la base de datos local usando wpscan --update
La actualización de WPScan en sí se realiza mediante gem update wpscan o el gestor de paquetes (esto es bastante importante para distribuciones como Kali Linux: apt-get update && apt-get upgrade) dependiendo de cómo se instaló (previamente) WPScan.
Descargue el repositorio con docker pull wpscanteam/wpscan
Enumerar nombres de usuario
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u
Enumerar un rango de nombres de usuario
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u1-100
** reemplace u1-100 con un rango de su elección.
La imagen incluye una copia de la base de datos local compilada en el momento de la construcción. Debido a que los comandos de ejemplo anteriores usan --rm, cualquier actualización de la base de datos realizada durante una ejecución se descarta cuando el contenedor sale, por lo que la siguiente ejecución comienza nuevamente desde la copia incluida (potencialmente desactualizada).
Montar un volumen nombrado en /wpscan/.cache/wpscan/db (el directorio de caché del usuario wpscan dentro del contenedor) mantiene la base de datos entre ejecuciones, por lo que wpscan --update solo vuelve a descargar archivos cuyas sumas de verificación realmente cambiaron y el aviso de caducidad de 5 días se comporta como lo haría en una instalación local:
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --update
El volumen nombrado se crea automáticamente en el primer uso si no existe.
La documentación completa del usuario se puede encontrar aquí; https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation
wpscan --url blog.tld Esto escaneará el blog usando opciones predeterminadas con un buen equilibrio entre velocidad y precisión. Realiza detección de versiones, detección de temas y descubrimiento de hallazgos interesantes. Para enumerar plugins, temas, usuarios, carpetas de respaldo, etc., use la opción -e (p. ej., -e ap para todos los plugins, -e vp para plugins vulnerables, -e bf para carpetas de respaldo).
Si se requiere un enfoque más sigiloso, entonces se puede usar wpscan --stealthy --url blog.tld.
Como resultado, al usar la opción --enumerate, no olvide configurar --plugins-detection en consecuencia, ya que su valor predeterminado es 'passive'.
Para más opciones, abra una terminal y escriba wpscan --help (si compiló wpscan desde el código fuente, debe escribir el comando fuera del repositorio git).
La ubicación de la base de datos sigue la Especificación de directorio base XDG:
~/.cache/wpscan/db (o $XDG_CACHE_HOME/wpscan/db si está configurado)~/.wpscan/db (ruta heredada, mantenida por compatibilidad hacia atrás)Los archivos de tiempo de ejecución como la caché HTTP predeterminada y el archivo de cookies se almacenan en $TMPDIR/wpscan cuando
$TMPDIR está configurado. De lo contrario, usan el mismo directorio de caché XDG por usuario, por ejemplo
~/.cache/wpscan/cache y ~/.cache/wpscan/cookie_jar.txt. Estos valores predeterminados se pueden anular
con --cache-dir y --cookie-jar.
Para migrar una instalación existente a la ruta XDG:
mv ~/.wpscan ~/.cache/wpscan
La herramienta CLI de WPScan utiliza la API de la base de datos de vulnerabilidades de WordPress para recuperar datos de vulnerabilidades de WordPress en tiempo real. Para que WPScan recupere los datos de vulnerabilidades, se debe proporcionar un token de API mediante la opción --api-token, o a través de un archivo de configuración, como se discute a continuación. Se puede obtener un token de API registrando una cuenta en WPScan.com.
Se ofrecen hasta 25 solicitudes de API por día de forma gratuita, lo que debería ser suficiente para escanear la mayoría de los sitios web de WordPress al menos una vez al día. Cuando se agoten las 25 solicitudes diarias de API, WPScan continuará funcionando con normalidad pero sin datos de vulnerabilidades.
WPScan puede cargar todas las opciones (incluyendo --url) desde archivos de configuración; se verifican las siguientes ubicaciones (orden: de primero a último):
$XDG_CONFIG_HOME/wpscan/scan.json (si XDG_CONFIG_HOME está configurado)$XDG_CONFIG_HOME/wpscan/scan.yml (si XDG_CONFIG_HOME está configurado)~/.config/wpscan/scan.json (si XDG_CONFIG_HOME no está configurado)~/.config/wpscan/scan.yml (si XDG_CONFIG_HOME no está configurado)~/.wpscan/scan.json~/.wpscan/scan.ymlpwd/.wpscan/scan.jsonpwd/.wpscan/scan.ymlSi esos archivos existen, las opciones de la clave cli_options se cargarán y se sobrescribirán si se encuentran dos veces.
p. ej.:
~/.config/wpscan/scan.yml:
cli_options:
proxy: 'http://127.0.0.1:8080'
verbose: true
pwd/.wpscan/scan.yml:
cli_options:
proxy: 'socks5://127.0.0.1:9090'
url: 'http://target.tld'
Ejecutar wpscan en el directorio actual (pwd) es equivalente a wpscan -v --proxy socks5://127.0.0.1:9090 --url http://target.tld
Se pueden agregar otras opciones de línea de comandos usando la convención snake case. p. ej.:
cli_options:
user_agent: "Testing UA"
max_threads: 1
headers: "Custom-Header: aaaa; Another Header: bbb"
La característica mencionada anteriormente es útil para mantener el token de API en un archivo de configuración y no tener que proporcionarlo cada vez a través de la CLI. Para hacerlo, cree el archivo ~/.config/wpscan/scan.yml con el siguiente contenido:
cli_options:
api_token: 'YOUR_API_TOKEN'
El token de API se cargará automáticamente desde la variable de entorno WPSCAN_API_TOKEN si está presente. Si también se proporciona la opción CLI --api-token, se usará el valor de la CLI.
Si experimenta problemas de conexión con la API de WPScan, puede verificar el estado del servicio en https://status.wpscan.com/. Cuando ocurran errores de conexión a la API, WPScan incluirá un enlace a la página de estado en el mensaje de error.
wpscan --url https://target.tld/ --enumerate u
Enumerar un rango de nombres de usuario
wpscan --url https://target.tld/ --enumerate u1-100
** reemplace u1-100 con un rango de su elección.
wpscan --url https://target.tld/ --enumerate bf
Esto buscará carpetas de respaldo creadas por plugins populares de respaldo de WordPress. Estas carpetas pueden contener datos sensibles como volcados de base de datos, archivos de configuración o copias de seguridad completas del sitio.
El software WPScan (denominado en adelante simplemente "WPScan") tiene una licencia dual - Copyright 2011-2019 WPScan Team.
Los casos que incluyan la comercialización de WPScan requieren una licencia comercial no gratuita. De lo contrario, WPScan puede usarse sin cargo bajo los términos establecidos a continuación.
1.1 "Licencia" significa este documento.
1.2 "Contribuyente" significa cada individuo o entidad legal que crea, contribuye a la creación o posee WPScan.
1.3 "Equipo WPScan" significa los desarrolladores principales de WPScan.
El uso comercial es aquel destinado a una ventaja comercial o compensación monetaria.
Ejemplos de casos de comercialización son:
Ejemplos de casos que no requieren una licencia comercial, y por lo tanto caen bajo los términos establecidos a continuación, incluyen (pero no se limitan a):
Si necesita adquirir una licencia comercial o no está seguro de si necesita una, contáctenos - [email protected].
Términos y condiciones de uso gratuito;
Se permite la redistribución bajo las siguientes condiciones:
Se permite la copia siempre que no entre en conflicto con la cláusula de redistribución.
Se permite la modificación siempre que no entre en conflicto con la cláusula de redistribución.
Cualquier contribución asume que el contribuyente otorga al Equipo WPScan el derecho ilimitado y no exclusivo de reutilizar, modificar y relicenciar el contenido del contribuyente.
WPScan se proporciona sobre una base "TAL CUAL" y sin ningún soporte, actualización o mantenimiento. El soporte, las actualizaciones y el mantenimiento pueden proporcionarse según la única discreción del Equipo WPScan.
WPScan se proporciona bajo esta Licencia "tal cual", sin garantía de ningún tipo, ya sea expresa, implícita o legal, incluyendo, sin limitación, garantías de que WPScan está libre de defectos, es comercializable, adecuado para un propósito particular o no infringe derechos.
En la medida permitida por la ley, WPScan se proporciona sobre una base "TAL CUAL". El Equipo WPScan nunca será, y sin ningún límite, responsable de cualquier daño, costo, gasto o cualquier otro pago incurrido como resultado de las acciones, fallos, errores y/o cualquier otra interacción entre WPScan y equipos finales, computadoras, otro software o cualquier tercero, equipo final, computadora o servicio.
Ejecutar WPScan contra sitios web sin consentimiento mutuo previo puede ser ilegal en su país. El Equipo WPScan no acepta ninguna responsabilidad y no es responsable de ningún uso indebido o daño causado por WPScan.
El término "wpscan" es una marca registrada. Esta Licencia no otorga el uso de la marca "wpscan" ni el uso del logotipo de WPScan.