0

红队视角下的防御体系突破

Share
Avatar photo
  • 2022 年 11 月 18 日

6.1.1. 红队:攻击方

红队一般会针对目标系统、人员、软件、硬件和设备同时进行多角度、混合、对抗性的模拟攻击;通过系统提权、控制业务、获取数据等方式,来发现系统、技术、人员和基础架构中存在的网络安全隐患或薄弱环节。

必须说明的是,虽然实战攻防演习过程中通常不会严格限定红队的攻击手法,但所有技术的使用、目标的达成必须严格遵守国家相关法律法规。

在演习实践中,红队通常会以 3 人为一个战斗小组,1 人为组长。组长通常是红队中综合能力最强的人,需要有较强的组织意识、应变能力和丰富的实战经验。而 2 名组员则往往需要各有所长,具备边界突破、横向移动(利用一台受控设备攻击其他相邻设备)、情报收集或武器制作中某一方面或几方面的专长。红队成员的能力要求往往是综合性、全面性的。

红队成员不仅要熟练使用各种黑客工具、分析工具,还要熟知目标系统及其安全配置,并具备一定的代码开发能力,以便应对特殊问题。

6.1.2 攻击的三个阶段

一般来说,红队的攻击可分为三个阶段:情报收集、建立据点和横向移动。

1.第一阶段:情报收集

当红队成员接到目标任务后,并不是像渗透测试那样,在简单收集数据后直接尝试利用各种常见漏洞,而是先去做情报侦察和信息收集工作,收集相关人员信息、组织架构信息、IT 资产信息、敏感信息、供应商信息等。

掌握了目标企业相关人员信息和组织架构信息,就可以快速定位关键人物,以便实施鱼叉攻击,或确定内网横纵向渗透路径;掌握了 IT 资产信息,就可以为漏洞发现和利用提供数据支撑;掌握了企业与供应商合作的相关信息,就可以有针对性地开展供应链攻击。而究竟是社工(社会工程学)钓鱼,还是直接利用漏洞进行攻击,或是从供应链下手,一般取决于哪里是安全防护的薄弱环节,以及红队对攻击路径的选择。

2.第二阶段:建立据点

在找到薄弱环节后,红队成员会尝试利用漏洞或社工等方法去获取外网系统的控制权限,这个过程一般称为「打点」或「撕口子」。在这个过程中,红队成员会尝试绕过 WAF、IPS、杀毒软件等防护设备或软件,用最少的流量、最小的动作实现漏洞利用。

通过撕开的口子,寻找和内网连通的通道,再进一步进行深入渗透,这个由外到内的过程一般称为纵向渗透,只要没有找到内外连通的 DMZ(Demilitarized Zone,隔离区),红队成员就会继续撕口子,直到找到接入内网的点为止。

当红队成员找到合适的口子后,便可以把这个点作为从外网进入内网的根据地,再通过 frp、reGeorg 等工具在这个口子上建立隧道,形成从外网到内网的跳板,将它作为实施内网渗透的坚实据点。若权限不足以建立据点,则红队成员通常会利用系统、程序或服务漏洞进行提权操作,以获得更高权限;若据点是非稳定的计算机,则红队成员会进行持久化操作,保证计算机重启后,据点依然可以在线。

3.第三阶段:横向移动

进入内网后,红队成员一般会在本机及内网中开展进一步的信息收集和情报刺探工作,收集当前计算机的网络连接、进程列表、命令执行历史记录、数据库信息、用户信息、管理员登录信息,总结密码规律、补丁更新频率等;同时对内网其他计算机或服务器的 IP 地址、主机名、开放端口、开放服务、开放应用等情况进行情报刺探,再利用内网计算机、服务器不及时修复漏洞、不做安全防护、使用相同密码等弱点来进行横向移动,扩大战果。

