Funbox_CTF_4 VulnHub

Escaneo de puertos

nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
nmap -sCV -p<PORTS> <IP>

Info:

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-07 13:15 CEST
Nmap scan report for 192.168.5.131
Host is up (0.00037s latency).

PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 f6:b3:8f:f1:e3:b7:6c:18:ee:31:22:d3:d4:c9:5f:e6 (RSA)
|   256 45:c2:16:fc:3e:a9:fc:32:fc:36:fb:d7:ce:4f:2b:fe (ECDSA)
|_  256 4f:f8:46:72:22:9f:d3:10:51:9c:49:e0:76:5f:25:33 (ED25519)
80/tcp  open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
110/tcp open  pop3?
143/tcp open  imap    Dovecot imapd
|_imap-capabilities: CAPABILITY
MAC Address: 00:0C:29:CC:EE:88 (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 180.78 seconds

En la descripcion de VulnHub nos comenta el creador que hay algunos directorios en mayusculas, por lo que probare a entrar en el robots.txt pero en mayusculas, por lo que vemos si funciona...

Y vemos lo siguiente...

Si entramos en la segunda URL...

Veremos un Forbiden por lo que le tiraremos un Gobuster...

Gobuster

Info:

Vemos varias cosas interesantes...

Si nos vamos a /upload.php veremos que podemos subir cualquier archivo, por lo que haremos lo siguiente...

shell.php

Creamos un archivo para hacernos una Reverse Shell y subimos dicho archivo...

Una vez subido, nos pondra que se subio correctamente y antes de ir al archivo nos pondremos a la escucha...

Por lo que ahora estando preparados, vamos a la siguiente URL...

Pero nos pondra otro Forbiden, pero como sabemos como se llama nuestro archivo que subimos probaremos a ponerlo en la URL seguido del /upload de la siguiente manera...

Y si hacemos esto, funcionara, por lo que una vez entres dentro, nos creara una shell con el usuario www-data...

Por lo que la sanitizaremos...

Si hacemos lo siguiente...

Veremos la siguiente linea...

Esto actua como un /bin/bash que tiene permisos SUID, por lo que haremos lo siguiente...

URL = https://github.com/Almorabea/pkexec-exploit

Esto nos lo llevaremos al servidor victima, ya sea copiando el contenido de python o transferirlo con algun comando como curl o wget, pero como no estan instalados ni curl y wget haremos otra cosa, si nos acordamos de que anteriormente podemos subir archivos desde la pagina web, subiremos el .py desde la pagina web y lo moveremos desde terminal hasta /tmp para poder iniciarlo...

Una vez hecho todo eso, haremos lo siguiente...

Info:

Y con esto ya seriamos root, por lo que leeremos la flag...

flag.txt (flag_final)

Last updated