Gigachard HackMyVM (Easy- 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-15 03:17 EDT
Nmap scan report for 192.168.1.177
Host is up (0.00024s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-r-xr-xr-x    1 1000     1000          297 Feb 07  2021 chadinfo
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:192.168.1.146
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 2
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 6a:fe:d6:17:23:cb:90:79:2b:b1:2d:37:53:97:46:58 (RSA)
|   256 5b:c4:68:d1:89:59:d7:48:b0:96:f3:11:87:1c:08:ac (ECDSA)
|_  256 61:39:66:88:1d:8f:f1:d0:40:61:1e:99:c5:1a:1f:f4 (ED25519)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
| http-robots.txt: 1 disallowed entry 
|_/kingchad.html
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.38 (Debian)
MAC Address: 08:00:27:AC:6A:6D (Oracle VirtualBox virtual NIC)
Service Info: OSs: Unix, 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.94 seconds

Veremos un puerto 80, pero tambien un FTP por lo que vamos a ver que nos encontramos en dicho FTP:

Veremos que funciona, si listamos veremos lo siguiente:

Info:

Vemos un archivo llamado chadinfo por lo que vamos a descargarnoslo y leerlo.

Ahora si lo leemos:

Veremos algunas cosas raras pero lo que si veremos sera que tenemos el nombre de usuario que seria chad y tambien no dice algo de /drippinchad.png por lo que vamos a descargarnos la imagen si existiera en dicha ruta de la siguiente forma:

Pero antes de extraer algun metadato o algo parecido, vamos a ir a la pagina del puerto 80 y vamos a ver que encontramos, si entramos e inspeccionamos la pagina veremos lo siguiente:

Vamos a ver que puede significar eso, podemos suponer que puede ser un MD5 por lo que vamos a guardarlo en un hash y vamos a intentar crackearlo.

Crack MD5

hash

Info:

Veremos que ha funcionado, pero no encontraremos gran cosa, por lo que vamos a pasar ahora a intentar ver que imagen nos descargamos:

Vemos un meme en si, pero puede ser que tenga algo que ver esa torre de fondo, por lo que ahora si vamos a extraer los metadatos de la imagen a ver si conseguimos encontrar dicha ubicacion de la imagen.

exiftool

Pero no veremos que contenga datos de geolocalizacion por lo que vamos a buscar dicha torre a mano, con Google Lens y veremos que la hemos encontrado, nos informamos y veremos en Wikipedia como se llama la torre.

Vemos que se llama Maiden's Tower, pero vamos a dejarlo sin las ' y un poco mas limpio de estas formas:

pass.txt

Vamos a crearnos un archivo de contraseñas para el usuario chad a ver si funciona, ahora probaremos con hydra para realizar fuerza bruta.

Escalate user chad

Hydra

Info:

Veremos que ha funcionado, por lo que vamos a conectarnos por SSH de la siguiente forma:

SSH

Metemos como contraseña maidenstower y veremos que estamos dentro, por lo que leeremos la flag del usuario.

user.txt

Escalate Privileges

Si listamos los permisos SUID veremos lo siguiente:

Info:

Veremos entre todo esto una cosa bastante interesante y muy poco comun, que seria la siguiente linea:

Si empezamos a buscar dicho binario a ver si encontramos alguna vulnerabilidad efectivamente la encontraremos y es que ese binario no deberia de tener permisos SUID ya que podremos realizar esto:

URL = Vulnerabilidad S-nail LPE

Vamos a descargarnos el archivo en nuestra maquina host echo eso, nos abriremos un servidor de python3 para pasarnos el archivo a la maquina victima:

Ahora en la maquina victima ejecutaremos lo siguiente:

Echo esto estableceremos los permisos de ejecuccion por si acaso al .sh:

Y por ultimo vamos a ejecutarlo a ver si funciona:

Pero veremos que no funciona, estuve investigando y no siempre funciona a la primera, por lo que vamos a crear un bucle ejecutandose continuamente hasta que funcione:

Esperando un rato veremos que ha funcionado y veremos lo siguiente:

Por lo que veremos con esto ya seremos root por lo que leeremos la flag de root.

root.txt

Last updated