目录
️ 1. Web 页面源码分析用于信息收集的技术点
技术点与技术栈
2. 敏感文件读取的信息收集分析
前后分析
️ 细化步骤与网络安全分析
3. 信息收集的前后关联与技术栈
前后关联分析
技术栈总结
4. 全局总结
⚔️ 5. 攻击技术链
攻击链可视化
Web 页面源码分析是红队渗透测试的初始步骤,通过检查 HTML、JavaScript、CSS 和其他资源,识别潜在漏洞、暴露的敏感信息、文件路径和未修补的组件,为后续攻击提供切入点。
文件路径泄露
发现:源码中暴露了静态资源目录 /documents/
,包含文件如 2020-01-01-upload.pdf
和 2020-12-15-upload.pdf
,以及 JavaScript 和 CSS 文件(all.js
, styles.css
, jquery.min.js
, bootstrap.bundle.min.js
等)。
利用点:
目录遍历:尝试访问 http://
检查是否启用了目录索引(Directory Listing)。若启用,可能暴露更多敏感文件。
敏感信息泄露:下载 PDF 文件,分析元数据(Metadata)或内容,提取用户名、路径或系统信息。
文件上传漏洞推测:文件名中的 upload
暗示可能存在文件上传功能,可尝试寻找未清理的上传接口。
技术栈:
协议:HTTP/HTTPS(文件通过 Web 服务器提供)。
工具:浏览器、DirBuster、Gobuster、Burp Suite。
安全角度:未禁用目录索引或未限制文件访问是常见配置错误,可能导致信息泄露(CWE-552)。文件名规律(日期+upload)表明系统可能自动生成文件,易被自动化脚本利用。
外链信息收集
发现:页脚和联系板块暴露了 [email protected]
、地址 1234 Intel Ave
、电话 +1 (123) 456-7890
以及 GitHub、Facebook、Twitter 链接(占位符 #
)。
利用点:
社交工程:利用邮箱、电话、社交媒体信息,通过 OSINT(开源情报)工具(如 theHarvester)收集员工信息、组织架构或密码字典。
邮箱攻击:测试 intelligence.htb
域名是否存在开放的 SMTP Relay 漏洞,用于发送钓鱼邮件或伪造内部邮件。
技术栈:
协议:SMTP(邮件服务)、HTTP(社交媒体链接)。
工具:theHarvester、Maltego、SMTP 扫描工具(如 swaks
)。
安全角度:暴露的联系信息为社交工程攻击提供了素材。SMTP Relay 漏洞(CWE-287)可能导致未经授权的邮件发送。
️ HTTP TRACE 方法开启
发现:Nmap 扫描显示 80 端口支持 TRACE 方法。
利用点:
跨站点追踪攻击(XST):结合 JavaScript 发送 TRACE 请求,捕获 HTTP 头部中的敏感信息(如 Cookie),可能导致会话劫持。
技术栈:
协议:HTTP(TRACE 方法)。
工具:cURL、Burp Suite Repeater。
安全角度:TRACE 方法未禁用(CWE-693)可能导致 XST 攻击,结合 XSS 可窃取用户 Cookie,危害较大。
旧框架与组件漏洞
发现:页面使用了 jQuery(jquery.min.js
)、Bootstrap(bootstrap.bundle.min.js
)和 jquery.easing.min.js
,版本未知但可能较旧。
利用点:
已知漏洞:检查 jQuery 版本是否受 CVE-2020-11022/11023(DOM XSS)影响,或 Bootstrap 是否受 CVE-2018-14041/2019-8331(XSS)影响。
DOM XSS:分析 scripts.js
是否存在不安全的 DOM 操作(如 innerHTML
拼接用户输入)。
技术栈:
技术:JavaScript、Bootstrap 框架。
工具:Retire.js(检测旧版本)、Burp Suite、浏览器开发者工具。
安全角度:使用未更新的第三方库(CWE-937)是常见漏洞,易被公开 PoC 利用。
✍️ 输入点分析
发现:页面包含一个 的订阅表单,但无明确
action
地址,可能通过 AJAX 提交。
利用点:
隐藏接口探测:检查 scripts.js
或抓包寻找 AJAX 请求的目标 URL(如 /subscribe
或 /api/submit
)。
注入测试:测试 XSS、SQL 注入或文件上传漏洞。
技术栈:
协议:HTTP/HTTPS(AJAX 请求)。
工具:Burp Suite、Dirsearch、Gobuster。
安全角度:未正确配置的表单可能导致 XSS(CWE-79)或 SQL 注入(CWE-89),隐藏接口可能暴露未保护的 API。
⏰ 时间信息
发现:页面底部显示 © Intelligence 2021
,PDF 文件名集中在 2020-2021 年。
利用点:
系统未维护推测:长时间未更新的系统可能存在未修补的漏洞(如 IIS、SMB 服务漏洞)。
技术栈:
技术:Web 服务器(可能为 IIS,需进一步确认)。
工具:Nmap、Metasploit。
安全角度:未及时更新的系统可能存在已知漏洞(CWE-829),如 EternalBlue(SMB)或 IIS 漏洞。
敏感文件读取利用了源码中暴露的 /documents/
目录和可预测的文件命名规律(YYYY-MM-DD-upload.pdf
),通过批量下载和分析 PDF 文件,提取关键信息(如默认密码)。以下是前后关联的分析和细化步骤。
前期发现:
源码暴露了 /documents/
目录,包含 2020-01-01-upload.pdf
和 2020-12-15-upload.pdf
。
文件名遵循日期命名规律,暗示可能存在更多类似文件。
目录索引未启用,但文件可直接通过 URL 访问。
利用过程:
利用命名规律,编写 Bash 脚本批量下载 PDF 文件。
使用 exiftool
提取元数据,生成用户列表。
使用 pdftotext
转换为文本,筛选敏感信息(如 New Account Guide
和 Internal IT Update
)。
从 2020-06-04-upload.txt
获取默认密码 NewIntelligenceCorpUser9876
。
后续利用:
使用 kerbrute
结合用户列表和默认密码进行凭据喷洒(Password Spraying),尝试登录 Kerberos 或其他服务。
分析 Internal IT Update
提到的服务账户和脚本,推测可能存在弱口令或未锁定的服务账户。
批量下载 PDF 文件
步骤:
编写 Bash 脚本,基于日期规律生成文件 URL,从 2020-01-01 到当前日期前一天。
使用 wget
并行下载(-P 20
开启 20 个并发进程):
d=2020-01-01 while [ "$d" != $(date -I) ]; do echo "http://10.129.188.193/documents/${d}-upload.pdf" d=$(date -I -d "$d + 1 day") done | xargs -n 1 -P 20 wget -q
技术栈:
协议:HTTP(文件下载)。
工具:Bash、wget、xargs。
安全角度:
可预测的文件命名(CWE-548)是严重的安全漏洞,允许攻击者批量下载敏感文件。
未限制的 HTTP 访问可能暴露内部文档,违反最小权限原则。
红队视角:
利用内网环境中常见的文件服务器规律,快速收集大量数据。
检查下载的文件是否包含内部 IP、用户名或其他敏感信息。
提取元数据
步骤:
使用 exiftool
提取 PDF 元数据,生成用户列表:
exiftool -Creator -csv *pdf | cut -d, -f2 | sort | uniq > userlist
技术栈:
工具:exiftool(PDF 元数据分析)。
安全角度:
PDF 元数据可能包含作者名、创建工具或路径信息(CWE-200),泄露内部用户或系统信息。
未清理元数据是常见的安全疏忽。
红队视角:
元数据中的用户名可用于后续凭据喷洒或社交工程。
检查是否包含软件版本信息,推测系统环境。
转换为文本
步骤:
使用 pdftotext
将 PDF 转换为文本:
for f in *pdf; do pdftotext $f; done
技术栈:
工具:pdftotext(poppler-utils 套件)。
安全角度:
PDF 文件可能包含未加密的敏感信息(如密码、内部通知)。
未限制访问的文件服务器可能导致信息泄露(CWE-552)。
红队视角:
快速将批量文件转换为可搜索格式,便于筛选关键信息。
检查文本是否包含配置文件、凭据或内部流程。
筛选敏感信息
步骤:
使用 head
查看每个文本文件首行,快速定位敏感文件:
head -n1 *txt
手动检查 2020-06-04-upload.txt
和 2020-12-30-upload.txt
:
cat 2020-{06-04,12-30}-upload.txt
输出:
2020-06-04-upload.txt
:包含默认密码 NewIntelligenceCorpUser9876
。
2020-12-30-upload.txt
:提到服务账户和脚本,暗示潜在弱点。
技术栈:
工具:Linux 命令行(head
, cat
)。
安全角度:
默认密码暴露(CWE-259)是严重安全问题,可能导致未经授权访问。
内部通知可能泄露系统架构或运维细节。
红队视角:
默认密码可用于 Kerberos 或 RDP 登录尝试。
服务账户信息提示可能存在弱口令或未锁定的账户。
凭据喷洒
步骤:
使用 kerbrute
结合用户列表和默认密码进行凭据喷洒:
kerbrute passwordspray -d intelligence.htb userlist NewIntelligenceCorpUser9876
技术栈:
协议:Kerberos(端口 88,可能用于身份验证)。
工具:kerbrute。
安全角度:
默认密码未强制更改(CWE-521)可能导致账户被攻破。
Kerberos 未配置锁定策略可能允许暴力破解。
红队视角:
快速验证凭据有效性,获取初始访问权限。
结合 Internal IT Update
信息,优先测试服务账户。
前期(源码分析):
暴露信息:/documents/
目录、PDF 文件名规律、旧框架(jQuery/Bootstrap)、TRACE 方法、联系信息、未定义的表单。
作用:提供初始攻击面,揭示文件服务器、可疑接口和潜在漏洞。
技术栈:HTTP 协议、JavaScript、Web 服务器(可能 IIS)、第三方库(jQuery、Bootstrap)。
中期(敏感文件读取):
利用前期信息:基于文件命名规律批量下载 PDF,提取元数据和内容。
成果:获取默认密码 NewIntelligenceCorpUser9876
和内部 IT 信息。
技术栈:HTTP(文件下载)、Bash 脚本、exiftool、pdftotext、Kerberos 协议。
后期(凭据利用):
利用成果:使用默认密码和用户列表进行 Kerberos 凭据喷洒,尝试获取系统访问权限。
技术栈:Kerberos、kerbrute。
协议:HTTP/HTTPS(Web 访问、文件下载)、SMTP(邮箱攻击)、Kerberos(凭据验证)。
工具:
信息收集:DirBuster、Gobuster、theHarvester、Burp Suite。
文件分析:exiftool、pdftotext、Linux 命令行(head
, cat
)。
凭据测试:kerbrute。
框架/组件:jQuery、Bootstrap、Web 服务器(可能 IIS)。
安全问题:目录遍历(CWE-552)、元数据泄露(CWE-200)、默认密码(CWE-259)、TRACE 方法(CWE-693)、旧组件漏洞(CWE-937)。
从红队视角看,本次信息收集通过源码分析和敏感文件读取,成功从静态资源目录暴露、文件命名规律、元数据提取到默认密码获取,构建了一条完整的初始攻击路径。关键发现包括:
信息泄露:/documents/
目录暴露了可预测命名的 PDF 文件,包含默认密码和内部通知。
漏洞利用:TRACE 方法、旧框架版本和潜在的上传接口为后续攻击提供了可能性。
凭据获取:默认密码 NewIntelligenceCorpUser9876
可用于 Kerberos 喷洒,获取系统访问权限。
技术栈:结合 HTTP、Kerberos 协议和多种工具,高效收集和利用信息。
以下是从源码分析到初始访问的攻击链,基于红队视角:
信息收集(Web 源码分析)
访问目标网站,分析 HTML 和 JavaScript,识别 /documents/
目录和文件命名规律。
检查 TRACE 方法、旧框架版本(jQuery/Bootstrap)和联系信息。
目录与文件枚举
使用 DirBuster 或 Gobuster 探测 /documents/
下的隐藏文件。
利用命名规律(YYYY-MM-DD-upload.pdf
)批量下载 PDF 文件。
敏感信息提取
使用 exiftool
提取 PDF 元数据,生成用户列表。
使用 pdftotext
转换为文本,筛选出 New Account Guide
和 Internal IT Update
。
凭据获取
从 2020-06-04-upload.txt
获取默认密码 NewIntelligenceCorpUser9876
。
使用 kerbrute
结合用户列表进行凭据喷洒,尝试 Kerberos 登录。
初始访问
使用有效凭据登录 Kerberos、RDP 或其他服务,获取系统访问权限。
利用 Internal IT Update
信息,探测服务账户或脚本漏洞。
后续利用(可选)
测试 TRACE 方法进行 XST 攻击,窃取 Cookie。
利用 jQuery/Bootstrap 漏洞尝试 DOM XSS。
探测隐藏 API 或上传接口,尝试 XSS、SQL 注入或文件上传。
{ "type": "flow", "data": { "nodes": [ { "id": "1", "label": "源码分析" }, { "id": "2", "label": "目录枚举" }, { "id": "3", "label": "文件下载" }, { "id": "4", "label": "元数据提取" }, { "id": "5", "label": "文本转换" }, { "id": "6", "label": "凭据喷洒" }, { "id": "7", "label": "初始访问" } ], "links": [ { "source": "1", "target": "2" }, { "source": "2", "target": "3" }, { "source": "3", "target": "4" }, { "source": "3", "target": "5" }, { "source": "4", "target": "6" }, { "source": "5", "target": "6" }, { "source": "6", "target": "7" } ] }, "options": { "layout": { "hierarchical": { "direction": "LR" } }, "nodes": { "shape": "box", "color": { "background": "#4CAF50", "border": "#388E3C", "highlight": { "background": "#66BB6A", "border": "#2E7D32" } }, "font": { "color": "#FFFFFF" } }, "edges": { "color": "#388E3C", "arrows": "to" } } }