HELK与APTSimulator对决:威胁狩猎与攻击模拟实战
引言
各位读者,让我们迎来本次的主要看点——HELK与APTSimulator的生死对决!已故的兰迪·“狂人”·萨维奇曾用他独特的方式说过许多名言,而"在疯狂的王国中期待意外吧!“这句话完全可以作为我们本月和下月的工具主题。
工具介绍
HELK来自Roberto Rodriguez(@Cyb3rWard0g),是SpecterOps的幽灵,这确实是个了不起的工具,值得我们全力以赴地宣传。
APTSimulator来自Florian Roth(@cyb3rops),法兰克福的喧嚣,将所有最恶劣的对手幻象集中在一个APT模拟中。这就是…生死对决!
HELK安装与配置
HELK的安装非常容易,文档也很完善。在Ubuntu 16.04 LTS系统上,我运行了:
|
|
在三个安装选项中,我选择了从cyb3rward0g的dockerhub拉取最新的HELK Docker镜像。安装脚本在满足依赖关系方面做得非常出色——如果你没有安装Docker,HELK安装脚本会为你完成。
安装完成后,可以通过访问HELK KIBANA URL(在我的案例中是http://192.168.248.29)立即确认安装成功。
Windows系统配置
对于测试Windows系统,我使用Virtualbox创建了一个Windows 7 x86虚拟机。成功的关键是确保在要向HELK发送日志的Windows系统上安装Winlogbeat。
更重要的是确保使用正确的winlogbeat.yml文件运行Winlogbeat。你需要修改并将其复制到目标系统。关键修改是第123行,在Kafka输出下,你需要在三个位置添加HELK服务器的IP地址。我的修改显示为:hosts: ["192.168.248.29:9092","192.168.248.29:9093","192.168.248.29:9094"]。
在Windows系统上,使用适当修改的winlogbeat.yml,你将运行:
|
|
你还应该在目标主机上设置Sysmon。我更喜欢使用@SwiftOnSecurity配置文件。如果是在初始设置过程中这样做,使用sysmon.exe -accepteula -i sysmonconfig-export.xml。如果修改现有配置,使用sysmon.exe -c sysmonconfig-export.xml。
APTSimulator攻击模拟
Florian的APTSimulator进行了一些全面的模拟,使你的系统在以下场景下看起来已被入侵:
- POC:端点检测代理/入侵评估工具
- 测试安全监控的检测能力
- 测试SOC对非EICAR或端口扫描威胁的响应
- 为数字取证课程准备环境
APTSimulator可以观察到进行以下操作:
- 创建典型的攻击者工作目录C:\TMP…
- 激活访客用户账户
- 将访客用户添加到本地管理员组
- 将svchost.exe(实际上是srvany.exe)放入C:\Users\Public
- 修改hosts文件
- 将update.microsoft.com映射添加到私有IP地址
- 使用curl访问已知的C2地址
- 将PowerShell netcat替代品放入APT目录
- 在本地网络上执行nbtscan
- 将修改后的PsExec放入APT目录
- 在At作业中注册mimikatz
- 注册恶意RUN键
- 在计划任务中注册mimikatz
- 将cmd.exe注册为sethc.exe的调试器
- 在新的WWW目录中投放web shell
检测结果
使用HELK的Kibana Discover选项查找上述APTSimulator活动,我们立即获得了结果,并命中了APTSimulator列表中的第1、6、7和8项:
- 创建了TMP
- 投放了PowerShell netcat
- 对本地网络进行了nbtscan
- 投放了修改后的PsExec
启用访客用户账户并将其添加到本地管理员组也在图4中得到确认。
我们在C:\Users\Public中立即找到了svchost.exe,包括process.commandline、process.name和file.creationtime引用。
At作业和计划任务创建也在图6中得到了确认。
可视化功能
在HELK的Kibana Visualize菜单下,你会注意到34个可视化。默认情况下,这些都很基础,但你可以通过子桶快速增加价值。例如,我选择了Sysmon_UserName可视化。最初,它产生了一个包含malman(我被入侵的用户)、SYSTEM和LOCAL SERVICE的环形图。不够特别有用,我添加了一个子桶来包含与每个用户关联的进程名称。结果图表更加详细,告诉我们,在最近四个小时与malman用户相关的242个事件中,有32个特定于cmd.exe进程,占18.6%。
结论
本月的工作非常愉快,我对HELK和APTSimulator都感到兴奋。蓝队和检测质量的真正原则在这些项目中是天生的。事实上,Roberto认为HELK仍处于alpha状态,使我相信还有更多功能即将到来。
下个月的第2部分将通过网络仪表板和相关的可视化来探索网络方面的内容,以及HELK与Spark、Graphframes和Jupyter笔记本的集成。