Curso Hacking WordPress – Así te Hackean tu WordPress

Hackear WordPress como lo hacen los malos.

SI, ASI ES!!! Hoy veremos como Hackear WordPress!!! Valla sorpresa no, en un curso que precisamente se llama Hacking WordPress

Casi en cada ocasión que tengo hablo de las diferencias entre los White Hat y los Black Hat, pues bien, hoy no iba a ser una excepciónl la información y los conocimientos en sí, no son peligrosos, por muy claro que lo tengan los gobernantes de este bello país, o al menos esa es la impresión que dan al juzgar por lo que hacen con la educación Española, tal y como critico en mi libro, bueno, futuro libro si algún día lo termino.

Recurda que también tienes este tutorial EN VIDEO!!

White Hat VS Black Hat

Esto es un punto a tener en cuenta sobre prácticamente cualquier cosa que englobe al Ethical Hacking como tal, bajo este contexto de Hacking WordPress nosotros somos los White Hat por el mero hecho de que utilizamos estas mismas técnicas que aquí aprendemos para hacer entornos WordPress más seguros, claro que siempre habrá quien lea este Post por el mero hecho de querer hacer el mal, no obstante, que quiera hacer con la información recae bajo la responsabilidad de cada uno.

WPScan, es nuestro más fiel amigo

Para la realización de esta clase utilizaremos la herramienta WPScan que ya viene instalada por defecto en nuestro Kali Linux y es extremadamente versatil.

También podéis descargaros directamente WPScan desde el repositorio oficial de GitHub.

Lo primero de todo sería mencionar como se usa.

Pues bíen el comando que mejor hemos de conocer es wpscan --help que nos mostrará la información sobre el uso de esta herramienta.

A continuación les redactaré las opciones que más usaremos.

--update          -->  Actualiza la base de datos de wpscan.
--url       | -u  -->  Nos sirve para pasarle la url del wordpress que queremos analizar.
--force     | -f  -->  Evita que compruebe si el wordpress funciona.
--enumerate | -e  -->  Opciones, le pasaremos los parámetros por los que queremos que busque.
option :
u         usernames from id 1 to 10
u[10-20]  usernames from id 10 to 20 (you must write [] chars)
p         plugins
vp        solo muestra los plugins vulnerables
ap        muestra todos los plugins (puede tardar bastante tiempo)
tt        timthumbs (este os juro que no se para que es)
t         muestra los temas
vt        solo muestra los temas vulnerables
at        muestra todos themes (puede tardar bastante tiempo)

Para colocar mas de una opción se pueden separar por comas, por ej:
wpscan --url (la página web auditada) --enumerate u,vp,vt

Este último ejemplo mostraría los usuarios de wordpress, los plugins y los temas vulnerables.

Siguiendo con la lista de opciones útiles tenemos:
--wp-content-dir  --> Le podemos pasar la carpeta especifica del wp-content en el caso de que de haya cambiado la carpeta por defecto a otra distinta.
--wp-plugins-dir  --> Le podemos pasar la carpeta especifica de los plugins en el caso de que de haya cambiado la carpeta por defecto a otra distinta.
--proxy           --> Nos permite utilizar un servidor proxy para realizar nuestro ataque.
--proxy-auth      --> Nos permite autentificarnos en el proxy.
--basic-auth      --> Utiliza una autentificación HTTP básica.
--wordlist | -W   --> Nos permite utilizar una lista de contraseñas para realizar un ataque de fuerza bruta.
--username | -U   --> Nos permite realizar usar un usuario para realizar un ataque de fuerza bruta.
--usernames       --> Nos permite utilizar una lista de usuarios para realizar un ataque de fuerza bruta con cada usuario de la lista.
--threads | -t    --> Permite realizar muchas conexiones simultaneamente para agilizar el ataque.
--throttle        --> Sirve para pasarle en milisegundos el tiempo que a de esperar entre cada conexión (ideal para usar en servidores con pocos recursos).
--version         --> Simplemente nos muestra nuestra versión de WPScan y se cierra el programa.

Como colofon final podría añadir que como siempre podemos almacenar el resultado de nuestra ejecución en un archivo poniendo al final de la consulta ” >> (ruta del archivo/nombre del archivo)”.

Comencemos con la auditoría

Lo primero que tendrémos que hacer es tener un dominio con un WordPress al que queramos analizar.

Yo en este caso tengo un WordPress instalado en la carpeta /var/www/wordpress/ en mi servidor con ip 192.168.1.121.

Actualizar la base de datos de WPScan

Bien, lo primero que SIEMPRE debemos de hacer antes de usar WPScan deberemos de actualizar la base de datos ya que en esta se almacena todas las vulnerabilidades de los distintos temas y plugins de wordpress.

