概述
写文章还是有一段时间了,发布的文章也是获得了不少小伙伴的关注,同时也和圈子里面的小伙伴慢慢的建立起了联系,平时也会时不时的一起探讨一些技术问题。因此,在最近和小伙伴的交流学习过程中,有一个小伙伴提到了一款远控工具,名字叫tinyshell:
刚听到此远控工具的名字,确实感觉没什么映像,不过尝试在网络中搜索了一下此工具,发现此工具是一款轻量级网络设备后门程序,而且其曾被CIA组织所青睐,配合Chimay Red漏洞利用工具对MikroTik路由器发起攻击。相关截图如下:
尝试对上述网页进行详细解读,发现此网页为“Vault 7” CIA泄露文档,由维基解密于2017年曝光。基于网络调研信息,发现“Vault 7” CIA泄露文档共计8700余份机密文件,是CIA组织针对外国政府和国内外公民的黑客工具库。
进一步对“Vault 7” CIA泄露文档进行调研,发现泄露文件揭秘了CIA组织在海外间谍活动中如何入侵Android、iPhone、三星电视、Windows PC、Mac、MikroTik和其它设备,并详细说明该机构尝试将相关设备变成监听设备的行为。
上述文档即为CIA组织利用MikroTik路由器的详细过程,在其利用过程中,将使用Chimay Red漏洞利用工具向MikroTik路由器上传TinyShell后门开展远程恶意行为。
因此,为了能够更深入的对CIA组织的攻击活动进行剖析,笔者准备从如下几个角度复现CIA组织针对MikroTik路由器的攻击场景及攻击利用过程中的TinyShell后门技术原理:
- 构建MikroTik路由器漏洞利用套件
- MikroTik路由器攻击场景复现
- TinyShell后门功能分析
- TinyShell后门通信模型剖析
- 模拟构建通信解密程序
MikroTik路由器漏洞利用套件
为了能够完整复现CIA组织针对MikroTik路由器的攻击场景,需要准备如下漏洞利用套件:
环境搭建-MikroTik虚拟机
MikroTik虚拟机的环境搭建可参考社区hackedbylh大佬的《一步一步 Pwn RouterOS之调试环境搭建&&漏洞分析&&poc》文章,MikroTik系统版本选择6.38.4,部分关键步骤截图如下:
- MikroTik虚拟机:MikroTik RouterOS系统支持通过VMware虚拟机安装使用
- Chimay-Red:Chimay-Red是Vault 7泄露文件中提及的针对MikroTik RouterOS系统中www程序的一个漏洞利用工具
- TinyShell轻量级网络设备后门:TinyShell后门是Vault 7泄露文件中提及的后门程序
成功安装后,可通过以下登录信息及配置命令配置IP地址:
#登录信息 用户名:admin 密码:空#配置命令 ip address add
IP配置成功后,可基于WEB成功访问MikroTik路由器页面,相关截图如下:
漏洞工具套件-Chimay-Red
通过网络调研,笔者在Github的https://github.com/BigNerd95/Chimay-Red
项目中发现了Vault 7泄露资料中对应的Mikrotik exploit,相关截图如下:
漏洞工具套件-TinyShell轻量级网络设备后门
通过网络调研,笔者在Github上发现了11年前的TinyShell开源项目(https://github.com/orangetw/tsh
)。由于开源项目提供了源代码,同时笔者将此开源项目与维基解密中CIA Vault 7泄露资料描述进行了对比,发现其命令行有些许不同,因此,笔者推测CIA组织使用的TinyShell是基于开源TinyShell项目修改的。相关对比截图如下:
- CIA Vault 7泄露资料描述
- 开源TinyShell项目
进一步对此工具进行剖析,发现其由C语言编写,体积小(在kali系统上编译后只有55K大小)。分为客户端和服务端(后门),支持正向连接模式(即服务端在远程运行,攻击者远程直接连接)和反弹连接模式(攻击者在自己服务器监听,服务端连接攻击者机器的监听端口),详细情况如下:
编译
- 静态编译:TinyShell开源项目默认是动态编译的,为了能够在MikroTik环境中正常运行,建议将其修改为静态编译
- 正向连接:修改tsh.h文件中的配置信息,将C&C地址注释,即可成功编译获得正向连接模式的TinyShell程序
- 反向连接:修改tsh.h文件中的配置信息,配置C&C地址信息,即可成功编译获得反向连接模式的TinyShell程序