对于含有域的内网,红队成员会在扩大战果的同时去寻找域管理员登录的蛛丝马迹。一旦发现有域管理员登录某台服务器,就可以利用 mimikatz 等工具尝试获得登录账号、密码,或者利用 hashdump 工具导出 NTLM 哈希,进而实现对域控服务器的渗透和控制。在内网漫游过程中,红队成员会重点关注邮件服务器权限、OA 系统权限、版本控制服务器权限、集中运维管理平台权限、统一认证系统权限、域控服务器权限,尝试突破核心系统权限,控制核心业务,获取核心数据,最终完成目标突破工作。

6.1.3 常用的攻击战术

在实战过程中,红队成员会逐渐摸索出一套方法、总结出一些经验:例如,有后台或登录入口的,尽量尝试通过弱密码等方式进入系统;找不到系统漏洞时,尝试社工钓鱼,从「人」入手进行突破;有安全防护设备的,尽量少用或不用扫描器,使用 exp,力求一击即中;针对蓝队防守严密的系统,尝试从子公司或供应链入手开展工作。在建立据点的过程中,红队会使用多种手段,在多点潜伏,防患于未然。下面介绍四种红队常用的攻击战术。

1.利用弱密码获得权限

弱密码、默认密码、通用密码和已泄露密码通常是红队成员关注的重点。在实际工作中,通过弱密码获得权限的情况占据 90% 以上。很多企业员工以类似 zhangsan、zhangsan001、zhangsan123 这种账号拼音及其简单变形,或者 123456、生日、身份证后 6 位、手机号后 6 位等作为密码,导致攻击者在信息收集后,利用生成的简单密码字典进行枚举,攻破邮箱、OA 系统等。

还有很多员工喜欢在多个不同网站上设置同一个密码,而其密码可能早已经泄露并被录入社工库。这导致攻击者从某一途径获取了其账号、密码后,通过凭证复用的方式可以轻而易举地登录到此员工所使用的其他业务系统中,为打开新的攻击面提供了便捷。

很多通用系统在安装后会有默认管理密码,然而有些管理员不会修改密码,admin、test-123456、admin888 等密码仍广泛存在于内外网系统后台中。攻击者一旦进入系统后台,便很可能获得服务器控制权限;同样,有很多管理员为了管理方便,使用同一个密码管理不同的服务器。当一台服务器被攻破后,多台服务器,甚至域控服务器都存在被攻破的风险。

2.利用社工钓鱼进入内网

同一员工在不同情况下做同一件事情可能会犯不同的错误,不同的员工在同一情况下做同一件事情也可能会犯不同的错误。很多情况下,当红队成员发现攻击系统困难时,通常会把思路转到「人」身上。

很多员工对接收的木马文件、钓鱼邮件没有防范意识。红队成员可针对某目标员工获取其邮箱权限,再通过此邮箱发送钓鱼邮件。大多数员工由于信任内部员工发出的邮件,会轻易点开钓鱼邮件中的恶意附件。一旦某员工的个人计算机被攻破,红队成员就可以将该计算机作为据点实施横向内网渗透,继而攻击目标系统或其他系统,甚至攻击域控服务器,直到攻破内网。

当然,社工钓鱼不仅局限于电子邮件,通过客服系统、聊天软件、电话等方式有时也能取得不错的效果。某黑客入侵某大型互联网公司系统,采用的方法就是通过客服系统反馈客户端软件存在问题无法运行,继而向客服发送了木马文件,木马上线后,成功控制该公司的核心系统。有时,攻击者会利用企业中不太懂安全的员工来打开局面,如给法务人员发律师函、给人力资源人员发简历、给销售人员发采购需求等。

一旦控制了员工计算机,攻击者便可以进一步实施信息收集。例如,大部分员工为了日常操作方便,会以明文的方式在桌面或「我的文档」中存储包含系统地址及账号、密码的文档;此外,大多数员工也习惯使用浏览器的记住密码功能,而浏览器的记住密码功能大部分依赖系统的 API 进行加密,所存储的密码是可逆的。红队成员在导出保存的密码后,可以在受控主机上建立据点,用受控员工的 IP 地址、账号、密码来登录。

