miércoles, 3 de junio de 2015

WPSCAN

Escáner de vulnerabilidades para WordPress.

Entre la gran variedad de CMS con que podemos encontrarnos tal vez uno de los más populares (y más usado)sea nada más ni nada menos que; WORDPRESS, en donde solamente son necesarios unos básicos conocimientos para que en escasos 5 minutos uno pueda tener su blog o sitio web totalmente funcional. Con una interfaz muy amigable además de ser completamente configurable a gusto del usuario, contando con gran diversidad de plantillas y plugins.

Si bien podríamos dedicar muchas líneas en favor de este CMS, la intención de nuestro artículo es otra:

Wordpress nace el 2003, y actualmente (9/14)cuenta con su versión estable v4.0, en donde entre version y version se han incluido consecutivos parches a vulnerabilidades de todo tipo, entre las más populares podemos mencionar desde los; XSS (CROSS SITE SCRIPT), LFI (Local File Include), RFI (REMOTE FILE INCLUDE) hasta los famosos SQLi (SQL Injection), entre otros tantos, basta con darse una vuelta por el sitio http://www.exploit-db.org/ y buscar exploit para wordpress. (O hacer una consulta en nuestro Metasploit)

Para ser más objetivo voy a mencionar algunos artículos;




No es en todo los caso, pero se debe reconocer que la mayoría de las vulnerabilidades son consecuencia directa de incluir plantillas o plugins desarrollados por terceros, las cuales probablemente no pasen por ninguna auditoría de seguridad, en todo caso y aun cuando existan parches y/o actualizaciones para subsanar alguna vulnerabilidad a tan solo dos clicks de distancia, muchas veces es el mismo usuario quien no aplica las soluciones en cuestión.

Ahora para cualquier desarrollador que busque fallos de seguridad para proteger sus web (y porqué no, también para; auditores, pentesters, bloggers,(Hax0rs), etc, )que apueste por algo de automatización en lo que a busca de vulnerabilidades se refiere dentro de Wordpress, una excelente herramienta es “WPScan”

WPScan es una herramienta de código abierto escrita en Ruby, que además viene incluida por defecto en distribuciones de linux como; Backtrack, kali y Bugtraq. El proyecto aun en crecimiento se lo puede ver y descargar desde; https://github.com/wpscanteam/wpscan. Funciona bajo línea de comandos. Su uso es muy sencillo.
Una vez en nuestro equipo lo llamamos de la siguiente manera:

