首页 » 技术讨论 » 正文

近期RouterOS的几个漏洞说明(中招的人不少)

近期很多论坛和群报出各种漏洞问题,RouterOS被攻击,密码被修改,被上传恶意文件等,下面根据官方的信息普及下关于RouterOS的几种漏洞


20多万台MikroTik路由器被黑,用户被迫扛起锄头挖矿

研究人员发现20 多万台MikroTik路由器被黑客接管,让用户不知不觉中为他们挖矿。

近日,安全研究人员发现了一场针对MikroTik路由器的大规模恶意劫持活动,利用Mikrotik企业路由器中的一个已知漏洞来接管路由器,向用户访问的页面注入Coinhive挖矿脚本。用户打开该网页后即开始挖掘门罗币,而挖矿所得将转发至黑客的账户地址。

Trustwave SpiderLabs的安全研究员Simon Kenin表示,攻击的首先从巴西开始,第一阶段即感染了约72000台MikroTik路由器。

随后,这场恶意攻击迅速波及到全球20多万台MikroTik路由器,截至本文编译完成时,这一数字仍在增长。

攻击方式

本次攻击利用了MikroTik于今年4月23日修补的零日漏洞,虽然MikroTik修复该漏洞前后只用了一天,但还有成千上万的MikroTik路由器未能及时打上补丁,导致黑客乘虚而入。

该漏洞使得黑客能够通过Winbox从设备读取文件,获得对MikroTik路由器的未经身份验证的远程管理员访问权限。初步调查显示,黑客并不是在路由器上运行恶意可执行文件,而是通过路由器功能推送包含Coinhive挖矿脚本的自定义错误页面。

以下是Simon Kenin的分析:

首先,在Shodan 搜索引擎上看到的所有页面实际上都是webproxy错误页面,可见黑客创建了一个包含Coinhive脚本的自定义错误页面:

黑客在文件系统中创建了一个自定义的错误页面

该页面包含的内容

经过测试和Reddit用户的报告,会发生两种情况:

接入到该路由器的用户,只要用户在浏览网页时跳转到任何类型的错误页面,都会打开这个包含Coinhive挖矿脚本的自定义错误页面。

如果后端本地服务器也连接到路由器,只要用户连接到了这个服务器,哪怕没有直接连接到受感染路由器,也会受到影响。

而根据Reddit上一些用户的报告,他们在浏览网页时,每个网页都被注入了Coinhive挖矿代码。

得知该信息后,Simon Kenin进一步调查发现了另外一个脚本:

“3_”脚本

用户一连上路由器,脚本就开动了

从上图中可以看到,用户一连接到无线网络,脚本立即执行。

由于服务器上没有mikrotik.php文件,因此该文件内容未知。它可能是用于将Coinhive挖矿代码注入每个html页面的脚本,至于如何实现,在本调查中也未能揭示,只能说这些黑客对于MikroTik路由器配置有着极深的理解。

为什么这么说?请看以下截图,揭示了该攻击的持续机制:

黑客添加的后台任务

一共有两个任务:

连接到另一台主机“min01.com”,并获取一个新的“error.html”文件。这是为了Coinhive平台屏蔽了黑客当前使用的站点密钥后,使用另一个站点密钥来替换它。

下载并执行为名为“u113.rsc”的脚本。目前可以看到该脚本仅用于占位,但这一看就知道是向所有被接管的设备发送附加命令的一种途径。

在编译本文时看到的脚本内容

在调查过程中,Simon Kenin还确定了黑客在寻找新的包含该漏洞的路由器时使用的脚本:

路由器受到感染时执行的命令

我们可以看到该脚本修改了一些系统设置、启用了代理、获取了自定义错误页面,并根据需要创建了更新的计划任务,最后还创建了名为“ftu”的后门帐户。

这个脚本正不断添加更多清理命令,进一步降低占用空间并减少将Coinhive挖矿代码注入每个网页时产生的线索,最终降低被检测的风险。

越来越小心的黑客

