Empire资源文件与自动运行
注意: 本博文中引用的技术和工具可能已过时,不适用于当前环境。但本文仍可作为学习机会,并可能集成到现代工具和技术中。
我已为PowerShell Empire添加了资源文件和自动运行功能。Empire现在能够通过资源文件一次性运行多个命令,可用于自动化监听器启动和其他任务。此外,通过新的autorun功能,您可以为任何新连接的代理指定自动运行的多个命令。
以下资源文件示例包含用于启动名为http443的监听器(端口443)的Empire命令。文件名为http443.rc,位于根目录:
|
|
在Empire中一次性运行所有这些命令,只需使用新增的“resource”命令,如下所示:
![运行resource命令示例]
哇,太简单了!一个命令就完成了所有自定义设置的启动!
另一个资源文件示例用于为新监听器生成OS X和Windows启动命令:
|
|
上图显示了运行launchers.rc资源文件的输出。底部显示了Python启动器的开头(echo “import sys…")。为简洁起见,未显示PowerShell单行命令的输出。
现在看看添加到代理菜单的“autorun”命令。通过autorun命令,您可以指定一个资源文件,在新代理连接到监听器时自动执行。设置autorun时,需指定命令应在哪种代理语言上运行(如Python或PowerShell)。假设我们在资源文件/root/autorun-py.rc中有以下内容:
|
|
此文件旨在在Python代理(OS X)上执行,并使用计算机文本转语音功能说出“Supercalifragilisticexpialidocious”。
接下来,我们有一个资源文件,指定了在任何PowerShell代理连接时运行的三个模块(/root/autorun-ps.rc):
|
|
上述资源文件包含启动键盘记录、截屏和说出“Booya”的命令。以下命令将为任何Python和PowerShell代理设置autorun。
要查看为每种语言设置的命令,请使用“autorun show”命令,可选择指定语言。
好了,现在我们已经告诉Empire在新Python代理连接时自动执行autorun-py命令,并在新PowerShell代理连接时运行autorun-ps命令。要清除autorun设置,请使用“autorun clear”命令。下面的第一个命令仅清除Python autorun命令,而第二个命令清除所有语言的autorun命令。
我们已经演示了很多很酷的功能,但让我们将所有功能整合到一个资源文件中(/root/doitall.rc):
|
|
此资源文件调用其他资源文件,如本文开头演示的http443.rc文件。它还启动端口80上的类似监听器,并使用下面显示的autoruns.rc文件设置我们的autoruns。
|
|
请注意,在doitall.rc文件中包含了描述性注释。任何以#开头的行都被视为注释,Empire会忽略。
我们可以在Empire内部使用resource命令运行doitall.rc文件,也可以在启动Empire时通过命令行使用“–resource”参数指定。
太棒了,我们用一个命令就启动了具有自定义设置的监听器并设置了autoruns!非常棒!以下是本文讨论的所有内容的视频演练。
要使用此新功能,请从https://github.com/EmpireProject/Empire获取Empire代码。在这些功能合并到发布版或Master分支之前,您必须检出dev分支才能使用这些功能。希望您像我一样喜欢这个新功能,它 definitely 消除了使用Empire时的一大痛点,并为高度自动化铺平了道路。
*尽管Carrie不再为BHIS工作,但她仍然是我们的好朋友和忠诚的客座撰稿人!您可以在Twitter上关注她。
您可以从Carrie的课程中学到更多! 在这里查看它们: 攻击模拟工具:Atomic Red Team、CALDERA等 PowerShell for InfoSec 提供实时/虚拟和点播课程!