ATTCK v13版本战术介绍——防御规避(五)

news2024/10/7 19:17:41

一、引言

在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化、提权战术理论知识及实战研究、部分防御规避战术,本期我们为大家介绍ATT&CK 14项战术中防御规避战术第25-30种子技术,后续会介绍防御规避其他子技术,敬请关注。

二、ATT&CK v13简介

MITRE ATT&CK 是一个全球可访问的基于现实世界观察的攻防战术和技术知识库。ATT&CK知识库被用作在私营部门、政府以及网络安全产品和服务社区中开发特定威胁模型和方法的基础。

2023年 4月25日,MITRE ATT&CK 发布了最新版本 V13,最大的变化是为ATT&CK中的一些技术添加了详细的检测指导,用于企业,移动数据源和两种新类型的更改日志(包括一个人类可读的详细更改日志,更具体地显示更新的ATT&CK对象中的更改,以及一个机器可读的JSON更改日志,其格式在ATT&CK的Github中描述)。

ATT&CK for Enterprise v13 包含14个战术、196个技术、411个子技术、138个组织和740个软件。

ATT&CK战术全景图(红框为防御规避战术)

三、防御规避战术

3.1 概述

防御逃避包括攻击者在攻击过程中用来避免被发现的技术,包括禁用安全软件、加密数据和脚本、利用可信进程来隐藏或伪装恶意软件。

防御规避战术包括42种技术,本期介绍第25-30种技术,逐一介绍如下:

3.2 plist文件修改(T1647)

攻击者可能会修改属性列表文件(plist文件)以启用其他恶意活动,以逃避和绕过系统防御。macOS应用程序使用plist文件,用于存储通知操作系统如何在运行时处理应用程序的属性和配置设置。Plist文件是基于Apple的Core Foundation DTD以XML格式格式化的键值对中的结构化元数据。Plist文件可以保存为文本或二进制格式。

攻击者可以修改plist文件中的键值对以影响系统行为,例如隐藏应用程序的执行或运行其他持久性命令。

3.2.1 缓解措施

ID

缓解措施

描述

M1013

应用开发者指南

确保应用程序使用开发人员指南。

3.2.2 检测

ID

数据源

数据组件

检测

DS0017

命令

命令执行

监控用于修改plist文件的带有参数的命令(例如打开常用命令行编辑器)

DS0022

文件

文件修改

监控plist文件的修改,修改后的plist中任何路径指针的重大更改。

DS0009

进程

进程创建

监控新执行的进程。

3.3 在操作系统前启动(T1542)

攻击者可能会利用操作系统前启动机制建立持久性。在计算机的启动过程中,固件和各种启动服务在操作系统之前加载,这些程序在操作系统控制之前控制执行流程。

在操作系统前启动技术包含5项子技术,介绍如下:

3.3.1 系统固件(T1542.001)

攻击者可能会修改系统固件以建立持久性。例如BIOS(基本输入/输出系统)和统一可扩展固件接口(UEFI)或可扩展固件接口(EFI)等。

系统固件削弱了计算机的功能,并且可能被攻击者修改以执行恶意活动。

3.3.2 组件固件(T1542.002)

攻击者可能会修改组件固件以建立持久性。攻击者可能会使用复杂的手段来破坏计算机组件并安装恶意固件,这些固件将在操作系统和主系统固件或BIOS之外执行恶意代码。

3.3.3 Bootkit(T1542.003)

攻击者可以使用bootkit来持久化系统。Bootkit是一种恶意软件变体,可修改硬盘驱动器的引导扇区,包括主引导记录(MBR)和卷引导记录(VBR)。MBR是BIOS完成硬件初始化后首先加载的磁盘部分,引导加载程序的位置。对启动驱动器具有原始访问权限的攻击者可能会覆盖此区域,从而将启动期间的执行从正常启动加载程序转移到恶意代码。

MBR将引导过程的控制传递给VBR。与MBR的情况类似,对启动驱动器具有原始访问权限的攻击者可能会覆盖VBR以将启动期间的执行转移到恶意代码。

3.3.4 RommonKit(T1542.004)

攻击者可能会利用ROM监视器(ROMMON),通过加载带有恶意代码的未经授权的固件来提供持久访问。

攻击者可以使用恶意代码在本地或远程升级ROMMON镜像,并重新启动设备,以覆盖现有的ROMMON镜像。

3.3.5 TFTP启动(T1542.005)

