目 录CONTENT

文章目录

红队行动Live-20241105

Administrator
2025-04-09 / 0 评论 / 0 点赞 / 5 阅读 / 0 字

1. 开篇、复盘与本周规划

1.1 课程回顾与当前状态

  • 知识点: 上周工作总结 - 已完成立足点获取和隧道搭建。

  • 拓展:

    • 立足点 (Foothold): 指在目标网络中成功获得第一个初始访问权限的主机或账户。这是后续内网渗透的基础。获取方式多样,可能包括Web漏洞利用、钓鱼、弱口令爆破等。笔记中提到进入了74这台机器(外网IP),可以推测这是上周获取的立足点。

    • 隧道搭建 (Tunneling): 指在已控机器和攻击者机器之间建立一个加密或隐蔽的通道,用于转发流量、代理扫描、远程控制等。常用工具有 SSH Tunneling, frp, ngrok, reGeorg, PivotNacci 等。隧道是维持访问和进行内网横向移动的关键技术。

    • 当前阶段: 已进入内网,准备进行更深入的渗透,重点是枚举(Enumeration)。

1.2 本周核心内容预告

  • 知识点:

    • 域枚举 (Domain Enumeration): 发现域环境特征后的深入探索。

    • Kerberos 攻击专题 (笔记中误写为 Cbos): 将分阶段融入攻击环节讲解。

    • 哈希爆破 (Hash Cracking / Password Cracking): 涉及到的一个具体技术点。

  • 拓展:

    • 域枚举: 在发现目标网络存在域(如 Active Directory)后,需要收集关于域结构、域控(DC)、用户信息、组信息、信任关系、服务(特别是 Kerberos、LDAP、SMB、DNS)、共享等信息。这是理解域环境、寻找攻击路径的关键步骤。

    • Kerberos 攻击: Kerberos 是 Windows 域环境中主要的认证协议。针对它的攻击包括但不限于:Kerberoasting (获取服务账户 TGS Ticket 并离线破解密码)、AS-REP Roasting (获取无需预认证用户 TGT 并离线破解密码)、票据传递 (Pass the Ticket - PtT,包括 Silver Ticket 和 Golden Ticket)、委派攻击 (Delegation Attacks) 等。笔记提到会分部分揉入讲解,说明其复杂性和重要性。

    • 哈希爆破: 指获取到用户密码的哈希值(如 NTLM Hash, Kerberos Tickets 中的加密部分)后,通过专门的工具(如 hashcat, john)和字典、规则进行离线破解,尝试还原出明文密码。这是获取凭据、提升权限的常用手段。

1.3 学习方法强调

  • 知识点: 强调理解原理,而非照搬文档。文档可能存在故意修改(如密码错误)以防盗版。

  • 拓展:

    • 原理重要性: 红队行动/渗透测试中,环境复杂多变,单纯复制粘贴命令往往无法成功。理解每个工具、每条命令背后的原理,才能根据实际情况调整策略、排查错误、解决问题。

    • 文档作用: 文档(包括笔记、教程、靶场攻略)应作为学习和参考的辅助,帮助理解思路和技术点,但不应替代独立思考和实践。

    • 积极提问: 鼓励学员在遇到问题时积极与讲师沟通,利用直播和答疑的机会解决疑惑,这是学习过程中重要的互动环节。

    • 对学员的尊重: 提供有价值但需要思考才能实践的文档,是对学员学习能力的尊重,避免填鸭式教学。


2. 资产梳理与优先级排序

2.1 多资产环境下的决策重要性

  • 知识点: 在拥有多个目标资产(主机、信息点)时,如何排定攻击优先级至关重要。

  • 拓展:

    • 经验与智慧体现: 优先级的选择直接影响攻击效率和成功率。错误的优先级可能导致时间和精力浪费在低价值或无法突破的目标上。

    • 非唯一解: 优先级排序没有绝对正确的标准答案,依赖于攻击者的经验、对当前信息的判断以及一定的“感觉”(实则是经验的内化)。

    • 快速调整能力: 首次选择未必最佳,关键在于能够根据后续发现的信息快速调整攻击方向。

