资讯专栏INFORMATION COLUMN

FTP(匿名登录)未授权访问漏洞复现(vsftpd2.3.4)

Martin91 / 3354人阅读

摘要:匿名登录未授权访问漏洞复现漏洞简述匿名登录一般指使用的用户启用了匿名登录功能,容易被黑客攻击,发生恶意文件上传或更严重的入侵行为。禁止匿名登录服务添加一个新用户,并配置强密码。

FTP(匿名登录)未授权访问漏洞复现

0x01 漏洞简述

FTP匿名登录一般指使用FTP的用户启用了匿名登录功能,容易被黑客攻击,发生恶意文件上传或更严重的入侵行为。

0x02 风险等级

漏洞评定结果如下:

评定方式 等级

威胁等级 严重

影响面 广泛

0x03 漏洞详情

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

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

如果目标开启了匿名FTP服务,匿名FTP允许任意用户通过FTP来访问开放的目录和文件来进行信息收集进行下一步的攻击。使用匿名访问FTP服务可以尝试在Kali中nc:xxx.xxx.xxx.xxx,使用 anonymous和空密码认证。

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 影响版本

全版本

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笑脸漏洞做准备,也可以不移除)

 

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

 

 

 五、下载vsftpd2.3.4版本(后来才知道这个版本并没有笑脸漏洞)

 wget http://www.linuxidc.com/files/2015/07/31/vsftpd-2.3.4.tar.gz

 

六、解压下载的压缩包

 

 

七、进入文件夹中,查看builddefs.h文件

 

 八、编辑builddefs.h文件

 

 

 

 

九、确认打开所有权限

 

 

 

十、编辑opts.c文件并解决编码问题(先输入vi opts.c编辑内容再输入sed -i "s/lib///lib64///g" vsf_findlibs.sh改变编码)

 

 

  十一、编译安装发现没有gcc,安装gcc(我并没有设置默认root用户)

 

 

 

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

 

 

解决方法:install tcp_wrappers

                   install tcp_wrappers-devel

 

 

 

解决办法:yum install openssl*

 解决方法:yum install libcap-devel

  十三、测试一下编译结果

 

 

十四、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目录的属主、数组及权限):

 修改后ftp目录权限如下:

 

 

 

 

 

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

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

 十七、运行vsftpd

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

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

 

安装一下FTP命令

 

 

 

 

 

 

至此环境搭建成功

0x07 漏洞验证

首先扫描目标是否开放21端口

 

 

先使用ftp账号登录发现没有异常

 

 

使用nc连接ftp

使用anonymous用户+空密码 登陆成功

 

 

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 的用户外,其余用户都应该添加至此拒绝列表中。限制FTP用户目录A.修改 VSFTP 配置文件 vsftpd.confchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listB.新建 /etc/vsftpd/chroot_list 文件,并添加用户名。例如,将 user1 添加至该文件,则 user1 登录 FTP 服务后,只允许在 user1 用户的 home 目录中活动。修改监听地址和默认端口启用日志记录修改 VSFTP 配置文件 vsftpd.conf,启用日志记录。xferlog_enable=YESxferlog_std_format=YES如果您需要自定义日志存放位置,可以修改xferlog_file=/var/log/ftplog。8)其他安全配置修改 VSFTP 配置文件 vsftpd.conf。#限制连接数max_clients=100max_per_ip=5#限制传输速度anon_max_rate=81920local_max_rate=81920

0x09 学习链接

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119341.html

相关文章

  • 渗透测试——常见服务端口及对应的漏洞汇总

    摘要:一服务类弱口令漏洞利用可以上传包上传慢速攻击文件包含漏洞后台弱口令后台部署包反序列化远程代码执行后台弱口令任意文件泄露反序列化后台弱口令后台部署包测试页面上传反序列化暴力 ...

    2bdenny 评论0 收藏0
  • weblogic漏洞总结复现

    摘要:在当前页面抓包后修改内容,写入冰蝎脚本文件。添加的内容为实现反弹。影响范围相关漏洞有复现过程环境这里先使用扫描一下是否开启了服务。使用工具写入。 目录 简介Web...

    glumes 评论0 收藏0
  • Weblogic 管理控制台授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-

    摘要:将的动态功能和标准的安全性引入大型网络应用的开发集成部署和管理之中。使用这两个漏洞组成的利用链,可通过一个请求在远程服务器上以未授权的任意用户身份执行命令。这个漏洞的利用方式有两种,一是通过,二是通过。 一、软件介绍 WebLogic是美国Oracle公司出品的一个application s...

    zhongmeizhi 评论0 收藏0
  • 网络安全-常见面试题(Web、渗透测试、密码学、Linux等)

    摘要:攻击者可能会窃取或修改此类保护不力的数据,以实施信用卡欺诈身份盗用或其他犯罪活动。跨站脚本攻击漏洞的防御策略前端过滤字符,后端白名单例如,只允许固定的标签,设置,防止被读取。 目录 WEB安全 OWASP Top 10(2017) Injection - 注入攻击 Broken Authen...

    Caizhenhao 评论0 收藏0
  • Apache shiro 权限绕过(CVE-2020-1957)

    摘要:权限绕过漏洞描述影响范围漏洞复现漏洞修复所有文章,仅供安全研究与学习之用,后果自负权限绕过是美国阿帕奇软件基金会的一套用于执行认证授权加密和会话管理的安全框架。漏洞描述框架通过拦截器功能来对用户访问权限进行控制,如等拦截器。 ...

    wangjuntytl 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<