渗透测试实战案例分析与技术总结
1. 目标发现与初步侦察
-
目标发现途径:
- 使用FOFA搜索引擎发现目标系统
- 通过标题识别出XXCMS系统
-
备份文件泄露:
- 发现网站备份文件存放在主目录下
- 备份文件命名格式:
域名.tar.gz - 通过备份文件获取源码和数据库凭据
2. CMS漏洞利用
2.1 DedeCMS 5.7漏洞利用
-
绝对路径泄露漏洞:
- 利用DedeCMS已知漏洞获取网站绝对路径
- 通过历史文件名+后缀获取备份文件
-
后台管理发现:
- 发现特殊命名的后台目录:`@)!^hssjORG
\[$` - 通过SQL备份获取admin账号密码(MD5加密) 3. **phpMyAdmin利用**: - 发现phpMyAdmin管理界面 - 获取数据库root权限 - 尝试通过MySQL日志getshell(被宝塔拦截) ## 3. 权限提升技术 1. **数据库修改密码**: - 直接修改管理员密码进入后台 - 通过后台文件管理功能上传Webshell 2. **绕过disable_functions限制**: - 常见绕过技术: - 常规函数绕过:exec, shell_exec, system, passthru, popen, proc_open - LD_PRELOAD环境变量绕过:mail, imap_mail, error_log, mb_send_mail - pcntl_exec绕过 - imap_open任意命令执行(CVE-2018-19518) - Windows COM组件绕过 - Apache+mod_cgi+.htaccess绕过 - ImageMagick漏洞绕过 - PHP7.4 FFI绕过 - ShellShock绕过(CVE-2014-6271) - 使用蚁剑插件绕过限制 3. **跨站点利用**: - 发现同一服务器上运行PHP7的站点 - 通过PHP7站点绕过disable_functions ## 4. 提权与后渗透 1. **提权尝试**: - 尝试编译提权工具遇到问题 - 可能原因:目标系统缺少依赖库 - 建议解决方案:本地静态编译后上传 2. **提权建议**: - 使用sudo相关exp提权 - 避免在目标机器上编译,应在本地编译后上传 - 检查内核版本选择合适提权方式 ## 5. 安全建议与防御措施 1. **网站管理员建议**: - 不要将备份文件存放在web目录 - 使用随机、复杂的后台目录名称 - 及时更新CMS系统和插件 - 限制数据库外链访问 - 合理配置disable_functions 2. **渗透测试注意事项**: - 确保获得授权后再进行测试 - 避免直接修改密码,可考虑添加管理员 - 谨慎处理获取的敏感信息 ## 6. 技术总结与学习要点 1. **渗透测试流程**: - 信息收集 → 漏洞发现 → 漏洞利用 → 权限提升 → 后渗透 2. **关键学习点**: - 备份文件泄露是常见高危漏洞 - 同一服务器多站点存在横向渗透风险 - 不同PHP版本绕过技术差异 - 提权前应充分了解目标环境 3. **工具与资源**: - FOFA搜索引擎 - 蚁剑及其插件 - 各种绕过disable_functions技术 - 内核提权exp集合 本案例展示了从信息收集到最终提权的完整渗透测试流程,强调了备份文件安全、CMS漏洞利用、权限绕过和提权技术等关键知识点,同时也提醒了渗透测试的合法授权问题。\]