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. 关于Elasticsearch文档的描述以及如何操作文档的详细总结

    文档 什么是文档 在大多数应用中,多数实体或对象可以被序列化为包含键值对的 JSON 对象. 一个 键 可以是一个字段或字段的名称,一个 值 可以是一个字符串,一个数字,一个布尔值, 另一个对象,一些 ...

  2. 大数据平台搭建 - cdh5.11.1 - hue安装及集成其他组件

    一.简介 hue是一个开源的apache hadoop ui系统,由cloudear desktop演化而来,最后cloudera公司将其贡献给了apache基金会的hadoop社区,它基于pytho ...

  3. 解决chrome浏览器崩溃,再次安装不上问题

    上网重新下载了个安装包,发现安装包都打不来 很绝望,查了很多资料 很多人说要删除注册表的东西 但是打开注册表,发现一堆google的东西,手动删根本不现实 在绝望中看到了解决方案:google Upd ...

  4. Java位运算符&、|、^、>>、<<、~、>>>

    如果要搞懂Java中的位运算符,首先要搞懂二进制的运算,之前一篇有介绍详细请看 二进制运算-十进制与二进制的转换 Java中的位运算符有:&(按位与).|(按位或).^(按位异或).>& ...

  5. SpringCloud微服务笔记-Nginx实现网关反向代理

    背景 当前在SpringCloud微服务架构下,网关作为服务的入口尤为重要,一旦网关发生单点故障会导致整个服务集群瘫痪,为了保证网关的高可用可以通过Nginx的反向代理功能实现网关的高可用. 项目源码 ...

  6. HTML连载39-外边距合并现象、盒子模型以及宽度和高度

    一. 在默认布局的垂直方向上,默认情况下外边距是是不会叠加的,会出现合并现象,谁的外边距较大,就听谁的:但是在水平方向就不会出现这种状况,我们举个例子 span{ display: inline-bl ...

  7. Python学习-列表元组字典操作

    一.列表 列表是Python的基本数据类型之一,它是以 [] 括起来的,内部成员用逗号隔开.里面可以存放各种数据类型. # 例如: list2 = ['jason', 2, (1, 3), ['war ...

  8. python 数据分析师

    简介 越来越多的政府机关.企事业单位将选择拥有数据分析师资质的专业人士为他们的项目做出科学.合理的分析.以便正确决策:越来越多的风险投资机构把数据分析师所出具的数据分析报告作为其判断项目是否可行及是否 ...

  9. (java实现)单向循环链表

    什么是单向循环链表 单向循环链表基本与单向链表相同,唯一的区别就是单向循环链表的尾节点指向的不是null,而是头节点(注意:不是头指针). 因此,单向循环链表的任何节点的下一部分都不存在NULL值. ...

  10. Spring boot 官网学习笔记 - Spring Boot 属性配置和使用(转)-application.properties

    Spring Boot uses a very particular PropertySource order that is designed to allow sensible overridin ...