最近这场大型的攻防游戏终于落幕,作为参与的红方团队,有感于游戏几周期间的所见所闻,在此对整场游戏做一个回顾与总结,同时从红方的角度对红蓝双方提出相应的建议。

一、总结与感想

游戏模式其实相对已经算比较激进,这类活动比起传统的渗透测试要更贴近实战,更类似红蓝对抗,对于企业的安全能力提升会有很大帮助。但游戏与红队评估又有明显的区别,红队测试中是不会通知蓝队进攻时间的,对蓝队的检测能力要求更高。本次游戏则是在蓝队高度监控下进行的,这对红队的技术能力要求更高,对于蓝队而言,除了检测能力外,应急处置能力也非常重要,否则就会出现监控疯狂报警,但不知道如何处置的尴尬局面。

从结果来看,攻击队伍主要可以分为两类:一类是大量攻击web服务得分的,这类队伍有很强的web攻击能力,能够绕过各大厂商的WAF攻击开放在互联网上的web服务,进入内网后也会从内网web服务入手进行攻击,这类队伍有可能会被蜜罐系统捕捉,队伍成员一般多从事渗透测试类工作;另一类则是精于内网隐蔽渗透的,这类队伍会抓住每一个进入内网的机会,在内网进行非常谨慎而隐蔽的横向移动,很难被流量检测设备或态势感知系统检测到,至于蜜罐之类的系统对这类队伍几乎无用,队伍成员多从事红队测试之类的工作。

虽然从攻击方的角度,我们在不停的吐槽防守方的封IP策略,但是从游戏规则来看,这也是不得已而为之,换做我们自己来做防守方,这也是一个行之有效的方案。只不过跳出游戏来看,不管是封IP还是临时关闭某些不重要的业务系统,对于自身的安全检测和防护能力并没有实质上的提升,等游戏结束后,又会恢复到弱不禁风的状态。

要从根本上提高安全防护的能力,还得平时多下功夫。在业务系统开发时就引入SDL,系统上线后需要进行渗透测试,同时最好引入白盒代码审计,从以往经验来看,白盒测试能够发现很多黑盒测试不能涉及到的安全隐患和漏洞。除了对业务系统的单点安全建设,对于整个企业也需要建立完善的检测和响应体系,引入SIEM之类系统,对所有安全相关的行为与事件做到可查看、可溯源。最后,对于企业整体安全体系评估则需要引入红队测试,来具体测试整个安全体系的检测能力和响应能力。

二、给攻击方的建议

从攻击方的角度来参与这个游戏,主要考虑的就是如何在短时间内高效率的得分。说白了,就是在最短的时间挑到最软的柿子,然后一定要捏爆它。这涉及到两个方面,一是目标信息收集,二是根据收集到的信息研判哪些是容易捏的软柿子。

目标信息收集

为了高效率的研判哪些目标可能是软柿子,我们把要收集的信息总结分为四类:靶心系统定位,IP信息收集,办公网络信息,远程办公系统。

  1. 靶心系统定位

靶心系统是关键得分点,如果一个目标花了大量时间进攻却没有拿到靶心系统的话是很得不偿失的。所以一定要在攻击前就研判好靶心系统的情况。主要关注以下几点:

  • 靶心系统是web系统还是其他服务

web系统相对有成熟的攻防技术,对于攻击方来讲更熟悉,非web系统可能要花费更多的研究时间。

  • 是否对互联网开放访问

对互联网开放访问的系统,可能找到管理登陆口弱口令一波就结束。如果靶心系统未对外网开放,那就意味着难度增加,需要进行内网渗透。

  • 靶心系统处于目标内网或是托管在第三方云

这个需要结合自身技术长处分析,如果硬刚正面不虚的话,处于第三方云的服务更好打,如果是擅长内网渗透的队伍,那处于内网的靶心系统更好得分。

  1. IP信息收集

目标所用的IP段是否可以在APNIC上查到是非常关键的信息,因为如果涉及到内网渗透,就得确定所攻击的系统是处于内网中。非目标IP段的系统可能都是托管,就算打下来也进不了内网,没多大意义。

