This page looks best with JavaScript enabled

Hack The Box - Teacher

 ·  ā˜• 3 min read  ·  āœļø sckull

Teacher es una maquina de HackTheBox aqui encontrarƔs la solucion para obtener la flag user.txt y root.txt.


NMAP

Escaneo de puertos TCP

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
Nmap 7.70 scan initiated Thu Apr 18 22:50:41 2019 as: nmap -sT -A -sV -o nmap.scan 10.10.10.153
Nmap scan report for 10.10.10.153
Host is up (0.31s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: Blackhat highschool
Device type: WAP
Running: Linux 2.4.X
OS CPE: cpe:/o:linux:linux_kernel:2.4.20
OS details: Tomato 1.28 (Linux 2.4.20)
Network Distance: 2 hops

TRACEROUTE (using proto 1/icmp)
HOP RTT       ADDRESS
1   296.09 ms 10.10.12.1
2   300.57 ms 10.10.10.153

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Thu Apr 18 22:52:41 2019 -- 1 IP address (1 host up) scanned in 120.38 seconds

GOBUSTE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
gobuster -u http://10.10.10.153 -w /usr/share/wordlists/dirb/common.txt -q -np -x php,html,txt,js -t 15
/css (Status: 301)
/fonts (Status: 301)
/gallery.html (Status: 200)
/images (Status: 301)
/index.html (Status: 200)
/index.html (Status: 200)
/javascript (Status: 301)
/js (Status: 301)
/manual (Status: 301)
/moodle (Status: 301)
/phpmyadmin (Status: 403)
/server-status (Status: 403)

HTTP

Pagina Principal
image

/Moodle

image

Login

image

/phpmyadmin

image

/gallery.html

En gallery.html encontramos codigo javascript que imprime un mensaje.

image

image

Junto al codigo hay una imagen, pero no podemos verla.
image

Descargamos la imagen con curl y nos muestra un mensaje que contiene la imagen.

image

Nos dice que debemos de encontrar el caracter faltante para la contraseƱa Th4C00lTheacha del usuario Giovanni.


BURPSUITE - Giovanni Password

Vamos a utilizar burpsuite para encontrar el caracter faltante de la contraseƱa, utilizando el login de moodle. Para los caracteres utilizamos /usr/share/wordlists/dirb/stress/alphanum_case_extra.txt.

Encontramos que el caracter faltante para la contraseƱa es #.

image

Moodle

Utilizando las credenciales Giovanni y Th4C00lTheacha# logramos ingresar a Moodle.

image


Evil Teacher - Reverse Shell

Para nuestra version de moodle encontramos una vulnerabilidad que puede injectar codigo, para ello vamos a crear un Quiz en el curso de Algebra y vamos a agregar una formula de matematica la cual nos va a ayudar a inyectar codigo.

CVE: https://blog.ripstech.com/2018/moodle-remote-code-execution/

image

Obtenemos una shell como www-data.


USER - Giovanni

Revisamos los archivos de configuracion para posibles contraseƱas de base de datos y encontramos las credenciales de una base de datos en el archivo de configuracion de moodle.

image

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
$CFG->dbtype    = 'mariadb';
$CFG->dblibrary = 'native';
$CFG->dbhost    = 'localhost';
$CFG->dbname    = 'moodle';
$CFG->dbuser    = 'root';
$CFG->dbpass    = 'Welkom1!';
$CFG->prefix    = 'mdl_';
$CFG->dboptions = array (
  'dbpersist' => 0,
  'dbport' => 3306,
  'dbsocket' => '',
  'dbcollation' => 'utf8mb4_unicode_ci',
);

Nos conectamos a la base de datos

1
mariadb -u root -p'Welkom1!' -D moodle

Encontramos una tabla con usuarios y contraseƱa.

1
select username,password from mdl_user;select username,password from mdl_user;

image

Crackeamos la contraseƱa de Giovanibak en https://crackstation.net/.

1
7a860966115182402ed06375cf0a22af => expelled

image

Utilizamos la contraseƱa con el usuario Giovanni y obtenemos nuestra bandera user.txt.
image


ROOT - flag

Utilizamos pspy para ver los cron que se ejecutan y encontramos un archivo que se ejecuta cada minuto y realiza un backup de la carpeta courses en el directorio de Giovanni.

image

1
2
3
4
5
6
7
/usr/bin/backup.sh
#!/bin/bash
cd /home/giovanni/work;
tar -czvf tmp/backup_courses.tar.gz courses/*;
cd tmp;
tar -xf backup_courses.tar.gz;
chmod 777 * -R;

Para obtener nuestra bandera root.txt vamos a untilizar un symlink y lo vamos a apuntar hacia el directorio /root/ donde esta nuestra bandera para que el archivo cuando se ejecute comprima lo que esta en /root/ al archivo backup_courses.tar.gz y poder descomprimirlo, para ello vamos a renombrar courses.

image

Luego de un minuto se crea el archivo backup_courses.tar.gz lo descomprimimos y obtenemos nuestra bandera root.txt.

image

Share on

sckull
WRITTEN BY
sckull
Pentester wannabe

HTB: Teacher