Resolución del CTF CASA PACO
💢CTF DISPONIBLE EN TheHackersLabs💢
❌Nombre: Casa Paco
📈Nivel: Principiante
💻OS: Linux
💢Caregoría: Seguridad Ofensiva
🙋🏽♂️Creador: Curiosidades De Hackers & Condor Hacks
https://thehackerslabs.com/casa-paco/
Enumeración
Escaneo de puertos
Realizamos un escaneo de todos los puertos para saber cuáles están activos.
Los parámetros utilizados son:
- -p- : Escaneo de todos los puertos. (65535)
- -sS : Realiza un TCP SYN Scan para escanear de manera rápida que puertos están abiertos.
- -sC : Realiz una escaneo con los scripts basicos de reconocimiento
- -sV : Realiza un escaneo en buqueda de los servicios
- –min-rate 5000: Especificamos que el escaneo de puertos no vaya más lento que 5000 paquetes por segundo, el parámetro anterior y este hacen que el escaneo se demore menos.
- -n: No realiza resolución de DNS, evitamos que el escaneo dure más tiempo del necesario.
- -Pn: Deshabilitamos el descubrimiento de host mediante ping.

Qué encontré:
- El sistema estaba activo y respondía rápidamente.
- Había dos puertos abiertos:
- Puerto 22 (SSH): Utilizado para conexiones seguras a través de la red. El servicio era
OpenSSH 9.2p1 Debian 2+deb12u4
. - Puerto 80 (HTTP): Utilizado para servir páginas web. El servicio era
Apache httpd 2.4.62
.
- Puerto 22 (SSH): Utilizado para conexiones seguras a través de la red. El servicio era
- El servidor web redirigía a
http://casapaco.thl
.
Explorando el Servidor Web: ¿Qué hay en la página?
Una vez que supe que había un servidor web, quise explorarlo más a fondo. Para ello, usé feroxbuster, una herramienta que busca archivos y directorios ocultos en la página web. Es como si estuviera revisando todas las habitaciones de una casa para ver qué hay en cada una.
- Parámetros utilizados:
--url
: La URL del servidor web que estoy analizando.--w
: La ruta de la lista de palabras queferoxbuster
usará para buscar archivos y directorios.-x
: Las extensiones de archivo que quiero buscar (en este caso,php
,html
ytxt
).

Una vez que supe que había un servidor web, quise explorarlo más a fondo. Para ello, usé feroxbuster, una herramienta que busca archivos y directorios ocultos en la página web. Es como si estuviera revisando todas las habitaciones de una casa para ver qué hay en cada una.

- Comando utilizado:
feroxbuster --url http://casapaco.thl --w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt
- Parámetros explicados:
--url
: La URL del servidor web que estoy analizando.--w
: La ruta de la lista de palabras queferoxbuster
usará para buscar archivos y directorios.-x
: Las extensiones de archivo que quiero buscar (en este caso,php
,html
ytxt
).
- Parámetros explicados:
- Qué encontré:
- Varios archivos relacionados con imágenes y estilos de la página web, como
/static/styles.css
y/static/img/oreja.jpg
. - Un archivo interesante llamado
llevar.php
, que parecía ser un formulario para hacer pedidos de comida para llevar.
- Varios archivos relacionados con imágenes y estilos de la página web, como

Probando el Formulario: ¿Podemos inyectar algo?
El archivo llevar.php
permitía a los usuarios hacer pedidos de comida. Intenté inyectar comandos en el formulario para ver si el sistema era vulnerable a ataques de inyección. Es como si estuviera intentando abrir una cerradura con una ganzúa.

- Qué pasó:
- El sistema respondió con un mensaje de erroren ciertos comandos:
Error: Pide comida no intentes hackearme. Los callos están muy ricos.
- Aunque no pude inyectar comandos, descubrí que el formulario se ejecutaba con el usuario
www-data
, lo que podría ser útil más adelante.
- El sistema respondió con un mensaje de erroren ciertos comandos:

Al querer listar me di cuenta que llevar.php estaba duplicado con llevar1.php

Ademas llevar.php tenia filtros que bloqeaban las peticiones

Cosa que no le pasaba a llevar1.php
consiguiendo listar usuarios

El puerto 22 (SSH) estaba abierto, así que intenté acceder al sistema mediante hydra, una herramienta que prueba combinaciones de usuarios y contraseñas hasta encontrar una válida. Es como si estuviera probando miles de llaves en una cerradura hasta encontrar la correcta.
- Comando utilizado:
hydra -l pacogerente -P /usr/share/wordlists/rockyou.txt ssh://192.168.18.156 -t 64
- Parámetros explicados:
-l pacogerente
: El nombre de usuario que estoy probando.-P
: La ruta de la lista de contraseñas quehydra
usará para intentar acceder.ssh://192.168.18.156
: La dirección y el protocolo del sistema al que estoy intentando acceder.-t 64
: El número de hilos (intentos simultáneos) quehydra
usará para acelerar el proceso.
- Parámetros explicados:
- Qué encontré:
- La contraseña del usuario
pacogerente
eradipset1
. - Con esta información, pude acceder al sistema mediante SSH.
- La contraseña del usuario

Escalada de Privilegios:
Aunque ya estaba dentro del sistema, el usuario pacogerente
no tenía permisos de administrador. Para escalar privilegios, necesitaba encontrar una vulnerabilidad que me permitiera ejecutar comandos con permisos de root. Es como si estuviera buscando una llave maestra para abrir todas las puertas del sistema.

- Monitoreando procesos: Usé una herramienta llamada pspy64 para monitorear los procesos que se ejecutaban en el sistema. Antes mandandonos la herramienta con scp. Noté que un archivo llamado
fabada.sh
se ejecutaba periódicamente con permisos de root.


Modificando el archivo: El archivo fabada.sh
originalmente solo escribía un log con la fecha y hora

. Añadí un comando para asignar permisos especiales a /bin/bash
, lo que me permitiría ejecutar comandos como root.


- Resultado: Una vez que el archivo se ejecutó con los cambios, pude ejecutar
/bin/bash
con permisos de root, convirtiéndome en administrador del sistema.