2.2 回顾已发现资产与初步筛选

  • 知识点: 复习上周发现的资产,并基于已有信息进行初步优先级排序。

  • 资产列表 (结合内外网IP):

    • x.x.x.74 (外网) / 192.168.31.x? (内网推测,笔记提到登录74后ip a看到31) -> 初步判定为同一台机器,做了 NAT。

    • 与外网 IP 主机位基本对应的内网 IP (如 139, 219, 62, 74, 98) -> 推测也可能是 NAT 映射或类似结构。

    • 20.10 (通过 ARP 发现,推测为域控 DC)。

    • 20.1 (未知)。

    • 21.11, 21.13, 21.15 (内网资产)。

    • 21.123 (通过扩大扫描范围到 B 类网段发现)。

    • 172.x.x.x 网段 (判断为虚拟化,优先级排后)。

    • Docker 容器 (判断为具体服务,优先级排后)。

  • 优先级排序逻辑 (讲师思路):

    • 排除 Docker 容器。

    • 排除与外部 IP 直接对应的内网机器(如 74/31 对应的机器,认为暂时无明确信息指示更容易突破)。

    • 排除 172.x 网段(虚拟化)。

    • 重点关注: 21.11, 21.13, 21.15, 21.123, 20.10, 20.1

  • 拓展:

    • NAT (Network Address Translation): 网络地址转换,常用于将私有内网 IP 地址映射到公网 IP 地址,实现内网主机访问外网或对外提供服务。识别 NAT 关系有助于理解网络拓扑。

    • ARP (Address Resolution Protocol): 地址解析协议,用于在局域网中根据 IP 地址查找对应的 MAC 地址。arp -a 或 ARP 扫描可以发现同一广播域内的其他存活主机,即使它们没有响应 ICMP Ping。20.10 通过 ARP 发现,说明它与 31 在同一 L2 网络。

    • 扫描范围: 从 C 类 (/24) 扩展到 B 类 (/16) 扫描发现了 21.123,说明目标网络可能比最初想象的要大,或者子网划分比较特殊。

    • 信息推断: 基于已有信息(如 ARP 结果、IP 分布)推断机器角色(如 20.10 可能是 DC)、网络结构(是否存在多个子网/域)、信任关系等。

    • 学员思考: 鼓励学员批判性地看待讲师的优先级排序,可以尝试其他路径,验证自己的判断逻辑。

2.3 本周核心任务:深入枚举选定目标

  • 知识点: 对选定的高优先级目标 (11, 13, 15, 123, 10, 1?) 进行详细扫描和信息收集。

  • 任务细化:

    • 服务与端口探测: 扫描开放端口,识别运行的服务及其版本。

    • 操作系统识别: 判断目标是 Windows 还是 Linux。(31 已知是 Linux 且未提权成功)。

    • 域信息探测:

      • 探测域名 (Domain Name)。

      • 探测域控名称 (Domain Controller Name)。

      • 进行域相关的 DNS 探测。

    • 共享探测 (Share Enumeration): 查找开放的网络共享 (如 SMB/NFS),检查是否存在可访问或敏感信息。

    • 角色判断: 结合服务、端口、命名规则等信息,推测机器在网络中的角色(如文件服务器、Web 服务器、数据库服务器、域控等)。

  • 拓展:

    • 内网扫描工具: Nmap, Masscan (快), 以及后面提到的 nxc/crackmapexec, enum4linux-ng 等专门针对 SMB/Windows 枚举的工具。

    • 提权 (Privilege Escalation): 31 未提权成功,意味着当前在 31 上的操作权限有限,可能影响扫描能力和范围,但内网探测方式通常比外网更多样。

    • 域 DNS 探测: 可以使用 nslookup, dig,或者 Nmap 的 dns-brute 脚本,以及后面提到的 fierce, dnsrecon, sublist3r (虽然主要用于外网子域名,但原理可借鉴) 等工具,尝试发现域内主机记录 (A record)、服务记录 (SRV record, 特别是 _ldap._tcp.dc._msdcs.<domain>, _kerberos._tcp.dc._msdcs.<domain>) 来定位 DC 和其他服务。

    • 服务交互: 发现服务后(如 SMB, SNMP),需要尝试与之交互,获取更多信息。


3. 信息收集深化与工具应用

3.1 研究未知服务的重要性

  • 知识点: 遇到不熟悉的服务时,不能仅满足于搜索已知漏洞,必须深入了解其功能、用途和在业务流程中的作用。

  • 拓展:

    • 超越漏洞扫描: 在多资产、有业务逻辑的环境(如真实网络、复杂靶场)中,攻击往往需要结合业务流程。理解一个服务(如特定 CMS、邮件系统、内部应用)如何运作,可能发现逻辑漏洞、配置错误或获取到关键信息(如用户凭据、敏感数据、系统接口),这些比直接找 CVE 可能更有效。

    • 知识迁移与类比: 即使遇到全新的系统,也可以通过类比已知的同类系统(如不同的 DNS 服务器软件、不同的 Web 框架)来快速理解其核心功能和可能的攻击面。经验积累在于不断学习和归纳各类网络基础设施和服务。

    • AI 辅助: AI 工具(如 ChatGPT, Gemini)可以帮助快速了解 "这是什么" 类型的问题,获取基础信息,但不能代替攻击者构建攻击链的思考过程。

3.2 扫描注意事项与服务交互

  • 知识点:

    • 内网扫描需谨慎,注意流量可能被监控或触发防御机制(如 31 扫描 123 可能导致 31 被拉黑)。

    • 与发现的服务进行交互,例如 SMB 和 SNMP。

    • 提及用于 SMB 枚举和交互的工具。

  • 拓展:

    • 扫描隐蔽性: 内网中虽然防御可能较外网松懈,但仍可能存在 IDS/IPS、主机防火墙或 EDR。过于激进的扫描可能导致被发现、IP 被封禁,失去访问权限。可以考虑调整扫描速度 (nmap -T0T5)、使用更隐蔽的扫描方式(如 SYN Scan -sS)、分批次扫描、使用代理/隧道等。

    • 服务交互:

      • SMB (Server Message Block): Windows 网络中最常用的文件/打印机共享协议。端口 139, 445。交互工具:

        • smbclient: Linux 下访问 SMB 共享的客户端。smbclient -L //TARGET_IP 列出共享,smbclient //TARGET_IP/ShareName 连接共享。

        • smbmap: 枚举 SMB 共享、权限、列出文件、甚至下载/上传文件。smbmap -H TARGET_IP.

        • enum4linux-ng: 功能更全面的 Linux/Windows 信息枚举工具,包含 SMB 枚举。

        • nxc / crackmapexec: 强大的内网渗透工具,支持对 SMB 进行密码喷洒、命令执行、哈希获取、枚举用户/组/共享等多种操作。nxc smb TARGET_IP.

      • SNMP (Simple Network Management Protocol): 简单网络管理协议。端口 161 (UDP)。常用于网络设备监控。弱口令(如 public, private 社区字符串)可能泄露大量系统信息(主机名、用户信息、网络接口、运行进程等)。工具:snmpwalk, snmp-check, onesixtyone.

    • 工具交叉验证: 讲师建议交叉使用 smbmap, smbclient, nxc 等工具,因为不同工具的实现、侧重点和发现能力可能略有不同,交叉使用可以获得更全面的结果并相互验证。

3.3 域枚举深化:DNS 与工具

  • 知识点:

    • 域内通常有其自身的 DNS 服务器。

    • 提及 ADIDNS (Active Directory Integrated DNS)。

    • 使用 dig (DNS Information Groper) 进行 DNS 挖掘。

    • 基于已有信息推理网络配置规则和潜在主机(如 20.10 是 DC,是否可能有 21.10?)。

    • 发现新域名/域后,需修改本地 hosts 文件以进行后续探测。

    • 已发现的域:0x0security (可能外部),kubano.local (内部 AD 域)。

  • 拓展:

    • ADIDNS: AD 集成 DNS 意味着 DNS 记录存储在 AD 数据库中,并随 AD 复制。这使得域内 DNS 查询通常指向 DC。

    • dig 工具: 强大的 DNS 查询工具。dig @DNS_SERVER_IP TARGET_DOMAIN ANY 可以尝试获取域的所有记录。dig axfr @DNS_SERVER_IP TARGET_DOMAIN 尝试进行域传送(Zone Transfer),如果配置不当,可能泄露整个域的 DNS 记录(但通常被禁止)。

    • 推理命名规则: 企业网络中,主机名、IP 地址分配往往遵循一定规则(如按部门、楼层、功能分配 IP 段,主机名包含功能代码等)。发现 20.1021.10 都是 DC 后,可以推测 .10 可能被固定分配给 DC。这种推理有助于发现未直接扫描到的重要资产。信息收集中获取到 IT 部门的文档(如网络配置规范、IP 分配表)是极高价值的情报。

    • 修改 hosts 文件: 当发现内部域名(如 kubano.local)及其对应 IP(如 DC 的 IP 20.10)后,需要在攻击机(或通过隧道访问内网的机器)的 /etc/hosts (Linux/macOS) 或 C:\Windows\System32\drivers\etc\hosts (Windows) 文件中添加条目,如 20.10 dc01.kubano.local kubano.local,这样才能通过域名访问域内资源和服务(如 Kerberos 认证)。

    • 多域环境: 发现 kubano.local 和潜在的 0x0security 域,意味着可能存在多域环境。域之间可能存在信任关系(Trusts),这为跨域攻击提供了可能。需要进一步枚举信任关系。

    • 本周枚举任务总结: 对优先级列表中的机器进行扫描,识别服务,特别关注 SMB/SNMP/DNS,尝试挖掘域信息,发现新域名后更新 hosts 文件,继续探测。


