最新消息:

路由器DNS劫持风险安全检测工具

技术 admin 2130浏览 0评论

作者:harite

工具简介:

 

    我们日常所购买的众多家用路由器,其默认的管理地址和管理密码都是公开的,而广大用户并没有去修改的意识,这给了黑客们可乘之机。黑客可通过在网页中植入 恶意代码的方式,让广大用户的路由器设置在不知不觉中被修改。黑客最常做的一件事就是修改路由器的DNS指向,通过恶意修改这个信息,黑客可轻易地骗取用 户的帐号密码,威胁您的网游、微博、QQ、淘宝、网银安全。

使用方法:

请使用您日常的浏览器来访问这个页面 http://security.tencent.com/lucky/check_router/check_router.html ,若有让输入用户密码的提示,请取消!

检测方案:

当前比较流行的检测方案是构造一个不存在的dns请求,从后端抓取记录进行对比。本方案有所不同:直接向默认地址上的路由器发送默认的登录授权信息(此特 征不断扩充中),如果路由器存在弱密码问题,则返回正常,否则返回失败。根据返回结果判断当前路由器是否可能会被攻击。能帮助广大网民发现更多潜在的风 险。

拓展阅读:

说说“史上最大规模的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劫持风险安全检测工具

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址