以三星为例,可以在APNIC上查到大量属于三星的IP地址段,重点关注这些段内的服务即可。

    inetnum: 202.20.128.0- 202.20.255.255netname: SAMSUNGSDSdescr: SamsungSDSInc.country: KRinetnum: 166.103.0.0- 166.103.255.255netname: SAMSUNGSDSdescr: SamsungSDSInc.country: KR
    1. 办公网络信息

    这主要是研判目标办公网络类型,包括员工办公机器操作系统是否windows,是否存在域,如果能确定是工作组那就算了吧,工作组渗透太费时间,不如换个目标。这个信息有时候能够从目标系统开放的服务中看出来,有些对外开放的email就是exchange,那就确定里面是存在域的,还有一些web系统上集成了ad域登录,也能做判断。

    1. 远程办公系统

    远程办公系统主要是指OA系统、VPN、云桌面(华为云、Citrix等)、email、堡垒机等等,这类系统如果没有二次验证,可以用爆破的手段试一试,一般进去了直接就在内网。另外在获取到了员工的登录凭证后,这类系统可以作为一个正向的入口,一般很难被发现。

    如何挑软柿子

    结合我们自身的经验,我们把具备如下特点的目标判断为软柿子:

    • 靶心系统对外网开放

    • 办公网络为AD域

    • 重要系统登陆口没有二次验证

    • 分公司很多,和集团总部相同,办公网络可能是林结构

    • 对外开放vpn、citrix之类登陆口

    • 办公网段存在对外开放的web系统

    当然不同团队的技术特长都不一样,需要根据自身的技术能力来判断,上述只作为参考。

    三、给防守方的建议

    由于笔者没有从事过甲方安全相关工作,所以仅能从攻击方角度提出一些能够加大攻击难度的建议,不一定成熟,各位甲方大佬也就做个参考。

    边界部署防御设备

    这个目前各大公司都已经上了各类WAF、流量检测设备以及防火墙,所以算是老生常谈,不做过多解释。

    终端检测和防御

    • 安全软件

    目前国内企业对于终端防御主要依赖安全软件,大多使用的是某数字的产品,但实际效果只能算差强人意,可以拦截一部分攻击者,对于高水平的红队并没有什么作用。同时装两个效果会更好点,我们这次遇见的目标就有数字卫士+国外杀毒软件,对我们还是造成了一定的影响(但实际上没什么卵用)。

    另外有一点就是对于安全软件的主控端要注意防护,国内某安全软件的推送功能对推送文件没有任何检验,可以直接推送恶意软件,使用这个功能可以直接打穿内网。之前也爆出过赛门铁克管理端远程代码执行之类的漏洞,一定要多加注意,不要因为安全软件自身导致内网被渗透。

    • 横向移动检测与阻止

    这个目前安全软件能检测和阻止一部分,但是不全面,而且新的攻击方法总在不停出现。总体而言需要重点关注危险端口的访问,以及新启动进程的父子关系。横向移动就那几个主要的方法,新进程的父进程都会特属于某几个进程,重点关注是能检测出来绝大部分的,不过这需要蓝队对攻击方法有一定的了解。

    PS:红队很多使用cs做内网渗透,而cs里面大量依赖powershell做横向移动,对于确定不用powershell的服务器或个人机,可以禁止powershell运行。

    • 安全日志分析

    这个前提是企业内部已经有SIEM系统,要重点分析一些红队所使用的横向移动技术会触发的安全日志或应用日志,另外还要关注敏感账户的登录和变更日志,敏感用户的任何异常行为都不要放过。

    • 进程白名单

    这个需要对业务系统非常熟悉,才能确定业务服务器上的白名单程序列表,稍有不慎会导致业务系统不可用。不过这招对红队杀伤力很大,如果红队贸然在服务器上运行了白名单之外的程序,蓝队利用日志分析系统能很快定位出被攻破的服务器。

    安全意识培训

    这个主要是针对员工进行安全意识培训,最好结合实际钓鱼或者水坑演示案例,加深员工对社会工程学攻击的理解。而且需要定期重复培训,我们对不少进行过安全培训的企业进行社工测试仍然可以成功。

    双因素认证

    双因素认证能够有效的防御密码暴力破解,同时就算员工的密码是弱口令或者被撞库成功,红队也无法成功登录,这能在很大程度上影响红队的进攻脚步。重要的业务系统、远程办公系统(vpn、远程桌面、OA等)、堡垒机、单点登录认证系统等都应该加上双因素认证。

    态势感知

    我们不太清楚这个东西的原理和用途,所以暂不做评价。但是,据被我们攻击的目标说我们是在N个不同厂家的泰式感知系统眼皮底下把他们打穿了...

    四、文末彩蛋

    不知道还有多少人记得那篇“XX第一天蓝方总结...”的文章。没错,文章是我们写的。

    声明:本文来自孟极实验室,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。