记一次安服仔薅洞实战(lucky)
字数 3439 2025-10-01 14:05:44

记一次安服仔薅薅洞实战(lucky)—— 渗透测试教学复盘

文档概述

本文档基于一次真实的安服(安全服务)渗透测试经历,详细剖析了针对一个特定 .NET/ASPX 架构系统的完整攻击链。攻击者通过信息收集、漏洞发现、利用和权限提升,最终成功获取系统权限。本文旨在作为教学材料,复现攻击思路与关键技术点。


一、 信息收集 (Information Gathering)

核心目标: 快速定位并筛选出可能存在漏洞的、易攻击的目标。

  1. FOFA 搜索引擎高级语法利用:
    • 使用语法: title="区域" && body="平台" && country="CN" && region!="HK" && region!="MO"
    • 语法解析:
      • title="区域" && body="平台":精准搜索网页标题和正文中包含特定关键词的站点,这类站点很可能是管理后台或业务平台。
      • country="CN":将目标范围限定在中国境内。
      • region!="HK" && region!="MO":排除香港和澳门地区,进一步精确目标范围,并有效屏蔽大量无关的博彩、色情等干扰网站。
    • 策略价值: 这是一种高效的资产发现与筛选方法,能够快速从海量互联网资产中定位到“软柿子”。

二、 漏洞发现与利用 (Vulnerability Discovery & Exploitation)

攻击者对目标进行初步探测后,发现了一个典型的 .aspx 登入界面,并遵循了以下系统化的测试流程:

1. 前端代码审计 (F12 Developer Tools Analysis)

  • 操作: 打开浏览器开发者工具(F12),检查网页源码和网络请求。
  • 发现: 在源码或网络请求中发现了潜在的API接口路径(例如 /xxx/xxx.aspx)。
  • 后续操作: 直接访问发现的接口路径,尝试未授权访问。

2. 目录遍历漏洞 (Directory Traversal)

  • 发现过程: 访问接口路径未果后,利用 .NET 特性,尝试访问接口的上级目录(如将URL中的 /xxx/xxx.aspx 改为 /xxx/)。
  • 漏洞利用: 成功访问到上级目录后,发现了目录列表,其中包含一个名为 uploader 的目录,这强烈暗示了存在文件上传功能。
  • 关键技巧: 对于 .NET 站点,尝试回溯接口的上级目录是一种非常有效的发现手段,有时能直接访问到包含所有接口的管理器。

3. 未授权访问 (Unauthorized Access)

  • 发现过程: 在源码中发现了登录后才能访问的页面路径(如 /admin/main.aspx)。
  • 漏洞利用: 直接在前台浏览器中访问该后台页面路径。
  • 结果: 成功访问到后台界面,但功能操作受限。这类漏洞属于中低危,可获取部分敏感信息,但通常无法进行实质性操作。

4. 登入框漏洞 (Login Portal Vulnerabilities)

  • 测试项:
    • 弱口令爆破 (Password Brute-Force): 尝试常用弱口令(如 admin:123456)并成功登录。
    • 用户名枚举 (Username Enumeration): 通过输入错误用户名和密码时,系统返回的错误信息差异(如“用户名不存在” vs “密码错误”),可以推断出系统中存在的有效用户名。
    • 验证码绕过 (CAPTCHA Bypass): 发现验证码可被重复使用或无有效校验机制。
    • SQL注入 (SQL Injection): 测试了万能密码(如 ' or '1'='1)等Payload,但目标系统对此有防护,未果。
  • 成果: 通过弱口令爆破成功进入系统,收获弱口令漏洞

5. SQL注入漏洞 (SQL Injection)

  • 发现过程: 在登录后的系统内部,浏览各功能点,并通过Burp Suite等工具拦截功能请求(如查询、筛选、点击等触发的HTTP请求)。
  • 利用方法: 将拦截到的包含参数的请求(如 id=123keyword=test)直接保存为文件,使用 Sqlmap 进行自动化检测。
    • 命令示例: sqlmap -r request.txt --batch --level 3 --risk 3
  • 结果: 成功确认存在SQL注入点,为进一步的数据窃取提供了可能。

