什么是红蓝对抗
在军事领域,演习是专指军队进行大规模的实兵演习,演习中通常分为红军、蓝军,演习多以红军守、蓝军进攻为主。类似于军事领域的红蓝军对抗,网络安全中,红蓝军对抗则是一方扮演黑客(蓝军),一方扮演防御者(红军)。在国外的话,进行渗透攻击的团队经常称做红队,在国内称为蓝队实际上应该是比较准确的叫法。
红蓝对抗的目的
安全是一个整体,正如木桶定律,最短的木板是评估木桶品质的标准,安全最薄弱环节也是决定系统好坏的关键。而网络红蓝军对抗的目的就是用来评估企业安全性,有助于找出企业安全中最脆弱的环节,提升企业安全能力的建设。
红蓝对抗关注点
其实红蓝对抗点没有统一的标准,因为很多会涉及到业务以及内网攻击的场景,所以个人认为红蓝团队比较适合甲方团队自己组建,这样信息资源比较可控,做的也会更细致。例如曾经在中小型互联网公司做的红蓝对抗点:
外网web安全
办公网安全
IDC主机安全
DB专项
这边web安全的关注点会不同于渗透测试的团队,例如红蓝团队就会关注一些敏感文件泄漏、管理后台暴露、waf有效性、waf防御效果、违规使用的框架等。再例如办公网安全红蓝团队还会关注安全助手的一些问题,也就是说红蓝团队关注的不仅是应用服务的漏洞,各个安全组件的效果、漏洞都会关注到。
上面都是按照一个个大项来进行,其实还有的红蓝团队是按项目来分,比如说xx支付业务红蓝对抗,给你域名或者ip,让你自由发挥,不限方法拿到目标flag(例如xx支付的数据或者机器权限等),这个过程不要求测的全,以结果为导向。然后红队(防御方)尽可能复盘补漏,把不完善的地方都补齐。后面可以继续进行对抗演练,继续找出薄弱点,这边很考验红队的技术和业务的了解程度,能从蓝队的攻击链路中,找出尽可能多的脆弱点,做出防御策略。所以,我觉得红蓝对抗还是得根据公司的规模、安全人员的比例、技术人员的素养做制定,都按同一套标准是不会适用所有公司的。我的建议就是中小规模公司的红蓝对抗点尽可能覆盖全,尽可能找出全量的脆弱点让红队的人员进行修复后进行新一轮对抗。而大公司就可以不用考虑面面俱到,以夺取目标结果为导向,脆弱点由红队自己发现,红队自己修复,而后周期的进行红蓝对抗。可以看出大公司的红蓝对抗更类似于APT攻击,这也正是大公司蓝队喜欢招APT人员的关系。
红蓝对抗测试的方法
如果是中小型的互联网企业的话,我的方法是先预先讨论好并记录下脑图,然后
1. 按专项测试
2. 每个专项包含很多点,按点排期测试
3. 报告撰写,漏洞闭环
4. 例行扫描
5. 持续跟进,复盘测试
因为中小型企业个人认为还是以全为主,尽可能把漏洞修复完。大型公司可以大量的人力投入,业务也繁多,还是以结果导向,漏洞的薄弱点由红队确认,所以方法就没有统一的标准。
红蓝对抗注意事项
测试前提前报备
有可能会影响到业务的操作时候务必提前沟通
漏洞的确认按照公司的规范制度制定
漏洞和业务沟通确认后再发工单修复
漏洞闭环
红蓝对抗所需技术
红蓝对抗不同于渗透测试,红蓝对抗测试的范围很广泛,不仅需要渗透技术,还需要逆向、脚本编程、各种绕过黑魔法等。所以,红蓝对抗不仅需要渗透测试的人才,也需要逆向的工程师,甚至是区块链安全工程师、数据安全方向的工程师等,所以说其实在大公司更容易开展红蓝对抗,因为大公司人才更加齐全。红蓝对抗也需要团队的协作,一个人是比较难完成的,更好的方式,不同的团队进行红蓝对抗,每个团队攻击的方法思路也不尽相同,更能模拟真实的场景攻击,对于红队查缺补漏也更有帮助。如下,是用到的一小部分工具:
Python
IDA
JEB
Masscan
Nmap
Metasploit
搜集的各类样本
总结: