Empire is a pure PowerShell post-exploitation agent built on cryptologically-secure communications and a flexible architecture. Empire implements the ability to run PowerShell agents without needing powershell.exe, rapidly deployable post-exploitation modules ranging from key loggers to Mimikatz, and adaptable communications to evade network detection, all wrapped up in a usability-focused framework.
Empire是一个纯碎的PowerShell后期漏洞利用代理工具,它建立在密码学、安全通信和灵活的架构之上。Empire实现了无需powershell.exe就可运行PowerShell代理的功能。快速部署后期漏洞利用模块,从键盘记录器到Mimikatz,并且能够适应通信躲避网络检测,所有的这些功能都封装在一个以实用性为重点的框架中。
下载:
git clone https://github.com/EmpireProject/Empire.git
安装:
#>cd Empire
#> ./setup/install.sh (初始化安装)
#>./setup/setup_database.py (初始化数据库里面包含各种设置可修改)
当然安装的过程中会有各种坑
kali会好很多 说下ubuntu的坑
要用高权限运行
sudo ./setup/install.sh
然后会提示缺少python库依赖 ,下载安装各种依赖
sudo pip install
简单的来说一直使用sudo就ok了
当安装成功会进入到这个界面
help命令适用于所有的菜单,使用TAB键可以补全命令行。使用Ctrel+C随时结束程序。
首先你要建立一个本地的Listener,listeners命令将跳到listener管理菜单。你可以随时使用list命令列出被激活的listener。Info命令将显示当前listener配置的选项。
使用set命令设置Host/Port参数,可以直接使用域名。
set Host http://192.168.16.130:8081
Stagers
Empire在./lib/stagers/*里实现了多个模块化的stagers。包含有dlls,macros,one-liners等等。使用usestager TAB键列出所有可用的stagers。
同样,可以使用set/unset/info 命令来设置参数。
对于UserAgent和Proxy选项,默认使用的是系统默认的信息。在Listener菜单中,你可以运行launcher [listener ID/name]别名来给当前这个listener来生成 stage0 发射器。也就是Payload。将生成的命令行在装有powershell的主机上执行,就会得到这个主机的一个powershell。
如下图 :
代理
使用agents命令可以列出当前已激活的代理。指定代理的ID可以批量或者指定主机执行命令。要连接一个代理,可以使用interact [代理名称]。代理的名称也同样支持TAB键的补全。
连接到代理之后,你可以使用info命令列出当前这个代理的详细信息。使用help命令列出所有的代理命令。如果你输入的命令不是Empire内置的命令,那么将会被解释为一个shell命令。另外,你可以使用upload/download进行上传下载文件,也可以使用rename [新的代理名称],cd命令进入文件夹。
每当有代理注册之后,会新建./downloads/代理名称/ 文件夹(当你重命名代理名称时也会跟着改变)。./agent.log 文件中为代理通信记录着带有时间戳的命令和返回的结果的日志,并在 Downloads/module 里分解成相关的文件。
这样就得到了一个shell
键入 usemodule TAB键 来查看可用的模块。使用 searchmodule privsec 来搜索模块的名称或描述信息。
要使用一个模块,例如:
(Empire) > usemodule powershell/management/disable_rdp
(Empire: powershell/management/disable_rdp) > info
Name: Disable-RDP
Module: powershell/management/disable_rdp
NeedsAdmin: True
OpsecSafe: False
Language: powershell
MinLanguageVersion: 2
Background: False
OutputExtension: None
Authors:
@harmj0y
Description:
Disables RDP on the remote machine.
Options:
Name Required Value Description
---- -------- ------- -----------
Agent True Agent to run module on.
(Empire: powershell/management/disable_rdp) >
Empire作为一款使用PowerShell脚本作为攻击载荷的渗透攻击框架,它的实用性其实很强,内置的模块有键盘记录,抓Hash/password,绕过UAC,Anti-AV,内网扫描等等。当然,所有的这些功能都得益于PowerShell能够将Shellcode加载到自己的内存中去执行。这款轻量级的渗透攻击框架也是我平时作为内网渗透的工具之一。