Ir al contenido principal

Jewel Challenge THM


Enumeración de dominios y subdominios

El desafio Jewel forma parte del módulo Upload Vulnerabilities, de la ruta Web Fundamentals, presentada en la plataforma Try Hack Me. Este desafió pone a prueba los conocimientos adquiridos en la ruta de una manera práctica. Este exige una mayor atención a la enumeración de la web investigada, para que de alguna manera sea posible insertar código malicioso o se pueda subir un payload a la máquina objetivo.

1. Gobuster

utilizando el comando: 

gobuster -u http://jewel.uploadvulns.thm/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

Realizamos el reconocimiento de las subcarpetas del sistema, con los siguientes resultados: 

Es necesario notar que el directorio /content contiene las imágenes del slider.

Otra carpeta de interés es admin, la misma permite la ejecución de módulos: 

 2. Herramientas del desarrollador

Adicionalmente realizaremos el reconocimiento mediante las herramientas para desarrollador del navegador web firefox, con los siguiente resultados:

  • En la portada de la web encontramos un slide, que presenta diferentes imágenes en forma rotativa, estas se muestran a partir de la clase "Background".
  • La clase background se encuentra dentro la carpeta assets.
  • En el depurador encontramos la función upload.js, que también se encuentra en la carpeta assets, esta restringe las siguientes características para los archivos a cargar al sistema:
    • El tamaño del archivo a cargar.
    • Verifica los números mágicos (hexadecimal de la cabecera de la imagen a subir), impidiendo que se suba imágenes con cabecera tipo jpg (ÿØÿ) pero no así imágenes con cabecera JPEG.
    •  Revisa que las extensiones de los archivos cargados sean de tipo imagen.

3. Wappalizer

Luego verificaremos las tecnologías del sistema con los siguientes resultados:

Conociendo el lenguaje de programación del servidor se puede realizar la búsqueda de un payload para el mismo. 

 El enlace al payload es el siguiente: https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md#nodejs

Sin embargo, es necesario descubrir la manera de introducir el payload en el servidor. Para ello utilizaremos burpsuite para modificar (o eliminar) la forma en que se filtra los archivos a ser subidos al servidor. 

Payload

4.  BurpSuite

Utilizando la herramienta BurpSuite, realizaremos la modificación necesaria para que sea posible subir el archivo que contiene el payload. Pero, es necesario modificar las reglas de petición de intercepción del cliente en proxy-->options

 

Editamos la primera opción que filtra las peticiones tipo html, css, jpg, etc

Nos interesa interceptar las peticiones js, para ello, quitaremos js del filtrado.

 
Modificaremos las restricciones para permitir ejecutar el payload subido. 
Primero en la petición upload.js damos click derecho, seleccionamos
do-intercept-->response this request.
 
 
Posteriormente damos forward hasta llegar al response solicitado. Una vez en el response comentamos o eliminamos las restricciones. 
 
 
Una vez modificada la petición, cargamos el payload con la extensión .jpg para su ejecución, con los valores de el puerto por el cual nos comunicaremos, y la ip que nos otorga thm para este ejercicio (nuestra ip, no la ip de la máquina objetivo).

5. Gobuster

Posterior a ello necesitaremos ubicar nuestro archivo. Utilizaremos gobuster y el archivo que nos ofrece thm para hallar la "imagen" que cargamos. Para ello utilizaremos el comando:

gobuster -u http://jewel.uploadvulns.thm/content/ -x jpg -w UploadVulnsWordlist.txt

Con ello notaremos que nuestro archivo se ha subido al directorio content y se ha renombrado, en nuestro caso en NFG.jpg

 6. Netcat

Abrimos un servidor local con netcat por el puerto 4444, como especificamos en el payload, con la siguiente orden por consola:
nc -nvlp 4444

7. ejecución del código malicioso

Una vez cargado el archivo procedemos a la ejecución del código malicioso utilizando la página /admin


Una vez realizada la operación, en nuestra ventana del servidor, podremos ver la ejecución del payload y hallar la flag buscada
 

 Otra forma de subir el archivo

Como se cito anteriormente, se realizó pruebas con números mágicos, siendo que la cabecera "jpeg":

 ����^@^PJFIF^@^A00 10 4A 46 49 46 00 01

no se filtra y es posible cargar el payload con la misma.


 Inspeccionando las subcarpetas hallamos el archivo cargado.


Sin embargo no fue posible ejecutar el código malicioso con las pruebas que realizamos.

Comentarios

Entradas populares de este blog

Calculadora con listas y pilas en Java

Holas¡¡¡ espero que todo bien. En esta ocasión les comparto un proyecto que realice para la universidad. Se trata de una calculadora hecha en la estructura de listas con apoyo de pilas. El funcionamiento es simple: se introduce los datos y finalizado el ingreso de datos retorna un resultado, espero les sirva :). La calculadora a ser implementada debe ser de expresiones aritméticas que evalué suma, resta, multiplicación y división de la forma: 4+5-(8+65-23)+90 Al ser un dato compuesto se llegó a la conclusión de que los datos deben ser tratados como datos tipo String. De esta forma los datos pueden ser tratados de la misma manera. Para realizar las siguientes comparaciones.            Es necesario componer los números como unidades, decenas, centenas            Es necesario comparar si son llaves o signos aritméticos de evaluación            Es necesario comparar si son operaciones secundarias (dentro de los parentesis) o primarias            Es necesario completar

atajos de teclado mas utilizados en audition

holas :) bueno acá les traigo una entrada que nos interesa mucho cuando tenemos problemas con seleccionar algo o cuando necesitamos hacerlo con mayor rapidez. Bueno lo primero que debemos saber es que podemos cambiar en cualquier momento los atajos de teclado en: Edición-Métodos abreviados de teclado ó pulsando alt+k hecho esto seleccionamos la función que deseamos y luego hacemos click en "pulse para nueva tecla de método abreviado" y listo. Pero ese no es el tema de esta entrada el tema es los atajos de teclado mas utilizados en audition y luego de esta necesaria aclaración empezamos. Iniciaremos en el panel editar, como viste hay una cantidad muy grande de atajos por eso veremos los que uso normalmente:  ESCOGER CANAL DE AUDIO oprimiendo las teclas ctrl+l seleccionaremos el canal izquierdo (si deseamos bajar el sonido aplicarle algo etc es mejor pintar primero lo que desemaos y luego oprimir las teclas):  lo mismo haremos con el canal derecho ctrl+r

Instalación Ginga en Windows

Holas¡¡¡ bueno en vista que la tecnología avanza y estamos ante una nueva perspectiva sobre la producción de materiales multimedia les traigo una actualización a un proyecto que lleva un par de años la "Televisión Digital Terrestre". Los medios que reproduce son parecidos con la diferencia que este nuevo software permite generar interactividad con los usuarios (televidentes). Para empezar les dejo un par de videos realizados por la Comunidad Ginga Perú y los enlaces a la comunidad Ginga Ecuador ademas del libro "La televisión digital terrestre en Bolivia: Retos para la recién llegada". Finalmente les dejo los repositorios actualizados para la instalación del software. Primero: Veamos el siguiente video de instalación (hasta el minuto 10 aproximadamente trata sobre la instalación):  En este video debemos tomar en cuenta que el repositorio de Lua no existe y el eclipse galileo no esta actualizado como para recibir la nueva libreria lua. Para solucionar