首发于小G奔腾

攻防对抗的思考(2)21分钟看懂网络攻防

(水平有限,欢迎拍砖。)

攻与防的对抗阶段

Pentest(渗透测试)与Redteam(红队),目前可分成两种不同的业务能力要求,应该有了普遍认知,其中的边界定义在每个人的心里都不太一样,下面我认可的并且比较简单的区别:

渗透测试的问题:我的基础架构能否被黑客入侵,如果可以,怎么做到?

渗透测试的目标:发现系统中的各种攻击路径。(攻击路径可认为是利用漏洞造成特定影响的行为方法)。


红队的问题:我准备好面对现实世界的攻击了吗?我能察觉到我什么时候被攻击吗?我能在它造成任何损害之前阻止它吗?

红队的目标:模拟、仿真各种类型的威胁,并测量事件检测和响应过程的效率。


越来越多的团队更倾向于走向红队模式,并把这个模式作为渗透测试团队的目标,一方面是更接近于现实攻击,另外一方面也从单点漏洞及风险(VA)的发现思路里走出来了,更加重视漏洞利用技术、攻击手法,换句话说,守方在重视的TTP,攻方也跟进了。

从这个角度讲,其实近几年的攻方是处于劣势的,选择跟进守方的思想进步,寻求突破。

(当然也有很多人认为拿权限不还是老样子那么做吗?虽然我也是年老的退役选手,这个观点不可否认有他的道理,但我认为思路决定出路,大量的思路共识是可以产生质变的,会让资源投入方向的决策改变,从而形成过去某些瓶颈点的质变。)

因此我一直也认为,招数和心法都不能落下,甚至拥有热爱的同志需要更关注心法,才能走向未来。


攻与防面临的问题和对抗思路

从防守方的角度来看,这些年的基本共识是:

1、可感

2、可控

3、业务优先

体系架构上,最科学有效的(个人认为)应该是3C体系模式:

(ref:developer.aliyun.com/ar,偷懒直接搬砖pix大佬的讲话)

  • 第一个“C”是Cloud,是云,做攻防,终端是不可信的,网络设备也是不可信的,任何一个能够做到别人手里的东西都是不可信的。所以你的逻辑,你的真正的判定,不能够落在敌人手里的东西上,应该在自己的智慧云里,游戏产业对此有很深刻的认识,游戏的反作弊和很多反欺诈,以及我们现在所讲的3C体系结构之间是共通的,就是要把这个逻辑放在云里面去做。


  • 第二个“C”是Content,是内容,当你设计一个安全产品的时候,应该尽可能的想这个产品如何让你的安全运维部门用最小的代价、最高效的去使用。如果你每加一个新功能,都需要去找你的开发部门去改代码,重新编译,发布一个新的内容,这个解决方案一定是一个非常昂贵的解决方案,一定要能够最大化的使你的安全的运维团队很迅速的去做可感和可控,Content是大势所趋。
  • 最后一个“C”是Context,是上下文,当有一个点有疑问的时候,你需要知道这个文件到底是怎么进来的,是异构进来还是WEB进来的,很多的软件会对机器上的文档进行加密,加密操作本身是合理合法的。但是你可以知道这个文件是从外来的电子邮件发来一个Word文档,用宏执行,去外面下载可执行文件来加密文档的话就非常合理,所以不同的协议,不同的文件格式和整个系统和网络层面上的上下文的关联应该做一个很好的安全体系上的一个要点。

基于3C体系的思想去构建防御所需的能力点,显然是接地气而且是足够强壮的,并且由于攻方长期生活在地下圈子(跟干说唱和跳街舞的有的一拼),无法得到足够的关注和资源,攻方大量老牌、优秀的人才也倒戈成为守方,人才的匮乏也加剧了攻方的困境,如果不是墙外依然有许多不务正业沉迷技术的老哥在给墙内的攻方注入来新血液,带来好用免费体系化的(破解也算免费吧……)工具、实战性强的手法思路,恐怕是要继续拿大刀长矛去打八国联军……

