前言
本文以一次经过完整授权的渗透测试项目为背景,演示从外部信息收集到最终获取域控制器权限的完整攻击路径。所有操作均在合法授权范围内进行,旨在帮助安全从业者理解攻击者的思维方式,从而更好地构建防御体系。请注意:未经授权对他人系统进行渗透测试属于违法行为。
信息收集阶段
被动信息收集
渗透测试的第一步是尽可能多地收集目标信息,且不与目标系统直接交互。我们使用的技术包括:WHOIS查询获取域名注册信息、DNS记录枚举发现子域名、搜索引擎语法(Google Dork)发现敏感文件、GitHub代码仓库搜索发现泄露的凭证与配置文件、以及LinkedIn等社交平台收集员工信息。通过被动收集,我们确定了目标的网络边界、技术栈与潜在攻击面。
主动扫描
在获得授权后,我们使用Nmap对目标网络进行端口扫描与服务识别。发现目标暴露了多个服务:Web应用(80/443端口)、SSH(22端口)、以及一个非标准端口上的管理后台。使用Nikto与Nuclei对Web应用进行漏洞扫描,发现了一个未修补的已知漏洞。
漏洞利用阶段
通过对发现的漏洞进行验证,我们确认Web应用存在一个SQL注入漏洞。利用SQLMap工具,我们成功提取了应用数据库中的管理员凭证(密码哈希)。使用Hashcat对密码哈希进行离线破解,成功恢复了管理员明文密码。利用该凭证登录管理后台后,发现文件上传功能存在绕过漏洞,成功上传WebShell获得了服务器的命令执行权限。
权限提升阶段
获得初始Shell后,我们发现当前用户权限为www-data(低权限)。通过Linux提权检查脚本(LinPEAS),发现系统存在一个SUID提权漏洞。利用该漏洞成功获取root权限后,我们在服务器上发现了连接内网数据库的凭证,进而通过SSH隧道进入内网环境,最终通过Kerberoasting攻击获取了域管理员权限。
关键发现与修复建议
- 及时修补Web应用的已知漏洞(SQL注入)
- 加强文件上传功能的安全校验
- 修复操作系统的本地提权漏洞
- 实施网络分段,限制从DMZ到内网的访问
- 加强Active Directory的安全配置
- 实施最小权限原则与特权账户管理
