Hackthebox — Writeup Swagshop No /MSF

Israel Aráoz Severiche
5 min readOct 3, 2020

--

En el acceso inicial, se ejecutó en dos pasos, primer paso , crear un usuario atreves de un exploit que explota un SQLi, en el segundo paso se utilizó un exploit, que condiciona a una autenticación (1er paso), para la escalada de privilegio, el método utilizado fue a traves de sudo

Recolección de información

Es necesario recopilar información, sobre los puertos abiertos

nmap --min-rate 4500 -n -v -p- -oA swagshop 10.10.10.140
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http

Ahora la versión de los servicios

nmap -sC -sV -p22,80 -oA swagshop.service 10.10.10.140
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 b6:55:2b:d2:4e:8f:a3:81:72:61:37:9a:12:f6:24:ec (RSA)
| 256 2e:30:00:7a:92:f0:89:30:59:c1:77:56:ad:51:c0:ba (ECDSA)
|_ 256 4c:50:d5:f2:70:c5:fd:c4:b2:f0:bc:42:20:32:64:34 (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Home page
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Particularmente creo, que solo hay un camino, HTTP, vamos por el, al ingresar, se nos presenta “Magento”

Ahora que sabemos, que esta magento, es necesario seguir “chusmeando”, los directorios ocultos, “for if the fly”, como diria mi amigo Tevez.

gobuster dir --url http://10.10.10.140 -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -t 100
===============================================================
Gobuster v3.0.1
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)
===============================================================
[+] Url: http://10.10.10.140
[+] Threads: 100
[+] Wordlist: /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.0.1
[+] Timeout: 10s
===============================================================
2020/10/03 09:29:24 Starting gobuster
===============================================================
/includes (Status: 301)
/media (Status: 301)
/lib (Status: 301)
/app (Status: 301)
/js (Status: 301)
/shell (Status: 301)
/skin (Status: 301)
/var (Status: 301)
/errors (Status: 301)
/mage (Status: 200)
===============================================================
2020/10/03 09:32:38 Finished

Se identificó un exploit

En el código del exploit, es necesario cambiar la dirección del target, y si es necesario cambiar user/password puede hacerlo cambiando username=”forme” y password=”forme”

Este exploit explotó una vulnerabilidad de sqli, permitiendo agregar un usuario a magento.

Con ese usuario ya ingresamos al panel de administración

Acceso Inicial

Ahora que ya tenemos acceso (autenticado), es necesario determinar la versión para buscar si existe algún exploit

Y si, existe uno incluso la condición de estar autenticado para que funcione

al ejecutar el exploit, presento un par de problemas, que fueron solucionados

es necesario, revisar el exploit, ya que el creador, comenta que ciertas variables deben ser “seteadas” manualmente o en todo caso actualizadas

la primer variable que se cambió (actualizó) fue install_date

El exploit presentó varios errores, se realizaron cambios primero, en la variable install_date, en el exploit se puede apreciar, que dice que debe ser la misma exacto del local.xml

Luego un error en la variable tunnel, lo que se hizo fue cambiar parámetros de 7d (7 dias) a y1, no funciono, devolvía el objeto vacío, se cambió el parámetro a y2, ya el objeto no estaba vacío

ahora si ya se podía ejecutar código remoto, pero están autenticado

Ahora que el exploit funcionó ejecutamos una shell reversa

Como se puede observar, tenemos acceso al famoso user.txt

Escalada de Privilegio

Como siempre comienzo, por el famoso sudo -l:

Se puede observar que se puede ejecutar /usr/bin/vi /var/www/html/* como usuario root.

Con base en lo establecido en GTGOBins, se escaló privilegios

Ahora ya como root, podemos acceder al archivo root.txt

Conclusión

Es necesario parchar las aplicaciones vulnerables, sobre todo para evitar el acceso inicial, en el caso de la elevación de privilegios, se debe tener cuidado con los binarios que se habilitan para ser ejecutados con privilegios de root, por cualquier usuario.

--

--

Israel Aráoz Severiche
Israel Aráoz Severiche

Written by Israel Aráoz Severiche

{💀Cybersecurity Engineer​​🐞 } / { 🥋​ Purple Belt Brazilian Jiu Jitsu } / {🌐​https://twitter.com/iara0z}

No responses yet