🕵️‍♂️
Alv-fh
  • Whoami
    • Curriculum
  • WriteUps
    • DockerLabs
      • Amor
      • NodeClimb
      • HiddenCat
      • Escolares
      • FirstHacking
      • Hidden
      • Move
      • SecretJenkins
      • Trust
      • Upload
      • Vacaciones
    • Vulnyx
      • Basic
      • Fire
      • Infected
      • Load
      • Plex
    • Vulnhub
      • Fristileaks
      • Symfonos1
Con tecnología de GitBook
En esta página
  • Writeup
  • Conocimiento de la red
  • Conectividad con la máquina objetivo
  • Escaneo de puertos y servicios
  1. WriteUps
  2. Vulnhub

Fristileaks

AnteriorVulnhubSiguienteSymfonos1

Última actualización hace 11 meses

image

Writeup

Conocimiento de la red

Mediante el comando arp-scan hacemos un escaneo de la red para conocer la IP de la máquina.

Conectividad con la máquina objetivo

Hacemos un ping para comprobar que tenemos conectividad con la máquina y vemos que tiene un TTL de 64, por lo que se trata de una máquina Linux.

Escaneo de puertos y servicios

Hacemos un escaneo con nmap y utilizamos la siguiente sintaxis:

sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -vvv -Pn 192.168.1.137 -oN puertos

Vemos que tiene el puerto 80 abierto y que existe el fichero robots.txt con posibles rutas.

Comprobamos la IP en el navegador y el archivo robots.txt.

Compruebo que en las tres rutas sale esto, por lo que se me ocurre hacer fuzzing web.

Hacemos uso de gobuster pero no me reporta nada. Por lo que empiezo a probar posibles rutas hasta que doy con una llamada fristi.

Probamos credenciales típicas como admin admin, pero después de darle vueltas, decido hacer fuzzing web otra vez pero a la ruta /fristi.

Pruebo a ver que hay en el uploads.php y me hace una redirección al portal de admin en el que hay un login.

Me pongo a revisar el contenido de la página y veo un posible usuario llamado eezeepz.

Veo que en la imagen hay un comentario que dice que está en Base 64. Por lo que lo decodifico y dice esto.

Por lo que pruebo a decodificar el texto en PNG y me sale esta imagen.

Pruebo con el usuario nombrado antes y con esto que parece una clave y funciona.

Veo que puedo subir archivos, por lo que se me ocurre subir una reverse shell en php pero veo que solo puedo subir archivos con extensión .jpg,.png y .gif

Por lo que pruebo y pruebo extensiones hasta que pienso en poner .png delante de la extensión .php haciendo uso del comando mv.

Compruebo que se sube correctamente y dice que se ha subido a /uploads.

Se que no puedo ver lo que hay en uploads pero se que está subido por lo que pongo la ruta pero sin antes hacer un nc -nlvp 443

Ya tenemos una shell, ahora vamos a hacerla fácil de utilizar.

script /dev/null -c bash

CTRL + Z

stty raw -echo; fg

reset xterm

export TERM=xterm

export BASH=bash

Entramos en la carpeta home para ver usuarios.

Entramos en eezeepz y vemos que hay una nota que dice lo siguiente:

Intento explotar el kernel, para ello busco que Sistema Operativo es y que version con el comando uname -a.

Buscamos con el uso de searchsploit linux kernel 2.6.32 posibles exploits y encontramos uno que puede servir a simple vista.

Lo copiamos al directorio de trabajo y vemos como funciona.

Tenemos que compilarlo en la máquina objetivo para evitar problemas ya que está en C. Por lo que monto un servidor en Python.

python3 -m http.server 4444

Y en la máquina objetivo en la carpeta /tmp ya que tenemos permisos de escritura nos los traemos.

Ahora compilamos y le damos permisos de ejecución.

Ahora lo ejecutamos y nos pide una clave, le daremos directamente a INTRO.

Esto básicamente lo que hace es crear el usuario firefart con permisos root.

Ahora nos metemos al usuario firefart.

Y buscamos ficheros con extensión .txt y encontramos la flag.

image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image