太阳集团2138备用网址

  • “12326”民航服务质量监督电话正式开通 2019-04-23
  • 中铁佰和佰樂金婚盛典2017重阳节完美绽放 2019-04-23
  • 保护长江生态环境今年主抓8方面工作——生态环境部部长李干杰回应生态环境保护热点问题 2019-04-23
  • 新疆台办开展走访慰问台商台企活动 2019-04-23
  • 标致301优惠1.5万起 时尚代步经济全面 2019-04-23
  • 欢迎进入红色轨迹党史网站 2019-04-23
  • 【华商侃车NO.28】重磅!为什么315这么多车主维权? 2019-04-23
  • “上会神器”造型各异! 2019-04-23
  • 曾经赫赫有名如今艰难生存:华硕的解药到底在哪儿? 2019-04-23
  • 全国政协常委吴晶倡议:唱响《国歌》 激发爱国情怀【图文】 2019-04-23
  • 首届青运会开幕式文体表演简约而不简单 2019-04-23
  • 中国法学会第八次全国会员代表大会在京开幕 2019-04-23
  • 我是谁?我是海关关员 2019-04-23
  • “立委”南北辅选? 韩國瑜:要看时间 2019-04-22
  • 中国—东盟时装周上演马来西亚设计师婚纱礼服秀 2019-04-22
  • 欢迎来到 黑吧太阳集团2138备用网址 是业内专业的游戏平台,为你提供各式各样的精品游戏,最全的游戏项目,同时还为您提供各种游戏专题游戏攻略人气论坛。

    MikroTik RouterOS未经认证可绕过防火墙访问NAT内部网络(CVE-2019-3924)

    来源:本站整理 作者:佚名 时间:2019-02-28 TAG: 我要投稿

    太阳集团2138备用网址 www.r-island.com 设计缺陷
    在针对MikroTik进行漏洞研究时,我在RouterOS中发现了一个未公开的漏洞,该漏洞的编号为CVE-2019-3924。该漏洞允许远程攻击者在未经身份验证的情况下通过路由器的Winbox端口代理特制的TCP和UDP请求。该代理请求甚至可以绕过路由器的防火墙,到达LAN主机。
    这个代理行为看上去很简洁,但对我而言,最有趣的一个地方是WAN上的攻击者可以向局域网中经过防火墙保护的主机进行攻击。本文将主要介绍这种攻击方法。如果各位读者对复杂的概念验证过程比较感兴趣,建议首先观看下面的视频:
    https://youtu.be/CxyOtsNVgFg
    部署
    为了证明这个漏洞,我首先需要选择一个攻击的目标。我没有选择太远的目标,因为我面前的办公桌上就有一台NUUO NVRMini2。这台NVR非常适合作为我们漏洞分析的示例,设备应该隐藏在防火墙后面,并且应该与网络上的其他设备相分离。

    目前,我已经完成了测试部署。现在,NVRMini2位于MikroTik hAP路由器后面,启用了NAT和防火墙。
    对于IP地址为192.168.1.7的攻击者来说,NVRMini2应该是安全的:

    在部署过程中,还有一个重要的注意事项,就是我在路由器的防火墙中打开了8291端口,以允许从WAN进行Winbox访问。默认情况下,Winbox仅通过LAN在MikroTik hAP上提供。不要担心,我只是模拟真实世界中的配置。
    现在,攻击者192.168.1.7理论上应该无法与10.0.0.252(目标主机)进行通信,防火墙应该会阻止这样的通信尝试。那么,我们就一起来看看,攻击者如何能绕过这种限制。
    探索:如何绕过防火墙
    CVE-2019-3924漏洞的根本原因在于路由器未对网络发现探针强制执行身份验证。在正常情况下,The Dude通过路由器进行身份验证,并通过Winbox端口上传探针。但是,其中一个处理探针(代理程序)的二进制文件无法验证远程用户是否已经通过了身份验证。
    探针是一个相当简单的概念。探针是一组变量,用于告知路由器如何与指定端口上的主机通信。该探针最多支持三个请求和响应。响应与提供的正则表达式匹配。以下是内置的HTTP探针。
    HTTP探针向80端口发送HEAD请求,并检查响应是否以“HTTP/1”开头。

    为了绕开防火墙,并从192.168.1.7与NVRMini2通信,攻击者只需要为路由器提供连接到10.0.0.252:80的探针。有一个显而易见的问题,就是“如何来确定LAN主机是不是NVRMini2?”
    NVRMini2和各种OEM都具有非常相似的登录页面标题。

    使用title标签,我们可以构建一个检测NVRMini2的探针。下面的内容摘自我在GitHub上的概念证明。我再次使用了我的WinboxMessage实现。
    bool find_nvrmini2(Winbox_Session& session,
                       std::string& p_address,
                       boost::uint32_t p_converted_address,
                       boost::uint32_t p_converted_port)
    {
        WinboxMessage msg;
        msg.set_to(104);
        msg.set_command(1);
        msg.set_request_id(1);
        msg.set_reply_expected(true);
        msg.add_string(7, "GET / HTTP/1.1\r\nHost:" + p_address +
                          "\r\nAccept:*/*\r\n\r\n");
        msg.add_string(8, "Network Video Recorder Login");
        msg.add_u32(3, p_converted_address); // ip address
        msg.add_u32(4, p_converted_port); // port
     
        session.send(msg);
        msg.reset();
     
        if (!session.receive(msg))
        {
            std::cerr
    大家可以看到,我构建了一个发送HTTP GET请求的探针,并在响应中查找“Network Video Recorder Login”。路由器192.168.1.70将接收此探针,并将其发送到我再msg.add_u32(3)和msg.add_u32(4)中定义的主机。在我们的示例中,它分别对应10.0.0.252和80。这个逻辑,绕过了正常的防火墙规则。
    下图展示了攻击者(192.168.1.7)使用探针针对10.0.0.254(Ubuntu 18.04)和10.0.0.252(NVRMini2)的探测过程。我们可以看到,攻击者甚至无法ping这些设备。但是,通过使用路由器的Winbox接口,攻击者可以访问LAN主机。

    在理论上“无法访问”的局域网上,我们已经可以发现NVRMini2。但是,我们还希望能更进一步,我们希望能获得对该网络的完全访问权限。接下来,让我们寻找一种方法来利用NVRMini2。

    [1] [2] [3]  下一页

    【声明】:太阳集团2138备用网址(http://www.r-island.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@www.r-island.com,我们会在最短的时间内进行处理。
    • 最新更新
      • 相关阅读
        • 本类热门
          • 最近下载