当前位置:首页 » 《资源分享》 » 正文

FTP后门漏洞复现(含有漏洞的vsftpd2.3.4)_顾蒅' Home

2 人参与  2021年10月10日 09:03  分类 : 《资源分享》  评论

点击全文阅读


FTP后门漏洞复现

0x01 漏洞简述

vsftpd-2.3.4 手工触发漏洞:当进行FTP认证时,如果用户名USER中包含:),那么直接就触发监听6200端口的连接的shell。

0x02 风险等级

漏洞评定结果如下:

评定方式 等级

威胁等级 严重

影响面 广泛

0x03 漏洞详情

FTP是文件传输协议(File Transfer Protocol)的缩写,是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输的, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而,用户并不需要真正登陆到自己想要存取的计算机上面而成为完全用户,可用FTP程序访问远程资源,实现用户往返传输文件、目录管理以及访问电子邮件等等,即使双方计算机可能配有不同的操作系统和文件存储方式。

如果目标使用了含有漏洞的vsftpd2.3.4开启FTP服务,通过FTP来访问开放的目录和文件来进行信息收集进行下一步的攻击。

0x04 知识拓展

FTP工作原理?

FTP基于TCP协议服务,是互联网中进行文件传输的协议,默认使用20、21号两个端口,一个数据端口和一个命令端口,端口20是数据端口,用于文件在客户端和服务器之间传输数据流。端口21是命令端口,用于传输控制流,接受客户端发出的相关FTP命令与参数。

FTP客户端在计算机网络中向FTP服务器发送服务请求,FTP服务器接收与响应FTP客户机的请求,并向FTP客户机提供所需的文件传输服务。根据TCP协议的规定,FTP服务器使用熟知端口号20、21来提供服务,FTP客户机使用临时端口号来发送请求。FTP协议为控制连接与数据连接规定不同的熟知端口号,为控制连接规定的熟知端口号是21,为数据连接规定的熟知端口号为20。FTP协议采用的是持续连接的通信方式,它所建立的控制连接的维持时间通常较长。

ftp基本模型

0x05 影响版本

含有漏洞的vsftpd2.3.4

0x06 漏洞环境搭建

测试环境

FTP版本:vsftpd2.3.4

靶机:Centos 7    IP: 192.168.3.2

攻击机:Kali      IP: 192.168.3.22

靶机:Centos里安装vsftpd2.3.4

一、永久关闭网络管理(因为刚安装完Centos后我发现网卡丢失了所以关闭了网络管理)

二、查看当前是否默认安装vsftpd

三、卸载当前已安装的vsftpd

四、查看是否移除默认安装版本

五、将含有漏洞的vsftpd2.3.4解压放入CentOS中,cd进入该目录,查看builddefs.h文件

六、编辑builddefs.h文件

七、确认打开所有权限

八、编辑opts.c文件并解决编码问题

九、编译安装发现没有gcc,安装gcc

十、安装完gcc后编译安装又报错

解决方法:install tcp_wrappers

                  install tcp_wrappers-devel

解决办法:yum install openssl*

十一、再次编译安装

十二、测试一下编译结果

十三、vsftp缺省配置需要“nobody”用户,如果系统中没有就先创建(system default have create this useraccount)

vsftpd缺省配置需要目录“/usr/share/empty”,没有该目录的话就创建一个(system default have create this directory) 这里显示目录已经存在

十四、匿名文件传输协议(anonymous FTP)需要创建用户“ftp”,创建一个主目录(属主不能是用户ftp,且用户ftp不可写)

用户ftp已存在,转至下面的命令(更改ftp目录的属主、数组及权限):

将配置样例拷贝到etc目录下

十五、编辑/etc/vsftpd.conf,在底部增加“listen=YES”(作用是让vsftpd不从inetd启动)

十六、运行vsftpd

十七、关闭防火墙(与Linux版本有关,我这里是CentOS 7)

十八、随便复制几个文件到“/var/ftp”目录下,然后链接FTP

安装一下FTP命令

至此环境搭建成功

0x07 漏洞验证

一、首先用nmap脚本扫描目标21号端口漏洞(应该用nmap –script vuln -p 21 xxx.xxx.xxx.xxx),关闭匿名登录:

手工触发:当ftp验证时,攻击者登录输入用户名后加笑脸,(密码任意输)后触发6200端口获得shell,连接目标6200端口:

利用msf脚本触发:

0x08 修复建议

不同 FTP 服务软件可能有不同的防护程序,本修复方案以Linux 中的vsftpd服务为例,您可参考以下方案对您的 FTP 服务进行安全加固。
请确保您的 FTP 服务软件为官方最新版本。同时,建议您不定期关注官方发布的补丁,并及时进行更新。
强烈建议不要将此类型的服务在互联网开放,您可以使用 VPN 等安全接入手段连接到 FTP 服务器端,同时使用 安全组 来控制访问源IP。
Linux 系统 vsftpd 服务安全加固
1)及时安装更新补丁
在安装更新补丁前,备份您的 vsftp 应用配置。从 VSFTPD官方网站 获取最新版本的 vsftp 软件安装包,完成升级安装。或者,您可以下载最新版 vsftp 源码包,自行编译后安装更新。您也可以执行yum update vsftpd命令通过 yum 源进行更新。
2)禁止匿名登录服务
A.添加一个新用户(test),并配置强密码。例如,执行useradd -d /home -s /sbin/nologin test命令:
其中,/sbin/nologin参数表示该用户不能登录 Linux shell 环境。
test为用户名。
通过passwd test命令,为该用户配置强密码。密码长度建议八位以上,且密码应包括大小写字母、特殊字符、数字混合体,且不要使用生日、姓名拼音等常见字符串作为密码。
B.修改配置文件 vsftpd.conf,执行#vim /etc/vsftpd/vsftpd.conf命令:
anonymous_enable=NO,将该参数配置为 NO 表示禁止匿名登录,必须要创建用户认证后才能登录 FTP 服务
3)禁止显示 banner 信息
修改 VSFTP 配置文件 vsftpd.conf,设置ftpd_banner=Welcome。重启 vsftp 服务后,即不显示 banner 信息。
4)限制FTP登录用户
在 ftpusers 和 user_list 文件中列举的用户都是不允许访问 FTP 服务的用户(例如 root、bin、daemon 等用户)。除了需要登录 FTP 的用户外,其余用户都应该添加至此拒绝列表中。
5)制FTP用户目录
A.修改 VSFTP 配置文件 vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
B.新建 /etc/vsftpd/chroot_list 文件,并添加用户名。例如,将 user1 添加至该文件,则 user1 登录 FTP 服务后,只允许在 user1 用户的 home 目录中活动。
6)修改监听地址和默认端口
7)启用日志记录
修改 VSFTP 配置文件 vsftpd.conf,启用日志记录。
xferlog_enable=YES
xferlog_std_format=YES
如果您需要自定义日志存放位置,可以修改xferlog_file=/var/log/ftplog。
8)其他安全配置
修改 VSFTP 配置文件 vsftpd.conf。
#限制连接数
max_clients=100
max_per_ip=5
#限制传输速度
anon_max_rate=81920
local_max_rate=81920

0x09 学习链接

https://blog.csdn.net/qq_34412985/article/details/86737163


点击全文阅读


本文链接:http://zhangshiyu.com/post/29725.html

用户  端口  安装  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1