romabri@home:~$

UserSearch - DockerLabs

OS Dificultad Creator
Linux Medio kvzlx

Escaneo y Reconocimiento de puertos

Vamos a iniciar nuestro reconocimiento con un rápido escaneo de nmap.

imagen

nmap -p- --open -sS -sC -sV --min-rate=5000 -vvv -n -Pn -oN escaneo 172.17.0.2

  • -p-: Escanea todos los puertos (1-65535).
  • --open: Solo muestra los puertos abiertos.
  • -sS: Realiza un escaneo SYN, que es rápido y discreto.
  • -sC: Utiliza los scripts de reconocimiento por defecto de Nmap.
  • -sV: Detecta la versión del servicio en los puertos abiertos.
  • --min-rate=5000: Envía al menos 5000 paquetes por segundo, acelerando el escaneo.
  • -n: No realiza resolución DNS.
  • -Pn: No realiza ping previo para determinar si el host está activo.
  • -vvv: Muestra resultados detallados y en tiempo real.

Vemos que esta abierto el puerto 22 SSH y el puerto 80 HTTP

Enumeración Web

Si accedemos a la pagina web vemos lo siguiente

imagen

Usamos Gobuster para hacer un reconocimiento web y ver que directorios podemos encontrar en dicho sitio.

gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php

  • gobuster dir - Indica que estás utilizando la herramienta Gobuster para realizar un escaneo de directorios.
  • -u http://172.20.10.5/ Especifica la URL objetivo que deseas escanear en busca de directorios.
  • -w Especifica que diccionario queremos usar
  • -x Para indicar que tipo de extension queremos que nos encuentre

Gobuster no ha encontrado nada

Si nos fijamos en el mensaje de unauthorized query me da que pensar que por detras tiene una base de datos así que vamos a ver si podemos ver algo con sqlmap

Ataque SQLi SQLMap

sqlmap -u http://172.19.0.2 --forms --dbs --batch

imagen

Ahora haremos una consulta de tablas en la base de datos testdb.

sqlmap -u http://172.19.0.2 --forms -D testdb --tables --batch

imagen

Vamos a listar que columnas hay dentro de la tabla users

sqlmap -u http://172.19.0.2 --forms -D testdb -T users --columns --batch

imagen

Por ultimo vamos a ver que hay dentro de la columna password y username

sqlmap -u http://172.19.0.2 --forms -D testdb -T users -C id,password,username --dump --batch

imagen

Tenemos una serie de usuarios y contraseñas.

Intrusión a la máquina

Vamos a probar de acceder con el usuario kvzlx y la contraseña que hemos encontrado

imagen

Si hacemos un sudo -l vemos lo siguiente

imagen

Escalada de privilegios

Vamos hacer un cat del script

imagen

Vemos varias cosas:

-> Importa el modulo psutil -> Utiliza virtual_memory() como función

Vamos a pasarle linpeas ya que no encontramos nada

imagen

Encontramos esto que es el modulo de psutil y si nos fijamos tenemos permisos de escritura en el init.py

imagen

Vamos a probar de introducir un código para que nos muestre que usuario esta ejecutando el script de la siguente forma.

imagen

Ahora si ejecutamos el script con el binario de python3 nos deberia decir root y luego debería ejecutar el script.

imagen

Genial como esto nos lo ha realizado ya tenemos una via de explotación para la escalada de privilegios

Lo que vamos hacer va ha ser que la bash tenga permiso SUID de la siguiente forma

imagen

Ahora si ejecutamos el script y posteriormente hacemos bash -p

imagen

Ya somos root