某次证书站的渗透测试经历
字数 1557 2025-08-22 12:22:54

证书站渗透测试高级技巧:从子域名收集到敏感信息泄露利用

1. 信息收集方法论

1.1 子域名收集技术栈

使用多工具组合进行全面的子域名枚举:

# 使用subfinder进行初始收集
subfinder -d **.edu.cn -all -o subdomains.txt

# 使用amass进行深度枚举
amass enum -d **.edu.cn -dir amass4owasp

# 使用oam_subs工具
./oam_subs -names -d **.edu.cn -dir amass4owasp | ./anew subdomains.txt

# 使用assetfinder补充收集
assetfinder | ./anew subdomains.txt

1.2 子域名字典构建技术

将收集到的子域名转化为可重用的字典:

# 将特定域名替换为FUZZ关键字
sed -r 's/baidu\.com/FUZZ/g' subdomains.txt | tee sub-baidu-dic.txt

# 将新字典合并到主字典
cat sub-baidu-dic | ./anew ./dic/自用字典/edu-subdomain-dic.txt

1.3 子域名爆破实战

使用两种方法进行子域名爆破:

方法一:使用httpx

cat sub-baidu-dic.txt | sed 's/FUZZ/baidu\.com/g' | ./httpx -sc -title -td -location -t 100

方法二:使用ffuf

# 首先生成完整URL列表
cat sub-baidu-dic.txt | sed 's/FUZZ/baidu\.com/g' | tee baidu-urls.txt

# 然后进行爆破
ffuf -u http://FUZZ -w baidu-urls.txt -c -H "User-Agent: Mozilla/5.0 Windows NT 10.0 Win64 AppleWebKit/537.36 Chrome/69.0.3497.100"

2. 突破302跳转限制的渗透技巧

2.1 目录扫描技术

对302跳转的资产使用feroxbuster进行目录扫描:

./feroxbuster --scan-limit 2 -t 10 --filter-status 404 -x jsp -A -u https://you-url -k --proxy http://ip:10809

2.2 全链接爬取技术

使用katana爬取所有链接:

./katana -list urls.txt -o allurls.txt -proxy socks5://ip:10808

2.3 相似站点寻找技巧

  1. 识别网站指纹
  2. 在ZoomEye搜索相似网站
  3. 收集免认证的路由信息
  4. 将有效路由添加到测试列表

3. JS敏感信息挖掘技术

3.1 JS文件提取与扫描

# 从所有URL中提取JS文件路径
grep "\.js" allurls.txt > js-urls.txt

# 使用SecretFinder扫描JS文件
cat ../js-urls.txt | while read url; do python3 SecretFinder.py -i $url -o cli; done | tee result.txt

3.2 自定义正则表达式优化

修改SecretFinder.py文件:

  1. 删除不必要的正则表达式
  2. 添加高价值正则(可参考HaE插件的正则规则)

3.3 结合Burp Suite的高级分析

# 通过Burp代理访问所有JS文件
ffuf -u FUZZ -w js-urls.txt -c -H "User-Agent: Mozilla/5.0 Windows NT 10.0 Win64 AppleWebKit/537.36 Chrome/69.0.3497.100" -x http://ip:8090

4. 云服务凭证泄露与接管实战

4.1 阿里云AccessKey泄露利用

  1. 在JS文件中发现泄露的AccessKey
  2. 验证AccessKey权限级别
  3. 评估可接管服务范围

4.2 云主机接管验证

使用云服务检测平台:

https://yun.cloudbility.com/

验证步骤:

  1. 导入可疑主机
  2. 检查重置密码权限
  3. 验证安全组规则修改权限
  4. 确认服务器登录能力

5. 渗透测试知识体系构建

5.1 长期积累策略

  1. 子域名收集:持续积累各类型站点的子域名字典
  2. 路由字典:收集常见CMS、框架的敏感路径
  3. 密码字典:从泄露事件中提取有效密码组合
  4. 指纹库:建立完善的Web应用指纹识别库

5.2 测试范围扩展原则

  1. 不忽略302跳转资产
  2. 全面扫描JS文件
  3. 测试所有API接口的权限配置
  4. 验证所有发现的凭证的实际权限

6. 工具清单

