第122篇:国hu攻防比赛蓝队防守经验总结(中篇)

 Part1 前言 

大家好,我是ABC_123。一年一度的大考即将来临,过去几年有幸参与过几家单位的主防工作,在与大家一起为期几周的蓝队防守中,有几次零失分的成功防守案例。在防守工作开展时,我习惯使用xmind记录每天的工作,于是最后画了一个非常非常大的思维导图。这两天我特地整理了当时的笔记,自我复盘学习的同时,也把经验分享给大家,希望对大家有所帮助。

注:"希潭实验室"公众号作为自媒体,会一直保持中立原则,未与任何公司绑定,在文章中也不会评论任何厂商的安全设备的好坏,所以关于设备的选择需要大家自己斟酌,适合自己的就是最好的。

 Part2 技术研究过程 

  • 熟悉网络拓扑梳理资产清单

在防守工作中,全面梳理所有流量出口至关重要,其实也就是梳理出了攻击者所有的可能入口。每一个对外通信的出口都必须部署流量监控设备,必要时要接入威胁情报系统用于实时封禁已知恶意IP,从而实现第一时间的告警与联动封锁,防止攻击者建立稳定通道或外传数据。同时,构建一份完整、准确的资产清单也是防守的基础。很多攻击场景下,蓝队人员无法第一时间还原攻击路径,往往是由于对甲方系统资产缺乏全局认知,导致错失最佳阻断时机。因此只有掌握清晰的资产拓扑,才能有效还原入侵路径、评估风险点、快速响应处置。

以银行系统为例,外联区、专网、测试区均可能成为红队的突破口,因此作为现场蓝队人员必须熟悉这些区域的架构与访问策略。红队人员一般不会把重点放在外联区上,因为路径复杂、收益不高,耗时耗力;除非外联区单位本身是攻防演练目标之一,才会考虑从外联区作为切入点,一举打通多个目标系统。此外,测试区往往是防护薄弱环节。在以往的实战案例中,有几家银行单位在攻防中测试区被突破,从而导致业务系统源代码泄露。一旦源代码落入红队代码审计组手中,便会被用于定向分析,挖掘未公开的 0day 漏洞,风险也很高。


  • 提升RASP的覆盖率

Java 反序列化漏洞目前是红队攻防比赛中最常见的0day攻击手段之一,尤其在金融、银行等以 Java 为主的业务系统中尤为突出,危害极大。由于Java反序列化漏洞的特性,攻击者可以构造各种加密混淆的payload绕过流量检测,甚至实现无文件落地、直接植入内存马,这使得传统的防护手段难以奏效。在去年的主防过程中,我首次真正体会到 RASP在应对这类攻击中的关键作用。原本认为 EDR、HIDS 等主机防护系统已经是最后一道防线,然而事实证明,只有深入到应用层的 RASP 才能在反序列化漏洞利用环节发挥“兜底式”防御的关键作用,可能是当前应对此类攻击的最后一道屏障了。所以在实际布防中,一定要提升RASP的覆盖率,包括内网环境中的java应用也要覆盖RASP,因为部分外网接口实际上是通过代理或转发调用内网 Java 应用,防守方往往难以及时掌握完整调用链。

RASP也不是万能的,也有固有的缺陷,因此需要多种防御手段结合,需要用其他方法解决:其中之一就是会有一些误报,ABC_123在作为高级蓝队时,处理RASP的误报成了我的工作之一,包括SQL注入误报、内存马误报、低版本的log4j2 jar包、shiro低版本等误报,但还好工作量在能接受之内。笔者在实战防御过程中,发现很多中间件底层的jar包中的class会被误报为Java内存马,我对告警文件也分析过,确实特别像冰蝎内存马的样式,但是经过分析,发现是正常业务功能,但这也为具备java漏洞分析能力的蓝队人员提供了价值发挥的空间,就需要懂java反序列化及内存马原理的高级蓝队专家进行研判;另一个问题就是RASP有时候会影响业务运行,在某些场景下可能对业务流程产生干扰,因此必须在上线前于测试环境中充分验证和适配。在我们实际布防中,除了个人网银和企业网银未启用RASP之外,其他子公司和业务系统基本实现了全覆盖,并没有出现太大问题。最终仅邮件系统出现了一些兼容性问题,具体表现为邮件附件打开出现乱码。经过与研发团队的协同排查与调优,成功解决了该问题,实现了稳定运行。所以不能一杆子打死,RASP影响到一两个应用就放弃部署了,不能非对即错。客户当时就是逐步在一些不太重要的业务系统上部署RASP,有了经验之后,再去对重要业务系统部署。


  • 警惕浏览器级别溢出漏洞0day

