Iniciamos con nuestro reconocimiento con Nmap
PORT STATE SERVICE REASON VERSION
22/tcp open ssh syn-ack ttl 63 OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 e2:5c:5d:8c:47:3e:d8:72:f7:b4:80:03:49:86:6d:ef (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAyYzjPGuVga97Y5vl5BajgMpjiGqUWp23U2DO9Kij5AhK3lyZFq/rroiDu7zYpMTCkFAk0fICBScfnuLHi6NOI=
| 256 1f:41:02:8e:6b:17:18:9c:a0:ac:54:23:e9:71:30:17 (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP8A41tX6hHpQeDLNhKf2QuBM7kqwhIBXGZ4jiOsbYCI
80/tcp open http syn-ack ttl 63 Apache httpd 2.4.52
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.52 (Ubuntu)
|_http-title: Did not follow redirect to http://permx.htb
Service Info: Host: 127.0.1.1; OS: Linux; CPE: cpe:/o:linux:linux_kernel
Vamos a revisar la web y no vemos nada a simple vista, si enumeramos directorios no vemos nada, pero si enumeramos subdominios encontramos uno (lo agregamos al /etc/hosts
)
gobuster vhost --url http://permx.htb/ -w /usr/share/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -t 80 --append-domain | grep -v 302
vamos a investigarlo, para ello vamos a enumrar directorios y vemos esta info interesante
http://lms.permx.htb/certificates/
:- es un panel de autenticacion
http://lms.permx.htb/certificates/
:- documentacion de la tecnologia que usa la web (usa
Chamillo 1.11
) Buscamos exploits para esa version del LMS (learning management and collaboration system), Link Vamos a usarlo
- documentacion de la tecnologia que usa la web (usa
- Funcionamiento
Esta vulnerabilidad es devida a que hay un endpoint
/main/inc/lib/javascript/bigupload/inc/bigUpload.php?action=post-unsupported
donde por POST podemos pasarle un archivo y se almacena en se endpoint
ahora tenemos esta webshell
nos mandamos una revshell (se puede hacer desde el POC) y vamos a enumerar creadenciales del servidor (ruta: var/www/chamilo
) (tambien podemos ir poco a poco buscando en lo archivos que es mejor)
find . -name \*conf\* -type f -exec grep pass {} \;
tenemos na pass vamos a probarla para alguno de los usuarios para ssh
$_configuration['db_password'] = '03F6lY3uXAP2bkW8';
enumaramos y vemos que podemos ejecutar un script como root
el script no nos permite cambiar archivo fuera de nuestro home y tampoco podemos usar
..
pero si que podemos crear un enlace simbolico de por ejemplo el passwd
y quitarle la password a root
ahora que no tiene pass vamos a entrar como root