今天的微博讨论围绕着腾讯电脑管家应急响应的<史上最大规模“54DNS劫持”已得到有效遏制>进 行,黑哥说了句:“猥琐流从科普到实际利用,看来需要比较长的时间~~”。确实是,很多猥琐的技巧,尤其是Web前端方面的,我们(极其一小撮群众)在玩 啊玩,而黑产一旦也玩出价值了,那危害就来了,而且这些技巧经常是“看去很高级且很陌生”,导致很多安全团队在响应时速度没那么快,不过管家这次能这么快 响应,确实很不错。
这里有个链接是说管家这次响应的(点击最后的“阅读原文”也可以看到):
http://www.itbear.com.cn/ZiXun/2013-05/81995.html
里面有句话:
此次被发现的DNS劫持攻击要远比以往严重,黑客利用宽带路由器的缺陷对用户DNS进行篡改——用户只要浏览一下黑客所掌控的WEB页面,其宽带路 由器的DNS就会被黑客篡改,因为该WEB页面没有特别的恶意代码,所以可以成功躲过安全软件检测,导致大量用户被DNS钓鱼诈骗。
这次攻击主要是攻击了TP-LINK路由器。
其实这是一起很经典的CSRF攻击(不了解这个攻击的也可以先往后看),我不做具体考据了,大概是08年的blackhat大会上有老外公布了针对 路由设备的CSRF攻击,之后攻击技巧一直在进化,包括HTML5的一些技巧使用。我08年还有去年的两个PPT里都提到了针对内网攻击的思路。这类攻击 一直没引起重视,直到被黑产利用了。(相关资源在最后列出)
微博上在热烈讨论时,@iceyes汪利辉给出了2年前茄子的一篇文章《Http Authentication Url and csrf = Router Hacking !!!》:
http://hi.baidu.com/kpstfbahmmalqre/item/008121262c7802112b0f1c89
建议大家看看,这次大规模的攻击原理应该就是这样,可能会有新技巧,不过不影响大家理解攻击原理。
步骤大概是:
1. 攻击者诱骗受害者通过浏览器访问一个有CSRF攻击代码的页面;
2. 受害者访问后,这个页面里的CSRF代码开始执行;
3. 执行第1个CSRF:用默认账户密码登录默认路由IP地址(比如admin/admin登录http://192.68.1.1),这些默认的可以形成一个列表,遍历就行;
4. 第1个CSRF成功后,目标路由设备会有个合法的Cookie植入到受害者浏览器端;
5. 执行第2个CSRF:将DNS的IP修改为攻击者准备好的服务器IP。这次的执行,浏览器会带上第1次的合法Cookie,所以修改可以成功;
5. 用户的访问请求就会经过攻击者的这个服务器,攻击者可以做各种劫持了;
防御
防御这个不太指望TP-LINK等路由厂商发布固件升级,个人用户可以这样:
1. 修改默认的口令与内网地址段会比较好,不过不一定就安全了;
2. 本地绑定不错的DNS服务,如8.8.8.8,不过似乎不稳定了?
3. 这次攻击在IE下估计无效;
4. Firefox+NoScript一直是一个绝佳的组合;
猥琐的方式在持续,希望大家重视:)
相关资源
1. 史上最大规模“54DNS劫持”已得到有效遏制
http://www.itbear.com.cn/ZiXun/2013-05/81995.html
2. Http Authentication Url and csrf = Router Hacking !!!
http://hi.baidu.com/kpstfbahmmalqre/item/008121262c7802112b0f1c89
3. @ftofficer_张聪 在微博上推荐的Blended Threats and JavaScript: A Plan for Permanent Network Compromise 值得一看:
http://media.blackhat.com/bh-us-12/Briefings/Purviance/BH_US_12_Purviance_Blended_Threats_WP.pdf
http://l4.yunpan.cn/lk/Q5PA6rGSUPUmI
4. CSRF-苏醒的巨人
http://vdisk.weibo.com/s/meqNz
5. JavaScript安全从浏览器到服务端
http://vdisk.weibo.com/s/mernF
Http Authentication Url and csrf = Router Hacking !!!
首先简要的说下什么是Http Authentication,服务端返回一个401状态,并返回一个WWW-Authenticate头。
WWW-Authenticate头包含了Http Authentication认证框的一些描叙,如下图
在认证框中输入用户名和密码,将密码放入Authorization头中发送
YWRtaW46YWRtaW4=即是admin:admin的base64编码
Http Authentication这一认证过程,实际上早先在所有浏览器中支持以Http Authentication Url的形式访问登陆,即
而微软为了防止钓鱼URL的问题,出了一个安全补丁,禁止了Http Authentication Url,见
http://support.microsoft.com/kb/834489
科 普完毕,八下之前的一些东西,前些年看到过国外黑路由的几个案例,其中比较精彩的有flash upnp attack,将内网指定IP的端口给映射出来进行攻击,当然还有部分路由有漏洞也可以将路由的WEB管理端口给映射出来进行攻击,后来FLASH将这个 安全漏洞修补了。
回到正题上,我们知道国内大部分的家用路由都是使用的Http Authentication认证方式,比如我上图中的就是TPLINK路由,虽然IE禁止了Http Authentication Url,但是firefox、chrome等浏览器任然支持Http Authentication Url,同时以标签的形式嵌入Http Authentication Url可以强制Http Authentication认证成功,没有任何安全提示,于是邪恶的攻击方法来了。
1. 我们可以取国内各种路由的默认IP和默认密码构造一个Http Authentication Url暴力登陆脚本。
2.使用CSRF修改路由的DNS,指向我们的恶意DNS。
比如下面这个TPLINK的小DEMO:
<script>
function dns(){
alert(‘I have changed your dns on my domain!’)
i = new Image;
i.src=’http://192.168.1.1/userRpm/LanDhcpServerRpm.htm?dhcpserver=1&ip1=192.168.1.100&ip2=192.168.1.199&Lease=120&gateway=0.0.0.0&domain=&dnsserver=8.8.8.8&dnsserver2=0.0.0.0&Save=%B1%A3+%B4%E6′;
}
</script>
<img src=”http://admin:admin@192.168.1.1/images/logo.jpg” height=1 width=1 onload=dns()>
访问tplink.html后!
偷偷加入一个8.8.8.8的DNS服务器!
想一想,黑客如果用这种攻击方式大规模攻击,将是如何恐怖?弹指一挥间,数万路由被静默修改DNS?
这是一个普遍的安全问题,您的路由器是否修改好了默认密码,不过值得庆幸的是只有firefox、chrome等浏览器存在此类安全问题。
家用路由器会遭受攻击吗?
家用路由器很悲剧的是:已经被黑产同学们盯上了。
路由器如:TP-Link、D-Link、一堆国产的、开源固件打造或改改用的,都存在各类安全问题,比如老外做了个汇总页面,大家可以去围观下:http://routerpwn.com/,还比如ZoomEye团队前段时间绘制出了全球存在D-Link后门的受影响路由分布:http://www.zoomeye.org/lab/dlink(关于D-Link后门的科普图,大家可以看这:http://weibo.com/1652595727/AfFkAegd3?mod=weibotime)。
我们知道一个攻击要风靡,不仅是在“学院”或“实验室”里进行概念验证,一旦工业化就会流行。
今年有个非常重要的趋势:黑产盯上了家庭/公司路由器,通过漏洞技巧去篡改这些路由器的DNS服务器。这意味这:
- 用这个路由器上网的一批用户都被“劫持”了;
- 上网流量被劫持,意味着上网隐私没了,密码、证书等都可能泄露;
- 返回的页面可能被篡改植入广告、挂马之类的;
上周百度搜索上线了一个非常重要的策略,如果发现有网站被植入恶意篡改用户路由DNS的代码时,就会拦截页面,打出提示!据安全联盟的统计发现过万 的网站被黑,植入了路由DNS劫持代码,这个数量非常之大。居然我身边的几位同学都来和我说自己被劫持了!我是安全圈的,我的同学根本不是这个圈子,只是 普通的网民!这说明路由DNS劫持攻击已经在风靡。
过去一段时间,我们团队就捕获了至少5个变种。这类攻击的模式一般是:
- 攻击者黑下一批网站;
- 攻击者往这批网站里植入路由DNS劫持代码(各种变形);
- 攻击者传播或坐等目标用户访问这批网站;
- 用户访问这些网站后,浏览器就会执行“路由DNS劫持代码”;
- 用户的家庭/公司路由器如果存在漏洞就会中招;
- 用户上网流量被“假DNS服务器”劫持,并出现奇怪的广告等现象;
虽然这次攻击主要针对Tp-Link路由器,不过中招的路由不仅TP-Link!我们捕获的样本还发现其他的,我们特别弄了一个专题:http://zhanzhang.anquan.org/topic/dns_hijacking/。随时更新,欢迎大家围观。
2013/11/18号晚补充:
不好意思,有好些同学问解决方案呢,我可能没说清。解决方案我们已经放到我们的专题里了:
http://zhanzhang.anquan.org/topic/dns_hijacking/
大家请挪步查看,解决方案不仅针对网民还针对站长,解决方案我们本周会持续优化,因为技术上完美还存在一些问题(我们想让解决方案看起来最傻瓜化)。
- 但是如果你是网民的话,参考我们专题里列的教程去操作,那就没问题了。
- 而,如果你是站长的话,除了查出自己的网站被黑植入了路由DNS劫持代码之外,清理恶意代码后,还得好好修补网站漏洞……小心反复被黑……
文章来源:http://www.zhihu.com/question/19792103/answer/20160379 余弦撰文
转载请注明:jinglingshu的博客 » 说说“史上最大规模的DNS劫持”