HTB-Campfire-1
本文最后更新于 2025年4月25日 下午
来自 DC 的安全日志,受影响的 WorkStation 的 PowerShell 操作日志和 Prefetch 文件
Description
Alonzo Spotted Weird files on his computer and informed the newly assembled SOC Team. Assessing the situation it is believed a Kerberoasting attack may have occurred in the network. It is your job to confirm the findings by analyzing the provided evidence. You are provided with: 1- Security Logs from the Domain Controller 2- PowerShell-Operational Logs from the affected workstation 3- Prefetch Files from the affected workstation
分析 DC 的安全日志确认 Kerberoasting 活动发生的日期和时间
Kerberos
先简单学习一下关于 Kerberos 的知识
Kerberos 是一种计算机网络认证协议,作用是进行身份验证
身份验证过程
- 客户端向 KDC(Key Distribution Center,通常是域控制器)请求 TGT(Ticket Granting Ticket),请求用户的密钥之一用于预身份验证。TGT 由身份验证服务 (AS) 提供,客户端的请求被称为AS-REQ,应答被称为AS-REP。
- 客户端使用 TGT 向 KDC 请求 ST(服务票证)。该票证由票证授予服务 (TGS) 提供。客户端的请求被称为 TGS-REQ,应答被称为 TGS-REP。
- 客户端使用 ST(服务票证)来访问服务。客户端对服务的请求被称为调用 AP-REQ,服务的响应被称为调用 AP-REP。
- 两种票证(TGT 和 ST)通常都包含加密的 PAC(特权身份验证证书),目标服务将读取一组信息来决定身份验证用户是否可以访问该服务(用户 ID、组成员身份等)。
prefetch
Windows 中的预读取文件夹,存放系统已访问的文件的预读信息,程序首次运行时会存储有关在加载该文件时访问的所有文件的信息,还存储元数据。
kerberoasting 攻击
kerberoasting 攻击是在 TGS_REP 过程中用户会收到由目标服务实例的 NTLM hash 加密的 TGS,如果得到了这个 TGS,由于该 TGS 是用服务端 hash 加密,那么客户端拿到 TGS 后可以本地爆破,如果字典足够大则能爆破出 SPN(服务主体名称) 链接用户的明文密码,当该服务在域内权限很高时,攻击者能接管整个域。
分析 DC 的安全日志,确认 Kerberoasting 活动发生的日期和时间
查看 Domain Controller
中的安全日志,根据 kerberoasting 原理查看 TGS 相关日志,筛选事件 ID 4769,查找服务名称不为 krbtgt
或以 $ 结尾(比如 DC01$ )的任何事件。票证加密类型为 0x17
,用于 RC4 类型加密,故障代码为 0x0
时间转换成 UTC
1 |
|
查找目标服务名称
目标服务在前面找到的事件中能发现名字为 MSSQLService
1 |
|
工作站的 IP 地址
查找 IP
1 |
|
查找用于枚举 AD 对象并可能在网络中查找 Kerberoastable 帐户的文件名称
查看 Workstation
中的 Powershell-Operational.evtx
,可以发现 ID 为 4104 的事件执行的全是远程命令执行
用 EvtxECmd 将 .evtx
文件转化为 .csv
文件,丢入 Timeline Explorer 筛选 ID=4104
可以发现全是执行的 C:\Users\alonzo.spire\Downloads
下的 powerview.ps1
PowerView 是基于 PowerShell 的域渗透信息收集脚本,属于 PowerSploit 框架和 Empire 的一部分
对时间排序,可以看到首次 ID=4104 的事件内容,开始执行 PowerSploit File
的 PowerView.ps1
1 |
|
脚本开始执行时间
时间为 2024/5/21 11:16:32
转换为 UTC
1 |
|
查找执行 kerberoasting 攻击所用的工具的路径
用 PECmd 将 prefetch
文件夹中的文件转化成 .csv
输出查看
查看输出的 20250411131502_PECmd_Output_Timeline.csv
文件,它记录了程序运行的时间
通过脚本执行的开始时间 2024-05-21 03:16:32
确定查找范围,发现运行了 DOWNLOADS
路径下的一个 RUBEUS.EXE
Rubeus 是一个针对 Kerberos 协议进行攻击的工具,所以路径为
1 |
|
查找攻击工具首次执行时间
查看 20250411131502_PECmd_Output.csv
文件,其中包含了程序运行的起止时间,运行次数等等
直接过滤出与 RUBEUS.EXE
有关的信息
所以时间为 Last Run 的时间
1 |
|