从大张旗鼓的加密勒索软件,到现在隐藏在信息流里的挖矿代码,黑客的思维方式也从一锤子买卖转向了更长久的非法利益。

在海量的网页中注入Coinhive挖矿代码不可能不被发现,越来越多用户的怒火必然会推动用户自己和ISP调查问题的根源。安全研究员Simon Kenin在进行调查时,只在路由器返回的错误页面中发现了注入的Coinhive脚本,这说明其他用户在网络上提出问题之后,黑客切换了策略,缩小攻击面的同时提升了攻击的量级,即仅在错误页面注入挖矿代码,感染更多的MikroTik路由器。但由于部署MikroTik路由器的企业数量巨大,包含该挖矿代码的页面的出现次数仍可达到数百万次。

在管理员为路由器打上补丁之前,这场攻击仍将继续,Freebuf小编将持续关注并为大家更新信息,也请使用MikroTik路由器的小伙伴赶紧自查起来。


Mikrotik的Winbox的任意文件访问漏洞的PoC流出,漏洞公布以后仍旧没有引起网络管理者足够的重视,敦促所有ROS管理员尽快升级

相关的技术讨论作者在 21 May 2018 日就以文章的形式详细阐述 https://n0p.me/winbox-bug-dissection/  ,漏洞大致是这样的:

  1. Winbox申请登录以后会从RouterOS里面下载一些适用于当前版本的ROS的DLL文件作为Winbox的功能模块来执行,但是这个下载行为没有恰当的鉴权,通过精心构造的请求包,可以下载任意文件,包括RouterOS的用户数据库文件。
  2. RouterOS的用户数据库存储的密码没有使用标准的加密方式加密,只是把密码原文和 md5(用户名 + “283i4jfkai3389”) 做了一次XOR运算,运算结果完全可逆,几乎可以认为是明文存储了密码,使用mikrotik-tools https://github.com/0ki/mikrotik-tools 包含的解码文件可以直接还原出明文密码,导致路由器沦陷。
  3. 影响范围 6.29 (release date: 2015/28/05) to 6.42 (release date 2018/04/20)

相关的PoC已经以源代码形式放出 https://github.com/BasuCert/WinboxPoC ,我测试了几台身边朋友的ROS,基本上都中招,而且有些管理员为了方便,使用虚拟专用网或者 IPIP、GRE隧道等打通自己所管理ROS的内网,导致一些本来在内网的ROS路由器、AP、可以被一个一个的沦陷掉。

目前搜索国内相关报道,只有寥寥数片文章讲到了 https://www.toutiao.com/i6548225294128382468 文章时间也比较早,今天已经7月份了,身边主动升级ROS的用户凤毛麟角,当然和消息没有充分散播也有关系,特此发文,敦促所有ROS管理员尽快升级到6.42.1+ 或者最新版本。


关于WEB 服务的漏洞

WikiLeaks 开始使用一个新的代号 Vault 7 作为美国中情局(CIA)的敏感信息披露计划,这次被发布的第一份档案 Year Zero 大小高达 513MB,一共包含 8,761 份相关敏感文档。根据维基解密的阐述,这份包含了大量 0day,恶意软件,病毒,木马以及相关文档的高度机密资料,在美国政府黑客和承包商之间传播,其中有人向维基解密提交了这份绝密档案的部分内容。

关于www服务器的漏洞,是从2017年维基解密公布新的代号 Vault 7的文档,据维基解密的阐述,这份包含了大量 0day,恶意软件,病毒,木马以及相关文档的高度机密资料,在美国政府黑客和承包商之间传播,其中有人向维基解密提交了这份绝密档案的部分内容。

如果没有防火墙来保护www服务,该漏洞直接影响到RouterOS的webfig网页配置接口,MikroTik修改该漏洞从6.37.5 Bugfix 版本和6.38.5 发行版本,这两个版本都是在2017年3月9日发布

该漏洞后来被几个恶意攻击利用,并且影响到之前未修复的RouterOS,以及将www服务端口(TCP 80端口)开放给不信任网络RouterOS系统。

1、VPNfilter

