WPscan CLI es una herramienta gratuita y de código abierto para auditar la seguridad de sitios webs creados con el CMS WordPress. Esta herramienta utiliza una base de datos alimentada con más de 30.000 vulnerabilidades conocidas y permite a profesionales y propietarios identificar problemas relacionados con la seguridad de sus sitios. WPscan: comandos básicos
Esta herramienta nos permite:
- Conocer la versión de WordPress instalada en el sitio.
- Enumerar e identificar plugins vulnerables.
- Enumerar e identificar temas vulnerables.
- Enumerar usuarios.
- Hacer ataques de diccionario y fuerza bruta.
- Encontrar archivos de configuración (wp-config).
- Encontrar database dumps (volcados de bases de datos).
- Enumerar archivos multimedia.
- Acceder a xmlrpc.php.
- Archivos vulnerables de Timthumb.
WPscan viene instalada por defecto en Kali Linux y otras distribuciones enfocadas en la seguridad pero puede ser instalada en otras distribuciones GNU-Linux como Ubuntu, Arch o Fedora con tan solo ingresar algunas líneas de comando en la terminal [ver tutorial]. A continuación veremos un pequeño tutorial de sus comandos básicos y su uso.
Lo primero que haremos será abrir una terminal para llamar la aplicación e imprimir la ayuda con el siguiente código:
# wpscan -h
(ayuda simple) o# wpscan -hh
(ayuda completa).
Como vemos, la ayuda es muy completa y nos entrega todas las operaciones que podemos realizar con la herramienta. Sin embargo, rara vez se utilizan todas esas opciones en una auditoria de seguridad. Por lo general las opciones más utilizadas son:
# wpscan --url https://www.jinversor.co
Realiza el escaneo básico de una página. En este caso mi propia página.
En ocasiones la salida nos puede arrojar el siguiente mensaje: Scan Aborted: The URL supplied redirects to https://jinversor.co/. Use the --ignore-main-redirect
option to ignore the redirection and scan the target, or change the –url option value to the redirected URL. Esto se debe a una configuración de redireccionamiento del sitio y podemos resolverlo quitando el www de la orden o agregando al final de la línea el comando que el mensaje nos sugiere.
Como vemos, la herramienta realizó el escaneo pero no nos muestra las vulnerabilidades del sitio. Esto ocurre porque no hemos proporcionado la API necesaria. Esta llave la podemos conseguir de forma gratuita tras registrarnos en wpscan.com. Una vez tengamos la API se la proporcionaremos a la herramienta con el siguiente comando.
# wpscan --url https://jinversor.co --api-token [token]
Con esto es suficiente para que la herramienta nos muestre algunas vulnerabilidades que se pueden explotar en el sitio. También puede suceder que en ocasiones el servidor bloquee el escaneo. La causa más común la encontramos en el WAF o Web Application Firewall. Para evadir este bloqueo podemos insertar el siguiente código al final de la línea --random-user-agent
o simplemente --rua
.
Para búsquedas más específicas podemos usar los siguientes comandos:
- Buscar temas:
# wpscan --url https://jinversor.co --enumerate at
- Buscar temas vulnerables:
# wpscan --url https://jinversor.co --enumerate vt
- Buscar plugins:
# wpscan --url https://jinversor.co --enumerate ap
- Buscar plugins vulnerables:
# wpscan --url https://jinversor.co --enumerate vp
- Buscar Timthumbs:
# wpscan --url https://jinversor.co --enumerate tt
- Listar usuarios:
# wpscan --url https://jinversor.co --enumerate u
- Saltar ofuscación:
# wpscan --url https://jinversor.co --force
- Ataque de diccionario:
# wpscan --url https://jinversor.co --passwords [ruta del diccionario]
Todas estas opciones también las podemos combinar para hacer escaneos más eficientes. Es cuestión de trabajar la herramienta un par de horas sobre un objetivo propio o uno sobre el cual tengamos la autorización de su propietario. Nunca hacerlo sobre un objetivo al azar porque puede traernos muchísimos más problemas que beneficios.