论道攻防第2期丨攻防演练态势及防守思路
当代的攻与防——攻防对抗的历史变迁
曾经大家谈攻防演练,更多的是指通过渗透测试的方法来发现被测目标或安全解决方案的风险及问题,而当代攻防演练则较为侧重模拟实战场景下的攻与防的对抗,具体变化如下:
2016年以前
对于攻击方——主要通过常规渗透测试评估资产安全风险(漏扫+漏洞验证模式)。实施前攻击方会得到具体的资产信息列表,实施过程是有规范和约束的,基本点到为止,且有固定的时间。
对于防守方——堆砌安全设备,满足等保要求,满足国家监管机构的安全审查。
2016年之后
对于攻击方——以目标单位的内部数据为目标牵引,攻击队伍对目标进行深度进攻,挖掘实际场景下的安全问题。演练过程只给攻击队伍提供单位名称和靶标名称(例如被攻击单位名:华为,靶标名:华为云XX系统),攻击过程不限攻击路径,任意方式攻到靶标都有效。在攻击路径上所有的资产都会被攻击影响,如下图所示。
对于防守方——需要专业的安全运维人员(甚至有些人之前是攻击队伍成员)对安全事件进行分析。除常规的攻击流量日志分析、防御策略下发外,溯源也成为一大新的工作项目。攻防演练甚至把溯源作为防守方重点得分项。
攻防演练典型攻击手法及防御手段
一般攻防演练攻击方的大体流程如下图所示。
1、信息收集:被动(目标调查、各类帐号收集、资产信息收集)+主动(部署自动化扫描、挂代理池、使用云函数)
2、突破边界:分析信息收集阶段获取的信息,进行攻击打点,通过0day/Nday漏洞+口令破解等突破网络边界,获取权限。
3、权限维持+横向渗透:进入内网、关闭设备告警实现内网漫游,获取目标数据及权限。
下面从攻击的各个阶段来说说典型攻击手法以及对应的处置方法。
一 信息收集阶段:自动化多源IP扫描
攻击方通过部署大量的自动化扫描来实施信息的快速收集,这些扫描大部分通过代理池、云函数服务来实施,以绕过防守方对扫描方IP封禁的操作。下图为通过某云函数来进行扫描,技术原理与代理池不同,但同样能实现多源IP扫描绕过IP封禁的效果。
使用云函数实现多源IP扫描
下图为被扫描的服务器端的日志,可以看到攻击IP在不断变换,均为云函数出口IP。
检测、处置思路:
针对该类攻击没有绝对的防御手法,但可以通过各类手段减少可用的攻击IP,大大降低攻击队伍的效率。大致方法如下:
1、对单台或多台安全设备威胁日志进行汇总分析,及时阻断和封禁有风险的外网IP。
2、对重点被扫描或爆破业务及时排查,如非重要业务可暂时关停。
二 边界突破阶段:0day和Nday漏洞攻击
0day和Nday漏洞攻击一直是近年来攻防演练的重头戏,相当一部分攻击队伍在提前完成资产信息搜集后,直接利用0day/Nday漏洞+口令破解进入内网。
通过对近期某大型攻防演练漏洞信息进行整理,漏洞类型分布如下图。
而从产品维度来说,攻防演练中的漏洞主要涉及OA/ERP软件、安全类产品、Web各类管理平台、Web框架/组件/套件几类产品。
检测、处置思路:
1、密切关注漏洞信息,及时修补漏洞、暂时关停业务,通过自定义签名等手段快速防御。从产品层面来看,攻防演练需要重点关注OA/ERP类产品的漏洞及修复,因其能够导致攻击者登录多个业务系统获取大量的数据。并且OA的帐户一般与邮箱、域、VPN能通用。此外,安全类产品漏洞也需要重点关注,被攻破将导致防御体系崩塌。
2、对于0day/Nday漏洞中的通用payload,需要做好检测签名覆盖。例如如下的反序列化RCE0day,需要利用链特征覆盖。
而有些0day特征和行为比较明显,例如某设备的RCE,可以通过系统命令和敏感函数特征匹配直接检出。
3、许多高危漏洞攻击成功后的利用,必定伴随着文件生成(上传、不安全函数执行、字符输出重定向等)、外部资源请求(DNSlog、LDAP/RMI调用、C2通信建立)。前者可使用沙箱、EDR类产品检测,后者建议结合外部恶意资产信息库和恶意通信流量检测产品进行检测和阻断。
三 边界突破阶段:钓鱼
攻防演练中邮件钓鱼依然是主要方法,此外还有微信钓鱼、伪装内部员工诱骗钓鱼、github投毒等方式。
1、邮件钓鱼
攻击队伍在钓鱼样本投递上,一般采用目标企业关注的邮件主题类型,这些主题一般为应聘、应急处置通知、热点事件新闻、员工人事变动、薪酬福利信息、热点漏洞清单等。下图为伪装面试者投递简历的样本。
文件名:简历张琳.rar
hash值:
5009d3c8b570f4b2f1acc9e6f6d00ffd
而准备好样本后一般都会大面积批量发送邮件,使用类似如下图的套件,设定好主题模板、钓鱼地址、C2服务器钓鱼样本,批量发送钓鱼邮件。
批量发送钓鱼邮件
2、伪装蓝队利用工具github投毒(专钓蓝队)
攻防演练期间对于蓝队(防守方)来说最迫切的无外乎想第一时间知道一些0day漏洞的细节,而红队(攻击方)则会利用蓝队这一迫切需求,构造含有木马的漏洞利用工具,当蓝队使用漏洞工具排查分析漏洞时中招。如下为伪装漏洞利用工具:
伪装某知名终端防护软件的木马
以软件的漏洞为诱饵,在github上发布投毒项目。
项目地址:
https://github.com/*****RedTeam/******
伪装某知名OA软件EXP的木马
伪装成蓝队,以OA软件EXP为诱饵,在github上发布投毒项目。
项目地址:
https://github.com/Sec-****/2022***0day
3、添加内部管理人员微信直接发送exe文件
一般通过社工蓝队驻场运维人员,进入防守单位微信群,再通过一些话术或展现专业防守技能获得防守单位管理人员信任,最后添加管理人员微信发送钓鱼文件。
检测、处置思路:
1、加强人员安全意识管理,进行必要的安全意识培训
邮件安全意识
看发件人地址:如果是公务邮件,发件人多数会使用工作邮箱,如果发现对方使用的是个人邮箱帐号或者邮箱帐号拼写比较奇怪,那么就需要提高警惕。
看邮件标题:“系统管理员”、“通知”、“订单”、“采购单”、“**”、“会议日程”、“参会名单”、“历届会议回顾”这类标题的邮件需要谨慎打开。
看正文措辞:对使用“亲爱的用户”、“亲爱的同事”等一些泛化问候的邮件应保持警惕。
看正文目的:当心对方索要登录密码,一般正规的发件人所发送的邮件是不会索要收件人的邮箱登录帐号和密码的。
看正文内容:当心邮件内容中的链接,若包含“&redirect”字段,很可能就是钓鱼链接;还要当心垃圾邮件的“退订”功能。
资源安全意识
谨慎下载不明来源或不明人士转发的漏洞分析、利用、检测小工具。不要完全相信杀毒软件的查杀结果(攻击样本一般会做免杀处理),若确实需要使用请在隔离环境(虚拟机)中打开。
2、信誉度分析和检测
通过开源威胁信息,对邮件中的邮箱和IP地址进行查询,通过信誉值判断IP的可信度,是否是恶意IP。
通过域名信息分析,判断URL的信誉度。
3、虚拟机分析及沙箱检测
在可控安全环境中,查看邮件整体内容或打开各类文件,检测运行进程及其log日志,定位是否存在可疑行为。
对邮件的附件、各类下载文件,通过沙箱模拟真实主机的操作,并对文件操作、注册表操作、网络行为分析结果进行判断。
四 权限维持+横向渗透阶段:后门攻击
据不完全统计,自2020年以来的网络攻击事件中,超过80%的攻击是通过无文件方式完成的。并且,越来越多的Java漏洞利用工具都集成了一键注入内存马的功能。例如Shiro反序列化利用工具,哥斯拉、冰蝎webshell管理工具。无文件内存马主要类型如下图所示。
检测、处置思路:
1、基于通信层面的检测:通过信誉库及时阻断恶意域名及IP,通过流量检测类产品分析并及时阻断攻击流量。
2、基于进程、内存级别的检测:由于无文件恶意软件不遵循既定的行为模式,并且经常利用受信任的进程来掩盖恶意行为,因此依赖行为分析的平台无法追踪和暴露无文件威胁,也无法检测到他。
所以针对无文件攻击的问题,需要基于应用程序进程、内存级别的安全分析和检测,一般采用虚拟化技术在内存级别监控应用程序进程,并确保他们保持在合法的执行/控制流上。
结束语
这些年来随着红蓝对抗模式的攻防演练越来越普及,攻防双方的关注点和实践方式都发生较大变化。从实战中总结分析攻击方法、防守思路才能不断提升企事业单位网络安全防护能力,构筑牢固的安全防线。
相关文章: