关注网络与数据安全

忘记密码
“游侠安全网”创建了网络安全从业者QQ大群(群号:389710688) ,欢迎各位同仁加入!有其它问题,请联系站长“网路游侠”,QQ:55984512


【IOT安全研究】MikroTik路由器Root之路

2020-04-27 15:10 推荐: 浏览: 392字号:

摘要:01.概述 MikroTik是一家成立于1996年,总部位于拉脱维亚的公司,公司致力于开发路由器和无线ISP系统。1997年MikroTik创建了RouterOS软件系统,已为世界上大多数国家/地区的互联网连接提供硬件和软件。使用Shodan搜索“R...

01.概述

MikroTik是一家成立于1996年,总部位于拉脱维亚的公司,公司致力于开发路由器和无线ISP系统。1997年MikroTik创建了RouterOS软件系统,已为世界上大多数国家/地区的互联网连接提供硬件和软件。使用Shodan搜索“RouterOS”关键字,可发现大量在线的系统:

02.环境配置

环境配置比较简单:访问Mikrotik官网即可下载https://mikrotik.com/download/archive,官网提供了各个历史版本、不同格式、支持不同平台的安装包,直接下载ISO使用虚拟机安装即可,安装后配置IP,如下图所示:

系统默认开启的端口如下:

使用http访问路由器:

Winbox是RouterOS提供的用于快速进行系统管理的GUI程序,点击图标下载后,运行Winbox连接路由器,可以看到ISO安装的MikroTik路由器为x86架构:

03.路由器Root

对于使用者而言,MikroTik路由器为一个黑匣子,仅支持基本RouterOS命令,不支持对内部文件系统的查看,不支持使用调试工具对内部文件做分析调试,因此需要使用其他方式对路由器进行Root,进而方便对文件系统进行深入研究、对各类程序进行动态调试。此处使用Tenable公司的Jacob Baines提供的工具Cleaner Wrasse:https://github.com/tenable/routeros/tree/master/cleaner_wrasse,工具利用了CVE-2018-14847和CVE-2019-3943漏洞,给路由器植入shell打开一个“后门”。在对cleaner_wrasse源码进行编译的时候,需要安装Cmake和Boost环境:

执行cleaner_wrasse如下图所示:

使用telnet连接路由器,获取busybox的shell:

由此可见内置的busybox功能被阉割,ls命令无法被执行(tips:此处按可通过按tab键,将返回系统目录信息),由此需要尝试其他方式获得完整的busybox shell。(以下使用更高版本系统实验)。

1、使用ftp上传本地的三个文件:busybox、gdb、milo

2、关闭并设置MikroTik虚拟机,将ubuntu-14.04.6-desktop-i386.iso作为Live CD,设置开机从CD启动:

设置后MikroTik虚拟机重启,进入ubuntu系统,选择Try Ubuntu:

进入系统后,可找到RouterOS的文件系统:

此时发现没有terminal,选择ubuntu系统,搜索terminal即可打开:

找到步骤1中上传的三个文件,修改执行权限并创建符号连接:

重启并正常进入MikroTik虚拟机。

3、编译execute_milo源码:

4、执行execute_milo:

路由器将出现如下提示:

此时无需重启路由器,直接通过port 1270端口访问root busybox shell:

路由器Root完成,可完全获取RouterOS文件系统内容,ls等命令可正常执行。

“博智赛博空间非攻研究院”为博智安全旗下技术创新、安全研究的重要部门,部门拥有一支能力突出、技术过硬、业务精通、勇于创新的技术队伍,当前主要专注于应用安全、攻防渗透、工业互联网安全、物联网安全、电信安全和人工智能安全等方向。

【原创声明】
本文属于博智安全非攻研究院原创技术文章,转载请注明原始出处和作者。

联系站长租广告位!

中国首席信息安全官