WPScan, analizando la seguridad de tu WordPress


Hoy en día cualquiera conoce los CMS mas populares, CMS como WordPress, Joomla, Drupal ocupan el top 3 de los CMS mas usados por los usuarios. Muchos dearrolladores han tenido que aprender como funcionan estas plataformas nuevas para poder hacer desarrollos modificando el core de la aplicación y seguir vigentes en el mercado.

wordpress security WPScan, analizando la seguridad de tu Wordpress

Normalmente estos CMS suelen pasado por una revisión del equipo de seguridad encargado de revisar los últimos fallos que han salido para aplicar el parche, que son o voluntarios con conocimientos en seguridad o empresas especializadas en el área. En cambio el talón de aquiles de estas plataformas web son los plugins o los temas desarrollados por terceros. Estos plugins suelen estar desarrollados por personas que no tienen en cuenta la seguridad, en la mayoría de los casos por desconocimiento ya que casi todos los CMS modernos cuentan con funciones que podrían prevenir la gran mayoría de problemas en los plugins y temas.

Como esto se ha puesto en auge, existen aplicaciones que se encargarán de revisar la seguridad de tu sitio con WordPress, Joomla, Drupal, etc… Hoy hablaremos de una herramienta creada para auditar WordPress cuyo nombre es WPScan.

Para usar WPscan deberemos de acudir al repositorio de GitHub que tienen montado para su uso.

  • Lo descargamos de https://github.com/wpscanteam/wpscan
  • Seguid las instrucciones de instalación, no tiene pérdida.
  • Una vez lo tengamos instalado lo arrancamos.

Iniciando WPscan

