freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

    从ATT&CK视角观察APT攻击如何进行资源部署
    2022-01-10 17:59:46
    所属地 浙江省

    框架版本更新

    在文章之前先回顾一下目前的版本更新,此框架的最新v10版本已经发布了,主要更新内容如下:

    • 最大变化为在Enterprise ATT&CK之下新增了一组数据源和数据组件(Data Source and Data Componet)对象,Data Sources表示由传感器/日志中收集的各种主题信息。Data sources包含了 Data components,其所表示的Data sources相关的属性和值可被用于识别与检测ATT&CK技术或子技术,详细信息可浏览相关博客

    • 重新命名了T1185和T1557,并弃用了T1053.004

      这一版本的ATT&CK for Enterprise总共包含了14个战术、188个技术、379个子技术、129个组和638个软件,详细信息可以访问官网更新页

    Note:此专栏内容一般都根据撰文时的最新版本撰写

    TA0042 Resource Development 资源部署

    攻击者正试图建立可以用来支持其行动的资源。

    TA0042资源部署包括攻击者创造、购买或窃取资源的技术,这些资源可以被用于目标攻击期间。这些资源包括基础设施、帐户或功能。攻击者可以利用这些资源在攻击者生命周期的其他阶段提供帮助,例如使用购买的域来支持命令和控制,作为初始访问的一部分用于钓鱼的电子邮件帐户,或者窃取代码签名证书来帮助防御逃避。

    image 20220110144727786

    文末附有中文完整版下载

    T1583 Acquire Infrastructure 创建基础设施

    攻击者通过购买或租用的方式获取各类基础设施以便在目标攻击期间使用,这些设施可用于承载和协调攻击者的操作,此类设施包括物理或云服务器、域名、第三方Web服务以及可被出租或购买的僵尸网络。利用这些基础设施可以帮助攻击者的操作混入到正常流量当中。根据不同的实现方式,攻击者可以通过基础设施使其难以在物理上被追踪到,同时也可以快速供应、修改和关闭基础设施。

    T1583.001 Domains 购买域名

    购买域名以便在攻击过程中使用,利用这些域名,攻击者可以进行网络钓鱼(T1566 Phishing)、T1189 Drive-by Compromise以及进行C&C控制。攻击者通过挑选与合法域名相似的域名来达到欺骗效果(包括使用同形文字、使用不同的顶级域TLD以及使用国际化域名IDNs来达到视觉上的相似效果)。

    每个域名注册商都维护一个公开可见的数据库,该数据库显示每个注册域的联系信息。私有WHOIS服务商会显示替代信息,比如他们自己的公司数据,而不是域的所有者。攻击者可以使用此种方式来模糊域名的所有者信息,通过使用不同的注册信息和使用不同的域名注册商购买域名,来中断进一步跟踪其基础设施的努力。

    T1583.002 DNS Server DNS服务器

    建立自己的域名系统(DNS)服务器,以便在目标攻击期间使用。 在泄漏后的活动中,对手可能会利用DNS流量来执行各种任务,包括命令和控制(例如:应用层协议)。 敌对方可以选择配置和运行自己的DNS服务器来支持操作,而不是劫持现有的DNS服务器。

    通过运行自己的DNS服务器,攻击者可以更好地控制如何管理服务器端DNS C2流量(DNS)。 通过控制DNS服务器,攻击者可以配置DNS应用程序来对恶意软件提供有条件的响应,并且通常在基于DNS的C2通道结构中具有更大的灵活性

    T1583.003 Virtual Private Server VPS

    租用虚拟专用服务器(vps),以便在目标攻击期间使用。 有许多云服务提供商将虚拟机/容器作为服务出售。 通过使用VPS,对手很难将实际操作与他们联系起来。 云基础设施的使用还可以让对手更容易地快速提供、修改和关闭其基础设施。

    获得一个VPS用于对手生命周期的后期阶段,例如命令和控制,可以让对手从与更高声誉的云服务提供商相关的无处不在和信任中获益。 对手也可以从VPS服务提供商那里获得基础设施,这些提供商以租用带有最小注册信息的VPS服务而闻名,从而允许对基础设施进行更多的匿名收购

    T1583.004 Server 服务器

    购买、租赁或租用物理服务器,以便在目标攻击期间使用。 使用服务器使对手能够筹划、启动和执行操作。 在妥协后的活动中,对手可能利用服务器执行各种任务,包括命令和控制。 对手可能会选择配置和运行自己的服务器来支持操作,而不是折衷第三方服务器或租用虚拟专用服务器。

    只有当对手的大部分活动都使用在线基础设施进行时,他们才需要轻量级的设置。 或者,如果他们想在自己的系统上测试、通信和控制活动的其他方面,他们可能需要构建广泛的基础设施

    T1583.005 Botnet 僵尸网络

    购买、租赁或租用一个被破坏的系统网络,以便在目标攻击期间使用。 僵尸网络是一个被入侵的系统组成的网络,它可以被指示去执行协调任务。攻击者可以通过购买或订阅压测服务器以获得一个现有的僵尸网络。 利用僵尸网络,攻击者可以执行后续活动例如大规模钓鱼攻击或DDOS攻击。

    T1583.006 Web Services Web服务

    注册web服务,以便在目标攻击期间使用。 存在各种流行的网站供攻击者注册基于Web的服务,这些服务可以在整个目标攻击周期的后期被滥用,例如用于C&C控制(Web服务)或通过Web服务进行渗透。使用Google或Twitter提供的公共服务,可以使攻击者更容易隐藏在预期的噪音中,使其攻击行为更难被物理上与其自身联系起来。

    T1584 Compromise Infrastructure 窃取基础设施

    攻击者通过破坏或窃取的方式来获得相关基础设施,这些设施的使用方式及目的与T1583战术中创建的基础设施相似,差异只是获取方式不同,其子技术也与T1583的子技术相似。

    T1584.001 Domains 域名
    T1584.002 DNS Server DNS服务器
    T1584.003 Virtual Private Server VPS
    T1584.004 Server 服务器
    T1584.005 Botnet 僵尸网络
    T1584.006 Web Services Web服务

    T1585 Establish Accounts 创建账户

    创建和培养可以在目标攻击期间使用的服务账户,通过该帐户来建立一个角色,以便用于进一步的行动当中。通过完善该角色的发展信息,方便在行动过程中引用以审查其合法性。人物角色发展信息包括公共信息、存在感信息、历史信息以及适当的从属关系信息。这些信息可被用于社交媒体,网站,以及其他一些公开可访问的地方。

    在结合社会工程学的操作当中,利用一个在线角色是十分重要的,这些人物角色可以是虚构的或模拟的某个真实的人。 该角色可以存在于单个网站或跨多个网站(例如:Facebook, LinkedIn, Twitter,Google,GitHub, Docker Hub等)。 建立一个人物角色可能需要部署额外的文档以使其看起来更为真实, 这包括填写个人资料信息,开发社交网络以及发布照片等。

    建立账户后还可以注册相应的电子邮件账户,这可被直接用于T1598信息钓鱼攻击以及T1566钓鱼攻击。

    T1585.001 Social Media Accounts 社交媒体账户

    创建和培养社交媒体账户,用来为进一步的行动创立一个角色。其内容描述与T1585中的描述相似,这里不再赘述。

    T1585.002 Email Accounts 电子邮件账户

    创建电子邮件账号,通过完善相关角色发展信息使其更具真实性。利用这些邮箱账号可用于钓鱼攻击以及购买基础设施。为了切断被追踪的可能,攻击者也可能会使用一次性的邮箱账号。

    T1586 Compromise Accounts 窃取账户

    渗透并窃取现有的服务账户,如果潜在的受害者与此角色有关系,那么利用现有的角色可能会产生一定程度的信任。窃取帐户的方法有很多种,例如通过网络钓鱼获取信息,从第三方网站购买证书,或对凭据进行暴力破解(例如:从泄露的证书转储中获取密码)在窃取帐户之前,攻击者会进行侦察以通知决定将哪些账户作为目标用于接下来的操作当中。在获得角色账户后,可能需要进行进一步的开发,包括完善各类角色发展信息等。

    以下这些子技术,也与T1585中的相似,差异同样也是获取方式不同。

    T1586.001 Social Media Accounts 社交媒体账户
    T1586.002 Email Accounts 电子邮件账户

    T1587 Develop Capabilities 开发攻击能力

    注意:本文将Capabilities 翻译为能力,其实也可以理解为攻击套件的意思

    建立在目标攻击期间的能力,攻击者可能不会购买、免费下载或窃取功能,而是在内部开发自己的能力。这一能力包含识别开发需求和构建解决方案(例如恶意软件、exploits、自签名证书等),攻击者开发这些工具以在他们的整个攻击链中提供帮助。

    与合法的开发项目一样,在开发过程中可能需要不同的技能集。所需的技能集可能在公司内部,也可能需要外包。这一外包的承包商可以认为是攻击者开发攻击能力的扩展,他塑造了攻击者的开发需求并具有一定的排他性。

    T1587.001 Malware 恶意软件

    开发恶意软件和组件,以便在目标攻击期间使用。构建的恶意软件包括有效载荷(payloads),投递器(droppers),后渗透工具,后门(包括存在后门的镜像),包装器,C2协议以及已感染的可移动存储介质。攻击者利用这些来协助他们的后续操作,创建一种方式来维护对远程机器的控制,规避防御以执行后渗透攻击。

    某些时候,开发恶意软件也会需要基础设施的支持,例如对C2协议的开发可能需要攻击者获得额外的通信设施。

    T1587.002 Code Signing Certificates 代码签名证书

    创建自签名的代码签名证书,以便在目标攻击期间使用。代码签名是对可执行文件和脚本文件进行数字签名的过程,以确认软件作者,并保证代码没有被修改或损坏。代码签名为开发人员的程序提供了一定程度的真实性,并保证程序没有被篡改。用户和以及安全软件会更信任已签名的代码段,而不是未签名的代码段,即使颁发证书的人或作者并不明确。所以在代码签名前,攻击者可能会开发自签名的代码证书以供签名操作使用。

    T1587.003 Digital Certificates 数字证书

    创建自签名的SSL/TLS证书,以便在目标攻击期间使用。这一证书被用于进一步建立信任,它包含了关于密钥信息、密钥所有者身份信息,以及用于验证证书内容是否正确的数字签名实体。如果签名是有效的,并且检查证书的人信任签名者,则他们就会允许使用该密钥与该密钥的所有者通信。 在自签名的情况下,数字证书将缺乏与第三方证书颁发机构(CA)的签名相关联的信任元素。

    攻击者使用SSL/TLS证书可以用于加密C2流量或更进一步进行中间人攻击(如果证书被成功添加到信任的根即被成功安装的话)。

    创建证书后,攻击者可以在其控制的基础设施上安装该证书。

    T1587.004 Exploits

    开发exploits用于目标攻击期间,利用exploits往往可以在计算机硬件或软件上造成意想不到的后果。相较于寻找并修改网络上找到的exploits,攻击者可能更倾向于开发自己的exploits。攻击者可以聚焦于通过漏洞发现的信息进行开发工作,作为开发exploits过程的一部分,攻击者往往会通过fuzzing技术和对补丁进行分析寻找可能存在的漏洞。

    攻击者可以在不同的攻击阶段使用exploits(例如

    T1588 Obtain Capabilities 获得攻击能力

    通过窃取或购买获得攻击能力,而不是自行开发,包括也可以从第三方(如其他攻击者)那里获得攻击能力。其包含内容大致于T1587相似,但多了两项子技术T1588.002和T1588.006。

    T1588.001 Malware 恶意软件

    T1588.002 Tool 工具

    通过购买、窃取、下载工具以用于目标攻击期间。工具可以是开源的也可以是闭源的,可以是免费的也可以是商业的,可以是有害的也可以是无害的(例如PsExec)。工具采购可以包括商业许可证的采购,包括Cobalt Strike等红队工具。商业软件可以通过购买、窃取许可或破解的方式来获得。

    攻击者利用获得的工具来帮助他们进行攻击包括进行后渗透操作,除了免费下载和购买软件外,也可以从第三方实体(包括其他攻击者)那里获取软件和许可。

    T1588.003 Code Signing Certificates 代码签名证书

    T1588.004 Digital Certificates 数字签名证书

    T1588.005 Exploits

    T1588.006 Vulnerabilities 漏洞

    获得有关的漏洞信息以用于目标攻击期间,漏洞是计算机硬件或软件中的一种弱点,它可以被攻击者潜在地利用,导致意外或未预料到的行为发生。 攻击者可以通过搜索开放的数据库或访问关闭的漏洞数据库来寻找漏洞信息 。

    攻击者可以通过监视漏洞纰漏和漏洞数据库来了解现有的和新发现的漏洞的状态,在漏洞被发现和被公开之间常常有一段时间延迟,在这段时间中攻击者可以对受影响的组件进行研究以此来搜寻exploit,更甚一步也可以开发自己的exploit。

    T1608 Stage Capabilities 部署攻击能力

    通过上传、安装等其他方式部署能力,以便在目标攻击期间使用。为了支持这一操作,往往需要先具备T1587和T1588战术能力,以便用于部署操作。这一操作可以在T1583和T1584中获得的基础设施上实施,同时也可以部署在web服务上,例如Github和Pastebin

    这一战术可以帮助攻击者进行一些初始访问和后渗透的操作,包括但不限于:

    • 当用户浏览网站时提供必要的网络资源以进行T1189 Drive-by Compromise 战术

    • 利用Web资源进行鱼叉式钓鱼攻击

    • 上传恶意软件或工具到受害者网络可访问的位置以执行T1105 Ingress Tool Transfer 战术

    • 安装之前获得的SSL/TLS证书用于加密命令及控制流量(例如使用非对称加密技术加密Web流量)

    T1608.001 Upload Malware 上传恶意软件

    将恶意软件上传到第三方或由其控制的基础设施当中,以便在目标攻击期间使用。有关恶意软件的具体描述见T1587.001,攻击者通过上传恶意软件来支持他们的操作,如上传一个有效载荷用于访问受害者的网络以展开 T1105 Ingress Tool Transfer 战术操作。

    恶意软件可以被放置在攻击者获得的基础设施中,也可以出现在Web服务中,如Github或Pastebin。攻击者可能会上传后门文件包括可应用程序、虚拟机镜像、容器镜像到第三方软件商店和存储库中(如 GitHub, CNET, AWS Community AMIs, Docker Hub),通过伪装可以增加用户无意间下载并执行恶意程序的可能性。

    T1608.002 Upload Tool 上传工具

    将工具上传到第三方或由其控制的基础设施当中,以便在目标攻击期间使用。有关工具的具体描述见T1588.002,攻击者通过上传工具来支持他们的操作,例如将一个工具放置在Internet可访问的web服务器上,使其对受害者网络可用以展开 T1105 Ingress Tool Transfer 战术操作。

    工具可以被放置在攻击者获得的基础设施中,也可以存储于web服务中(如Github repo)。攻击者可以通过让受害者机器直接从第三方托管位置(包括该工具的原托管站点)下载工具即可避免上传工具到受害者机器的操作。

    T1608.003 Install Digital Certificate 安装数字证书

    安装SSL/TLS证书以便在目标攻击期间使用,有关证书的描述见T1587.003,通过将证书安装到服务器上,攻击者可以将服务器配置为使用该证书来启用与它的加密通信。

    攻击者通过安装证书可用于进一步的操作,例如加密C2流量或向证书获取站点提供可信性, 数字证书的安装可发生在多种服务器类型中,包括web服务器和电子邮件服务器。

    T1608.004 Drive-by Target

    通过准备一个操作环境来感染正常浏览网站的系统。 终端系统可能因为浏览攻击者控制的站点而受到损害,这一攻击战术被称为 T1189 Drive-by Compromise。在这种情况下,用户的web浏览器通常是被攻击的目标(通常不需要任何额外的用户交互,一旦访问就会受到损害),但攻击者也可能为了获得访问令牌而创建网站。

    在 T1189 Drive-by Compromise战术之前,攻击者必须将需要的操作环境(有效载荷)投放到受害者所要浏览的网站上,这一操作环境可以在攻击者通过T1583、T1584获得的基础设施上呈现。

    攻击者可能上传或注入恶意的web内容到网站当中,如JavaScript。 这可通过多种方式实现,包括在网页中直接插入或在其他用户控制的网页内容(如论坛帖子)中插入恶意脚本。攻击者也可以制造恶意的网络广告,并通过合法的广告提供商在网站上购买广告空间。 除了呈现内容以利用用户的web浏览器外,对手还可能利用脚本来剖析用户的浏览器(如收集受害者主机信息),以确保在试图利用时该浏览器时存在漏洞的【相关阅读】。

    被攻击者选择并被用来发动攻击的网站可能是由特定社区(如政府、特定行业或地区)访问的网站,这些网站的目标是基于共同的兴趣对特定用户或一组用户进行攻击。 这种具有针对性的攻击被称为战略性的网络妥协(a strategic web compromise)或水坑攻击(watering hole attack)。

    攻击者可能会在购买基础设施(域名)时购买与合法域名相似的域名(例如:同义字、拼写错误、不同的顶级域名等),以帮助促进 T1189 Drive-by Compromise 战术。

    T1608.005 Link Target

    放置一个连接到相关资源的链接以便在目标攻击期间使用。攻击者可以依靠用户点击恶意链接来获取泄露信息(包括凭据)或获取执行权限。链接可以被用于鱼叉式钓鱼攻击,比如发送一封带有社会工程文本的电子邮件,诱使用户主动点击或复制URL到浏览器当中。在使用鱼叉式钓鱼攻击获取信息或获取执行权限前,攻击者首先需要构造好链接所指向的相关恶意资源。

    通常链接所指向的资源是HTML页面,其中可能包含一些客户端脚本(如JavaScript),以决定为用户提供什么内容。攻击者可以克隆合法网站作为链接资源,这包括克隆合法的web服务或组织的登录页面,以在鱼叉式钓鱼攻击期间获取凭证。攻击者也可以通过上传恶意软件,并将链接指向该软件以供用户下载和执行。

    在获取基础设施(域名)的过程中,攻击者可以购买与合法域名相似的域名(例如:同义字、拼写错误、不同的顶级域名等),以帮助促进恶意链接。同时也可以应用短链服务。

    现有的ATT&CK映射应用

    ATT&CK本身的初衷之一就是能够使用一种通用语言来映射现实世界当中复杂的攻击行为,目前也已经有一些优秀的安全企业尝试在自身产品中融合这一通用语言,笔者随便逛悠了一下,发现360安全大脑 沙箱云,就有对一些病毒样本做了相应的ATT&CK战术映射。但也还只是部分样本,估计现在还难以进行一个自动化的映射。

    image 20220106101734242

    可以感觉的到,目前这一攻击框架的应用更多的还只是一种锦上添花的作用,就像安全工具的UI一样,也许可以吸引到更多的用户,但由于自动化能力有限(无法自动地进行行为分析和数据交换),恐怕还难以产生实际的价值。由于精力原因,这一专栏也断更了许久,最近重新拾起来也花费了许多的功夫,常常想要加点什么内容,但往往翻译下来已经耗费太多精力,针对所描述的一些宏观视角,若要做细节补充又是一个不小的工作量。也不知道各位读者看到这篇文章是否能有所收获,笔者也在思考是否还有继续更新的必要,这样的翻译梳理性文章是否能够给读者带来足够的内容呢,欢迎各位留言与作者交流。

    完整的中文版思维导图(提取码hwc3):TA0043 Reconnaissance 侦查

    本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
    被以下专辑收录,发现更多精彩内容
    + 收入我的专辑
    + 加入我的收藏
    相关推荐
    • 0 文章数
    • 0 关注者
    文章目录