1. 外网打点从Web漏洞到初始立足点内网渗透的第一步往往是从外网找到突破口。这次我们模拟的场景是一个Java Web应用运行在192.168.16.195的Ruoyi框架上。实战中发现这个系统存在heapdump文件泄露漏洞攻击者可以直接下载内存快照文件。为什么heapdump这么危险这个文件相当于系统的记忆快照里面可能包含数据库连接字符串、加密密钥、会话令牌等敏感信息。我遇到过不少案例开发人员为了方便调试开启了heapdump功能但忘记删除测试环境中的调试接口。获取heapdump文件后使用JDumpSpider工具分析java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump.zip这个工具会自动扫描内存中的敏感数据比如我们找到了AES加密密钥w4Sosj/8O71RkNRiOrb9JA。有了这个密钥攻击者可以解密应用中的加密数据甚至伪造会话令牌。内存马注入实战通过哥斯拉工具上传内存马是最隐蔽的持久化方式之一。与传统webshell不同内存马只存在于进程内存中重启后消失但不会在磁盘留下痕迹。我在测试时发现即使系统安装了杀毒软件对内存马的检测效果也有限。2. 权限维持免杀木马与隐蔽通道拿到初始权限后下一步是建立稳定的控制通道。这里我们使用了一个经过特殊处理的360免杀木马web.exe。这个木马的特点包括使用非标准PE结构规避静态检测API调用采用动态加载方式通信流量模仿正常HTTPS免杀技巧实测分段加密payload运行时动态解密关键字符串使用堆栈动态构造调用合法系统进程进行内存注入木马上线后如果遇到哥斯拉无法执行命令的情况可以尝试通过Shiro反序列化漏洞进行利用。这里有个坑要注意新版Shiro修复了默认密钥的问题但如果系统使用了弱密钥仍然可以利用。3. 内网横向移动从边缘到核心进入内网后首要任务是获取域控权限。我们通过以下步骤逐步推进1. 权限提升getsystem这个命令尝试将权限提升到SYSTEM级别。在实际环境中可能需要配合其他提权漏洞使用。2. 信息收集net time /domain这个简单的命令可以确认当前网络是否域环境并显示域控的主机名。3. 端口扫描与口令爆破 使用内网扫描工具识别开放端口和服务。常见突破口包括445端口的SMB服务3389端口的RDP服务1433端口的SQL Server4. 流量转发 为了绕过网络隔离需要建立隧道。常用的方法有ICMP隧道DNS隧道HTTP/HTTPS隧道4. 对抗安全防护卡巴斯基绕过实战在内网中遇到卡巴斯基等安全软件时需要特别注意以下几点1. 行为规避避免直接调用敏感API执行命令时添加正常参数作为伪装控制执行频率模拟正常用户行为2. 工具选择 使用经过特殊处理的工具套件例如无文件攻击工具内存加载PE的工具合法管理工具包装的payload3. 痕迹清理定期清除日志使用临时账户操作避免在磁盘写入持久化文件在最近的一次测试中我们发现卡巴斯基对某些.NET程序的内存行为检测较弱。通过将关键操作封装在合法的.NET应用中成功绕过了实时监控。内网渗透就像一场猫鼠游戏攻击者需要不断调整策略。记得在一次项目中我们花了三天时间才找到合适的横向移动方法。关键是要保持耐心对每个环节都进行充分测试