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等命令可正常执行。
“博智赛博空间非攻研究院”为博智安全旗下技术创新、安全研究的重要部门,部门拥有一支能力突出、技术过硬、业务精通、勇于创新的技术队伍,当前主要专注于应用安全、攻防渗透、工业互联网安全、物联网安全、电信安全和人工智能安全等方向。
来源:freebuf.com 2020-04-13 09:23:46 by: 博智安全elex
请登录后发表评论
注册