在2018年5月22日,MikroTik接到Cisco通知,一个恶意工具VPNfilter在多个网络设备中被发现,其中包括三款MikroTik的设备。MikroTik高度重视,该恶意软件通过RouterOS的一个漏洞安装进系统,但在2017年3月,MikroTik已经修补过该漏洞,被攻击的是老版本的RouterOS。因此建议尽快升级RouterOS最新版本,如果有更多关于该漏洞的消息请与MikroTik联系(support@mikrotik.com)。

如果你运行的RouterOS版本是在2017年3月之前(6.37.5 bugifx版本和6.38.5发行版本),并且允许不信任网络访问设备的www服务(TCP 80端口)

P.S: VPNfilter这个名字只是被发现的恶意软件的代号(更具体地说,是一个假的可执行名称),这个工具的执行方式与VPN隧道没有关联. 从基本的角度看,恶意软件可以嗅探某些类型的流量,并将其发送到某个地方,或者让路由器系统崩溃。

2、流氓僵尸工具

近期MikroTik官方注意到,一款流氓僵尸网络正在扫描随机的公共IP地址,以找到那些打开Winbox(TCP 8291)和WWW(TCP 80)端口的RouterOS,并利用以上描述的几个漏洞进行恶意攻击。注意Winbox与该漏洞没有关系,只是利用winbox的端口来识别MikroTik的RouterOS设备,当识别到后,会继续尝试通过TCP 80端口攻击

如果在最近一年时间未升级过RouterOS,强烈的建议升级你的RouterOS设备,仅需要在winbox中打开/system packages 点击check for updates,选择Download&install,即可升级(确保RouterOS能正常连接网络,并在ip->dns下配置好dns服务器)

 

 

对于80端口的RouterOS如何确定是否安全?

– 如果你在最近一年内升级了RouterOS,是安全的
– 如果你在ip service关闭掉了www服务,是安全的
– 如果你有防火墙配置保护TCP 80端口,确保配置正确,是安全的
– 如果你的Hotspot只对局域网服务,但Webfig不能访问,是安全的
– 如果你的User Manager只对局域网服务,但Webfig不能访问,是安全的.
– 如果你修改了Winbox默认端口,你可以幸免不会被扫描到,但并不代表不会被感染
– 如果你关闭Winbox端口,你可以幸免不会被扫描到,但并不代表不会被感染
– 如果”ip service”的 “allowed-from” 参数设置了信任网络,在信任网络内没有被感染设备,是安全的
– 如果Webfig仅局域网可访问,需要小心被局域网感染设备所利用

 

如果保护?

1、升级RouterOS最新版本,升级方式:Winbox中打开/system packages 点击check for updates,选择Download&install 升级
2、修改你的RouterOS所有管理员密码
3、根据MikroTik官方指南保护你的设备,下面是官方提供的保护路由器的防火墙规则介绍
https://wiki.mikrotik.com/wiki/Manual:Securing_Your_Router

 

如果监测?

– 升级到6.38.5或更高版本,将会删除掉漏洞文件,修改密码,安全之前提到的方法保护到TCP 80端口
– 如果你升级设备后,仍然能看通过telnet或其他方式非法访问你的路由器,请打开Tool/torch工具,找到攻击源,但你本地网络的其他设备被感染,也请及时做出升级处理和安全措施

 

 

关于Winbox漏洞

RouterOS发现一个新的漏洞,针对RouterOS v6.29以后的版本,从6.29到6.43rc3受到该漏洞影响。这个漏洞与之前的TCP 80端口不同,这个是直接针对Winbox 8291端口

漏洞说明:该漏洞通过一个特定的工具连接winbox端口(tcp/8291),并获取系统管理员的数据文件,从而得到RouterOS的登录账号和密码。

受影响版本:6.29到6.43rc3受到该漏洞影响,从v6.40.8、v6.42.1和v6.43rc4修复该漏洞,请大家及时更新版本! 升级完成后,及时更改密码

升级操作:/system packages 点击check for updates,选择Download&install 升级