守方现在处于全面发展,赶美超英的进程中,再研究下去就放弃抵抗了……还是说回攻方……


由于攻方的困境更大,因此给攻方的讨论里得配点图,壮大下声势……

攻方最核心的目标是权限(有基于权限的更高需求不在讨论范围)

在获取权限这事上,现在可以认为进入平台期已经数年,“内卷”现象明显,但5年以前和现在,完全是两个截然不同的阶段,攻方在大部分目标处于”默认不安全“的状况,打到点基本碰不到抵抗的环境,比如安卓机插入usb直接就拿照片和adb安装,比如wifi想破就破,流量80%没有上s(现在反过来lol),地球大厂邮件服务XSS左拐批发,墙内大厂RCE右拐半价打折,打开网站只要看到.do的URL后缀权限基本就是我的了,干活舒服之余还有精力可以出来吹牛……

当然我们讨论的是墙内的普遍情况,每个地方处于不同的防御水位,比如:

  • 高水位:墙内大厂
  • 中水位:一定规模有安全预算的厂
  • 低水位:依赖使用的工具默认安全从而被动提升水位的厂(安全是个啥?老乡你能帮我盗QQ吗)

面对墙内的高水位,对抗级别往往需要走到第II级才有收获,比如SRC里最多的是越权、SSRF+RCE类的难以通过固定模式检测的漏洞,需要多个风险形成漏洞。

  • I级:可以认为围着屋子直接破门砸窗,看得到的通道突破了就好,手法也是练好了换个屋子也一样。
  • II级:门窗搞不定了,看看哪里有裂缝,砸开了再想办法用别的东西撬一撬,实际情况有点像越狱的剧情,虽然许多技术依然有Funcy或者表演的嫌疑……
  • III级:我怀疑几公里外有个下水道可以通向这个屋里……
对抗级别

从I、II级跟III级的对抗,区别在于:

  • 路径可预测,那防守方也同样会在这里蹲守好了,看谁技艺高
  • 路径不可预测,曲线救国,漫漫长路布满荆棘,可能最终还没有收获,只能靠经验直觉和耐心,没办法,谁叫咱跟他过不去

另一方面是每个级别的差异,也是要从离权限最远的线索信息开始、或者从风险开始、漏洞开始,当然如果对直接拿权限的能直接打完收工最好了,所以大家对效果扫描器的热情肯定是最大的……

对抗级别表里的条目仅仅是一个分类示意,并没有严谨地去划分,特别是S、A、B、C级水平的区分,在每个对抗级别里,也有在I级里的巅峰选手(S),完全不需要走向II和III级……

当然了,实际情况还需要从更高的角度来看,比如下面的活动图:

一个很挫又不完整的活动图

从这个活动图,其实是可以看到一些明显的工具诉求的,比如资产、人员的测绘,边界突破的工具,通道及驻留的经验技术积累等,因此实际情况不光是对抗,还涉及到开了门之后的事,毕竟渗透讲的是要那啥一下,渗入进去做的透透的,而不是开门,仅仅开门可以叫打点了。

活动图相对于守方的Att&ck图简单了许多,是因为守方关注滴水不漏,而攻方关注的是有效性。

因此我们在评估及思考一个攻方的手段价值几何的时候,也可以学学守方的3C体系模式:

  • 隐蔽性(不可感)
  • 有效性(不可控)
  • 影响度(业务影响)

能在3个关键点上有所建树的东西,或者凑了一套东西能形成满分的话,是攻方人员值得毕生上下求索的……



最后,

作为一个被时代淘汰但斗争经验丰富的老同志,还有几句遗言,没成果不能怪地球引力大了,没有导弹那拳头也要练硬一点,等第四次世界大战结束后,我保证谁拳头大谁说了算……

祝大家好运!(实力不如运气好,听我的没错)

编辑于 09-10

文章被以下专栏收录