4. 密码爆破专题

4.1 爆破工具概述与对比

  • 知识点: 介绍常用的爆破工具及其特点。

  • 核心工具:

    • hashcat: 离线哈希破解利器。优点是速度(尤其利用 GPU),支持多种哈希类型,是破解 NTLM、Kerberos Tickets 等常见哈希的首选。

    • john (John the Ripper): 也是离线哈希破解工具。优点是支持的哈希类型极其广泛,包括很多稀奇古怪、少见的类型。缺点是相比 hashcat 速度较慢,对硬件利用率可能不如 hashcat

    • hydra: 在线密码破解工具。用于对网络服务(如 SSH, FTP, HTTP Basic Auth, RDP 等)进行登录尝试。缺点是无法直接处理带有时效性 Token(如 CSRF Token)的 Web 登录,需要额外脚本配合。

  • 其他提及工具 (分类):

    • 目录/文件爆破 (Web): ffuf (Go 编写,快,功能强), wfuzz (Python, 灵活), gobuster (Go, 快), dirsearch (Python, 字典好), feroxbuster (Rust, 极快)。

    • Web 爬行/探测: gospider (Go, 模拟用户行为,相对隐蔽但慢)。

    • 网络服务爆破: medusa (类似 hydra, 在线)。

  • 选择策略:

    • 破解常见哈希 (NTLM, Kerberos Tickets),追求速度 -> hashcat

    • 破解不常见、奇异的哈希类型 -> john

    • 在线爆破服务登录 -> hydra, medusa

    • Web 目录/文件/参数 -> ffuf, wfuzz, gobuster, dirsearch, feroxbuster

    • 需要隐蔽性的 Web 探测 -> gospider

    • 工具切换: 当一个工具速度慢或效果不佳时,尝试调整参数;若仍不行,果断更换其他同类工具。

4.2 爆破原则与思维误区

  • 知识点:

    • 不能接受过慢的破解速度(如几天),应迅速调整参数或更换工具/策略。

    • 硬件条件是基础,但在既定硬件下,参数和工具选择是关键。

    • 避免“懒惰”的爆破:直接将哈希丢给工具跑默认设置是新手行为。应指定字典 (Dictionary)规则 (Rules)、调整线程 (Threads) 等参数。

    • 不要迷信“最好的字典”,没有字典不是破解失败的主要原因。

  • 拓展:

    • 参数调整: hashcatjohn 都有大量参数可以调整,如 -O (优化内核)、-w (工作负载)、--threads (CPU 线程数) 等,可以根据硬件和破解任务进行优化。

    • 思维误区: 认为拿到哈希后,成败完全取决于字典大小。实际上,哈希类型识别错误、未使用规则、目标密码复杂度过高(如机器生成的密码)等因素往往更关键。

4.3 字典 (Wordlist / Dictionary) 的选择与理解

  • 知识点: 如何选择、理解和使用字典是爆破成功的关键一环。

  • 核心理念:

    • 熟悉可用资源: 了解 Kali Linux 自带的字典库 (/usr/share/wordlists/),包括其结构、分类和内容。

    • 通用字典为主: 对于常见爆破场景(Web 目录、DNS 子域、弱密码),现有的通用字典(如 rockyou.txt)通常足够。

    • 按需生成字典: 针对特定目标(如某公司、某应用),应基于信息收集(OSINT、目标网站内容、泄露数据)自制针对性的小字典 (cewl 等工具可辅助)。过度依赖收集“完美”的通用大字典是低效且错误的思维。

    • 理解字典来源和特性: 知道一个字典是如何产生的(如 rockyou.txt 来自网站泄露数据)有助于判断其适用场景。字典大小与命中率需要平衡。

    • 大字典的局限: 即使是几十 GB 的超大字典(如 https://crackstation.net 的 15GB, 约 2 亿词条),也无法保证破解所有密码,特别是机器生成的、随机性强的密码。

  • Kali 字典库 (/usr/share/wordlists/) 探索:

    • 这是一个快捷方式/整合目录,实际字典文件可能位于各工具目录下(如 wfuzz, metasploit, hashcat 等)。

    • 方法: 使用 cd /usr/share/wordlists/, ls, tree, less/cat 查看目录结构和文件内容。

    • 关注点: 字典名称(推测用途)、文件大小、词条数量 (wc -l <filename>)、内容样本。

    • 示例: rockyou.txt (著名,平衡性好),dirbuster/directory-list-2.3-medium.txt (Web 目录),dnsmap.txt (DNS),wfuzz/general/common.txt

  • 重要字典集合:

    • SecLists: 强烈推荐。包含大量针对不同场景(密码、Web、用户名、Payload 等)的列表。需要单独安装 (sudo apt update && sudo apt install seclists)。路径通常在 /usr/share/seclists/


    • PayloadsAllTheThings: GitHub 上的著名项目,收集了各种攻击载荷和有用的列表。也可以通过 apt install payloadsallthethings 安装。


    ┌──(root㉿kali)-[/usr/share/seclists]
    └─# payloadsallthethings -h
    
    > payloadsallthethings ~ Collection of useful payloads and bypasses
    
    /usr/share/payloadsallthethings
    ├── AWS Amazon Bucket S3
    ├── Command Injection
    ├── CRLF Injection
    ├── CSRF Injection
    ├── CSV Injection
    ├── CVE Exploits
    ├── Directory Traversal
    ├── File Inclusion
    ├── GraphQL Injection
    ├── Insecure Deserialization
    ├── Insecure Direct Object References
    ├── Insecure Management Interface
    ├── Insecure Source Code Management
    ├── JSON Web Token
    ├── LaTeX Injection
    ├── LDAP Injection
    ├── Methodology and Resources
    ├── NoSQL Injection
    ├── OAuth
    ├── Open Redirect
    ├── SAML Injection
    ├── Server Side Request Forgery
    ├── Server Side Template Injection
    ├── SQL Injection
    ├── _template_vuln
    ├── Type Juggling
    ├── Upload Insecure Files
    ├── Web Cache Deception
    ├── Web Sockets
    ├── XPATH Injection
    ├── XSS Injection
    └── XXE Injection
    ┌──(root㉿kali)-[/usr/share/payloadsallthethings]
    └─# 
    
    • rockyou.txt: 经典。通常在 /usr/share/wordlists/rockyou.txt.gz,需要先解压 (gzip -d /usr/share/wordlists/rockyou.txt.gz)。

  • 字典的应用扩展:

    • 不仅仅用于爆破: SecLists 等集合可以作为信息收集、漏洞挖掘时的参考和提示,例如查找常见配置文件路径、敏感文件名、默认凭据等。

    • 理解字典结构: 小字典(几百条)通常是精心挑选的最常用弱密码;大字典则包含更广泛的内容。

4.4 服务/机器密码的特殊性

  • 知识点: 需要区分人类用户设置的密码和系统/服务自动生成的密码。

  • 拓展:

    • 人类密码: 通常有一定规律性(常用词、生日、键盘模式),长度和复杂度相对有限,是字典和规则爆破的主要目标。

    • 机器密码 (服务账户密码): 可能由系统生成,长度很长(如 20 位以上),包含大小写字母、数字、特殊符号,完全随机。这种密码极难通过爆破获得,尝试破解是浪费时间。应寻找其他利用方式。

    • 陷阱: 如果一个用户账户配置为服务账户使用,其密码可能仍遵循人类习惯,这种情况下值得尝试爆破


5. 高级爆破技术:规则与掩码

5.1 规则 (Rules) 的应用

  • 知识点: hashcatjohn 都支持使用规则文件来增强字典爆破效果。

  • 规则原理: 规则定义了一系列转换操作(如大小写变换、首字母大写、添加数字/符号、leet speak 替换 o->0, e->3 等),应用于字典中的每个词条,动态生成大量新的候选密码。

  • 规则库路径: hashcat 的规则位于 /usr/share/hashcat/rules/

  • 优点:

    • 高效生成变体: 比简单合并多个字典更有效,能生成符合常见密码设置习惯(如 Password123!)的变体。

    • 减少冗余: 规则生成的词条与原字典的交集较小,能有效扩展覆盖面,而不是增加大量重复条目。

    • 提升命中率: 对于稍作变形的密码(非纯字典词),规则爆破的成功率远高于纯字典爆破。

    • 性能优化: hashcat 对规则处理有优化,比纯粹跑超大字典可能更快。

  • 使用方法:

    • hashcat -a 0 -m <hash_type> <hash_file> <dictionary_file> -r <rule_file>

    • 示例规则文件: best64.rule, rockyou-30000.rule, leetspeak.rule, toggles-case.rule 等。需要了解不同规则文件的特点和适用场景。

  • 场景重要性: 笔记中明确提到,当前靶场场景下破解某个哈希必须使用规则,仅用字典(包括 15G 的大字典)无法成功,而使用规则可在几十秒内搞定。这凸显了规则在实战中的关键作用。

5.2 掩码 (Masks) 的应用

  • 知识点: 掩码用于纯暴力破解 (Brute-force Attack),定义密码的结构和字符集。

  • 使用方法:

    • hashcat -a 3 -m <hash_type> <hash_file> ?l?d?s?u...

    • -a 3 指定掩码攻击模式。

    • 掩码字符集: ?l (小写字母), ?u (大写字母), ?d (数字), ?s (特殊符号), ?a (所有可打印字符), ?h (十六进制小写), ?H (十六进制大写), ?b (0x00-0xff)。

    • 可以指定长度,如 ?d?d?d?d (4位数字)。

  • 适用场景: 当知道密码的部分结构(如长度、包含的字符类型)或密码较短时。纯暴力破解对长密码效率极低。

5.3 Hashcat 攻击模式总结

  • -a 0: Straight (字典)

  • -a 1: Combination (组合两个字典)

  • -a 3: Brute-force (掩码)

  • -a 6: Hybrid Wordlist + Mask (字典词 + 掩码)

  • -a 7: Hybrid Mask + Wordlist (掩码 + 字典词)

  • 规则 (-r) 通常与 -a 0 配合使用。

5.4 处理已破解哈希 (Potfile)

  • 知识点: hashcatjohn 会将已破解的哈希记录在 .potfile 文件中,默认不再重复破解。

  • 问题: 如果想重新运行破解(例如使用不同字典或规则),需要处理 potfile。

  • 解决方法:

    • hashcat: 使用 --show 查看已破解的;使用 --potfile-disable 强制重新破解。

    • john: 使用 --show 查看;删除 ~/.john/john.pot 文件或使用特定参数(笔记提到 -v 可能有关,需查证 john 文档确认具体参数,可能是 --crack-status 或删除 session 文件)。

5.5 硬件查看

  • 知识点: 查看可用的计算设备(CPU/GPU)。

  • 命令: hashcat -I (大写 i)


6. Kerberos 攻击初步介绍

6.1 Kerberos 攻击专题概述

  • 知识点: 预告后续将详细讲解 Kerberos 相关攻击。

  • 内容范围:

    • 各种 Roasting 攻击 (Kerberoasting, AS-REP Roasting)。

    • 票据伪造 (Silver Tickets, Golden Tickets)。

    • 密码喷洒 (Password Spraying)。

    • 委派攻击 (Delegation Attacks)。

    • Kerberos 认证过程详解 (涉及 KDC, TGT, TGS)。

  • 当前环节涉及: Kerberoasting 或 AS-REP Roasting 是当前阶段可能用到的技术(因为尚未获得域内凭据,无法制作票据)。

6.2 用户枚举工具 kerbrute

  • 知识点: 介绍 kerbrute 工具及其用途。

  • 功能: 通过尝试向 KDC 请求 TGT,利用 Kerberos 预认证 (Pre-authentication) 阶段的响应差异来判断用户名是否存在于域中。

  • 使用: kerbrute userenum --dc <DC_IP> -d <DOMAIN> <user_list_file>

  • 替代方法: 可以通过编写脚本(如 Python 使用 impacket 库)手动循环尝试请求 TGT 来实现相同目的,有助于理解原理。

  • 注意事项:

    • 在 M1/ARM 架构 Mac 上使用可能需要重新编译。

    • 该工具相对简单且久未更新 (4-5年前),但依然常用。理解其原理比单纯会用工具更重要。

6.3 关键问题:时钟同步 (Clock Skew)

  • 知识点: Kerberos 对时间同步要求极其严格,时间偏差(Clock Skew)是导致认证失败的常见且难以排查的原因。

  • 原理: Kerberos 票据中包含时间戳,用于防止重放攻击。客户端、服务器和 KDC 之间的时间差必须在允许的范围内(理论 5 分钟,实际可能更短,甚至 1 分钟内)。

  • 问题表现:

    • 认证失败,错误信息可能含糊不清,不直接提示是时间问题,导致排查困难。

    • 影响所有基于 Kerberos 的操作(票据请求、服务访问等)。

  • 同步方法:

    • 攻击机需要与域内成员进行时间同步。

    • 任何一个域成员同步即可,因为域内成员会自动与 DC (KDC) 保持严格同步。

    • Linux: ntpdate <domain_member_ip>, timedatectl set-ntp true (需要配置 NTP 服务器)

    • Windows: w32tm /resync, net time \\<domain_member_ip> /set /yes

  • 复杂性:

    • 不同操作系统、发行版的时间同步工具和服务(NTP, systemd-timesyncd, Windows Time Service w32time)不同。

    • 可能存在多个时间服务,需要确定当前生效的是哪个。

    • 即使知道是时间问题,配置同步也可能因权限、网络、服务状态等问题失败。

    • 贯穿始终: 时间同步问题会在整个靶场后期持续出现,尤其在需要精确时间窗口的操作中(如某些有时效性的利用)。

  • 重要性: 必须高度重视时间同步,遇到 Kerberos 相关认证失败时,优先检查并解决时间偏差。


7. 后续安排与答疑

7.1 Kerberos 原理与 Roasting 详解延后

  • 知识点: Kerberos 认证过程和 Roasting 攻击原理将在下次课程详细讲解,以便学员先完成当前的枚举任务。

  • 理由: 直接讲原理对于不熟悉的同学可能难以理解,需要先铺垫 Kerberos 基础。

7.2 本周任务重点与节奏调整

  • 当前任务: 继续做枚举优先级分析服务评估

  • 谨慎性: 注意攻击过程中的隐蔽性,避免被发现或封禁。

  • Kerberos 尝试: 可以尝试进行 Kerberos 相关攻击(如 Roasting),但如果来不及,可放到下周。

  • 放慢节奏: 调整课程进度,确保大家能跟上,特别是进度稍慢的学员。

  • 积极提问: 再次强调遇到问题要及时沟通。

7.3 爆破环节回顾与难度强调

  • 知识点: 强调之前在该靶场的爆破环节(需要 Kerberos 攻击获取哈希后进行),很多学员未能成功。

  • 原因: 爆破并非易事,需要正确的方法(特别是规则使用)和尝试。哈希爆破本身就不保证一定成功,即使获得了哈希,也可能无法破解。

7.4 后续内容预告与答疑

  • AD CS (Active Directory Certificate Services): 本靶场涉及不多,不会作为单独专题。

  • 中继 (Relay) 与嗅探 (Sniffing): 后续会有很多场景应用,特别是 NTLM Relay 会有详细讲解,并结合委派攻击。

  • A DFS (Active Directory Federation Services): 紧接着当前 Kerberos 攻击阶段之后,将是下一个主要攻击模块

  • 专题练习: 如果学员想深入练习某个专题(如中继),可以向讲师索要相关资料或靶机推荐。


8. 总结

这份笔记详细记录了一次红队课程的直播内容,涵盖了从复盘、规划、资产梳理、优先级排序,到深入的域枚举、密码爆破技术(工具、字典、规则、掩码),再到 Kerberos 攻击的初步介绍(特别是时钟同步问题)以及后续课程安排。核心强调了理解原理、谨慎操作、工具选择、字典运用、规则应用以及 Kerberos 认证和时间同步的重要性。
-.-

0

评论区