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

#渗透测试#红蓝攻防#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.kler.cn/a/414431.html

相关文章:

  • C语言——海龟作图(对之前所有内容复习)
  • JDBC 设置 PostgreSQL 查询中 any(?) 的参数
  • 电子应用设计方案-28:智能云饭锅系统方案设计
  • 07. 元组
  • 如何分析Windows防火墙日志
  • 深度学习—损失函数及BP算法初步学习Day36
  • 启动SpringBoot
  • Docker网络模式:桥接(Bridge)模式与主机模式(Host)实操对比(一)
  • docker网络配置
  • git打标签的作用?
  • ELK(Elasticsearch + logstash + kibana + Filebeat + Kafka + Zookeeper)日志分析系统
  • 【05】Selenium+Python 两种文件上传方式(AutoIt)
  • 计算机网络八股整理(二)
  • http账号密码认证Http Basic Auth
  • Kafka日志索引详解以及生产常见问题分析与总结
  • 微信小程序下拉刷新与上拉触底的全面教程
  • 刷题分享11_28
  • MySQL乐观锁
  • SpringCloud之Config:从基础到高级应用
  • verilog实现开方运算/基于迭代法的平方根计算算法/FPGA实现开根号算法
  • for (int i = 0, j = 0; ;){ 修改j }每次循环j会被重新赋值为0吗 详解
  • 【Python入门】Python数据类型
  • 【JavaEE初阶 — 网络编程】TCP流套接字编程
  • C语言——海龟作图(对之前所有内容复习)
  • 【单片机毕业设计12-基于stm32c8t6的智能称重系统设计】
  • Qt中QML和C++混合编程