大家好,我是ABC_123。一年一度的网络安全大考终于告一段落,在以往的蓝队防护里面,记了很多笔记,画了一很大很大的思维导图,有一些经验和心得还是值得总结的。
攻击队为了拿到更好的名次,会在比赛前期屯一些0day漏洞。根据以往的经验,在攻防比赛前一个月,都会有各种关于0day漏洞的传闻,这时候要仔细甄别,多方打听求证,很多都是以讹传讹的假消息。而我们作为防守方,在打听漏洞信息的时候,应该重点关心自己的系统是否存在0day漏洞、0day漏洞消息是否属实,而不是非得一味地去追问漏洞细节详情,这无疑给对方送为难,而且还可能得到一个虚假消息回复。
在前期收到有关某终端EDR存在0day漏洞的消息后,经过多方核实确认了消息是真的。针对该0day漏洞的防御,我们决定采取异构防护的方式。这里所指的异构防护并非针对EDR终端,而是针对EDR服务端,原因是0day漏洞是针对EDR的服务端的。在内网中几个EDR服务端上,我们额外安装了一种不同的品牌防护软件,以增强整体安全性。此外,我们还从攻击队得知,某视频会议系统存在0day漏洞。由于该系统在公司内部被广泛使用且无法立即下线,我们针对其几台负载服务器进行了加固。在Java应用上部署了RASP防护,并对该系统实施了重点监控。最终,在攻防比赛中,该视频会议系统经过一段时间的攻击流量峰值后,未被成功攻破。
在每次红队攻击中,攻击队用的最多的漏洞大致是Java反序列化漏洞。该类型的漏洞可以直接打内存马,而且无文件落地,通信流量可以经过多层加密,往往能够成为安全设备的检测盲区。由于java反序列化漏洞的这些特性,使得其成为攻击者重点研究的技术。对于java反序列化漏洞,攻击者在探测漏洞是否存在的前期阶段,通常会借助DNSlog来判断。因此可以提前整理一份dnslog黑名单域名列表,将其加入各个安全设备的策略中。
同时对主要的java应用开启了RASP防护。经验证明,RASP防护可能是在实战防护中,防护0day漏洞及java内存马真正有效的方法,也是最后一道屏障。缺点是很多RASP告警不可避免是正常的Java业务功能,现场需要高级蓝队人员对RASP的告警进行代码层面的分析与研判,如果蓝队人员的java代码功底不足,达不到对其的研判。
高强度封禁IP是蓝队防守工作中最有效的措施之一。攻击者的时间和精力也是相对有限的,在有限的几周时间内,迫使攻击队放弃当前高频度封禁IP的目标,转而攻击其它更容易突破的“软柿子”。尽管攻击队可能会用代理池,但是商用代理池价格昂贵,而且多线程扫描时易出现不稳定的情况导致漏洞的误报或者漏报。
同时还可以在外网放置一些蜜罐设备,或者在外网可以放置一个VPN设备作为蜜罐,任何尝试访问的IP都会被立即封禁。但需要注意的是,在外网部署蜜罐一定要注意配置好隔离策略,避免因蜜罐防护不足而被攻击者利用,从而突破边界导致单位被打穿出局,以往也有单位因为外网蜜罐配置问题被攻破的案例。
此外,对封禁IP的安全设备进行定期测试至关重要。一些安全设备会在内部维护一个黑名单IP列表,超过一定数量或者IP数量达到上限,可能会导致部分黑名单 IP不明原因放行。因此,需定期验证封禁效果,确保设备封禁IP功能符合预期。
如果防守目标是省级单位或地方的微信公众号、小程序等,可以分析其近一两个月的访问 IP 分布。若访问集中在本地用户,完全可以封禁该省以外的 IP 地址,从而进一步减少外部攻击的可能性。
为了降低攻击面,外网中无用的资产应尽快下线,这一措施能够有效减少暴露的风险点。在前期红队评估工作中,重点关注那些曾被攻击队攻陷的系统或获取源码的系统。因为红队人员可能已经掌握了这些系统的关键上传接口或 Java 反序列化入口等信息,这些都可能成为下一次比赛中的突破口。此外,对于外网允许直接注册账号的系统,也需加强关注,这类系统在用户登录后可能暴露较多的后台业务功能,其存在漏洞的风险相对更高。
在防守现场,有一个值得借鉴的经验:通过投屏的方式,将关键的安全设备的实时监控画面投放出来,方便现场所有工作人员查看最新的攻击动态、流量情况和告警信息。如果投放画面中出现流量峰值,可以迅速引起大家的注意。如果攻击流量集中在少数几个域名或IP地址上,通常表明这些资产是外网的薄弱环节,已成为攻击者重点关注的目标。此时,可安排现场经验丰富的高级蓝队人员(最好有过红队经验)登录相关服务器,检查其中的应用安全状况,重点排查是否存在压缩包备份文件、敏感目录等可能暴露给外网的高风险问题,如果目标站是对外提供各种功能服务的java站、php站、.net站,就需要进行重点关注。
在一次防守过程中,我们发现某个外网域名突然出现流量峰值,而该站点是必须开放的业务,没有办法下线。随即蓝队技术人员登录服务器及负载站排查,发现是一个对外提供下载服务的站点,站点内容主要为HTML和静态JS文件,安全风险较低。攻击流量持续半天之后,流量逐步恢复正常,说明攻击者放弃攻击尝试,没有找到漏洞利用点。
此外,可以安排专人每日对高危域名的流量进行详细审查,并使用专用设备对可能隐藏内存马的静态资源文件(如 .css、.js、.png、.ico 等)进行重点监控,统计它们的访问量是否异常增加。为了确保所有流量出口都在监控范围内,需要对流量监控设备进行了全面配置,确保能够抓取所有出口流量,并在前期通过测试及时发现和补充可能的监控盲区。
1. 后续ABC_123会继续分享蓝队防守经验,包括SOC、钓鱼邮件、API接口、蜜罐部署、零信任等,敬请期待。
公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。
Contact me: 0day123abc#gmail.com
(replace # with @)