代码洞(Code Caves)

与任何红队行动一样,我们一直在寻找创造性的方式在环境中横向移动或保持持久性。通常,如果我们有凭证,我们会尝试使用 WMI 或 PSExec 在远程系统上执行 payload。有些时候,我们需要找到创造性的方式在环境中移动而不被轻易跟踪。

作为红队队员,被抓住并不是入侵行动中可能发生的最糟糕的事情。最糟糕的事情是当我们被抓住并且蓝队发现了属于该行动的每个域、IP 和受感染的主机。蓝队人员通常很容易就能检测到 WMI、PSexec 的连接特征来判定内网有横向移动,因为它并不总是被视为正常流量。那么我们可以做些什么来隐藏我们的横向移动呢?

这是我们可以发挥创造性的地方,没有标准答案(如果某种方法有效,那对我来说就够好了)。一旦进入一个环境,我最喜欢做的事情之一就是发现公开共享和主动共享/执行的文件。我们可以尝试将宏添加到 Office 文件中,但这似乎太明显了。一种通常不太容易被检测出并且成功率高的攻击是将我们的自定义恶意软件嵌入可执行二进制文件中。这可以是像 putty 这样的共享二进制文件,一个内网环境中常见的胖客户端应用程序,甚至是数据库工具。

虽然不再维护,但执行这些攻击最简单的工具之一是 Backdoor factory。Backdoor factory 会在真实程序中查找代码洞或空块,攻击者可以在其中注入自己的恶意 shellcode。上本书中涵盖了这一点,其思路保持不变。

可以在此处找到这两个资源: