作者:harite
工具简介:
我们日常所购买的众多家用路由器,其默认的管理地址和管理密码都是公开的,而广大用户并没有去修改的意识,这给了黑客们可乘之机。黑客可通过在网页中植入 恶意代码的方式,让广大用户的路由器设置在不知不觉中被修改。黑客最常做的一件事就是修改路由器的DNS指向,通过恶意修改这个信息,黑客可轻易地骗取用 户的帐号密码,威胁您的网游、微博、QQ、淘宝、网银安全。
使用方法:
请使用您日常的浏览器来访问这个页面 http://security.tencent.com/lucky/check_router/check_router.html ,若有让输入用户密码的提示,请取消!
检测方案:
当前比较流行的检测方案是构造一个不存在的dns请求,从后端抓取记录进行对比。本方案有所不同:直接向默认地址上的路由器发送默认的登录授权信息(此特 征不断扩充中),如果路由器存在弱密码问题,则返回正常,否则返回失败。根据返回结果判断当前路由器是否可能会被攻击。能帮助广大网民发现更多潜在的风 险。
拓展阅读:
软件截图:
检测未发现风险
检测发现风险
上面的检测是通过js脚本来检测的,检测详细代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!--[if lte IE 6]></base><![endif]--> <meta name="description" content="腾讯安全应急响应中心,Tencent Security Response Center,TSRC" /> <meta name="keywords" content="腾讯,Tencent,安全团队,应急响应,腾讯安全应急响应中心,Tencent Security Response Center,TSRC" /> <link rel="stylesheet" rev="stylesheet" href="http://security.tencent.com/css/global.css?v=1" type="text/css" /> <link rel="stylesheet" rev="stylesheet" href="http://security.tencent.com/css/report.css?v=1" type="text/css" /> <title>路由器DNS劫持风险安全检测工具 - by TSRC</title> <script type="text/javascript" src="http://security.tencent.com/js/jquery.js?v=1"></script> <script type="text/javascript" src="http://security.tencent.com/js/jquery.imagePreview.1.0.js"></script> <script type="text/javascript"> function toggle(){ $("#demoModifyDNS").toggle(1000); $("#demoModifyPwd").toggle(1000); } function show_modifydns(){ $("#demoModifyDNS").show(); } function hiden_modifydns(){ $("#demoModifyDNS").hide(); } function show_modifypwd(){ $("#demoModifyPwd").show(); } function hiden_modifypwd(){ $("#demoModifyPwd").hide(); } var maxtime = 5; var timer = 0; //// function count_down() { if(maxtime>=0) { minutes = Math.floor(maxtime/60); seconds = Math.floor(maxtime%60); document.getElementById("res_show").innerHTML = '<img src="loading.gif"/>检测中,请等待('+minutes+" 分 "+seconds+" 秒"+')...'; --maxtime; } } //// var is_danger = 0; var sign = ""; function get_result() { clearInterval(timer); if (is_danger == 1) { document.getElementById("res_show").innerHTML = "<b><font color='red'>当心!<br/>您当前使用的路由器存在被劫持的风险!请尽快:<br/><a target='_blank' class='preview' href='demo_modifydns.png'>点击查看</a>:修改路由器DNS设置<br/><a target='_blank' class='preview' href='demo_modifypwd.png'>点击查看</a>:修改管理账户密码</font></b>"; $("a.preview").preview(); } else { document.getElementById("res_show").innerHTML = "<b><font color='green'>恭喜!<br/>暂未发现您当前的路由器存在被劫持的风险。希望后续多多关注腾讯安全应急响应中心微博,我们会不定期科普安全知识和发布安全工具。</font></b>"; } } function check() { alert("温馨提醒:为了保证测试结果的准确性,如果有弹窗提醒你输入用户密码,请点击 【【取消】】!"); timer = setInterval(count_down, 1000); setTimeout(get_result, 1000*(maxtime+2)); router_sign = [ 'http://admin:admin@192.168.1.1/images/logo.jpg', 'http://admin:admin@192.168.0.1/images/logo.jpg' ]; for (i = 0; i < router_sign.length; i++) { check_img = new Image(); check_img.onload = function() { is_danger = 1; } check_img.src = router_sign[i]; if (is_danger == 1) { sign += router_sign[i]; } delete check_img; } } </script> </head> <body onload="check();"> <!--Header--> <div id="headerAll"> <div id="header"> <div id="top"> <a class="logo" href="javascript:;"><cite>TSRC<br />TSRC</cite></a> </div> <div id="menu"> <ul class="tsrc_top_menu"> <li class="tsrc_home"><a href="/index.php"><span> 首页 </span></a></li> <li class="tsrc_anno"><a href="/index.php/announcement"><span>公告</span></a></li> <li class="tsrc_blog"><a href="/index.php/blog"><span>博客</span></a></li> <li class="tsrc_report"><a href="/index.php/report"><span>报告漏洞</span></a></li> <li class="tsrc_lib selected"><a href="/index.php/opensource/all"><span>实验室</span></a></li> <li class="tsrc_thanks"><a href="/index.php/thanks"><span>名人榜</span></a></li> <li><a href="/index.php/shop"><span>礼品兑换</span></a></li> <li><a href="http://quan.security.tencent.com" target="_blank"><span>安全圈</span></a></li> </ul> </div> </div> </div> <!--Header End--> <div id="wrapper"> <div class="top_nosider"></div> <div id="container" class="center_nosider"> <div class="safe_school_topics_cont"> <div id="res_show"><img src="loading.gif"/>检测中,请等待...</div> <br/> 腾讯微博:<iframe id="review" height="24px" marginheight="0" src="http://follow.v.t.qq.com/index.php?c=follow&a=quick&name=tsrc&style=5&t=1337152527789&f=1" frameborder="0" width="178px" allowtransparency="true" marginwidth="0" scrolling="auto"></iframe><br/> 新浪微博:<a href="http://weibo.com/tsrcteam" target="_blank">@tsrcteam</a> </div> </div> <div class="bottom_nosider"></div> </div> <!--Footer--> <div id="footer"> <p><a href="http://www.tencent.com/" target="_blank">关于腾讯</a>|<a href="http://www.tencent.com/index_e.shtml" target="_blank">About Tencent</a>|<a href="http://www.qq.com/contract.shtml" target="_blank">服务条款</a>|<a href="/index.php/jobs" target="_blank">加入我们</a>|<a href="/index.php/report" target="_self">报告漏洞</a>|<a href="/index.php/friends">合作伙伴</a>|<a href="http://service.qq.com/" target="_blank">腾讯客服</a></p> <p> Copyright © 1998 - 2013 Tencent. All Rights Reserved </p> <p>腾讯公司 版权所有</p> </div> <!--Footer End--> </body> </html>
转自:http://security.tencent.com/index.php/opensource/detail/3
ps:作者提供的代码只是用于检测本地路由器是否存在DNS劫持的风险(如默认口令、默认IP地址等),并没有讲解如何检测本地主机是否已经遭受DNS劫持。作者只是提了一下:较流行的检测方案是构造一个不存在的dns请求,从后端抓取记录进行对比。
要好好研究下,如何检测是否被DNS劫持。
转载请注明:jinglingshu的博客 » 路由器DNS劫持风险安全检测工具