darkmac:wpscan marc$ ruby wpscan.rb
____________________________________________________
__          _______   _____
\ \        / /  __ \ / ____|
\ \  /\  / /| |__) | (___   ___  __ _ _ __
\ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
\  /\  /  | |     ____) | (__| (_| | | | |
\/  \/   |_|    |_____/ \___|\__,_|_| |_| v2.1r3363006

WordPress Security Scanner by the WPScan Team
Sponsored by the RandomStorm Open Source Initiative
_____________________________________________________


Examples :

-Further help ...
ruby wpscan.rb --help

-Do 'non-intrusive' checks ...
ruby wpscan.rb --url www.example.com

-Do wordlist password brute force on enumerated users using 50 threads ...
ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --threads 50

-Do wordlist password brute force on the 'admin' username only ...
ruby wpscan.rb --url www.example.com --wordlist darkc0de.lst --username admin

-Enumerate installed plugins ...
ruby wpscan.rb --url www.example.com --enumerate p

-Enumerate installed themes ...
ruby wpscan.rb --url www.example.com --enumerate t

-Enumerate users ...
ruby wpscan.rb --url www.example.com --enumerate u

-Enumerate installed timthumbs ...
ruby wpscan.rb --url www.example.com --enumerate tt

-Use a HTTP proxy ...
ruby wpscan.rb --url www.example.com --proxy 127.0.0.1:8118

-Use a SOCKS5 proxy ... (cURL >= v7.21.7 needed)
ruby wpscan.rb --url www.example.com --proxy socks5://127.0.0.1:9000

-Use custom content directory ...
ruby wpscan.rb -u www.example.com --wp-content-dir custom-content

-Use custom plugins directory ...
ruby wpscan.rb -u www.example.com --wp-plugins-dir wp-content/custom-plugins

-Update ...
ruby wpscan.rb --update

-Debug output ...
ruby wpscan.rb --url www.example.com --debug-output 2>debug.log

See README for further information.

No argument supplied

Estas son las opciones de las que dispone WPScan, como veis muy sencillo

Ejecutando WPscan

Esta sería una salida normal de WPscan

Por defecto nos hace una serie de peticiones para extraer este resultado si queremos algo mas concreto podemos hacer:

Enumerando plugins

Wpscan nos permite hacer una enumeración de los plugins instalados en nuestro WordPress.

darkmac:wpscan marc$ ruby wpscan.rb -u www.rootedcon.es --enumerate p
____________________________________________________
__          _______   _____
\ \        / /  __ \ / ____|
\ \  /\  / /| |__) | (___   ___  __ _ _ __
\ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
\  /\  /  | |     ____) | (__| (_| | | | |
\/  \/   |_|    |_____/ \___|\__,_|_| |_| v2.1r3363006

WordPress Security Scanner by the WPScan Team
Sponsored by the RandomStorm Open Source Initiative
_____________________________________________________

| URL: http://www.rootedcon.es/
| Started on Sat Jun 15 23:28:38 2013

[+] XML-RPC Interface available under http://www.rootedcon.es/xmlrpc.php
[+] WordPress version 3.5.1 identified from meta generator

[!] We have identified 1 vulnerabilities from the version number :
|
| * Title: CVE-2013-2173: WordPress 3.5.1 DoS in class-phpass.php
| * Reference: http://seclists.org/fulldisclosure/2013/Jun/65

[+] The WordPress theme in use is boldy

| Name: boldy
| Location: http://www.rootedcon.es/wp-content/themes/boldy/
|
| * Title: Site5 WordPress Themes Email Spoofing
| * Reference: http://packetstormsecurity.org/files/114750/

[+] Enumerating installed plugins  ...

Time: 00:00:18 <============================================================================================================================> (2484 / 2484) 100.00% Time: 00:00:18

[+] We found 4 plugins:

| Name: tablepress v1.0
| Location: http://www.rootedcon.es/wp-content/plugins/tablepress/
| Readme: http://www.rootedcon.es/wp-content/plugins/tablepress/readme.txt

| Name: wordpress-https v3.3.6
| Location: http://www.rootedcon.es/wp-content/plugins/wordpress-https/
| Readme: http://www.rootedcon.es/wp-content/plugins/wordpress-https/readme.txt

| Name: wordpress-importer v0.6
| Location: http://www.rootedcon.es/wp-content/plugins/wordpress-importer/
| Readme: http://www.rootedcon.es/wp-content/plugins/wordpress-importer/readme.txt

| Name: wp-table-reloaded v1.9.4
| Location: http://www.rootedcon.es/wp-content/plugins/wp-table-reloaded/
| Readme: http://www.rootedcon.es/wp-content/plugins/wp-table-reloaded/readme.txt
|
| * Title: wp-table-reloaded <= 1.9.3 XSS in ZeroClipboard.swf
| * Reference: http://1337day.com/exploit/20396

[+] Finished at Sat Jun 15 23:29:13 2013
[+] Elapsed time: 00:00:35

No solo hace una enumeración de los plugins si no que además nos dice si no está actualizado.

Temas instalados en WordPress

Otra de las vías para hacer explotación es el theme, ya que es una plantilla que no puede estar desarrollado de manera segura.

darkmac:wpscan marc$ ruby wpscan.rb -u www.flu-project.com --enumerate t
____________________________________________________
__          _______   _____
\ \        / /  __ \ / ____|
\ \  /\  / /| |__) | (___   ___  __ _ _ __
\ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
\  /\  /  | |     ____) | (__| (_| | | | |
\/  \/   |_|    |_____/ \___|\__,_|_| |_| v2.1r3363006

WordPress Security Scanner by the WPScan Team
Sponsored by the RandomStorm Open Source Initiative
_____________________________________________________

| URL: http://www.flu-project.com/
| Started on Sat Jun 15 23:45:12 2013

[+] robots.txt available under 'http://www.flu-project.com/robots.txt'
[+] User registration is enabled
[+] XML-RPC Interface available under http://www.flu-project.com/xmlrpc.php
[+] WordPress version 3.4.1 identified from meta generator

[!] We have identified 3 vulnerabilities from the version number :
|
| * Title: WordPress 3.5 to 3.3.2 Cross-Site Scripting (XSS) (Issue 3)
| * Reference: https://github.com/wpscanteam/wpscan/wiki/WordPress-3.5-Issues
|
| * Title: XMLRPC Pingback API Internal/External Port Scanning
| * Reference: https://github.com/FireFart/WordpressPingbackPortScanner
|
| * Title: WordPress XMLRPC pingback additional issues
| * Reference: http://lab.onsec.ru/2013/01/wordpress-xmlrpc-pingback-additional.html

[+] The WordPress theme in use is mystique v2.4.3

| Name: mystique v2.4.3
| Location: http://www.flu-project.com/wp-content/themes/mystique/
| Readme: http://www.flu-project.com/wp-content/themes/mystique/readme.txt

[+] Enumerating plugins from passive detection ...
7 plugins found :

| Name: addthis v3.1
| Location: http://www.flu-project.com/wp-content/plugins/addthis/
| Readme: http://www.flu-project.com/wp-content/plugins/addthis/readme.txt

| Name: captcha v3.6
| Location: http://www.flu-project.com/wp-content/plugins/captcha/
| Readme: http://www.flu-project.com/wp-content/plugins/captcha/readme.txt

| Name: cforms
| Location: http://www.flu-project.com/wp-content/plugins/cforms/

| Name: mingle-forum
| Location: http://www.flu-project.com/wp-content/plugins/mingle-forum/
|
| * Title: Mingle Forum <= 1.0.32.1 Cross Site Scripting / SQL Injection
| * Reference: http://packetstormsecurity.org/files/108915/
|
| * Title: Mingle Forum plugin <= 1.0.31 SQL Injection Vulnerability
| * Reference: http://www.exploit-db.com/exploits/17894/
|
| * Title: Mingle Forum (Plugin) <= 1.0.26 Multiple Vulnerabilities
| * Reference: http://www.exploit-db.com/exploits/15943/
|
| * Title: Mingle Forum <= 1.0.33 Cross Site Scripting
| * Reference: http://packetstormsecurity.org/files/112696/
|
| * Title: Mingle Forum 1.0.33.3 Multiple Parameter SQL Injection
| * Reference: http://osvdb.org/show/osvdb/90434

| Name: rpx v1.0.4
| Location: http://www.flu-project.com/wp-content/plugins/rpx/
| Readme: http://www.flu-project.com/wp-content/plugins/rpx/readme.txt

| Name: theme-my-login v6.2.2
| Location: http://www.flu-project.com/wp-content/plugins/theme-my-login/
| Readme: http://www.flu-project.com/wp-content/plugins/theme-my-login/readme.txt

| Name: wp-paypal-donation-plugin v1.0
| Location: http://www.flu-project.com/wp-content/plugins/wp-paypal-donation-plugin/
| Readme: http://www.flu-project.com/wp-content/plugins/wp-paypal-donation-plugin/readme.txt

[+] Enumerating installed themes  ...

Time: 00:03:12 <============================================================================================================================> (1746 / 1746) 100.00% Time: 00:03:12

[+] We found 2 themes:

| Name: mystique v2.4.3
| Location: http://www.flu-project.com/wp-content/themes/mystique/
| Readme: http://www.flu-project.com/wp-content/themes/mystique/readme.txt

| Name: producer v2.4"
| Location: http://www.flu-project.com/wp-content/themes/producer/

[+] Finished at Sat Jun 15 23:49:55 2013
[+] Elapsed time: 00:04:43

Muy útil sin duda.

Fallos que genera

darkmac:wpscan marc$ ruby wpscan.rb -u www.wikileaks.org
____________________________________________________
__          _______   _____
\ \        / /  __ \ / ____|
\ \  /\  / /| |__) | (___   ___  __ _ _ __
\ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
\  /\  /  | |     ____) | (__| (_| | | | |
\/  \/   |_|    |_____/ \___|\__,_|_| |_| v2.1r3363006

WordPress Security Scanner by the WPScan Team
Sponsored by the RandomStorm Open Source Initiative
_____________________________________________________

The remote website is up, but does not seem to be running WordPress.

Podemos creer que un sitio está corriendo WordPress en cambio cuando lanzamos la herramienta el resultado que nos da es que no se trata de un WordPress.

Wpscan ha de ser una herramienta que usemos para comprobar la seguridad de nuestro WordPress.


Si te ha gustado el post, compartelo y ayudanos a crecer.

Unete a nuestra Fanpage Siguenos en Twitter

Autor: Seifreed

Marc Rivero López trabaja como security researcher en Barcelona Digital. Su principal cometido es la realización de informes de inteligencia de temas relacionados con la seguridad, análisis de malware, I+D en tecnologías ofensivas/defensivas en internet y fraude electrónico. Como miembro de un reconocido equipo antifraude, implementa medidas de protección y prevención del fraude en un destacado cliente dentro del sector bancario. Ha sido ponente en conferencias como No cON Name, ViLaNet, RECSI y es colaborador habitual en distintas publicaciones del sector como DragonJAR, Security by Default, Flu-Project… Twitter: @seifreed http://www.seifreed.com

Compartir este Artículo