当前位置: 首页 > news >正文

#渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现01-笑脸漏洞(vsftpd)

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读!!!

评论区留言获取资料等学习内容!!!

 

目录

笑脸漏洞(vsftpd)

一、漏洞概述

二、漏洞触发机制

三、漏洞利用流程

四、漏洞复现:

 五、Python脚本检测

六、漏洞修复

七、检测方法

八、防御措施


笑脸漏洞(vsftpd)

一、漏洞概述

笑脸漏洞是存在于vsftpd(Very Secure FTP Daemon)2.3.4版本中的一个严重安全漏洞。该漏洞允许攻击者在登录时,通过在用户名后输入特殊字符 :)(类似笑脸的符号),从而触发漏洞。当输入这个特殊字符时,vsftpd服务会在目标系统上开启一个监听在6200端口的后门,攻击者可以利用这个后门直接执行系统命令。这可能导致未经授权的远程访问和潜在的恶意操作。

二、漏洞触发机制

  1. 用户名检测:当vsftpd 2.3.4版本的FTP服务器检测到用户名中包含特殊字符 :) 时,会触发一个后门函数。
  2. 后门端口开启:触发后门函数后,服务器会在6200端口开启一个shell,使得攻击者能够通过这个端口直接连接并执行系统命令。
  3. 权限提升:由于vsftpd服务是以root权限运行的,因此攻击者通过这个后门获得的权限也是root,这意味着攻击者可以获得对整个系统的完全控制权。

三、漏洞利用流程

  1. 连接FTP服务器:攻击者首先需要连接到目标FTP服务器的21端口。
  2. 输入特殊用户名:在用户名中包含特殊字符 :),例如 user :)
  3. 连接后门端口:一旦用户名被验证,服务器会在6200端口开启一个后门。攻击者可以使用工具如nc(netcat)连接到这个端口。
  4. 执行系统命令:连接成功后,攻击者可以在目标系统上执行任意系统命令

四、漏洞复现:

笑脸漏洞(vsftpd)

攻击机 和靶机在同一网段中

配置kali

配置靶机

查看kali ip的配置

确认靶机的网络配置

确认靶场的IP 为192.168.10.130

然后查看端口开放情况

发现21端口开发,且端口版本vsftpd2.3.4

查看6200端口开放情况

连接21端口 输入账号密码,账号以‘:)’结尾

再新打开终端 ,查看6200端口已经打开

再次连接6200端口,获得root  权限

kali开启msf

搜索笑脸漏洞vsftpd漏洞的相关模块

选择攻击模块,查看当前模块可用的选项

执行漏洞测试,拿下shell

 五、Python脚本检测

以下是一个简单的Python脚本,用于检测目标系统是否存在FTP笑脸漏洞:
import socket 
from ftplib import FTP url = input("请输入你需要检测的地址: ")
username = 'anonymous'  # 用户名可以是任意值 
password = 'anonymous'  # 密码可以是任意值 try:ftp = FTP()ftp.connect(url,  21, timeout=10)  # 使用FTP登录,设置超时时间为10秒 ftp.login(username,  password)ftp.quit() s = socket.socket() s.connect((url,  6200))  # 尝试连接6200端口 s.close() print("发现笑脸漏洞!")
except:print("没有发现笑脸漏洞!")

将该脚本保存到桌面上(例如 xiaolian.py ),然后在命令行中运行该脚本,并输入目标IP地址进行检测。

六、漏洞修复

为了防止笑脸漏洞被利用,建议采取以下措施:

  1. 升级vsftpd版本:尽快将vsftpd升级到2.3.4之后的版本,因为该漏洞在后续版本中已被修复。
  2. 关闭不必要的服务和端口:如果不需要使用FTP服务,可以考虑关闭相关端口,以减少潜在的攻击面。

七、检测方法

可以通过以下方法检测目标系统是否存在FTP笑脸漏洞:

  1. 使用nmap扫描:使用nmap扫描目标系统的21端口,确认FTP服务版本是否为vsftpd 2.3.4。
  2. 尝试连接后门端口:使用工具如nc连接到6200端口,看看是否能够成功连接并执行命令。

八、防御措施

  1. 及时更新软件:定期检查并更新系统上的所有软件,确保它们都是最新的稳定版本。
  2. 限制权限:尽量避免以root权限运行服务,降低潜在漏洞带来的风险。
  3. 监控异常行为:使用入侵检测系统(IDS)和入侵防御系统(IPS)监控异常行为,及时发现并阻止潜在攻击。

未完待续~~~!!!

http://www.lryc.cn/news/495768.html

相关文章:

  • vue3项目中使用星火API
  • digit_eye开发记录(3): C语言读取MNIST数据集
  • 【linux】(23)对象存储服务-MinIo
  • 如何使用Python解析从淘宝API接口获取到的JSON数据?
  • C# 2024年Visual Studio实用插件集合
  • Matlab Simulink HDL Coder开发流程(一)— 创建HDL兼容的Simulink模型
  • 详解Qt pdf 之QPdfSelection 选择文本类
  • docker中redis查看key、删除key
  • 【MySQL — 数据库基础】MySQL的安装与配置 & 数据库简单介绍
  • ehr系统建设方案,人力资源功能模块主要分为哪些,hrm平台实际案例源码,springboot人力资源系统,vue,JAVA语言hr系统(源码)
  • 【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
  • flink学习(12)——checkPoint
  • 【iOS】《Effective Objective-C 2.0》阅读笔记(一)
  • LVS 负载均衡面试题及参考答案
  • 北京科博会 天云数据CEO雷涛谈人工智能技术服务数字资产建设
  • 【Python运维】容器管理新手入门:使用Python的docker-py库实现Docker容器管理与监控
  • 小程序解决大问题-物流系统磁盘爆满问题处理
  • 计算机网络基础篇
  • 32 从前序与中序遍历序列构造二叉树
  • D82【python 接口自动化学习】- pytest基础用法
  • 在开发环境中,前端(手机端),后端(电脑端),那么应该如何设置iisExpress
  • 磁盘/系统空间占满导致黑屏死机无法开机的解决办法
  • 使用zabbix监控k8s
  • MacOS安装MySQL数据库和Java环境以及Navicat
  • 算法的复杂度
  • Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题
  • 若依项目源码阅读
  • JVM知识点学习-1
  • TypeScript和JavaScript区别详解
  • RVO动态避障技术方案介绍