the_open_door
café
ESEN
← Volver al índice

Anonymous FTP

Arsenal completo de comandos en la cheatsheet

El FTP anónimo es una configuración del servicio FTP que permite iniciar sesión con el usuario anonymous (o ftp) y cualquier contraseña (tradicionalmente, un correo). Nace de una época en la que se usaba para distribuir ficheros públicos; hoy, en un objetivo, es un punto de enumeración de primer orden.

Cómo confirmarlo (atacante). El propio nmap con sus scripts por defecto lo canta:

21/tcp open  ftp     Microsoft ftpd
| ftp-anon: Anonymous FTP login allowed (FTP code 230)

El código 230 es el "User logged in" del protocolo FTP: confirma que el login anónimo funciona. A partir de ahí, ftp <ip> con usuario anonymous y contraseña vacía da acceso.

Qué buscar. Listar el contenido (dir/ls) y descargar lo que haya. Conviene recordar el comando binary antes de bajar ficheros no textuales (imágenes, ejecutables): en modo ASCII se corrompen.

ftp <ip>                                       # user: anonymous, pass: vacia; luego ls / get / put / binary
netexec ftp <ip> -u anonymous -p ''            # confirmar el acceso anonimo
curl -s -u 'anonymous:' ftp://<ip>/ --list-only
wget -r --no-passive ftp://anonymous:x@<ip>/   # descarga recursiva de todo
curl -T shell.aspx -u 'anonymous:' ftp://<ip>/ # subir una webshell si hay escritura

El riesgo real está en la escritura y en el contexto. Un FTP anónimo de solo lectura con ficheros inocuos es poco más que ruido. El peligro aparece cuando:

Cómo detectarlo. En el log del servidor FTP, la firma es un login anonymous/ftp (código 230) desde una IP externa, y sobre todo un comando STOR/PUT de un anónimo subiendo un ejecutable (.aspx, .php, .jsp) a un directorio que además sirve otro servicio. La confirmación es la creación de ese fichero en la raíz web (FIM) seguida de una petición HTTP que lo ejecuta y del proceso web lanzando una shell. Una subida anónima a un directorio compartido con el webroot es el patrón crítico.

Defensa. Deshabilitar el acceso anónimo salvo necesidad expresa; si se mantiene, dejarlo en solo lectura, con un directorio aislado (nunca compartido con la raíz web ni con rutas ejecutables) y sin información sensible. Cifrar el canal (FTPS/SFTP) y registrar los accesos.

Herramientasftp

Máquinas donde se aplica