0x01 事件背景
0x02 事件分析
盛邦安全烽火台实验室联合Panabit对该事件进行了专项分析,这起事件是属于典型的DNS劫持攻击事件,符合国外黑灰产组织的攻击特征。攻击者通过搜集公网可访问的路由器地址,利用漏洞或弱口令获取路由器控制权限,修改路由器DNS服务器地址,达到中间人攻击的效果。整体的攻击流程如下图所示:
(图中假设攻击者对webray.com.cn进行了dns劫持)
用户在发起HTTP请求之前首先会进行DNS请求,由于绝大部分个人用户不会自定义DNS服务器,所以默认情况下会使用路由器的DNS服务器来进行域名解析。攻击者通过漏洞把路由器DNS服务器篡改为自己可控的恶意DNS服务器,并添加解析记录webray.com.cn到恶意IP地址。用户拿到webray.com.cn响应的IP地址之后会与攻击者可控恶意IP建立链接,攻击者可控恶意IP通过实现中间人代理功能,把用户的请求转发的真实目标服务器并响应真实服务器结果给用户。
基于DNS劫持的中间人攻击一般可以造成做到用户无感知,但这个事件还是导致了用户访问异常,从而慢慢发酵了出来,引起用户访问异常的原因有以下两点:
经过攻击者可控的服务器进行代理转发之后,会明显降低系统访问速度,造成访问请求延迟增大。
用户访问https协议的网站目标时,会因为中间人可控服务器没有受信任的证书而导致访问失败。
0x03 排查过程
中间人攻击是一种常见的网络攻击方式,一般情况下可以造成下面的两种危害:
造成信息泄漏,通过中间人攻击可以劫持用户流量,通过对流量中的敏感信息进行提取,获取用户认证信息等敏感内容。
造成远程权限获取,通过中间人攻击可以篡改用户流量,一般情况下中间人会把用户请求转发到真实服务器,但是部分情况下可以通过对流量进行篡改达到RCE的效果。其中经典的用法是通过修改软件的升级更新包的响应内容,通过把响应内容替换为木马文件,达到自动运行的效果。
由于事件还在发酵,很难判断攻击者的最终目的是属于流量获取还是远程权限获取。但是不论何种情况,对用户来说都是属于较大的安全隐患。
那么用户应该如何排查自己的DNS服务器是否正常呢?我们把目前的情况做了总结,本次事件中的恶意DNS服务器普遍具有以下特征:
能解析的域名ttl改为了86400秒,即1天
使用unbound-1.16.2作为版本名称
以已知的恶意DNS 60.205.130.150为例,查询DNS服务器中ttl时间,可以通过dig发送任意一个未解析过的域名,此处的daydaymap.com可替换为随机其它域名。
dig @60.205.130.150 daydaymap.com
查询DNS服务器中版本名称,可以通过dig发送version.bind的txt查询请求,并通过chaos的方式进行展示。
如果满足以上两个特征,基本就可以认定是被劫持的DNS服务器。
0x04 用户自查
我们基于以上特征对互联网上的DNS服务器做了全网摸排,情况不容乐观。典型的被劫持IP包括:
47.109.22.11
8.140.204.39
47.108.228.50
47.103.220.247
39.108.114.149
120.77.221.246
106.15.3.137
120.26.147.194
106.15.192.10
106.14.245.30
47.108.190.138
47.106.38.96
47.100.115.82
122.9.187.125
120.79.129.196
47.108.55.233
123.56.132.204
101.37.182.110
101.201.60.214
目前这些IP都还存活,且基本都是国内公有云上的IP,更多被劫持的IP我们会在www.daydaymap.com上陆续公开出来,查看方式如下:
访问DayDayMap首页,点击DNS劫持标签:
点击后会检索语法ip.tag="DNS劫持",列出已探测到的被篡改的DNS地址:
用户自查方式:
1、登陆路由器后台,查看现有的DNS配置,如果备用DNS地址已被改为了1.1.1.1,需要尤其引起注意!
2、将主备DNS地址输入www.daydaymap.com进行查询,看是否有“DNS劫持”的标签,如存在该标签,尽快更换路由器并进行终端安全检测。
0x05 参考文献
https://lovelyping.com/?p=294