Netbooting是引导序列中的一个选项,可用于集中、管理和控制设备镜像。攻击者可能会利用Netbooting从TFTP服务器加载未经授权的网络设备操作系统。

攻击者可以操纵网络设备上的配置,指定使用恶意TFTP服务器,该服务器可以与修改系统映像一起使用,以便在设备启动或重置时加载修改后的镜像。未经授权的镜像允许对手修改设备配置,向设备添加恶意功能,并引入后门以保持对网络设备的控制。

3.3.6 缓解措施

ID

缓解措施

描述

M1046

启动完整性

使用受信任的启动过程,检查现有BIOS或EFI的完整性,以确定它是否容易被修改。

M1026

特权账户管理

确保具有适当的权限,防止特权帐户被利用。

M1051

更新软件

根据需要修补BIOS和EFI。

3.3.7 检测

ID

数据源

数据组件

检测

DS0017

命令

命令执行

监控命令历史记录中执行的命令和参数,以确定是否使用了未经授权或可疑的命令来修改设备配置。

DS0016

驱动

驱动修改

监控MBR和VBR发生的变化,以确定可疑活动和进一步分析的指标。记录MBR和VBR的快照,并与已知的良好样本进行比较。

DS0027

驱动

驱动程序元数据

监控磁盘检查、取证实用程序和来自设备驱动程序(即进程和API调用)的数据。

DS0001

固件

固件修改

监控在操作系统前引导机制上所做的更改。

DS0029

网络流量

网络连接创建

监控新构建的网络设备配置和系统镜像,以发现对系统引导、启动配置或正在运行的操作系统的未经授权的更改。

DS0009

进程

OS API执行

监控利用操作系统前引导机制的API调用。 

3.4 进程注入(T1055)

攻击者可以将代码注入到进程中来提升特权。进程注入是一种在单独的活动进程的地址空间中执行任意代码的方法。进程注入技术包含12项子技术,介绍如下:

3.4.1 动态链接库注入(T1055.001)

攻击者可以将动态链接库Dll注入到进程中,DLL注入通常通过在调用新进程加载DLL之前将路径写入目标进程的虚拟地址空间中的DLL来执行。

3.4.2 可执行文件注入(T1055.002)

攻击者可将可执行文件PE注入到进程中,PE注入在通过新进程调用目标进程之前将代码复制到目标进程的虚拟地址空间来执行的。

3.4.3 线程执行劫持(T1055.003)

攻击者可能会将恶意代码注入被劫持的进程中来提升特权。线程执行劫持通常通过挂起现有进程,然后取消映射其内存来执行,然后可以用恶意代码或DLL的路径替换。

3.4.4 异步进程调用(T1055.004)

攻击者可以通过异步进程调用APC队列向进程注入恶意代码,排队的APC函数在进程进入可更改状态时执行。

3.4.5 线程本地存储(T1055.005)

攻击者可以通过线程本地存储(TLS)回调将恶意代码注入进程,TLS回调注入涉及操纵可移植可执行文件PE中的指针,以便将进程重定向到恶意代码。TLS回调通常由操作系统用于设置或清理线程使用的数据。

3.4.6 Ptrace系统调用(T1055.008)

攻击者可以通过ptrace进程跟踪系统调用将恶意代码注入进程,Ptrace系统调用注入涉及修改正在运行的进程。Ptrace系统调用使调试进程能够观察和控制另一个进程以及每个单独的线程,包括更改内存和寄存器值。

3.4.7 Proc内存(T1055.009)

攻击者可以通过proc文件系统向进程注入恶意代码,通过使用proc文件系统提供的内存映射覆盖目标进程的堆栈来执行。

3.4.8 EWM注入(T1055.011)

攻击者可以通过EWM将恶意代码注入进程,在创建窗口之前,基于windows的图形化进程必须注册一个windows类,新windows类的注册可以包括请求将最多40字节的EWM追加到该类的每个实例的分配内存中。EWM旨在存储特定于该窗口的数据,并具有特定的应用程序编程接口(API)函数来设置和获取其值。

3.4.9 Process Hollowing(T1055.012)

攻击者可能会将恶意代码注入暂停的进程中, 进程挖空通常是通过创建一个处于暂停状态的进程,取消映射它的内存来执行的,然后可以用恶意代码替换它。

3.4.10 Process Doppelgänging(T1055.013)

Process doppelgänging是一种在单独活动进程的地址空间中执行任意代码的方法。Process Doppelgänging分4步实现:

使用合法的可执行文件创建TxF事务,然后用恶意代码覆盖该文件。

创建内存的共享部分并加载恶意可执行文件。

撤消对原始可执行文件的更改,有效地从文件系统中删除恶意代码。

从内存的受污染部分创建一个进程并启动执行。

3.4.11 VDSO劫持(T1055.014)

攻击者可以通过vdso劫持向进程注入恶意代码,VDSO劫持涉及将调用重定向到动态链接的共享库。攻击者可能会劫持从vdso共享对象映射到进程的syscall接口代码存根,以执行syscall以打开和映射恶意共享对象。然后,可以通过通过存储在进程全局偏移表(存储映射库函数的绝对地址)中的修补内存地址引用重定向进程的执行流来调用此代码。

3.4.12 ListPlanting(T1055.015)

攻击者可利用列表视图控件将恶意代码注入被劫持的进程中,ListPlanting可以通过将代码复制到使用列表视图控件的进程的虚拟地址空间中来执行,使用该代码作为自定义回调来对列出的项目进行分类,然后可以执行邮件攻击。

3.4.13 缓解措施

ID

缓解措施

描述

M1040

端点行为防御

在Windows10上,攻击面减少(ASR)规则可能会阻止Office应用程序进行代码注入。

M1026

特权账户管理

将ptrace的使用限制为特权用户来减轻基于ptrace的进程注入。其他控制涉及安全内核模块的部署,这些模块提供高级访问控制和进程限制,如SELinux,grsecurity和AppArmor。

3.4.14 检测

ID

数据源

数据组件

检测

DS0022

文件

文件元数据

监控文件的标题,内容,所有者等信息。

文件修改

监控修改文件的事件。

DS0011

模块

模块加载

监控DLL/PE文件事件,特别是这些二进制文件的创建以及将Dll加载到进程中,查找无法识别或未加载到进程中的Dll。

DS0009

进程

OS API执行

监控Windows API调用可能会生成大量数据,监控Linux特定的调用,如ptrace系统调用。

进程访问

监控进程访问事件。

进程元数据

监控进程和内存是否一致。

进程修改

监控进程修改事件。

3.5 反射代码注入(T1620)

攻击者可能会将代码加载到进程中,以隐藏恶意有效负载的执行。反射加载涉及直接在进程的内存中分配然后执行有效负载,或者创建由磁盘上的文件路径支持的线程或进程。反射加载的有效负载可以是编译的二进制文件,匿名文件(仅存在于RAM中),或者只是无文件可执行代码的缓冲(例如:与位置无关的shellcode)。

反射代码注入与进程注入非常相似,只是将代码加载到进程自己的内存中,而不是单独的进程。反射加载可能会逃避基于进程的检测,因为任意代码的执行可能会在合法进程中被屏蔽。

3.5.1 检测

ID

数据源

数据组件

检测

DS0011

模块

模块负载

监控异常进程执行。

DS0009

进程

OS API执行

监控与反射加载代码相关联的代码执行。

DS0012

脚本

脚本执行

监控异常的脚本执行,识别任意代码执行行为。

3.6 注册恶意域控制器(T1207)

攻击者可以注册恶意域控制器以启用对活动目录数据的操作。DCShadow可用于创建恶意域控制器(DC)。DCShadow是一种通过注册和模拟DC行为来操作活动目录(AD)数据的方法。一旦注册,恶意DC可能能够将更改注入并复制到任何域对象的AD基础结构中,包括凭据和密钥。

注册恶意域控制器技术还可用于更改和删除复制和其他相关元数据,以阻碍检测分析。攻击者也可以利用该技术来执行SID-History注入或操纵AD对象(例如帐户,访问控制列表,模式)以建立用于持久化的后门。

3.6.1 检测

ID

数据源

数据组件

检测

DS0026

活动目录

活动目录对象创建

基线和定期分析AD架构的配置分区,并在创建nTDSDSA对象时告警。

活动目录对象修改

监控AD目录状态的更改,对AD对象的复制行为进行监控和告警(审核详细的目录服务复制事件EventID为4928和4929)。

DS0029

网络流量

网络流量内容

监控和分析DC之间以及非DC主机之间与数据复制相关的网络流量。

DS0002

用户账户

用户账户认证

监控异常的用户账户对Kerberos服务主体名称(Spn)的使用情况,恶意DC必须使用这两个Spn作为服务进行身份验证,才能成功完成复制过程。

3.7 使用Rootkit(T1014)

攻击者可以使用rootkit来隐藏程序、文件、网络连接、服务、驱动程序和其他系统组件。Rootkit是通过拦截和修改提供系统信息的操作系统API调用来隐藏恶意软件的程序。

Rootkit可以驻留在操作系统、更低的用户或内核级别,以包括管理程序、主引导记录或系统固件。

3.7.1 检测

ID

数据源

数据组件

检测

DS0016

驱动

驱动修改

监控对数据存储设备的驱动所做的更改,以获取rootkit可能用于隐藏程序、文件、网络连接、服务、驱动程序和其他系统组件的意外修改行为。

DS0022

文件

文件修改

监控异常的Dll、驱动程序、设备、服务和MBR的修改事件。

DS0001

固件

固件修改

监控对固件所做的更改,rootkit保护可能内置于防病毒或操作系统软件中。有专门的rootkit检测工具来查找特定类型的rootkit行为。

四、总结

本期主要介绍了防御规避战术(五)及技术/子技术原理,下期将给大家介绍防御规避战术(六)涉及的技术原理。敬请关注。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/517572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么蓝牙耳机好?业内权威蓝牙耳机排名TOP5

蓝牙耳机是当下最热门的数码产品,我个人已经买过十来款蓝牙耳机了,最近逛论坛看到知名数码论坛公布了蓝牙耳机排名TOP5,不懂什么蓝牙耳机好的朋友们在选购时可以从中入围的品牌中进行挑选。 一、JEET Air2蓝牙耳机 推荐理由:舒适…

springboot项目部署教程【本地+云服务器】

目录 前言一、环境准备二、项目导入三、配置Maven四、数据库导入五、启动项目六、浏览器访问结语 前言 springboot项目部署教程用最简单、暴力的方法完成项目导入。 🥇个人主页:MIKE笔记 🥈文章专栏:毕业设计源码合集 ⛄联系博主…

一、LLC 谐振变换器工作原理分析

1 前言 LLC 谐振电路采用脉冲频率调制(PFM),通过改变驱动信号的频率来控制变换器的能量传输。谐振电路中的三个谐振元件为:谐振电感 Lr、谐振电容 Cr 和励磁电感 Lm,它们根据工作模式的不同可形成两个谐振频率。与串联谐振变换器相比&#x…

vue 组件 隐藏内容,点击展示更多功能

效果图 代码 <template><div class"m-text-overflow modules"><div class"l-content" :style"contentStyle"><div ref"refContent"><slot><span v-html"content"> </span></…

基于AT89C52单片机的万年历设计与仿真

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87777668?spm1001.2014.3001.5503 源码获取 主要内容&#xff1a; 本次设计所提出的一种基于单片机技术的万年历的方案&#xff0c;能更好的解决万年历显示的问题…

公司招人,面试了一个4年经验要20K的,一问自动化都不会····

公司前段时间缺人&#xff0c;也面了不少测试&#xff0c;结果竟然没有一个合适的。一开始瞄准的就是中级的水准&#xff0c;也没指望来大牛&#xff0c;提供的薪资在10-20k&#xff0c;面试的人很多&#xff0c;但平均水平很让人失望。 看简历很多都是3、4年工作经验&#xf…

【腾讯云 Finops Crane集训营】Finops Crane究竟能为我们带来什么价值和思考?深入探究Crane

目录 前言 一、Crane目的是什么&#xff1f; 二、Crane有哪些功能&#xff1f; 1.成本可视化和优化评估 2.推荐框架 3.基于预测的水平弹性器 4.负载感知的调度器 5.拓扑感知的调度器 6.基于 QOS 的混部 三.Crane的整体架构及特性 1.Crane架构 Craned Fadvisor Metr…

postman runner使用外部数据

场景: 使用postman进行接口测试&#xff0c;需要对一个collection中的所有接口进行测试&#xff0c;或者需要使用指定的参数对collection中的接口进行测试。 工具&#xff1a; Postman for Windows Version 10.12.0接口文件&#xff08;链接&#xff1a;https://pan.baidu.co…

环境土壤物理模型HYDRUS建模方法

查看原文>>>系统学习环境土壤物理模型HYDRUS建模方法与多案例应用 目录 一、HYDRUS模型概述 二、土壤和地下水流问题基础知识 三、 溶质运移问题模拟 四、热量传输问题模拟 五、模型外部接口 其它生态环境相关推荐 HYDRUS是由著名土壤学家Rien van Genuchten和…

物联网| 定时器计数器开发之中断方法|定时器中断处理函数|完整测试代码|物联网之蓝牙4.0 BLE基础-学习笔记(6)

文章目录 11 定时器计数器开发之中断方法定时器中断处理函数:完整测试代码&#xff1a; 11 定时器计数器开发之中断方法 LED控制电路同前节&#xff1a; CC2530的T3定时器(8位&#xff09;需要了解T3GJL,T3CCTLO,T3CCO,T3CCTL1,T3CC寄存器。如下表所示&#xff1a; 按照表格…

母亲节海外网红营销指南:在2023年打造品牌曝光和销售增长

随着全球电商的迅速发展和社交媒体的普及&#xff0c;海外网红营销已成为出海品牌的重要策略之一。母亲节这样一个特殊的节日&#xff0c;对于出海品牌来说&#xff0c;是与消费者建立深层次情感联系的理想时机。本文Nox聚星将和大家详细探讨2023年出海品牌如何在母亲节期间做好…

基于AI技术的API开发工具,自动化和智能化快速高效开发API

一、开源项目简介 ApiCat 是一款基于 AI 技术的 API 开发工具&#xff0c;它旨在通过自动化和智能化的方式&#xff0c;帮助开发人员更快速、更高效地开发 API。ApiCat 支持 OpenAPI 和 Swagger 的数据文件导入和导出&#xff0c;并可以对用户输入的 API 需求进行分析和识别&a…

React hooks源码阅读

一、版本 react&#xff1a;17.0.2react-dom&#xff1a; 17.0.2 二、代码仓库 react源码的管理方式是monorepo模式&#xff0c;它把react中相对独立的模块分割出来作为一个软件包&#xff08;例如&#xff1a;react包、react-dom包、react-server包等等&#xff09;&#x…

SpringBoot整合logback日志

一、概述 与log4j相比&#xff1a; 实际上&#xff0c;这两个日志框架都出自同一个开发者之手&#xff0c;Logback 相对于 Log4J 有更多的优点 (1)logback不仅性能提升了&#xff0c;初始化内存加载也更小了。 (2)内容更丰富的文档 (3&#xff09;更强大的过滤器 二、步骤…

公网远程ERP - 在外远程登录公司局域网金蝶云ERP管理系统

文章目录 前言1.金蝶安装简介2. 安装cpolar内网穿透3. 创建安全隧道映射4. 在外远程访问金蝶云星空管理中心5. 固定访问地址6. 配置固定公网访问地址7.创建数据中心简介8.远程访问数据中心9. 固定远程访问数据中心地址10. 配置固定公网访问地址 前言 金蝶云星空聚焦多组织&…

Wav2lip-GAN 环境配置

首先使用 conda 创建新的虚拟环境&#xff0c;然后激活这个环境 conda create -n myenv python3.8 activate myenv使用 git 克隆代码&#xff0c;或者直接下载源码压缩包解压&#xff0c;安装依赖&#xff08;我使用的豆瓣源&#xff09; git clone https://github.com/Rudra…

2022年美国大学生数学建模竞赛A题自行车运动员的能量特征解题全过程文档及程序

2022年美国大学生数学建模竞赛 A题 自行车运动员的能量特征 原题再现&#xff1a; 背景   自行车公路赛有多种类型&#xff0c;包括标准赛、团体计时赛和个人计时赛。这些比赛的自行车运动员获胜的机会可能会有所不同&#xff0c;具体取决于赛事的类型、路线和自行车运动员…

js代码执行过程、调用栈、执行上下文

参考资料 极客时间课程《浏览器工作原理与实践》 – 李兵 一、js代码执行过程 &#xff08;一&#xff09;javascript代码的执行流程 浏览器执行javascript代码的流程如下图所示&#xff1a; javascript的执行机制是&#xff1a;先编译&#xff0c;再执行。在编译阶段生成了…

01.LLaMA

文章目录 前言导读摘要 预备知识语言模型ChatGPT性能暴涨的原因&#xff08;涌现&#xff09;GPT-1Transformer 背景介绍模型精讲数据集及处理Common CrawlC4GithubWikipediaGutenberg and Books3ArXivStack Exchange小结 关键TrickPre-normalizationSwiGLURotary Embeddings 实…