6. 文件上传漏洞 (File Upload Vulnerability)
这是本次渗透测试获得最高权限的关键。

  • 功能点定位: 在后台发现了一个“上传模板”或“下载模板”的功能。
  • 绕过技术:
    1. 文件类型检测绕过: 上传一个正常的 .xlsx Excel文件,拦截上传请求。
    2. 文件名修改: 在拦截的请求中,将 filename 参数的值修改为 Webshell 的扩展名,如 filename="shell.aspx"
    3. 文件内容检测绕过: 这是最关键的一步.xlsx 文件本质上是ZIP压缩包,具有特定的文件头(PK)。需要在修改文件扩展名的同时,在文件内容最前面保留原始的 PK 文件头,之后再将Webshell的恶意代码内容写入。这样可以欺骗服务端的文件类型检测逻辑。
  • 获取Webshell路径:
    • 上传成功后,服务器未直接返回文件存储路径。
    • 巧思: 利用网站本身的“下载模板”功能。通过浏览器开发者工具,“检查”或“复制”下载模板按钮的链接,即可得到模板文件的存储路径。因为上传的恶意文件替换了原始模板,所以该路径即是Webshell的访问地址。
  • 权限获取: 成功访问上传的 .aspx 文件路径,获取系统命令行执行权限(例如使用中国菜刀冰蝎(Behinder) 等Webshell管理工具连接)。

三、 攻击总结与知识提炼

阶段 技术点 使用工具/方法 成果/漏洞
信息收集 FOFA高级语法 FOFA 精准定位目标资产
漏洞发现 前端代码审计 浏览器F12 发现接口路径
目录遍历 手动URL修改 目录遍历漏洞
未授权访问 直接URL访问 中低危信息泄露
登入框测试 Burp Suite, 手动测试 弱口令、用户名枚举、验证码复用
漏洞利用 SQL注入 Sqlmap 数据库数据窃取
文件上传绕过 Burp Suite, 十六进制编辑器 获取Webshell(最高权限)
Webshell路径发现 浏览器F12(检查元素) 定位恶意文件地址
权限维持 Webshell连接 冰蝎、中国菜刀 服务器控制权

核心技巧回顾:

  1. .NET 特性利用: 牢记 .NET 站点的目录回溯特性(/path/),这常是发现宝藏的起点。
  2. 上传绕过精髓: 组合技——修改扩展名 + 保留合法文件头 = 有效绕过二进制内容检测。
  3. 路径推断: 当功能A(上传)和功能B(下载)操作同一对象时,通过功能B的输出可以反推功能A的输入结果。

四、 防御建议 (Defensive Recommendations)

  1. 输入验证与过滤: 对所有用户输入进行严格的校验和过滤,包括URL路径、文件名、表单参数等。
  2. 权限控制: 实施最小权限原则,前台页面和API接口必须进行有效的身份认证和授权校验,杜绝未授权访问。
  3. 强化口令策略: 强制使用复杂口令,启用双因素认证(2FA),并对登录失败进行限制和监控。
  4. 安全文件上传:
    • 对上传文件进行白名单校验(只允许特定的扩展名和MIME类型)。
    • 对文件内容进行二次渲染病毒扫描,而不仅仅是检查文件头。
    • 将上传的文件存储在Web根目录之外,并通过脚本代理访问,避免直接执行。
  5. 错误信息处理: 使用统一的、模糊的错误信息,避免泄露敏感信息(如“用户名不存在”)。
  6. 定期安全评估: 定期进行渗透测试和安全代码审计,主动发现潜在漏洞。

免责声明: 本文所有技术内容仅用于安全教育与防御技术研究,请勿用于非法用途。任何未经授权的网络攻击行为均属违法。

记一次安服仔薅薅洞实战(lucky)—— 渗透测试教学复盘 文档概述 本文档基于一次真实的安服(安全服务)渗透测试经历,详细剖析了针对一个特定 .NET / ASPX 架构系统的完整攻击链。攻击者通过信息收集、漏洞发现、利用和权限提升,最终成功获取系统权限。本文旨在作为教学材料,复现攻击思路与关键技术点。 一、 信息收集 (Information Gathering) 核心目标: 快速定位并筛选出可能存在漏洞的、易攻击的目标。 FOFA 搜索引擎高级语法利用: 使用语法: title="区域" && body="平台" && country="CN" && region!="HK" && region!="MO" 语法解析: title="区域" && body="平台" :精准搜索网页标题和正文中包含特定关键词的站点,这类站点很可能是管理后台或业务平台。 country="CN" :将目标范围限定在中国境内。 region!="HK" && region!="MO" :排除香港和澳门地区,进一步精确目标范围,并有效屏蔽大量无关的博彩、色情等干扰网站。 策略价值: 这是一种高效的资产发现与筛选方法,能够快速从海量互联网资产中定位到“软柿子”。 二、 漏洞发现与利用 (Vulnerability Discovery & Exploitation) 攻击者对目标进行初步探测后,发现了一个典型的 .aspx 登入界面,并遵循了以下系统化的测试流程: 1. 前端代码审计 (F12 Developer Tools Analysis) 操作: 打开浏览器开发者工具(F12),检查网页源码和网络请求。 发现: 在源码或网络请求中发现了潜在的API接口路径(例如 /xxx/xxx.aspx )。 后续操作: 直接访问发现的接口路径,尝试未授权访问。 2. 目录遍历漏洞 (Directory Traversal) 发现过程: 访问接口路径未果后,利用 .NET 特性,尝试访问接口的 上级目录 (如将URL中的 /xxx/xxx.aspx 改为 /xxx/ )。 漏洞利用: 成功访问到上级目录后,发现了目录列表,其中包含一个名为 uploader 的目录,这强烈暗示了存在文件上传功能。 关键技巧: 对于 .NET 站点,尝试回溯接口的上级目录是一种非常有效的发现手段,有时能直接访问到包含所有接口的管理器。 3. 未授权访问 (Unauthorized Access) 发现过程: 在源码中发现了登录后才能访问的页面路径(如 /admin/main.aspx )。 漏洞利用: 直接在前台浏览器中访问该后台页面路径。 结果: 成功访问到后台界面,但功能操作受限。这类漏洞属于 中低危 ,可获取部分敏感信息,但通常无法进行实质性操作。 4. 登入框漏洞 (Login Portal Vulnerabilities) 测试项: 弱口令爆破 (Password Brute-Force): 尝试常用弱口令(如 admin:123456 )并成功登录。 用户名枚举 (Username Enumeration): 通过输入错误用户名和密码时,系统返回的错误信息差异(如“用户名不存在” vs “密码错误”),可以推断出系统中存在的有效用户名。 验证码绕过 (CAPTCHA Bypass): 发现验证码可被重复使用或无有效校验机制。 SQL注入 (SQL Injection): 测试了万能密码(如 ' or '1'='1 )等Payload,但目标系统对此有防护,未果。 成果: 通过弱口令爆破成功进入系统,收获 弱口令漏洞 。 5. SQL注入漏洞 (SQL Injection) 发现过程: 在登录后的系统内部,浏览各功能点,并通过Burp Suite等工具拦截功能请求(如查询、筛选、点击等触发的HTTP请求)。 利用方法: 将拦截到的包含参数的请求(如 id=123 、 keyword=test )直接保存为文件,使用 Sqlmap 进行自动化检测。 命令示例: sqlmap -r request.txt --batch --level 3 --risk 3 结果: 成功确认存在SQL注入点,为进一步的数据窃取提供了可能。 6. 文件上传漏洞 (File Upload Vulnerability) 这是本次渗透测试获得最高权限的关键。 功能点定位: 在后台发现了一个“上传模板”或“下载模板”的功能。 绕过技术: 文件类型检测绕过: 上传一个正常的 .xlsx Excel文件,拦截上传请求。 文件名修改: 在拦截的请求中,将 filename 参数的值修改为 Webshell 的扩展名,如 filename="shell.aspx" 。 文件内容检测绕过: 这是 最关键的一步 。 .xlsx 文件本质上是ZIP压缩包,具有特定的文件头( PK )。需要在修改文件扩展名的同时,在文件内容 最前面保留原始的 PK 文件头 ,之后再将Webshell的恶意代码内容写入。这样可以欺骗服务端的文件类型检测逻辑。 获取Webshell路径: 上传成功后,服务器未直接返回文件存储路径。 巧思: 利用网站本身的“下载模板”功能。通过浏览器开发者工具,“检查”或“复制”下载模板按钮的链接,即可得到模板文件的存储路径。因为上传的恶意文件替换了原始模板,所以该路径即是Webshell的访问地址。 权限获取: 成功访问上传的 .aspx 文件路径,获取系统命令行执行权限(例如使用 中国菜刀 或 冰蝎(Behinder) 等Webshell管理工具连接)。 三、 攻击总结与知识提炼 | 阶段 | 技术点 | 使用工具/方法 | 成果/漏洞 | | :--- | :--- | :--- | :--- | | 信息收集 | FOFA高级语法 | FOFA | 精准定位目标资产 | | 漏洞发现 | 前端代码审计 | 浏览器F12 | 发现接口路径 | | | 目录遍历 | 手动URL修改 | 目录遍历漏洞 | | | 未授权访问 | 直接URL访问 | 中低危信息泄露 | | | 登入框测试 | Burp Suite, 手动测试 | 弱口令、用户名枚举、验证码复用 | | 漏洞利用 | SQL注入 | Sqlmap | 数据库数据窃取 | | | 文件上传绕过 | Burp Suite, 十六进制编辑器 | 获取Webshell(最高权限) | | | Webshell路径发现 | 浏览器F12(检查元素) | 定位恶意文件地址 | | 权限维持 | Webshell连接 | 冰蝎、中国菜刀 | 服务器控制权 | 核心技巧回顾: .NET 特性利用: 牢记 .NET 站点的目录回溯特性( /path/ ),这常是发现宝藏的起点。 上传绕过精髓: 组合技—— 修改扩展名 + 保留合法文件头 = 有效绕过二进制内容检测。 路径推断: 当功能A(上传)和功能B(下载)操作同一对象时,通过功能B的输出可以反推功能A的输入结果。 四、 防御建议 (Defensive Recommendations) 输入验证与过滤: 对所有用户输入进行严格的校验和过滤,包括URL路径、文件名、表单参数等。 权限控制: 实施最小权限原则,前台页面和API接口必须进行有效的身份认证和授权校验,杜绝未授权访问。 强化口令策略: 强制使用复杂口令,启用双因素认证(2FA),并对登录失败进行限制和监控。 安全文件上传: 对上传文件进行 白名单 校验(只允许特定的扩展名和MIME类型)。 对文件内容进行 二次渲染 或 病毒扫描 ,而不仅仅是检查文件头。 将上传的文件存储在Web根目录之外,并通过脚本代理访问,避免直接执行。 错误信息处理: 使用统一的、模糊的错误信息,避免泄露敏感信息(如“用户名不存在”)。 定期安全评估: 定期进行渗透测试和安全代码审计,主动发现潜在漏洞。 免责声明: 本文所有技术内容仅用于安全教育与防御技术研究,请勿用于非法用途。任何未经授权的网络攻击行为均属违法。