木马免杀 学习方案

目录

️ 1. Web 页面源码分析用于信息收集的技术点

技术点与技术栈

2. 敏感文件读取的信息收集分析

前后分析

️ 细化步骤与网络安全分析

3. 信息收集的前后关联与技术栈

前后关联分析

技术栈总结

4. 全局总结

⚔️ 5. 攻击技术链

攻击链可视化

木马免杀 学习方案_第1张图片

️ 1. Web 页面源码分析用于信息收集的技术点

Web 页面源码分析是红队渗透测试的初始步骤,通过检查 HTML、JavaScript、CSS 和其他资源,识别潜在漏洞、暴露的敏感信息、文件路径和未修补的组件,为后续攻击提供切入点。

技术点与技术栈

  1. 文件路径泄露

    1. 发现:源码中暴露了静态资源目录 /documents/,包含文件如 2020-01-01-upload.pdf2020-12-15-upload.pdf,以及 JavaScript 和 CSS 文件(all.js, styles.css, jquery.min.js, bootstrap.bundle.min.js 等)。

    2. 利用点

      • 目录遍历:尝试访问 http:///documents/ 检查是否启用了目录索引(Directory Listing)。若启用,可能暴露更多敏感文件。

      • 敏感信息泄露:下载 PDF 文件,分析元数据(Metadata)或内容,提取用户名、路径或系统信息。

      • 文件上传漏洞推测:文件名中的 upload 暗示可能存在文件上传功能,可尝试寻找未清理的上传接口。

    3. 技术栈

      • 协议:HTTP/HTTPS(文件通过 Web 服务器提供)。

      • 工具:浏览器、DirBuster、Gobuster、Burp Suite。

      • 安全角度:未禁用目录索引或未限制文件访问是常见配置错误,可能导致信息泄露(CWE-552)。文件名规律(日期+upload)表明系统可能自动生成文件,易被自动化脚本利用。

  1. 外链信息收集

    1. 发现:页脚和联系板块暴露了 [email protected]、地址 1234 Intel Ave、电话 +1 (123) 456-7890 以及 GitHub、Facebook、Twitter 链接(占位符 #)。

    2. 利用点

      • 社交工程:利用邮箱、电话、社交媒体信息,通过 OSINT(开源情报)工具(如 theHarvester)收集员工信息、组织架构或密码字典。

      • 邮箱攻击:测试 intelligence.htb 域名是否存在开放的 SMTP Relay 漏洞,用于发送钓鱼邮件或伪造内部邮件。

    3. 技术栈

      • 协议:SMTP(邮件服务)、HTTP(社交媒体链接)。

      • 工具:theHarvester、Maltego、SMTP 扫描工具(如 swaks)。

      • 安全角度:暴露的联系信息为社交工程攻击提供了素材。SMTP Relay 漏洞(CWE-287)可能导致未经授权的邮件发送。

  1. ️ HTTP TRACE 方法开启

    1. 发现:Nmap 扫描显示 80 端口支持 TRACE 方法。

    2. 利用点

      • 跨站点追踪攻击(XST):结合 JavaScript 发送 TRACE 请求,捕获 HTTP 头部中的敏感信息(如 Cookie),可能导致会话劫持。

    3. 技术栈

      • 协议:HTTP(TRACE 方法)。

      • 工具:cURL、Burp Suite Repeater。

      • 安全角度:TRACE 方法未禁用(CWE-693)可能导致 XST 攻击,结合 XSS 可窃取用户 Cookie,危害较大。

  1. 旧框架与组件漏洞

    1. 发现:页面使用了 jQuery(jquery.min.js)、Bootstrap(bootstrap.bundle.min.js)和 jquery.easing.min.js,版本未知但可能较旧。

    2. 利用点

      • 已知漏洞:检查 jQuery 版本是否受 CVE-2020-11022/11023(DOM XSS)影响,或 Bootstrap 是否受 CVE-2018-14041/2019-8331(XSS)影响。

      • DOM XSS:分析 scripts.js 是否存在不安全的 DOM 操作(如 innerHTML 拼接用户输入)。

    3. 技术栈

      • 技术:JavaScript、Bootstrap 框架。

      • 工具:Retire.js(检测旧版本)、Burp Suite、浏览器开发者工具。

      • 安全角度:使用未更新的第三方库(CWE-937)是常见漏洞,易被公开 PoC 利用。

  1. ✍️ 输入点分析

    1. 发现:页面包含一个 的订阅表单,但无明确 action 地址,可能通过 AJAX 提交。

    2. 利用点

      • 隐藏接口探测:检查 scripts.js 或抓包寻找 AJAX 请求的目标 URL(如 /subscribe/api/submit)。

      • 注入测试:测试 XSS、SQL 注入或文件上传漏洞。

    3. 技术栈

      • 协议:HTTP/HTTPS(AJAX 请求)。

      • 工具:Burp Suite、Dirsearch、Gobuster。

      • 安全角度:未正确配置的表单可能导致 XSS(CWE-79)或 SQL 注入(CWE-89),隐藏接口可能暴露未保护的 API。

  1. ⏰ 时间信息

    1. 发现:页面底部显示 © Intelligence 2021,PDF 文件名集中在 2020-2021 年。

    2. 利用点

      • 系统未维护推测:长时间未更新的系统可能存在未修补的漏洞(如 IIS、SMB 服务漏洞)。

    3. 技术栈

      • 技术:Web 服务器(可能为 IIS,需进一步确认)。

      • 工具:Nmap、Metasploit。

      • 安全角度:未及时更新的系统可能存在已知漏洞(CWE-829),如 EternalBlue(SMB)或 IIS 漏洞。


2. 敏感文件读取的信息收集分析

敏感文件读取利用了源码中暴露的 /documents/ 目录和可预测的文件命名规律(YYYY-MM-DD-upload.pdf),通过批量下载和分析 PDF 文件,提取关键信息(如默认密码)。以下是前后关联的分析和细化步骤。

前后分析

  • 前期发现

    • 源码暴露了 /documents/ 目录,包含 2020-01-01-upload.pdf2020-12-15-upload.pdf

    • 文件名遵循日期命名规律,暗示可能存在更多类似文件。

    • 目录索引未启用,但文件可直接通过 URL 访问。

  • 利用过程

    • 利用命名规律,编写 Bash 脚本批量下载 PDF 文件。

    • 使用 exiftool 提取元数据,生成用户列表。

    • 使用 pdftotext 转换为文本,筛选敏感信息(如 New Account GuideInternal IT Update)。

    • 2020-06-04-upload.txt 获取默认密码 NewIntelligenceCorpUser9876

  • 后续利用

    • 使用 kerbrute 结合用户列表和默认密码进行凭据喷洒(Password Spraying),尝试登录 Kerberos 或其他服务。

    • 分析 Internal IT Update 提到的服务账户和脚本,推测可能存在弱口令或未锁定的服务账户。

️ 细化步骤与网络安全分析

  1. 批量下载 PDF 文件

    1. 步骤

      • 编写 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、用户名或其他敏感信息。

    1. 提取元数据

      1. 步骤

        • 使用 exiftool 提取 PDF 元数据,生成用户列表:

           

          exiftool -Creator -csv *pdf | cut -d, -f2 | sort | uniq > userlist

        • 技术栈

          • 工具:exiftool(PDF 元数据分析)。

        • 安全角度

          • PDF 元数据可能包含作者名、创建工具或路径信息(CWE-200),泄露内部用户或系统信息。

          • 未清理元数据是常见的安全疏忽。

        • 红队视角

          • 元数据中的用户名可用于后续凭据喷洒或社交工程。

          • 检查是否包含软件版本信息,推测系统环境。

      1. 转换为文本

        1. 步骤

          • 使用 pdftotext 将 PDF 转换为文本:

             

            for f in *pdf; do pdftotext $f; done

          • 技术栈

            • 工具:pdftotext(poppler-utils 套件)。

          • 安全角度

            • PDF 文件可能包含未加密的敏感信息(如密码、内部通知)。

            • 未限制访问的文件服务器可能导致信息泄露(CWE-552)。

          • 红队视角

            • 快速将批量文件转换为可搜索格式,便于筛选关键信息。

            • 检查文本是否包含配置文件、凭据或内部流程。

        1. 筛选敏感信息

          1. 步骤

            • 使用 head 查看每个文本文件首行,快速定位敏感文件:

               

              head -n1 *txt

              • 手动检查 2020-06-04-upload.txt2020-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 登录尝试。

                • 服务账户信息提示可能存在弱口令或未锁定的账户。

            1. 凭据喷洒

              1. 步骤

                • 使用 kerbrute 结合用户列表和默认密码进行凭据喷洒:

                   

                  kerbrute passwordspray -d intelligence.htb userlist NewIntelligenceCorpUser9876

                • 技术栈

                  • 协议:Kerberos(端口 88,可能用于身份验证)。

                  • 工具:kerbrute。

                • 安全角度

                  • 默认密码未强制更改(CWE-521)可能导致账户被攻破。

                  • Kerberos 未配置锁定策略可能允许暴力破解。

                • 红队视角

                  • 快速验证凭据有效性,获取初始访问权限。

                  • 结合 Internal IT Update 信息,优先测试服务账户。


              3. 信息收集的前后关联与技术栈

              前后关联分析

              1. 前期(源码分析)

                1. 暴露信息/documents/ 目录、PDF 文件名规律、旧框架(jQuery/Bootstrap)、TRACE 方法、联系信息、未定义的表单。

                2. 作用:提供初始攻击面,揭示文件服务器、可疑接口和潜在漏洞。

                3. 技术栈:HTTP 协议、JavaScript、Web 服务器(可能 IIS)、第三方库(jQuery、Bootstrap)。

              1. 中期(敏感文件读取)

                1. 利用前期信息:基于文件命名规律批量下载 PDF,提取元数据和内容。

                2. 成果:获取默认密码 NewIntelligenceCorpUser9876 和内部 IT 信息。

                3. 技术栈:HTTP(文件下载)、Bash 脚本、exiftool、pdftotext、Kerberos 协议。

              1. 后期(凭据利用)

                1. 利用成果:使用默认密码和用户列表进行 Kerberos 凭据喷洒,尝试获取系统访问权限。

                2. 技术栈: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)。


              4. 全局总结

              从红队视角看,本次信息收集通过源码分析和敏感文件读取,成功从静态资源目录暴露、文件命名规律、元数据提取到默认密码获取,构建了一条完整的初始攻击路径。关键发现包括:

              • 信息泄露/documents/ 目录暴露了可预测命名的 PDF 文件,包含默认密码和内部通知。

              • 漏洞利用:TRACE 方法、旧框架版本和潜在的上传接口为后续攻击提供了可能性。

              • 凭据获取:默认密码 NewIntelligenceCorpUser9876 可用于 Kerberos 喷洒,获取系统访问权限。

              • 技术栈:结合 HTTP、Kerberos 协议和多种工具,高效收集和利用信息。


              ⚔️ 5. 攻击技术链

              以下是从源码分析到初始访问的攻击链,基于红队视角:

              1. 信息收集(Web 源码分析)

                1. 访问目标网站,分析 HTML 和 JavaScript,识别 /documents/ 目录和文件命名规律。

                2. 检查 TRACE 方法、旧框架版本(jQuery/Bootstrap)和联系信息。

              1. 目录与文件枚举

                1. 使用 DirBuster 或 Gobuster 探测 /documents/ 下的隐藏文件。

                2. 利用命名规律(YYYY-MM-DD-upload.pdf)批量下载 PDF 文件。

              1. 敏感信息提取

                1. 使用 exiftool 提取 PDF 元数据,生成用户列表。

                2. 使用 pdftotext 转换为文本,筛选出 New Account GuideInternal IT Update

              1. 凭据获取

                1. 2020-06-04-upload.txt 获取默认密码 NewIntelligenceCorpUser9876

                2. 使用 kerbrute 结合用户列表进行凭据喷洒,尝试 Kerberos 登录。

              1. 初始访问

                1. 使用有效凭据登录 Kerberos、RDP 或其他服务,获取系统访问权限。

                2. 利用 Internal IT Update 信息,探测服务账户或脚本漏洞。

              1. 后续利用(可选)

                1. 测试 TRACE 方法进行 XST 攻击,窃取 Cookie。

                2. 利用 jQuery/Bootstrap 漏洞尝试 DOM XSS。

                3. 探测隐藏 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" } } }

              你可能感兴趣的:(信息收集,学习,网络安全,安全,系统安全,web安全,安全架构,网络攻击模型)