域渗透之treenhorn
字数 990 2025-08-29 22:41:01
域渗透之TreeHorn渗透测试详细教学文档
1. 信息收集阶段
1.1 端口扫描
使用nmap进行初始端口探测:
nmap -sV -T4 <目标IP>
发现开放端口:
- 22端口:SSH服务
- 80端口:HTTP服务
- 3000端口:GitLab服务
1.2 Web服务识别
访问80端口发现:
- 使用Pluck CMS框架,版本4.7.18
- 尝试常见弱口令未果
访问3000端口发现:
- GitLab服务运行中
- 存在/data目录暴露
2. 漏洞利用阶段
2.1 敏感信息泄露
在GitLab的/data目录中发现:
- 源代码泄露
- 数据库文件泄露
- 包含加密密码
2.2 密码解密
从泄露数据中提取加密密码,成功解密获得:
密码:iloveyou1
3. 初始访问获取
3.1 GitLab登录
使用解密密码成功登录GitLab
3.2 命令执行漏洞利用
- 搜索GitLab相关漏洞,发现命令执行漏洞
- 编写PHP木马文件
- 通过漏洞上传PHP文件
- 成功获取Webshell
3.3 反弹Shell
- 通过Webshell上传反弹Shell脚本
- 执行脚本获取反向连接
- 成功获取交互式Shell
4. 权限提升阶段
4.1 内网信息收集
- 使用
su命令切换用户 - 发现敏感PDF文件
- 发现密码重置后的新密码
4.2 Depix工具使用
- 获取包含密码的图像
- 使用Depix工具恢复密码
- 成功获取账号密码组合:
sidefromsidetheothersidesidefromsidetheothersid
4.3 获取Root权限
- 使用恢复的凭证切换用户
- 利用本地提权漏洞
- 成功获取root权限
5. 关键工具与技术总结
- Nmap:用于初始端口扫描和服务识别
- GitLab漏洞利用:针对特定版本的命令执行漏洞
- PHP WebShell:用于建立初始立足点
- 反弹Shell技术:获取交互式会话
- Depix工具:用于从像素化图像恢复密码
- 本地提权技术:最终获取root权限
6. 防御建议
-
GitLab安全:
- 及时更新GitLab到最新版本
- 限制/data目录的公开访问
- 使用强密码策略
-
密码管理:
- 避免在源代码中存储密码
- 使用强加密算法存储密码
- 定期更换密码
-
系统加固:
- 限制不必要的端口开放
- 实施严格的权限控制
- 监控异常登录行为
-
敏感信息保护:
- 避免在图像中暴露敏感信息
- 即使像素化处理也不安全
- 使用专业的信息擦除工具
本渗透测试展示了从外部侦察到获取root权限的完整过程,强调了信息泄露和弱密码带来的风险,以及及时修补已知漏洞的重要性。