MikroTik路由器漏洞导致后门创建

MikroTik是一家拉脱维亚制造商,致力于开发世界各地使用的路由器和软件,RouterOS是基于Linux的操作系统。

MikroTik.png

漏洞发生

利用MikroTik路由器中的一系列漏洞可使攻击者获得后门。攻击以DNS中毒开始,然后降级MikroTik的RouterOS软件的安装版本,最后启用后门程序。

利用的漏洞有:9月11日的漏洞CVE-2019-3976、CVE-2019-3977和9月13日的CVE-2019-3978、CVE-2019-3979

网络安全研究人员说:“通过结合利用这些漏洞,未经身份验证的远程攻击者可以访问路由器上的端口8291,然后进行RouterOS版本降级,重置系统密码,进而获取root shell”。

MikroTik已在2019年10月28日发布补丁。

漏洞利用

DNS缓存中毒、降级导致的无密码登录、创建任意目录,Tenable研究人员在博客中有相关介绍。

DNS缓存中毒

DNS服务器在默认禁用的情况下仍有其自身的DNS缓存,DNS查找由“解析器”二进制文件处理,该二进制文件是挂接在RouterOS的Winbox协议中;

jinyong.png

禁用的DNS服务器

  dns_cache.png

DNS缓存

发送到Winbox端口的消息可以发送到不同的二进制文件及解析器;

然后调用如下图片中的三条命令(3,4,6)就能允许未经身份验证的远程用户通过路由器向自己选择的DNS服务器发送DNS请求;

3mingling.png

命令3、4、6

使用自定义的恶意DNS服务器,攻击者可以将一系列恶意IP地址(包括下载地址)写入到路由器的缓存中,当路由器升级时,将转到攻击者的恶意站点,其提供RouterOS的早期版本。

管理员身份登录

从6.43版开始,MikroTik密码处理机制做了更改,在MikroTik的相关变更日志中:“降级到6.43之前的任何版本,将清除所有用户密码并允许无密码身份验证”。

研究人员说:“当用户安装‘新更新’时,绕过禁止通过更新降级的常规逻辑,并降级到RouterOS 6.41.4,由此管理员密码重置到了默认的空密码,攻击者可以使用管理员身份登录”。

checkupdates.png

用户检查更新显示changelog

后门启用文件/目录

“6.41.4版本系统存在后门,攻击者可以利用该后门获取完整的busybox shell”,“6.41.4的后门启用文件或目录就是/pckg/option,只要该文件或目录存在,就可以启用后门”,研究人员表示。

创建任意目录

Tenable研究人员在软件包中发现另外一个漏洞,该漏洞使攻击者可以在系统上创建任意目录。MikroTik在更新期间处理.NPK文件的方式:一旦遇到签名部分,将停止软件包中SHA-1的计算,这种处理方式导致只解析部分信息字段,可用于在磁盘上的任何位置创建目录。

npkfile.png

研究人员编写的一个名为option_npk的工具

MikroTik于2019年9月10日在发布的新版本6.45.7中修复了这些漏洞,而所有的用户必须升级到最新版本,但是需要确认其不是无密码版本。

最后Tenable提到,建议禁用Winbox,而改用SSH,但已经发现超过50万个Winbox实例面向互联网。


本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://www.securityweek.com/mikrotik-router-vulnerabilities-can-lead-backdoor-creation

 

发表评论 / Comment

用心评论~