Você está na página 1de 43

Solucin al reto Hackademic.

RTB2

Averiguo la ip de la mquina objetivo

En el escaneo de puertos veo que el puerto 80 est abierto y es un servicio web y el 666 est filtrado.

Realizo un escaneo de directorios y ficheros, adems del index.php parece ser que tambin tenemos un phpmyadmin

Realizo un escaneo con dirbuster, se descubre el directorio index y check y otros directorios pertenecientes a phpmyadmin

Al acceder al servicio web aparece un formulario de acceso

Intento sin xito obtener las credenciales por fuerza bruta.


Tampoco es vulnerable a inyeccin SQL. No obtengo nada interesante de los directorios index y check.

Averiguo la versin de phpmyadmin consultando el fichero changelog.php.

No consigo explotar ninguna de las vulnerabilidades que tiene esta versin. Tampoco consigo las credenciales de phpmyadmin por fuerza bruta.

Para acceder al directorio setup de phpmyadmin es necesario autenticacin. Intento sin xito conseguir el acceso por fuerza bruta.

Escaneo de nuevo los puertos con distintas opciones, en uno de los escaneos el puerto 666 aparece abierto, despus de hacer distintas pruebas me doy cuenta de que al realizar varias veces un escaneo se abre ese puerto. Al final veremos por qu.

Repito el escaneo con ms opciones para sacar ms informacin sobre ese puerto. Es un servicio web lo que tenemos a la escucha. Ha encontrado el fichero robots.txt.

Realizo un escaneo de directorios.

Esto es lo que aparece cuando accedo al servicio web. Se trata del cms Joomla versin 1.5 como se puede ver en la vista y en el cdigo fuente.

Despus de dar vueltas por las distintas opciones que presenta, intento sin xito acceder al directorio administrator.

El directorio tmp est vaco y el resto de directorios no tiene nada interesante o no tengo acceso.

Intento sacar provecho de alguna de las mltiples vulnerabilidades que tiene Joomla 1.5. Despus de no conseguir explotar ninguna de ellas, llego a esta opcin, el listado de contenidos.

Guardo en el fichero (request.txt) la peticin al servidor para luego procesarla con sqlmap y comprobar si es vulnerable a SQLi

El parmetro letter es vulnerable a SQLi. Obtengo las bases de datos.

Obtengo el hash de los usuarios de mysql.users. Intento crackearlos sin xito.

Realizo un volcado de joomla.jos_users.

Necesito saber cmo genera el hash Joomla para despus crackearlo con hashcat.

Se han crackeado dos de los tres hashes. Usuario Password JSmith matrix Btallor victim

Me logueo con uno y otro usuario. No consigo encontrar ninguna vulnerabilidad.

Intento a travs de SQLi ejecutar el comando id. Indico que el backdoor de sqlmap lo suba a /var/www (por defecto) o como alternativa al directorio tmp que se descubri anteriormente. Sin resultado positivo.

Sin embargo, si consulto el directorio s veo que se ha creado el backdoor aunque sin contenido.

Ejecuto de nuevo sqlmap pero ahora conectado a burpsuite para ver qu pasa.

Quizs la SQLi no est dando resultados y a lo mejor por eso crea el fichero pero no el contenido.

Repito la peticin pero introduciendo un error en la query, a LIMIT le he quitado la M. Obtengo un error que me muestra la sql sobre la que se est ejecutando la SQLi.

Segn la sql: SELECT id, title FROM jos_content WHERE state=1 AND UPPER(title) LIKE List of content items LIMIT 1 La condicin state=1 AND UPPER(title) LIKE List of content items no se est cumpliendo. Consulto el contenido de jos_content y veo que hay un registro con title=Welcome y state=1

Cambio la cadena a buscar por WELCOME en maysculas que es como se va a comparar. Lanzo de nuevo la peticin y el resultado es que el fichero que se intenta grabar como backdoor ya existe.

Cambio el nombre del backdoor a mibackdoor.php

Ahora s se ha subido bien.

A travs del backdoor subo el webshell r577.php

Echo un vistazo a los directorios, servicios en ejecucin, etc, etc

Desde la webshell hago una conexin a mi sistema para tener una sesin de terminal (me muevo ms rpido aqu que en la webshell). Despus de algunas vueltas, descubro que la versin del kernel es vulnerable. CVE-2010-2959: Integer overflow in the Controller Area Network (CAN) subsystem when setting up frame content and filtering certain messages. An attacker could send specially crafted CAN traffic to crash the system or gain root privileges.

Para explotar la vulnerabilidad he encontrado el exploit 14814.c de exploit-db. Subo el fichero desde mi sistema, compilo, ejecuto y r00t!

Vuelco el contenido del fichero Key.txt, objetivo del reto y me encuentro con que est codificado, al parecer en base 64.

Copio el archivo al directorio raiz del servicio web, para poder bajarlo por web.

Lo descargo en mi sistema.

Decodifico el contenido y veo que se trata de una imagen PNG.

Hago un pequeo script para que lea Key.txt y cree key.png

Abro la imagen, y aqu tengo el contenido del fichero objetivo del reto.

Y ahora queda resolver la incgnita de por qu el puerto 666 inicialmente aparece filtrado y despus de varios escaneos de puerto, se muestra entonces abierto. Si se analizan las reglas en iptables, lo que se ha hecho es crear un port knocking. La conexin a los puertos 1001, 1101, 1011 y 1001 otra vez y en este orden abre el puerto 666.

Você também pode gostar