欢迎回来!今天,我们将讨论使用 SMB 枢轴的 Havoc C2 的一些横向移动技术。SMB 透视非常适合在特定目标无法访问 Internet 的网络中移动。但是跨 IP 范围移动可能很棘手。
这是我们的实验室的样子:
正如你所看到的,我们有我们的主机,一个运行 Havoc teamserver/client 的 Linux Mint 机器。此主机还正在运行 Kali VM。这两个盒子都位于192.168.1.0/24范围内,以及我们的第一个目标,即Windows 11工作站。
Windows 11 工作站有 2 个网络接口。这使它能够访问 192.168.8.0/24 网络,该网络托管 Game Of Active Directory (GOAD) 实验室。这为我们提供了一个很好的机会来练习跨网络调整。
我们的目标是破坏 Windows 11 虚拟机,然后设置一个 socks 代理,在位于 192.168.8.241 的 GOAD 实验室服务器上执行远程代码。
注意:此实验室非常易于设置。将 GOAD Lab 下载并安装到单独的台式机或笔记本电脑上,然后将该计算机连接到备用路由器/手机热点。在 Windows VM 上使用额外的 WiFi 适配器并连接到热点/路由器网络。您现在有一个实验室,可以练习旋转!
那么让我们开始吧!
初始信标
我从一个初始信标开始。我已将负载下载到 Windows 11 VM 并执行。
现在,我可以枚举主机上的网络接口,并看到 2 个 NIC 具有两个不同的 IP 范围。
所以我们有 192.168.1.0 网络和 192.168.8.0 网络。好。因此,让我们设置我们的 socks 代理。Havoc 有一个 socks 代理,但我对 Metasploit 的代理更满意(感谢 CRTO 2020!
为了使其正常工作,我们将不得不将我们的 Havoc 信标会话传递给 MSF。
我们将启动 MSF 并设置参数。
然后我们将创建我们的 payload 并将其放入我的 payload 目录中。
现在,我们将使用 Harriet 对有效负载进行混淆处理。
我将对 EXE 使用选项 1。
然后是选项 1 用于简单的 AES 加密二进制文件。
为了便于使用,我将把我的 msfsession.exe 二进制文件移动到我的 /web/ 目录中。现在让我们使用 Donut 将我们的二进制文件转换为 shellcode。
我将loader.bin文件移动到 /web/ 并将其重命名为 msfsession.bin。回到 Havoc,我们可以注入我们的 msfsession.bin 文件。
为了更隐蔽一点,我们将注入到我们当前的 5776 流程中。
回到 Metasploit,我们得到了一个 meterpreter shell!
亲爱的,现在让我们在会话中设置后台并设置我们的 socks 代理。
我们将 socks 版本设置为 5,并添加一条到 192.168.8.0 网络的路由,并输入我们的会话编号 1。我们只使用默认的 socks 端口 1080 作为我们的端口。
让我们确保 proxychains4.conf 文件已设置。
好了。现在我们可以测试我们的 socks 连接。我们知道 GOAD lab 服务器上的端口 445 是开放的,所以让我们尝试通过我们的 socks 代理用 Nmap 扫描它。
好吧!因此,我们可以使用 proxychains 通过 Windows 11 工作站与不同网络上的 GOAD 服务器进行交互。让我们在 GOAD 服务器上获取一个信标。
编辑:如果您想将板载 socks 代理用于 Havoc,您可以使用 socks add PORT 命令来实现。然后测试执行。
这增加了简单性。
创建 Pivot 信标
对于 pivot,我们需要做的第一件事是设置一个 SMB 侦听器。单击 Havoc 中的 “View”,然后单击 “Add” 设置侦听器。选择 “SMB” 作为负载并填写值。
现在我们有一个 SMB 侦听器。
Sweet,让我们创建 payload。
很简单!现在,我们将遵循与之前相同的步骤:使用我们的 SMB shellcode 通过 Harriet 创建一个混淆二进制文件。
为了便于使用,我将把 p1v0t.exe 文件移动到 /web/。现在我们有了枢轴二进制文件,我们可以做一些横向移动。
并发症
无论出于何种原因,CrackMapExec 不喜欢我的 Linux Mint 盒子,所以如果我想使用该工具集,我必须使用我的 Kali 盒子。太烦人了,但这里有一个机会。
如何通过我的 Linux Mint 盒子上的 Metasploit 袜子代理将我的 Kali 工具代理到 192.168.8.0/24 网络?
在我的 Kali 机器上,我将我的 proxychains4.conf 文件指向我的 Linux Mint socks 代理端口。
所以现在如果我运行 Nmap 扫描,它应该会转到我的 Linux Mint 盒子上的端口 1080,到我的 Metasploit socks 代理,到 Windows 11 工作站,然后转到 192.168.8.0 网络。
确实如此!
骗子!
在下一部分中,我们将进行一点作弊。由于这只是一个 POC,我们将使用已知的 GOAD 凭据来测试执行情况。我知道,我知道,这么蹩脚,但我们会活下来的。
所有 GOAD 框的 LAPS 用户名/密码都是 vagrant/vagrant。由于这个盒子位于 sevenkingdoms.local 域上,我们应该能够轻松检查我们的凭据。
涂料!所以现在我们已经能够通过我们的 Linux Mint 盒子将我们的 Kali 工具代理到 Windows 11 工作站到 GOAD 服务器并获得命令执行。
让我们将 pivot 二进制文件传输到 GOAD 服务器。
转移和执行
有一百万种方法可以做到这一点。Powershell、SMB 服务器、WMI、等等。为简单起见,我将使用 CrackMapExec。
好了,看起来文件已传输。现在,我们可以使用 CrackMapExec 来执行有效负载。
所以命令启动,看起来它执行了,然后挂起了。我相信这是因为 SMB 信标永远不会完成,它会不断发出信标。
信誉
因此,如果我们现在尝试连接到 beacon,我们将收到一个错误。
如果您注意到此错误,则它是针对不良信用的。如果我们执行 “net domain”,我们会看到我们在 blueteam.local 域上。
那么,我们的 blueteam.local 用户将如何与 GOAD 服务器所在的 sevenkingdoms.local 域进行交互呢?
我们需要信誉!
但我们有信誉。让我们使用 Havoc 的 token 模块模拟流浪用户。
现在让我们尝试连接到我们的枢轴。
就这样,我们得到了我们的信标!
让我们测试一下执行情况。
看起来它正在工作!
Pivoting 是红队的重要组成部分,因此让您的 SMB 信标正常工作并了解如何从 C2 框架实施外部工具可以让您走很长的路。
有一百万种方法可以命令执行可旋转的二进制文件、psexec、smbexec、WMI 等,但我们使用 CME 作为将代理链接在一起的测试,以获得更大的灵活性。
哦。。。我忘了提到,我们的 Windows 11 工作站正在受到 Microsoft Defender for Endpoint 的监控。我们的执行都没有被 EDR(试用版)阻止。
其它课程
QT开发底层原理与安全逆向视频教程
linux恶意软件开发对抗与基于ebpf网络安全视频教程(2024最新)
linux文件系统存储与文件过滤安全开发视频教程(2024最新)
linux高级usb安全开发与源码分析视频教程
linux程序设计与安全开发
windows恶意软件开发与对抗视频教程
windows网络安全防火墙与虚拟网卡(更新完成)
windows文件过滤(更新完成)
USB过滤(更新完成)
游戏安全(更新中)
ios逆向
windbg
还有很多免费教程(限学员
更多详细内容添加作者微信
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...