Pingme HackMyVM (Intermediate - Linux)

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 2025-04-07 11:00 EDT
Nmap scan report for 192.168.28.15
Host is up (0.00078s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5 (protocol 2.0)
| ssh-hostkey: 
|   3072 1f:e7:c0:44:2a:9c:ed:91:ca:dd:46:b7:b3:3f:42:4b (RSA)
|   256 e3:ce:72:cb:50:48:a1:2c:79:94:62:53:8b:61:0d:23 (ECDSA)
|_  256 53:84:2c:86:21:b6:e6:1a:89:97:98:cc:27:00:0c:b0 (ED25519)
80/tcp open  http    nginx 1.18.0
|_http-title: Ping test
|_http-server-header: nginx/1.18.0
MAC Address: 08:00:27:8C:D1:FE (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 17.32 seconds

Veremos que tenemos una pagina web corriendo, si entramos dentro veremos lo siguiente:

Vemos que esta realizando un ping desde nuestra IP a la de la maquina victima por lo que esta generando trafico ICMP, vamos a investigar un poco realizando un poco de fuzzing, pero no veremos gran cosa.

Ya que vemos que cada vez que recargamos se realizar un ping hacia nuestra maquina vamos a ponernos a la escucha mediante el trafico ICMP con la herramienta tcpdump, estando a la escucha recargaremos la pagina para ver el trafico de paquetes que sucede en dicha red.

tcpdump

Info:

Vemos que nos esta llegando unas credenciales que serian las siguientes:

Por lo que probaremos a meternos mediante SSH.

Metemos como contraseña P!ngM3 y veremos que estamos dentro, por lo que leeremos ña flag del usuario.

user.txt

Escalate Privileges

Si hacemos sudo -l veremos lo siguiente:

Veremos que podemos ejecutar sendfilebyping como el usuario root, por lo que veremos que contiene:

¿Qué hace exactamente sendfilebyping?

Comprueba que se pasen 2 argumentos:

Lee el archivo carácter por carácter:

Convierte cada carácter a hexadecimal:

Envía un ping con ese byte en el payload:

Cuenta los paquetes enviados.

Por lo que podemos utilizar esto para exfiltrar archivos ejecutandolo como root, vamos a probar a intentar mandarnos por datos ICMP el archivo shadow.

ESCUCHA ICMP HOST

ENVIO DE ARCHIVO VICTIMA

Si volvemos a donde tenemos la escucha veremos que el archivo se ha generado de forma correcta:

Ahora vamos a filtrar toda la informacion para verlo de forma clara:

Info:

Vemos que esta funcionando de forma correcta, por lo que probaremos a leer la clave PEM del usuario root a ver si funciona:

ESCUCHA ICMP HOST

ENVIO DE ARCHIVO VICTIMA

Si volvemos a donde tenemos la escucha veremos que el archivo se ha generado de forma correcta:

Ahora vamos a filtrar toda la informacion para verlo de forma clara:

Info:

Tendremos que ponerles los - correspondientes para que tenga el formato de id_rsa quedando de la siguiente forma:

Ahora vamos a guardarlo en un archivo llamado id_rsa y le daremos los siguientes permisos correspondientes:

Probaremos a conectarnos como root proporcionando la clave PEM obtenida de la siguiente forma:

Info:

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

root.txt

Last updated