起因:测试某只有发送记录的功能 想到xss平台然后想到dnslog私有化
-----
第一次补充7.1
参考:理解DNS记录以及在渗透测试中的简单应用 - FreeBuf网络安全行业门户
DNS协议详解及报文格式分析_protocal dns-优快云博客
CN115499176A《一种带外攻击检测方法、装置、探针、设备及存储介质》
一、基础知识
对于网络寻址来说,是通过ipv4和ipv6来进行寻找目标对象的,而人类记忆ipv4或者ipv6都比较困难,因此域名是为了更好的帮助人们找到对应的资源而衍生出来的一种手段,DNS(Domain Name System),即域名系统,用于将域名解析成对应的IP地址。
根、顶级域名,主域名,二级、三级域名的关系。
所有域名都通过域名服务器进行解析,当用户发起对某个域名的访问时会先本地查找是否存在记录,当本地无法找到记录也就是无法解析域名,就会默认寻找离当前用户最近的根服务器的镜象服务器,同时根服务器不负责具体的解析记录,但其记录了所有域名后缀所属的顶级域名服务器,比如edu,com,cn,xyz等,因此他会将请求转发到对应的顶级域名服务器负责后续解析,而顶级服务器收到对应请求则在自己的文件中查找对应的记录,如果找到则直接返回对应的ip给请求者,如果不存在则返回找不到也就无法解析。
用户只能注册主域名,而在有了一个主域名后,二级,三级域名则是可以由用户自行定义
能提供域名解析的服务器,上面的记录类型可以是A(address)记录,NS记录(name server),MX(mail),CNAME等。
A记录(address):A 记录也称为主机记录,是使用最广泛的DNS记录,A记录的基本作用就是说明一个域名对应的IP是多少
MX 记录( Mail Exchanger )全称是邮件交换记录,比如A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里。 绕过cdn找寻真实地址的时候,对邮件的利用就是使用这一点。
CNAME 记录:别名记录,当有多个域名想要解析到一台服务器的时候使用。
SRV 记录:当一台服务器上有多个端口,想要通过端口进行服务使用的时候
PTR 记录:也被称为指针记录, PTR 记录是 A 记录的逆向记录,作用是把 IP 地址解析为域名。
二、dns使用场景
7.15补充
只讨论安全的情况下,dnslog的主要是用于渗透测试过程中,对一些无回显漏洞进行确认的一种方式,比如ssrf,shiro,fastjson等命令执行的方式,其次是针对本地安全设备的检测绕过进行数据的外带,dns注入等方式,最后是用来确认是否出网最常见的判断方式。
基于常见使用方法,简单分成三种类型的目的:
- 验证漏洞是否存在
- 对无回显漏洞进行利用
- 验证网络是否通畅
针对上述三种类型的目的进行分析,1和3其实在很多条件下可以当作一个目的,基于dnslog进行验证通常利用是否能够接收到目标服务器的请求作为一个占比较重的判断是否存在漏洞依据(除部分特殊情况如fastjson),能够接收到则必定满足目的3,而无回利用则比较复杂,在无回显情况下,还要进行分类讨论。
出网情况下,针对一些无回漏洞,利用系统本身的命令进行文件读取,常规的包括passwd,syslog,web.xml等,对有安全设备/规则过滤等情况下,则可以利用出网特性,具体的去分析哪些字符被更改替换或者是拦截,在某些环境可以配合构建shell反代的方式
如果不出网则要考虑的点相对更为复杂一些,首先漏洞不一定真实存在,其次可能是安全设备对dns协议禁用或者是对特定字符/端口进行了封禁,对流量字段进行检测拦截,变形等都需要进行考虑,这种情况下一般放弃是最常见的决定。(摆烂)
--------
搭建dnslog
https://github.com/BugScanTeam/DNSLog
参考这个
待补充
7096

被折叠的 条评论
为什么被折叠?



