Se ha descubierto que distintos Firewall y otros sistemas que examinan
el trafico en la capa de aplicación FTP podrían no manejar
adecuadamente el estado de estas peticiones y respuestas. En tal caso,
un atacante podría establecer cualquier conexión TCP hacia un servidor
o un cliente FTP que estuviera detrás del mismo.
Actualmente la basta mayoría de los Firewalls soportan este tipo de
inspección disponiendo así tanto de soporte para conexiones FTP
pasivas como para otros protocolos IRC DCC, Real Audio, SIP, SQL*Net
etc.
Concretamente este problema está en FTP, cuando un cliente pide una
conexión pasiva (comando PASV), el servidor le responde con una cadena
«227 Entering Passive Mode x1,x2,x3,x4,y1,y2» donde x es la IP e y el
puerto, esto provoca que el firewall cree una regla dinámica que
permitirá la conexión entrante desde el cliente al servidor tras el
firewall. Esta petición debería ser adecuadamente validada para
asegurar que pertenece a una conexión real.
Para conseguir evadir las reglas del firewall necesitaremos acceso al
servidor FTP remoto, al que enviaremos un comando erróneo seguido de
la cadena de conexión pasiva hacia nuestro cliente.
> RETR 227 Entering Passive Mode (192,168,0,10,31,64)
< 550 No such file: 227 Entering Passive Mode (192,168,0,10,31,64)
Para eliminar de la respuesta del servidor la parte de la cadena de
error mandaremos un paquete especialmente creado, un ACK de los
primeros bytes, con esto conseguimos que en la cola del servidor FTP
quede una cadena que será seguidamente retransmitida haciendo creer al
firewall que es una petición perfectamente valida (la retransmisión
depende directamente de la implementación de la pila de red del SO del
servidor que sufre el ataque).
A partir de aquí con la IP y a través del puerto especificado podremos
abrir conexiones hacia ese equipo.
Como solución se aconseja aplicar los parches apropiados de su
proveedor. En caso de no ser posible hay formas de atajar el problema
ya siendo eliminando la inspección de la capa de aplicación o
restringiendo el uso de FTP a equipos de confianza. Igualmente se
aconseja tener el software de FTP al día.
fsantos@hispasec.com
Más información:
Multiple vendors’ firewalls do not adequately keep state of FTP traffic
http://www.kb.cert.org/vuls/id/328867
Deja una respuesta