Skip to main content

Command Palette

Search for a command to run...

Exec - Vulnyx

Resolución de la maquina Exec de Vulnyx

Updated
3 min readView as Markdown

Hola, ¿de casualidad tienes 3 minutos, quiero mostrarte un CTF?.

Side Eye Dog GIF - Side Eye Dog Worried - Discover & Share GIFs | Dogs,  Animals, Dog hacks

Pero antes, gracias a s3cur4 por realizar este CTF y a la comunidad de Vulnyx por hacer esto posible.

Descripción de la maquina.

Sistema OperativoLinux 🐧
DificultadMuy Fácil
Lanzamiento15/4/2024
Creadors3cur4
Primer Usuariosuraxddq
Primer Rootsuraxddq

Enumeración

Empecemos con un nmap

Y bien, tenemos un servicio web y un Samba, vamos a explorar el servicio web.

Al parecer no tenemos nada, pero vamos a realizar un fuzzing con gobuster en busca de directorios o archivos.

gobuster dir -u http://192.168.1.65/ -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 70 -x php,html,js,css,txt

Pero no obtuvimos nada, pasemos a explorar el servicio Samba, vamos a listar los recursos compartidos con una null session.

Bueno, tiene un par de recursos, miremos con smbmap que permisos tenemos bajo estos recursos, aplicando un null session.

smbmap -H 192.168.1.65 -u 'null' -p 'null

Y vemos que tenemos permisos de escritura en la carpeta server, vamos a conectarnos.

smbclient //192.168.1.65/server -U "null%null"

Bien, tenemos un index.html y la carpeta se llama server, esto debe de ser el servicio web que se aloja en el puerto 80, ¿No?

Vamos a comprobarlo, subiremos un archivo y ver si lo podemos visualizar.

Y en efecto lo es, ¿que sigue?

Podemos subir un archivo con un código el cual nos devuelva una reverse shell, este código debe ser interpretado por la web... Por lo tanto debemos averiguar que lenguaje puedo interpretar el servicio web, por ejemplo php, py, java, ruby, aspx, js, etc.

¿Como lo podemos averiguar?

  • Hearders

En ocasiones el encabezado server, puede indicar el lenguaje, también podrían usar whatweb o la extensión wappalyzer.

  • Paginas 404

A veces las paginas 404 son personalizadas en algunos lenguajes.

  • Prueba y error.

Como en los anteriores casos no obtuve algo claro de que lenguaje se pudiera estar interpretando, decidí intentarlo manualmente con cada uno de los posibles lenguajes.

Hasta que subí un archivo php el cual este fue interpretado, una vez sabiendo esto, generamos un código para una reverse shell en (Reverse Shell Generator)

Lo subimos al Samba.

Nos colocamos en escucha y consultamos.

Y ahí lo tenemos.

Harry Potter documentary A History of Magic to show secrets behind the  creation of the series

Escalada de privilegios

Primero enumeramos los usuarios del sistema.

Después de varias cosas, me tope con los permisos sudo del usuario www-data.

Y buenoo, realizamos sudo -u s3cur4 /usr/bin/bash

Y seguimos con la enumeración de permisos sudo.

Tenemos el binario /usr/bin/apt, veremos como podemos abusar de este en GTOBins.

Probemos con la opción (a), este nos abrirá el editor vim y ahí aplicamos la sentencia !/bin/bash

Y ahí lo tenemos, eso fue todo, hasta luego estimado lector!!

Inception Ending (HD) on Make a GIF