紫队视角看2020年络网络攻防实战演习 #
一、概述 #
作者:三所@cmxfov
随着大规模攻防演练行动的开展,如何有效地落地演习防守工作,提升红蓝攻防对抗效果,为各单位均需要思考的问题。公安部第三研究所作为我国公安部直属的科研单位,深度参与网络攻防实战演习,本文从紫队视角对于攻防双方经验进行总结分享。希望本文能够为各参演单位安全防护工作提供参考,同时希望可以为在重要时期为参演单位提供安全防护服务的专业安全团队提供建议。
二、网络安全攻防对抗新形势 #
(一) 国际网络安全攻防演习 #
2020年以来新冠肺炎疫情形势严峻,远程办公、远程教育等线上运营及生产模式日趋主流,随着5G、新基建等技术的发展,网络安全风险也随之激增。面对网络空间攻防新形势,多国举办国家级别的网络攻防演习行动,美国组织的 “网络风暴”演习、北约组织的“锁定盾牌”演习等,各国均形成了跨域、跨国、跨部门的一体化模式,总现出组织协同、情报共享和安全协作等网络安全能力建设新趋势。
2020年“网络风暴”的具体目标包括:
1)审查国家网络安全计划和政策的实施和有效性;
2)加强和增强网络事件期间整个网络生态中使用的信息共享和协调机制;
3)加强公共和私人伙伴关系,提高其分享相关及时信息的能力;
4)练习网络事件响应的通信方面以完善和成熟的通信策略。
美国2020年举办攻防演习目的是通过执行政策、流程和程序来识别和响应针对关键基础设施的多部门网络攻击,从而增强网络安全防范和响应能力。
(二)我国网络安全攻防演习发展 #
震网(Stuxnet)病毒于2010年6月首次被检测出来,是第一个专门定向攻击真实世界中基础设施的“蠕虫”病毒,作为世界首个网络“超级破坏性武器”,其已经感染了全球超过45000个网络,多国对于此病毒进行梳理分析,均发现“人”是网络战中最薄弱的环节。美国等发达国家在网络空间占据天然优势,在信息技术、关键基础设施、操作系统等领域均处在统治地位。相对于网络安全建设起步较晚的国家在实战环境下的攻击和防守依然处于劣势。网络安全态势之严峻,迫切需要我国在网络安全领域构建起“能打仗,敢打仗,打硬仗”的能力。
2016年4月,总书记在网络安全和信息化工作座谈会上发表重要讲话指出,“网络安全的本质是对抗,对抗的本质是攻防两端能力的较量”,同年《网络安全法》颁布,其中涉及网络安全演练相关规定:关键信息基础设施的运营者应“制定网络安全事件应急预案,并定期进行演练”,于是从2016年起,国家网络攻防实战演习(以下简称“演习”)成为各大运营商、金融、能源、军工、交通、医疗等行业的工作惯例。
(三)我国网络攻防实战演习行动简述 #
2016年公安部会同国家电网及国内民航单位进行演习,考察参演单位网络安全应急响应能力;2017年,我国共11家单位参与演习,至此“网络安全攻防演习”在我国形成惯例;2018年至2019年,为了更好的检验我国关键基础设施及重要企事业单位的网络安全防护情况,演习范围逐渐扩大,覆盖至电力、电信、银行、铁路、财政、广电、水利、教育、互联网、检察院、法院、石油、交通等20余个行业,参演单位多达百余家;2020年,根据《中华人民共和国网络安全法》及《国家网络安全事件应急预案》等法律法规要求,我国举办国家规模的演练,至今演习已经成为国内网络安全行业的“大事件”,使得公安部门对关键信息基础设施安全防护和应急处置能力网络安全能力可度量、有标准。
我国演习以获取指定目标系统(标靶系统)的管理权限为目标,参演各方根据组织方制定的标准开展实战对抗,由网络攻防领域经验丰富的专家及战队等组成攻击队,在确保参演单位业务系统稳定运行的前提下,采用“不限攻击路径,不限制攻击手段”的攻击方式,在真实网络环境下对参演单位各目标系统进行可控、可管、可审计的实战攻击。演习过程中由裁判组对于演习结果进行判定,演习结束发布双方成果并进行攻防复盘。
2020年,为全力做好国家关键信息基础设施安全保卫工作,切实推动重点领域各单位落实网络安全主体责任,检验和完善各单位网络安全事件应急预案,提高各单位应对突发网络安全事件的能力,公安部组织开展演习工作。此次演习与历年来最大的不同在于,新技术的广泛应用及规则的对应更新。演习的整体组织架构、实战时间、行动流程等变化不大。从攻击方来看,由于“限定目标系统、但不限定攻击路径”,所以社会工程学、0day漏洞等攻击手段均可使用,高级社工方式成功率增高;从防守方来看,由于演习是“以点打面”,安全短板成为重要风险问题,此次钓鱼邮件、0day漏洞利用等攻击成功者不在少数,作为防守方,参演单位如何面对“隐蔽”的网络攻击,如何建立完善的安全防护体系依然是最重要的课题。
经过与参演攻击方队伍(红队)与防守方队伍(蓝队)进行经验沟通得知,此次演习中对于攻击行为监控较为严格,对于红队违规行为组织方会严格进行评定,予以警告和扣分处理。对于攻击目标主体单位其下属子公司、下属企业及控股企业等均需要证明其网络上与主体单位的连通性,才能进行计分。攻击队伍每人按照技术能力扮演不同角色,多个队伍通过情报共享进行联合作战,均取得较好成绩。防守方也在各大行业形成联合作战模式,共享威胁情报、协同处置,面对攻防不对等的形势下,依然表现优异并取得可喜的成绩。但此次演习仍暴露出目前网络安全建设中的诸多问题,下面就演习行动中的攻击者攻击阶段进行分析,共同探讨网络安全防护工作建设所存在的盲区。
三、攻击方实战经验分享 #
在演习中,攻击方“装备”较为精良,且以一线、二线团队形式联合作战,具有明确的攻击目标和较强的攻击强度,但是攻击队伍的攻击阶段依然有迹可循。一般来说,攻击队工作可分为三个阶段:信息收集、建立据点和横向移动,具体阶段及技术点如下图所示。
(一)信息收集阶段 #
目标资产信息搜集的程度决定渗透过程的复杂程度。在演习中红队仅能获得目标系统的系统名称,结合历史经验,防守方上报的目标系统大多数为内网系统或者具有多重区域隔离的系统,因此红队必须对于参演单位所属的行业、组织架构、业务能力等进行全方位的分析,以此推断目标系统的业务功能及所属网络区域,避免盲目攻击。
渗透的本质就是信息搜集,而信息搜集整理为后续的情报跟进提供强大的保证。此阶段攻击队目的为通过全面收集目标单位资产信息,建立“目标单位资产信息表”,表中内容包括组织架构、IT资产、敏感信息泄露、供应商信息等各个方面。组织架构包括单位部门架构、人员信息、工作职能、下属单位等;IT资产包括域名、IP地址、开放端口、网络架构、运行服务、WEB中间件、WEB应用、移动应用等;敏感信息泄露包括源代码泄露、文档信息泄露、邮箱信息泄露、历史漏洞泄露信息等;供应商信息包括网络设备供应商及运维服务供应商的相关合同、系统、软件、硬件、代码、服务、人员等相关信息。完成信息收集后,此份表单将进行攻击队伍内部共享,以缩短攻击时间和成本。
信息收集阶段分为两个步骤,分别是互联网信息收集及目标暴露面信息收集,其中互联网信息收集采取的技术手段有:
1、 Whois查询
通过Whois查询查找目标单位的管理员联系人及其企业邮箱信息。部分网站输入域名便可以查询历史域名信息变更记录,通过部分反查工具可以获取该域名所有者的变更记录以及变更的日期,获取目标单位域名管理员的姓名、注册企业邮箱及注册电话等信息。获取的电子邮件地址也作为多个应用程序上的有效用户存在,后期可以对于此账户进行密码暴力破解攻击。
2、 ICP备案号查询
网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案,可获得单位名称、单位常用根域名,网站负责人姓名、电子邮箱、联系电话,历史备案的联系人姓名、电话、邮箱等信息可用于社工钓鱼或者收集进字典用于实施目标单位的办公系统爆破工作。
3、 天眼查信息查询
通过天眼查可以直接获取到该目标单位的“企业架构图”、“企业关系图”、“网站备案信息”等,可以确定目前开放在互联网上的系统有哪些,便于后期进行域名挖掘工作。
4、 招标信息网信息收集
企业公开可查的招投标公示网能够带给攻击者大量的关键信息,如近期所采购的网络设备、安全设备、维保服务、运维服务、护网服务等产品及服务供应商信息,通过对于招投标信息的分析,可以获取当前防守单位的网络建设及安全建设能力,可以对于企业的网络安全防护能力进行预判,便于后期选择攻击手段及攻击工具。
目标暴露面信息收集采取的技术手段有:
1、 子域名发现及解析
收集子域名可以扩大测试范围,同一域名下的二级域名都属于目标范围。子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城等,其他管理系统,网站管理后台等较少出现在子域名中。首先找到目标站点,在官网中可能会找到相关资产,大多为办公系统,邮箱系统等。使用FOFA、Google、钟馗之眼等平台确认相关目标系统相关资产,找到资产后进一步进行子域名挖掘,可以使用开源子域名挖掘系统等进行查询。现在企业大多会使用手机APP、公众号、小程序等,这些系统安全建设投入低且均与业务系统相关连,具有很高攻击价值。通过查询子域名可以获取部分目标相关系统的可疑ip段。
2、 开放端口及服务探测
获取可疑ip段后,便可以对ip的开放端口进行探测,21,22,23,80等端口往往开放很多特定服务,探测开放端口有利于快速收集目标资产,便于找到目标网站的其他功能站点。
3、 Google Hack
Google Hack源于谷歌浏览器的非常强大的搜索技巧,可以找到目标相关的敏感信息和应用程序的完整系统路径,利用google hacking可以直接获取到想要的信息,便于攻击者收集数据库文件,sql注入,网页配置信息等。
4、 利用代码托管服务
在 Github、 Gitlab、码云等代码托管服务上查找客户泄露的源代码,通过在线搜索代码托管存储库可以找到网络漏洞、网络应用程序0day、配置漏洞、产品密码以及API 访问密钥。开发人员在开发过程中经常使用这些平台进行代码管理,习惯性的提交带有相关敏感信息的代码,由于安全意识疏忽并不会及时进行清除。就算部分后期进行了清除,依然可以通过检查特定的 Git 提交搜索出敏感的信息片段,攻击者通过分析和检索,可以直接对相关目标资产进行漏洞利用和攻击。
5、 系统指纹识别
对于确认与目标相关的网站进行指纹识别,通过识别指纹可以确定目标的cms及版本,还可以对防守方部署的蜜罐进行识别,使用BOF识别、外联数据控制识别等方式来识别部分低交互的蜜罐,对于识别出的系统可以直接对应出公开的poc和相关攻击手法。
(二)建立据点阶段 #
在进行完毕信息收集后,根据“目标单位资产信息表”中的信息进行攻击入口选择,确认薄弱环节后需要获取外网系统控制权限,再通过纵向渗透寻找与内网联通的通道,以建立据点。整个建立据点阶段分为两个步骤,一是,二是获取控制权限。
建立据点阶段分为两个步骤,分别是攻击入口选择及获取控制权限,其中攻击入口选择所采取的技术手段有:
1、 安全建设薄弱的系统
部分单位架构复杂,分支机构繁多,存在大量面对互联网开放的分支业务,存在网络和系统安全防护措施不够完备的弱点,甚至存在无防御措施的节点,攻击者利用口令爆破或撞库均可以直接突破。
2、 办公系统及集权系统
由于远程办公需求激增,外网邮箱、远程桌面、远程会议、VPN系统等大面积增多,利用企业网络安全意识宣贯不到位的弱点可以进行弱口令爆破和社会工程学攻击,可以获取大量敏感信息进入办公业务相关网络,从而获取更多敏感信息。
3、 存在敏感信泄露的系统
除了前期“目标单位资产信息表”中的源代码泄漏的系统外,使用工具可以搜索到相关系统的开发文档、使用说明书、宣讲文档等,其中可能包含网络拓扑图、内外网地址、一些默认的测试账号等等。
在建立据点后,攻击者对于内网系统目标并不是盲目的,依然是有选择的,下面就攻击方如何选择和挑选系统获取权限进行分析。获取控制权限所采取的技术手段有:
1、 运维系统突破
企业运维系统与企业的基础业务运行有直接关系,企业习惯将这类系统命名为这种系统的域名在内网往往解析为“itms.xx”、“dbms.xx”等,此类命名方式有助于攻击者获取运维系统地址和信息。运维系统中包含运维需要的特权账号、拓扑图、远程管理系统等信息,通过运维系统可以快速对多台管理主机进行远程命令执行。如果突破的是内网运维系统,则可以获取相关网络的网络架构,对于寻找靶标来说是捷径。
2、 集权系统突破
这里所述的集权系统不仅仅指企业的高级账号管理系统和统一身份证系统,还包含安全管理系统,例如EDR平台、HIDS终端管控平台、VPN管理端、堡垒机管理后台、漏洞管理中心等汇集了大量真实主机及生产服务器的信息系统。由于EDR类设备原理,其必须获取主机的最高权限以下发指令进行执行,所以EDR类系统成为攻击者获取机器权限的首选目标,由于国内的某些EDR防护系统的0day、Nday漏洞的存在,一旦被攻击者利用,则可以获取大量目标主机权限,进而直通靶标。堡垒机作为最重要的运维安全审计系统,如果没有多因素认证,攻击者可以通过默认密钥等方式获取其控制权限,通过新建用户、新建访问权限的方式获取相关网络区域权限,从而进行横向移动。
3、 代码托管平台突破
对于具有开发能力的单位来说,在系统开发过程中往往会在内网搭建代码托管平台,用于团队内部项目交流和共享。因为搭建在内网,企业普遍认为暴露面低,因此不进行严格的权限控制和敏感信息管理,往往存放大量的生产配置文件、数据库连接信息、LDAP认证信息,还有将开发人员相关接口调用的用户名密码直接硬编码写在代码中,而攻击者利用此点,可以在攻击到达的任何网络区域,立即搜寻相关的SVN等地址,进行攻击。
在获取控制权限时,攻击者同时会采取社工手段对于企业部分职务员工进行攻击,以下对于攻击者关注的职务类型进行分析:
1、 运维人员
企业的运维人员往往掌握大量企业的基础架构信息、网络拓扑、内外网地址转换信息等,是攻击的首选目标。通过社工运维人员获取运维主机权限,通过搜索“密码(pass)”、“账号(user)”、“VPN”、“拓扑”、“架构”、“建设方案”、“交接”、“离职”、“登录”等关键词寻找信息,寻找与目标系统相关的信息。
2、 安全人员
企业的安全人员往往掌握了大量的企业安全建设信息、漏洞信息、攻防演习安全防护信息甚至是演习的靶标信息,通过社工、邮件钓鱼等方式对企业的安全人员进行攻击,获取其个人PC的权限,对于企业的安全建设能力进行评估,深入了解其使用的安全设备,进而通过掌握的攻击武器进行攻击。
3、 研发人员
通过攻击研发人员,有助于确认企业内部业务线流程,通过研发人员和项目绑定的关系,可以找到渗透目标对应的开发者和后台代码,有助于确认目标系统所属区域,进行进一步攻击。
(三)横向移动阶段 #
由于目前网络安全建设能力的增强,较多防守单位已全面部署终端杀毒软件,对于攻击方来说横向有一定难度。攻击者会在内网中收集当前主机的网络连接、进程列表、数据库信息、当前用户信息、管理员登录信息、补丁更新信息等信息;同时对内网的其他计算机或服务器的IP、主机名、开放端口、开放服务、开放应用等情况进行情报刺探。企业内网往往存在计算机、服务器漏洞修复不及时、安全防护不到位等薄弱点,而攻击者恰恰利用这些信息进行横向渗透扩大。横向的方式很多,具体步骤概述如下:
1、 端口转发和内网穿透
在进入内网后,首先需要做的是维持已有的权限,并使用被控主机来抵达更多的内网主机,在被控主机上进行工具的安装和配置的修改往往容易被管理员发现,因此需要使用ew、reGeorg、nps、frp等工具进行流量的转发和内网的穿透,从而打通一条抵达目标内网的通路。
2、 常规内网环境的横向渗透
在拥有可以抵达内网的通路后,攻击者就可以使用攻击机进行对内网探测、信息收集和横向渗透,一般有以下几个方面:
被控主机上的明文信息、文件信息:这些信息通常较容易在运维人员的主机上被找到,如果能找到这类信息,那么可以提高内网横向的速度,通过这些明文的信息来进行定向的权限获取。
被控主机上的密码信息:如果被控主机是windows主机并且在域内,那么有可能通过mimikatz获取到一些明文的域内账号密码,通过这些信息对内网的主机进行密码喷射,从而有可能获取更多主机的登录权限。
内网的小范围扫描探测:在进入内网后往往不能进行大规模的扫描,在掌握的部分信息后可以进行定向的扫描,比如掌握的少数的web服务器的信息,此时可以针对这些服务器所在的c端进行小范围的定向扫描以获取更多有价值的信息。
根据服务来进行定向探测:针对内网常见的服务进行探测,比如常见的服务有mysql,redis,ftp,rdp等服务,一般使用已知的漏洞进行尝试可以取得比较好的效果。
3、 内网域环境横向渗透
对于存在域环境的内网来说,除了上问提到的获取登录的凭证外还可以使用hash传递攻击,黄金票据、白银票据的利用来获取域内资源的访问权限,从而增加内网横向的深度和广度。
在内网漫游过程中,攻击者着重重点关注邮件服务器权限、OA系统权限、版本控制系统权限、集中运维管理平台权限、统一认证系统权限、域控权限等位置,尝试突破核心系统权限、控制核心业务、获取核心数据,最终完成目标突破工作。拿到重要系统的权限或者靶标系统的权限,此时攻击队伍完成既定的目标,开始更换目标进行新的攻击。
四、防守方实战经验分享 #
在准备公安部攻防演习的过程中,各参演单位均以建立起具有安全防护、监测和应急处置能力的网络安全防御体系韦目标开展工作。结合以往协助参演单位在演习间的安全防护体系建设经验,发现能够将等级保护2.0或者行业安全标准融入安全建设工作中的单位,均取得不错的效果。下面从攻防演习的四阶段进行蓝队防护体系建设经验分享。
(一)防守方工作阶段及任务概述 #
1、 备战阶段
图2. “护网”行动备战阶段与等级2.0安全建设工作对应图
在备战阶段中,参演单位需要对自身信息资产进行全面梳理,进行网络架构分析工作。明确系统访问源的类型、位置和途径的网络节点,绘制出准确的网络路径图。需成立攻防小组,制定针对性应急预案并建立安全防御体系。
2、 临战阶段
图3. “护网”行动临战阶段与等级2.0安全建设工作对应图
在临战阶段中,参演单位应开展多种应急场景的应急演练工作。针对攻防演习的目标系统进行专项应急预案的演练,确定应急预案的流程、措施有效,针对应急预案的组织、技术、管理流程内容进行完善,确保能够有效支撑后续演习工作。
3、 决战阶段
图4. “护网”行动决战阶段与等级2.0安全建设工作对应图
在决战阶段,参演单位应组织技术人员按照前期规划开展安全监测、攻击处置和应急响应等防守工作。主要包括系统访问是否正常、业务数据是否有异常变更、系统目录是否出现可疑文件、服务器是否有异常访问和修改等。监测到异常事件后及时协同相关部门共同分析处置。在事件处置过程中,经分析确定已发生网络攻击,且攻击已成功进入系统获取部分权限或者已经上传后门程序等,应立即启动专项应急响应预案,根据攻击影响可采取阻断攻击、系统下线等方式进行处置,并全面排查清理系统内攻击者创建的系统账号、后门程序等。
4、 总结阶段
参加单位在演习结束后,应对演习过程中发现的问题进行总结,包括是否存在系统漏洞、安全设备策略是否有缺陷、监测手段是否有效等,针对性提出整改计划和方案,同时应优化安全自查和整改阶段的工作流程,为后续工作积累经验。
(二)防守方新颖经验分享 #
1、 蜜罐诱敌抵攻击
上文中提到红队工作第一个阶段就是信息收集阶段,红队必定会对目标信息系统进行全面的信息收集,以期望找到处于严控防护手段之外的站点或路径,利用漏洞获取Web服务器权限。攻击者常利用的突破口多为对外开放的站点、服务上存在的漏洞、未经严格控制而开放的测试站点等,基于此,防守方提前分析自身网络特性,找到攻击者必须访问的区域,在相应区域内的关键信息节点部署蜜罐,使攻击者在信息收集阶段受到干扰,进而诱导攻击者对蜜罐发动攻击,获取其社交信息,尝试进行分析溯源和反制工作。
2、 自主可控强隔离
多家单位研发自主可控安全防护系统,使用国密协议实现身份认证和数据加密,跨区逻辑强隔离使用基于私有安全加密通信协议的系统,面对“0day”横行的今天,有效防范该类攻击。部分企业将商用密码技术应用于访问控制的方方面面,有效阻止非法用户接入企业网络,构建以密码为基石的安全可控防护体。
3、 情报共享成生态
在面对国家级的攻防对抗,多个参与单位选择联合作战、协同防御,演习前确认威胁情报共享机制,成立工作组,对所属行业内的威胁情报源进行核实和整理,通过自主研发的系统进行发布,防守单位能够7*24及时共享真实情报,第一时间采取应急手段,封禁恶意IP,形成体系化“蓝军联合防御模式”,形成真正意义上的情报生态。
五、结语 #
在当前信息化的大背景下,网络在给人们带来便捷生活的同时,也带来了大量的安全问题,对个人、企业乃至社会的信息安全和经济安全带来严重威胁。网络攻防实战化演习提升了我国关键基础设施及企事业单位的防御水平,也促进了我国在网络空间技术研究方向的人才储备,对推动我国网络安全工作向高水平、实战化、体系化的发展起到了重要作用。作为企事业单位信息化和网络安全建设者、运营者、参与者中的一员,我们都应以身作则,不断深化网络安全意识,为铸造网络空间的“铜墙铁壁”贡献力量。