工具名称 用途 项目地址
subfinder 子域名枚举 https://github.com/projectdiscovery/subfinder
amass 深度子域名枚举 https://github.com/OWASP/Amass
assetfinder 子域名发现 https://github.com/tomnomnom/assetfinder
httpx HTTP探测 https://github.com/projectdiscovery/httpx
ffuf Web模糊测试 https://github.com/ffuf/ffuf
feroxbuster 目录爆破 https://github.com/epi052/feroxbuster
katana 链接爬取 https://github.com/projectdiscovery/katana
SecretFinder JS敏感信息扫描 https://github.com/m4ll0k/SecretFinder
anew 去重合并工具 https://github.com/tomnomnom/anew

7. 防御建议

  1. JS文件安全

    • 避免在客户端代码中硬编码敏感凭证
    • 实施代码审查流程检查敏感信息
    • 使用自动化工具扫描发布前的代码
  2. 云服务安全

    • 遵循最小权限原则配置AccessKey
    • 定期轮换访问凭证
    • 启用操作审计日志
  3. 资产暴露管理

    • 监控子域名暴露情况
    • 及时下线不再使用的服务
    • 对测试环境实施严格的访问控制
  4. API安全

    • 实施严格的权限控制
    • 禁用不必要的API端点
    • 对敏感操作实施多因素认证
证书站渗透测试高级技巧:从子域名收集到敏感信息泄露利用 1. 信息收集方法论 1.1 子域名收集技术栈 使用多工具组合进行全面的子域名枚举: 1.2 子域名字典构建技术 将收集到的子域名转化为可重用的字典: 1.3 子域名爆破实战 使用两种方法进行子域名爆破: 方法一:使用httpx 方法二:使用ffuf 2. 突破302跳转限制的渗透技巧 2.1 目录扫描技术 对302跳转的资产使用feroxbuster进行目录扫描: 2.2 全链接爬取技术 使用katana爬取所有链接: 2.3 相似站点寻找技巧 识别网站指纹 在ZoomEye搜索相似网站 收集免认证的路由信息 将有效路由添加到测试列表 3. JS敏感信息挖掘技术 3.1 JS文件提取与扫描 3.2 自定义正则表达式优化 修改SecretFinder.py文件: 删除不必要的正则表达式 添加高价值正则(可参考HaE插件的正则规则) 3.3 结合Burp Suite的高级分析 4. 云服务凭证泄露与接管实战 4.1 阿里云AccessKey泄露利用 在JS文件中发现泄露的AccessKey 验证AccessKey权限级别 评估可接管服务范围 4.2 云主机接管验证 使用云服务检测平台: 验证步骤: 导入可疑主机 检查重置密码权限 验证安全组规则修改权限 确认服务器登录能力 5. 渗透测试知识体系构建 5.1 长期积累策略 子域名收集 :持续积累各类型站点的子域名字典 路由字典 :收集常见CMS、框架的敏感路径 密码字典 :从泄露事件中提取有效密码组合 指纹库 :建立完善的Web应用指纹识别库 5.2 测试范围扩展原则 不忽略302跳转资产 全面扫描JS文件 测试所有API接口的权限配置 验证所有发现的凭证的实际权限 6. 工具清单 | 工具名称 | 用途 | 项目地址 | |---------|------|---------| | subfinder | 子域名枚举 | https://github.com/projectdiscovery/subfinder | | amass | 深度子域名枚举 | https://github.com/OWASP/Amass | | assetfinder | 子域名发现 | https://github.com/tomnomnom/assetfinder | | httpx | HTTP探测 | https://github.com/projectdiscovery/httpx | | ffuf | Web模糊测试 | https://github.com/ffuf/ffuf | | feroxbuster | 目录爆破 | https://github.com/epi052/feroxbuster | | katana | 链接爬取 | https://github.com/projectdiscovery/katana | | SecretFinder | JS敏感信息扫描 | https://github.com/m4ll0k/SecretFinder | | anew | 去重合并工具 | https://github.com/tomnomnom/anew | 7. 防御建议 JS文件安全 : 避免在客户端代码中硬编码敏感凭证 实施代码审查流程检查敏感信息 使用自动化工具扫描发布前的代码 云服务安全 : 遵循最小权限原则配置AccessKey 定期轮换访问凭证 启用操作审计日志 资产暴露管理 : 监控子域名暴露情况 及时下线不再使用的服务 对测试环境实施严格的访问控制 API安全 : 实施严格的权限控制 禁用不必要的API端点 对敏感操作实施多因素认证