$ruby wpscan.rb
_______________________________________________________________
       __          _______   _____                  
       \ \        / /  __ \ / ____|                 
        \ \  /\  / /| |__) | (___   ___  __ _ _ __  
         \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
          \  /\  /  | |     ____) | (__| (_| | | | |
           \/  \/   |_|    |_____/ \___|\__,_|_| |_|

       WordPress Security Scanner by the WPScan Team
                       Version v2.4.1
    Sponsored by the RandomStorm Open Source Initiative
  @_WPScan_, @ethicalhack3r, @erwan_lr, pvdl, @_FireFart_
_______________________________________________________________


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.


Como se ve, su uso no ofrece ninguna complejidad.
WPScan, nos lista usuarios, plantillas, plugins, versión de wordpress, nos permite conectarnos a través de un proxy y por supuesto el detalle de las vulnerabilidades descubiertas con link de referencias a la fallo encontrado, nos permite hacer fuerza bruta sobre el formulario de login y como condimento extra, por si fuera necesario trae consigo la posibilidad de actualizarse.

EJEMPLO DE USO (Todo con fines educativos)

Wordpress conejillo: http://www.falklands.gov.fk/

  • vamos a descubrir los usuarios;

$ ruby wpscan.rb -u www.falklands.gov.fk --enumerate u

[+] Enumerating usernames ...
[+] Identified the following 2 user/s:
   +----+-------------+--------+
   | Id | Login       | Name   |
   +----+-------------+--------+
   | 6  | falkadmin   | falk   |
   | 7  | spook-admin | spook. |
   +----+-------------+--------+

En el paso, nos da otra información;

[+] robots.txt available under: 'http://www.falklands.gov.fk/robots.txt'
[!] The WordPress 'http://www.falklands.gov.fk/readme.html' file exists
[+] Interesting header: SERVER: Apache/2.2.15 (Red Hat)
[+] Interesting header: X-POWERED-BY: PHP/5.3.3
[+] Interesting header: X-UA-COMPATIBLE: IE=Edge,chrome=1
[+] XML-RPC Interface available under: http://www.falklands.gov.fk/xmlrpc.php
[+] WordPress version 3.4.2 identified from advanced fingerprinting
[!] 8 vulnerabilities identified from the version number


  • Listar plugins instalados y ver si alguno lleva alguna vulnerabilidad

$ ruby wpscan.rb -u www.falklands.gov.fk --enumerate p

[!] Title: Wordpress 3.4 - 3.5.1 /wp-admin/users.php Malformed s Parameter Path Disclosure
   Reference: http://seclists.org/fulldisclosure/2013/Jul/70
   Reference: http://osvdb.org/95060

[!] Title: WordPress 3.4 - 3.5.1 DoS in class-phpass.php
   Reference: http://seclists.org/fulldisclosure/2013/Jun/65
   Reference: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-2173
   Reference: http://secunia.com/advisories/53676
   Reference: http://osvdb.org/94235

[!] Title: WordPress 3.3.2 - 3.5 Cross-Site Scripting (XSS) (Issue 3)
   Reference: https://github.com/wpscanteam/wpscan/wiki/WordPress-3.5-Issues

[!] Title: WordPress 3.4.2 Cross Site Request Forgery
   Reference: http://packetstormsecurity.org/files/116785/WordPress-3.4.2-Cross-Site-Request-Forgery.html

[!] 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

[!] Title: Crafted String URL Redirect Restriction Bypass
   Reference: http://packetstormsecurity.com/files/123589/
   Reference: http://core.trac.wordpress.org/changeset/25323
   Reference: http://www.gossamer-threads.com/lists/fulldisc/full-disclosure/91609
   Reference: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-4339
   Reference: http://secunia.com/advisories/54803
   Reference: http://osvdb.org/97212
   Reference: http://www.exploit-db.com/exploits/28958/
[i] Fixed in: 3.6.1

[!] Title: Plupload Unspecified XSS
   Reference: http://www.securityfocus.com/bid/57555
   Reference: http://securitytracker.com/id?1028045
   Reference: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0237
   Reference: http://secunia.com/advisories/51967
   Reference: http://osvdb.org/89577
[i] Fixed in: 3.5.1

[+] Enumerating installed plugins  ...

  Time: 00:02:29 <==============================================================> (2699 / 2699) 100.00% Time: 00:02:29

[+] We found 8 plugins:

[+] Name: adminimize - v1.8.0
|  Location: http://www.falklands.gov.fk/wp-content/plugins/adminimize/
|  Readme: http://www.falklands.gov.fk/wp-content/plugins/adminimize/readme.txt

[+] Name: advanced-custom-fields
|  Location: http://www.falklands.gov.fk/wp-content/plugins/advanced-custom-fields/
|  Readme: http://www.falklands.gov.fk/wp-content/plugins/advanced-custom-fields/readme.txt

[!] Title: Advanced Custom Fields <= 3.5.1 - Remote File Inclusion
   Reference: http://packetstormsecurity.com/files/119221/
   Reference: http://secunia.com/advisories/51037
   Reference: http://osvdb.org/87353
   Reference: http://www.metasploit.com/modules/exploit/unix/webapp/wp_advanced_custom_fields_exec
   Reference: http://www.exploit-db.com/exploits/23856/
[i] Fixed in: 3.5.2

[+] Name: akismet - v2.5.6
|  Location: http://www.falklands.gov.fk/wp-content/plugins/akismet/
|  Readme: http://www.falklands.gov.fk/wp-content/plugins/akismet/readme.txt

[+] Name: disable-comments
|  Location: http://www.falklands.gov.fk/wp-content/plugins/disable-comments/
|  Readme: http://www.falklands.gov.fk/wp-content/plugins/disable-comments/readme.txt

[!] Title: Disable Comments 1.0.3 - disable_comments_settings.php Comment Status Manipulation CSRF
   Reference: http://www.securityfocus.com/bid/66564
   Reference: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-2550
   Reference: http://secunia.com/advisories/57613
   Reference: http://osvdb.org/105245
[i] Fixed in: 1.0.4

[+] Name: google-analytics-for-wordpress - v4.2.8
|  Location: http://www.falklands.gov.fk/wp-content/plugins/google-analytics-for-wordpress/
|  Readme: http://www.falklands.gov.fk/wp-content/plugins/google-analytics-for-wordpress/readme.txt

[+] Name: option-tree - v2.0.12
|  Location: http://www.falklands.gov.fk/wp-content/plugins/option-tree/
|  Readme: http://www.falklands.gov.fk/wp-content/plugins/option-tree/readme.txt

[+] Name: really-simple-twitter-feed-widget - v2.3
|  Location: http://www.falklands.gov.fk/wp-content/plugins/really-simple-twitter-feed-widget/
|  Readme: http://www.falklands.gov.fk/wp-content/plugins/really-simple-twitter-feed-widget/readme.txt

[+] Name: timthumb-vulnerability-scanner
|  Location: http://www.falklands.gov.fk/wp-content/plugins/timthumb-vulnerability-scanner/
|  Readme: http://www.falklands.gov.fk/wp-content/plugins/timthumb-vulnerability-scanner/readme.txt

==============================

Son solo dos ejemplos al uso. Queria dar un ejemplo en real, pero no me decidia por ningun sitio y entre muchas vueltas, aposté y considere correcto hacer la prueba de concepto sobre el portal de "FalkLands".
Cualquier comentario y/o sugerencia (siempre constructiva), sera bienvenido. Espero que el artículo les haya sido de interés

Saludos,
@Capitan_Alfa

No hay comentarios.:

Publicar un comentario