不得不说,现在的红队及攻防比赛越来越难打了,前几年经常可以看到一个人可以打一个团队甚至一个公司,现在越来越少见了。对于0day漏洞的挖掘,国内几家高水平的红队已经开始深挖系统底层(系统内核、虚拟化、网络协议栈等底层组件)的漏洞,比较出名的案例有各种浏览器级别的远程溢出0day漏洞、虚拟机逃逸0day、某VPN的某端口缓冲区溢出0day等等。对于浏览器级别的溢出漏洞,类似于传统的网马,对方发送一个URL链接,只要企业内部人员点开即可中招。对于这种0day攻击,我们没办法预知这些0day细节,因为这种级别的0day资源稀缺危害很大单价又太高,最好的解决办法还是保证不出网,从防御角度看,阻断内网出网是当前对抗此类 0day 攻击的最有效手段之一,“建议连 DNS 查询也实施严格出网控制,防止通过 DNS 隧道建立隐蔽通道。

  • 终端防护的服务端需要异构

注意,我说的服务端异构,不是客户端异构。在当前的攻防实战中,建议对 HIDS 与 EDR 的服务端实施异构部署,以降低因 0day 漏洞导致服务端被拿下权限,进而导致核心防护系统被“一锅端”的风险。从近年来的攻防趋势来看,许多红队采用的战术基本形成了固定套路:首先利用外网暴露系统的 0day 漏洞打穿边界防线,迅速植入内存马或代理工具,建立稳定的 C2 通道;随后深入内网,以集权系统(如集中管理的 AD、堡垒机、日志平台、终端防护服务端等)为目标发起横向渗透。一旦红队识别出内网所使用的终端防护产品(HIDS/EDR),便可能借助手中的相关 0day 漏洞精准打击其服务端,达成“擒贼先擒王”的目标。一旦防护中心失守,整个防御体系将迅速失效,导致单位在攻防演练中直接出局。


  • 攻防比赛前的预演练准备

在演习期间,应将红队渗透、钓鱼演练与防守工作同步推进,保持高警惕状态,随时检查安全设备是否具备有效的攻击阻断能力,例如是否成功封堵恶意 IP 并触发告警机制,封堵了攻击IP,防止因配置疏漏或设备异常导致安全事件发生却无法上报。同时,若发现设备封 IP 过于激进,可考虑为攻击队配置合理的白名单,避免其将资源浪费在绕过防护而非漏洞利用本身。在正式比赛开始前,我们也曾通过预检手段,意外发现某一安全设备存在 IP 黑名单容量限制,当达到上限后将自动轮换,造成黑名单策略的实际有效期仅为约 3 天。

进入 HW 实战阶段后,往往出现乙方具备应急响应能力,而甲方数据库或设备运维人员响应能力不足的情况。因此,防守团队应主动建立运维组、分析组、研判组、应急处置组之间的协作机制,并积极与甲方数据库运维、网络设备管理员等关键岗位人员建立沟通联动,确保响应闭环。在客户授权下,适当开展如 webshell 上传、Java 反序列化等模拟攻击,可用于锻炼防守团队各小组在监控、分析、研判、响应流程中的实战熟练度。

最后,演习结束后需要对每一次问题进行准确定性分析,识别是哪个环节(如告警监测、日志分析、权限控制、响应联动等)出现了短板,便于为领导提供明确的整改方向,推动整体安全体系优化。


  • 防范社工钓鱼的策略

在当前攻防环境中,禁止内网机器出网依然是防范社工钓鱼攻击非常有效的手段。这也是为何银行等金融行业中,红队评估时越来越难以通过社工钓鱼实现突破的核心原因——网络出入口被严格管控,即便攻击者成功诱导员工执行恶意附件,但由于严格的出网控制,回连通道难以建立,从而有效阻断了攻击链的后续阶段。为增强终端用户的防钓鱼意识,可通过每日的上午、下午定时电脑右下角弹窗提醒。

应定期组织钓鱼邮件演练,全面提升员工的防钓鱼意识。员工需警惕陌生人微信好友请求、可疑邮件链接与附件,尤其要防范以“招聘”、“投诉威胁”、“业务咨询”、“调查问卷”、“好友申请”、“业务咨询”为诱饵的社交钓鱼行为,如添加好友、填写问卷、扫描二维码等。严格要求不得使用非工作邮箱处理业务邮件,防止信息泄露。通过多次实战演练,大家的安全意识会极大地提升。

对于服务器中新建文件中包含敏感关键词(如‘薪酬’)或高危后缀(如 .exe)的行为,应配置重点告警策略;同时还需监控邮件客户端的异常行为,如同一 IP 登录多个账号等。借助 EDR 等终端监控系统实现即时发现与响应。收到疑似钓鱼邮件时,终端用户应第一时间上报,严禁私自打开查看,以确保风险事件得到及时处置。在策略层面不断优化检测规则并减少误报,才能在真实攻防中做到精准发现与有效拦截。

 Part3 总结 

1.  在实际防守工作中,随着时间推移,蓝队人员的精力体力是逐步下降,安全策略是逐步上升的,所以综合防御效果没有下降。

2.  文章未完,敬请期待。

图片

公众号专注于网络安全技术,包括安全咨询、APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,99%原创,敬请关注。

Contact me: 0day123abc#gmail.com

(replace # with @)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希潭实验室

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值