3.利用旁路攻击实施渗透

在有蓝队防守时,企业总部的网站通常防守得较为严密,红队成员很难正面攻击,撬开进入内网的大门。此种情况下,红队成员通常不会硬攻「大门」,而会想方设法找「下水道」,或者「挖地道」去迂回进攻。

红队在实战中发现,绝大部分企业的下属子公司之间,以及下属子公司与总部之间的内网均未进行有效的隔离。部分机构、企业习惯单独架设一条专用网络来打通各地区之间的内网连接,但忽视了针对此类内网的安全建设,缺乏足够有效的网络访问控制机制,导致子公司、分公司一旦被攻破,攻击者可通过内网横向移动直接攻击总部,漫游企业的整个内网,攻击任意系统。

例如,A 子公司位于深圳,B 子公司位于广州,而总部位于北京。当 A 子公司或 B 子公司被攻破后,攻击者可以毫无阻拦地进入总部网络;另外一种情况是,A、B 子公司可能仅需要访问总部位于北京的业务系统,而不需要有业务上的往来,理论上应该限制 A、B 子公司之间的网络访问,但实际上有一条专线内网通往全国各地,一处被攻破可能导致处处被攻破。

此外,大部分企业对开放于互联网的边界设备较为信任,如 VPN 系统、虚拟化桌面系统、邮件服务系统等。考虑到此类设备通常用于访问内网的重要业务,为了避免影响员工的正常使用,企业没有在其传输通道上增加更多的防护手段;再加上此类系统多会采用集成统一的登录方式,因此一旦获得了某员工的账号、密码,攻击者就可以通过这些系统突破边界,直接进入内网。

例如,开放在内网边界的邮件服务系统通常缺乏审计,也未采用多因子认证,而员工平时通过邮件传送大量内网的敏感信息,如服务器的账号、密码,重点人员通讯录等;当掌握员工的账号、密码后,在邮件中所获得的信息,会给攻击者的下一步工作提供很多方便。

4.秘密渗透与多点潜伏

红队一般不会大规模使用漏洞扫描器,因为目前主流的 WAF、IPS 等防护设备都有识别漏洞扫描器的能力。因此在数据积累的基础上,有针对性地根据特定系统、特定平台、特定应用、特定版本去寻找与之对应的漏洞,编写可以绕过防护设备的 exp 来实施攻击,可以达到一击即中的目的。

现有的很多防护设备由于自身缺陷或安全防护能力薄弱,基本上不具备发现和阻止这种针对性攻击的能力,导致即便系统被入侵,资料、数据被窃取,防守单位也不会感知到入侵行为。此外,由于安全人员技术能力较差,无法发现、识别攻击行为,无法给出有效的攻击阻断、漏洞溯源及系统修复策略,导致在攻击发生的很长一段时间内,防守单位都没有有效的应对措施。

红队通常不会仅站在一个据点上去开展渗透工作,而会使用不同的 WebShell、后门,以及不同的协议来建立不同的据点。因为大部分应急响应过程并不能找到攻击源头,也未必能分析出完整的攻击路径,缺乏联动防御,所以在防护设备告警时,大部分情况蓝队仅处理了告警设备中对应告警 IP 地址的服务器,而忽略了对攻击链的梳理,导致尽管处理了告警,却仍未能将红队排除在内网之外,红队的据点可以快速「死灰复燃」。

如果某些蓝队成员专业度不高,缺乏安全意识,在 Windows 服务器应急响应的过程中,直接将自己的磁盘通过远程桌面共享挂载到被告警的服务器上,反而给了红队进一步攻击的机会。

https://www.zhihu.com/pub/book/120165504

原文链接 – 《走进新安全》奇安信