关于RTA
RTA是一款专为蓝队研究人员设计的威胁行为能力检测框架。RTA提供了一套脚本框架,旨在让蓝队针对恶意行为测试其检测能力,该框架是基于MITRE ATT&CK模型设计的。
RTA由多个Python脚本组成,可以生成50多种不同的ATT&CK战术策略,以及一个预先编译的二进制应用程序,并根据需要执行文件时间停止、进程注入和信标模拟等活动。
在可能的情况下,RTA 将尝试执行策略所描述的实际恶意活动。在其他情况下,RTA 将模拟所有或部分活动。例如,某些横向移动操作默认会针对本地主机(尽管参数通常允许进行多主机测试)。在其他情况下,可执行文件(如 cmd.exe 或 python.exe)将被重命名,使其看起来像是 Windows 二进制文件正在执行非标准活动。
工具要求
由于该工具基于Python 2.7开发,因此我们首先需要在本地设备上安装并配置好Python 2.7环境。
除此之外,RTA还使用了某些第三方工具来实现更强大的功能,具体依赖组件信息如下所示:
依赖组件 | RTA脚本 | 来源 |
Sysinternals Suite | user_dir_escalation.py, sip_provider.py, system_restore_proc.py, trust_provider.py | |
MsXsl | msxsl_network.py |
工具安装
首先,广大研究人员需要使用下列命令将该项目源码克隆至本地:
git clone https://github.com/endgameinc/RTA.git
接下来,将下载下来的ZIP文档提取内容至RTA目录,例如c:\RTA。此时,我们就可以开始使用RTA了。
需要注意的是,Windows Defender或其他防病毒产品可能会在RTA运行时阻止或以其他方式干扰RTA。在根据测试目标运行RTA之前,请考虑如何在测试主机上配置安全产品。
自定义配置
广大研究人员可以通过修改common.py来自定义RTA脚本在我们环境中的工作方式。我们甚至可以编写一个全新的函数,用于一个或多个新的RTA。
工具运行
如果直接运行RTA的话,可以直接执行下列命令:
python powershell_args.py
如需运行这个那个RTA目录,最简python run_rta.py单的方法就是使用run_rta.py:
python run_rta.py
除此之外,我们也可以使用循环来执行RTA:
for %f in (*.py) do python %f
或
for i in (*.py); do python $i; done
许可证协议
本项目的开发与发布遵循GNUAffero通用开源许可证协议。
项目地址
RTA:【GitHub传送门】
参考资料
https://attack.mitre.org/wiki/ATT&CK_Matrix
https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite
https://www.microsoft.com/en-us/download/details.aspx?id=21714