Para actualizar la base de datos utilizaremos:
wpscan --update

Ahora, una vez que ya hemos actualizado la base de datos de WPScan ya podrémos empezar con nuestra auditoría.

Obteniendo los nombre de usuarios

Hoy no nos centraremos en la explicación de por qué y como realiza este ataque esta herramienta, de momento…

Por ahora solo veremos como utilizar esta herramienta, para esto utilizaremos:

wpscan --url 192.168.1.121/wordpress/ --enumerate u

Como bien recordamos, –enumerate u lo utilizamos para enumerar los usuarios, en mi caso obtendría este resultado:

Obtener usuarios WordPress con WPScan - Curso Hacking WordPress

Obtener usuarios WordPress con WPScan – Curso Hacking WordPress

Obteniendo vulnerabilidades en los temas y plugins

En este caso cabe recalcar que no obtendré nada puesto que el WordPress que estoy analizando no tiene absolutamente nada instalado.

Para obtener esto, a parte de los usuarios, usaremos:

wpscan --url 192.168.1.121/wordpress/ --enumerate u,vt,vp

Recordemos que:
u  -->  lista los usuarios
vt -->  lista los temas vulnerables
vp -->  lista los plugins vulnerables

Obtener usuarios y vulnerabilidades en WordPress con WPScan - Curso Hacking WordPress

Obtener usuarios y vulnerabilidades en WordPress con WPScan – Curso Hacking WordPress

Realizando el Test de Penetración

Y finalmente llegamos a mi sección favorita, la parte del test de penetración, lo que hoy haremos será obtener todos los usuarios y almacenarlos en un archivo, un usuario por cada linea, en esta caso lo he almacenado en /root/Escritorio/wordlist/users.txt.

También crearemos otro archivo con una lista de contraseñas, este tipo de diccionarios ya están disponibles en internet, no obstante, si el diccionario es muy extenso tardará muchísimo tiempo por lo que sería mejor idea tener un diccionario de las contraseñas más típicas y añadir nuevas contraseñas a través de footprinting y fingerprinting.

Mi diccionario lo he almacenado en /root/Escritorio/wordlist/wordlist.txt.

Para realizar el ataque de fuerza bruta usaremos:

wpscan --url 192.168.1.121/wordpress/ --wordlist /root/Escritorio/wordlist/wordlist.txt --usernames /root/Escritorio/wordlist/users.txt

Con esto realizaremos el ataque por diccionario, testeará todas las contraseñas con todos y cada uno de los usuarios, por lo que en esta ocasión quizás fuese una buena idea utilizar varios threads con –threads x.

Una vez termine el proceso, obtendremos una lista con los usuarios y las contraseñas con las que ha obtenido acceso, en el caso de que no se haya encontrado ninguna contraseña se obtendría un cadena vacía.

Ataque por diccionario a un WordPress con wpscan - Curso Hacking WordPress

Ataque por diccionario a un WordPress con wpscan – Curso Hacking WordPress

Guardando todo nuestro trabajo

Es muy importante almacenar nuestro proceso, ya sea para mostrarlo en el informe de nuestra auditoria o simplemente para tenerlo guardado y poder usar esta información mas tarde.

Como siempre, para almacenar el resultado de cualquier consulta o programa, podemos usar >> (ruta archivo/fichero.txt), si ejecutásemos la consulta anterior pasandole la ruta /root/Escritorio/wpscan-2016-11-19.log nos crearía el archivo wpscan-2016-11-19.log en el escritorio.

guardar el resultado de wpscan - Curso Hacking WordPress

guardar el resultado de wpscan – Curso Hacking WordPress

Y aquí tenemos el resultado final del archivo wpscan-2016-11-19.log.

Resultado de wpscan - Curso Hacking WordPress

Resultado de wpscan – Curso Hacking WordPress

Y bueno, nada, por mi parte esto es todo, en el próximo capítulo veremos como modificar la base de datos para evitar que este ataque se pueda llevar a cabo.

Como siempre ya sabéis que os invito a comentar y nos vemos, en el próximo! ;D

2 comentarios

  1. Pues lo del timthumb creo que comprueba si hay enlaces que hacen uso de un script de PHP del mismo nombre que redimensionaba imágenes. El proyecto lo abandonó el autor a raíz de vulnerabilidades que aparecieron desde el 2010. Dejo un par de enlaces al respecto:
    https://www.binarymoon.co.uk/2014/09/timthumb-end-life/
    https://ayudawp.com/timthumb-abandonado/

    • Diego Celdran Morell

      Muchas gracias por tu aporte joa, lo cierto es que jamás lo he utilizado así que imagínate lo que me ha hecho falta.. jajaja

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *