ATTCK(四)之ATTCK矩阵战术技术(TTP)逻辑和使用

news2024/11/15 21:03:38

ATT&CK矩阵战术&技术(TTP)逻辑和使用

ATT&CK的战术与技术组织结构

在这里插入图片描述

ATT&CK矩阵中的所有战术和技术,都可以通过以下链接进行目录结构式的浏览https://attack.mitre.org/techniques/enterprise/,也可以在矩阵里直接点击对应的技术进行浏览。当前版本共包括193类技术共401个子技术

在这里插入图片描述

1. 命名规则

在这里插入图片描述

技术由“技术描述”、“消减措施”、“检测手段”3部分组成,技术子类多增加一个“案例”(Procedure Examples)组成部分。案例包括攻击者组织和攻击工具

所有技术的命名都以大写字母T打头,后面带上4个数字,组成编号,例如T1134表示“Access Token Manipulation”技术类。如果该类技术有子类技术,则通过小数点加上3个从001开始的数字编号,表示子类技术,例如T1134.005表示“SID-History Injection”子技术

所有的消减措施,均以Mitigations的首字母M打头,后面跟随4个数字作为编号;所有的检测手段,均以Data Source的首字母DS打头,后面跟随4个数字作为编号,因为检测手段表示从哪里获取检测数据,所以为DS

在“案例”中,包括攻击组织和攻击工具,攻击组织以Group的首字母打头,后面跟随4个数字作为编号;攻击工具以Software首字母打头,后面跟随4个数字作为编号。所有这些攻击组织和攻击工具均是已公开的

从上面可以看到,只有子类技术采用小数点加3个数字作为编号,其他都是以首字母加4个数字作为编号,很好记忆区分

2. T1548分析

T1548(Abuse Elevation Control Mechanism)表示“滥用权限控制机制”技术,包括4个子技术,如下图所示:

在这里插入图片描述

2.1 基本描述

在这里插入图片描述

攻击者可能会绕过旨在控制提升权限机制以获得更高级别权限。大多数现代系统都包含权限控制机制,即用户是分级的,例如Linux有普通用户和Root用户,Windows分作System、administrator、Authenticated user等不同级别的用户权限,且有相应的控制机制在不同级别用户之间进行切换,例如Windows的UAC机制。攻击者可以执行多种方法来利用内置的控制机制,以提高攻击者的权限。当有子类技术时,详细信息会在子类技术中进行描述

在这里插入图片描述

以T1548.001为例进行分析,这个子技术为“Abuse Elevation Control Mechanism: Setuid and Setgid”,攻击者滥用应用程序的属性setuid或setgid位的配置,以便让代码在不同(可能更特权)的用户上下文中运行。在Linux或macOS上,当为应用程序二进制文件设置setuid或setgid位时,应用程序将分别以拥有用户或组的权限运行(具体原理可以阅读引用的论文)。通常,应用程序是在当前用户的上下文中运行的,而不管哪个用户或组拥有该应用程序。然而,在某些情况下,程序需要在提升的上下文中执行才能正常运行,但运行这些程序的用户可能没有特定的所需权限
任何用户都可以指定要为自己的应用程序设置的setuid或setgid标志(即Linux和Mac文件和目录权限修改),而不是在sudoers文件中创建条目(必须由root用户完成)。chmod命令可以通过位掩码、chmod 4777[file]或通过简写命名、chmod u+s[file]来设置这些位。这将启用setuid位。为了启用设置位,可以使用chmod 2775和chmod g+s

在这里插入图片描述

攻击者可以在自己的恶意软件上使用这种机制,以确保他们将来能够在高级上下文中执行。这种滥用通常是“shell转义”或其他绕过权限受限的执行环境的操作的一部分

或者,攻击者可以选择在已启用setuid或setgid位(即文件和目录发现)的情况下查找和瞄准易受攻击的二进制文件。当通过ls-l查看文件的属性时,setuid和setguid位用“s”而不是“x”表示。find命令也可用于搜索此类文件

例如,find/-perm+4000 2>/dev/null可用于查找设置了setuid的文件,find/-perm+2000 2>/dev/null可用于setgid。设置了这些位的二进制文件可能会被对手滥用

在这里插入图片描述

2.2 案例

在这里插入图片描述

案列中描述的一个攻击软件叫Keydnap,这是一款在后门程序,可以窃取了用户钥匙链的敏感信息。对工具的详细研究分析,可以参考对应的论文分析

2.3 消减措施

消减措施编号为M1028。具有已知漏洞或已知shell转义的应用程序不应设置setuid或setgid位,以减少应用程序受损时的潜在损坏。此外,在整个系统中,设置了setuid或setgid位的程序数量应该最小化

2.4 检测手段

通过2种手段来进行检测。一是DS0017,通过监测命令行执行参数,监视诸如chmod之类的实用程序及其命令行参数的执行情况,以查找正在设置的setuid或setguid位

一是DS0022,监视文件系统中的元数据,以监测是否有设置了setuid或setgid位的文件,同时使用setuid或setgid位监视对可能执行shell转义或利用应用程序中的漏洞的文件所做的更改,以使代码在不同用户的上下文中运行

3.T1003分析

T1003(OS Credential Dumping)为操作系统凭据Dump技术,包括8个子技术

在这里插入图片描述

3.1 基本描述

攻击者通过转储凭据的方式,从操作系统和软件中获取帐户登录和凭据信息,通常以哈希或明文密码的形式。然后可以使用凭证进行横向移动和访问受限信息。
以子技术T1003.002(OS Credential Dumping: Security Account Manager)为例进行说明。T1003.002表示,攻击者可能试图通过内存技术或通过存储SAM数据库的Windows注册表从安全帐户管理器(SAM)数据库中提取凭证信息。SAM是一个数据库文件,包含主机的本地帐户,通常是通过net user命令找到的帐户。枚举SAM数据库需要SYSTEM级别的访问权限。

在这里插入图片描述

有许多公开的工具可以实现OS凭据转储,最著名的有以下几款:
pwdumpx.exe
gsecdump
Mimikatz
secretsdump.py
这些信息也可以从注册表中转储获取,命令操作如下:
reg save HKLM\sam sam
reg save HKLM\system system
在Windows系统中,Administrator账号的RID为500,Guest账号的RID为501,普通账号的RID从1000开始进行累增

3.2 案例

攻击软件Cobalt Strike、CosmicDuke、CrackMapExec等工具都集成了这个攻击功能;攻击组织GALLIUM、Ke3chang等组织都使用了这个攻击技术,关于工具和组织的详细介绍和说明,可以阅读参考文献

在这里插入图片描述

3.3 消减措施

从4个方面进行消减,一是系统配置(域环境下才可以),在系统的配置功能中,取消或严格限制NTLM功能;二是密码策略,确保本地管理员帐户在网络上的所有系统中都具有复杂、唯一的密码;三是特权账号管控,除非受到严格控制,否则不要将用户或管理域帐户放在跨系统的本地管理员组中,因为这通常相当于在所有系统上使用相同密码的本地管理员帐户。遵循企业网络设计和管理的最佳实践,以限制跨管理层的特权帐户使用;四是安全意识培训,通过培训用户和管理员不要对多个帐户使用同一密码,限制帐户和系统之间的凭据重叠

在这里插入图片描述

3.4 检测手段

在这里插入图片描述

从3个方面进行检测,一是监测命令执行,监控执行的命令和参数,这些命令和参数可能试图通过内存技术或通过存储SAM数据库的Windows注册表从安全帐户管理器(SAM)数据库中提取凭证材料;二是监测文件访问,监控哈希转储程序是否打开本地文件系统(%SystemRoot%/system32/config/SAM)上的安全帐户管理器(SAM)。一些哈希转储程序会将本地文件系统作为设备打开,并解析到SAM表,以避免文件访问防御。其他人会在读取哈希之前在内存中复制SAM表。检测被对手使用的被泄露的有效帐户也可能有所帮助;三是监测注册表访问,监视正在创建的SAM注册表项转储以访问存储的帐户密码哈希。一些哈希转储程序会将本地文件系统作为设备打开,并解析到SAM表,以避免文件访问防御。其他人会在读取哈希之前在内存中复制SAM表。检测被对手使用的被泄露的有效帐户也可能有所帮助

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

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

相关文章

arcgis栅格影像--镶嵌

1、打开软件导入数据,如下: 2、在搜索栏中搜索“镶嵌至新栅格”,如下: 3、双击打开镶嵌对话框,如下: 4、点击确定按钮,进行栅格镶嵌,镶嵌结果如下: 5、去除黑边&#xff…

若依框架-前端使用教程

1 使用 npm run dev 命令执行本机开发测试时,提出错误信息如下: opensslErrorStack: [ error:03000086:digital envelope routines::initialization error ], library: digital envelope routines, reason: unsupported, code: ERR_OSSL_EVP_UNS…

Web安全——PHP基础

PHP基础 一、PHP简述二、基本语法格式三、数据类型、常量以及字符串四、运算符五、控制语句1、条件控制语句2、循环控制语句 六、php数组1、数组的声明2、数组的操作2.1 数组的合拼2.2 填加数组元素2.3 添加到指定位置2.4 删除某一个元素2.5 unset 销毁指定的元素2.6 修改数组中…

Tune-A-Video:用于文本到视频生成的图像扩散模型的One-shot Tuning

Tune-A-Video: One-Shot Tuning of Image Diffusion Models for Text-to-Video Generation Project:https://tuneavideo.github.io 原文链接:Tnue-A-Video:用于文本到视频生成的图像扩散模型的One-shot Tuning (by 小样本视觉与智能前沿&…

基于matlab使用校准相机测量平面物体(附源码)

一、前言 此示例演示如何使用单个校准相机以世界单位测量硬币的直径。 此示例演示如何校准相机,然后使用它来测量平面对象(如硬币)的大小。这种方法的一个示例应用是测量传送带上的零件以进行质量控制。 二、校准相机 相机校准是估计镜头…

基于多站点集中汇聚需求的远程调用直播视频汇聚平台解决方案

一、行业背景 随着视频汇聚需求的不断提升,智慧校园、智慧园区等项目中需要将各分支机构的视频统一汇聚到总部,进行统一管控,要满足在监控内部局域网、互联网、VPN网络等TCP/IP环境下,为用户提供低成本、高扩展、强兼容、高性能的…

ModaHub魔搭社区:如何基于向量数据库+LLM(大语言模型),打造更懂你的企业专属Chatbot?

目录 1、为什么Chatbot需要大语言模型向量数据库? 2、什么是向量数据库? 3、LLM大语言模型ADB-PG:打造企业专属Chatbot 4、ADB-PG:内置向量检索全文检索的一站式企业知识数据库 5、总结 1、为什么Chatbot需要大语言模型向量数据库? 这个春天,最让人震感的科技产品莫过…

6.28作业

作业1 结构体不能被继承,类可以被继承结构体默认的都是公共,类默认是私有的 转载【结构体和类的区别】 结构体是值类型,类是引用类型 结构体存在栈中,类存在堆中 结构体成员不能使用protected访问修饰符,而类可以 结…

vsCode 运行 报错信息 yarn : 无法加载文件 C:\Program Files\nodejs\yarn.ps1

检索说是 PowerShell 执行策略,默认设置是Restricted不去加载配置文件或运行脚本。需要去做相应的变更, 修改配置为 RemoteSigned 管理员身份打开 PowerShell,执行命令,修改PowerShell 执行策略 set-ExecutionPolicy RemoteSigne…

2023.6.28

类和结构体区别&#xff1a; 1&#xff0c;类可以进行封装&#xff08;有访问权限等&#xff09;&#xff0c;结构体无&#xff1b; 2&#xff0c;类有&#xff1a;封装&#xff0c;继承&#xff0c;多态三大特征&#xff0c;结构体只有变量和函数。 #include <iostream&g…

面试题小计(1)

Https加密过程、与三次握手 三次握手是传输层的概念&#xff0c;HTTPS通常是 SSL HTTP 的简称&#xff0c;目前使用的 HTTP/HTTPS 协议是基于 TCP 协议之上的&#xff0c;因此也需要三次握手。要在 TCP 三次握手建立链接之后&#xff0c;才会进行 SSL 握手的过程&#xff08;…

Linux在线升级JDK版本(不用去官网下载安装包)

Linux在线升级JDK版本 ​ 只要3个命令 确保系统已连接到互联网&#xff1a;确保你的 Linux 系统已连接到互联网&#xff0c;以便下载和安装新的 JDK 版本。 更新软件包管理器&#xff1a;运行以下命令来更新系统的软件包管理器&#xff08;在不同的 Linux 发行版中&#xff0…

(3)深度学习学习笔记-简单线性模型

文章目录 一、线性模型二、实例1.pytorch求导功能2.简单线性模型&#xff08;人工数据集&#xff09; 来源 一、线性模型 一个简单模型&#xff1a;假设一个房子的价格由卧室、卫生间、居住面积决定&#xff0c;用x1&#xff0c;x2&#xff0c;x3表示。 那么房价y就可以认为yw…

大数据分析与机器学习的结合:实现智能决策

章节一&#xff1a;引言 在当今数字化时代&#xff0c;大数据分析和机器学习已经成为推动技术创新和业务发展的关键要素。大数据的快速增长和复杂性使得传统的数据处理方法变得不再有效。而机器学习作为一种自动化的数据分析方法&#xff0c;能够从海量数据中挖掘出有价值的信…

QSS样式设置及语法规则

QSS&#xff08;Qt Style Sheets&#xff09;是Qt的一个功能强大的样式表语言。它类似于CSS&#xff08;Cascading Style Sheets&#xff09;&#xff0c;可以用于定义和控制应用程序的外观和样式。QSS可以应用于Qt部件&#xff08;Widgets&#xff09;和绘制元素&#xff0c;以…

集合专题----Map篇

1、Map 接口和常用方法 &#xff08;1&#xff09;Map 接口实现类的特点 ① Map与Collection并列存在&#xff08;即平行关系&#xff09;。Map用于保存具有映射关系的数据&#xff1a;Key-Value&#xff1b; ② Map 中的 key 和 value 可以是任何引用类型的数据&#xff0c;…

先平移再旋转和先旋转再平移的区别

对于一个刚体&#xff0c;以汽车为例&#xff0c;先旋转再平移和先平移再旋转有没有区别要看这个平移旋转是以什么坐标系为基准 如果平移和旋转都以小车坐标系为基准&#xff0c;二者是有区别的 如果平移旋转以世界坐标系为基准&#xff0c;二者是没有区别的 看图就明白了 所…

v8-tc39-ecma262:concat,不只是合并数组

如上图&#xff0c;解释如下&#xff1a; 如果是对象o&#xff0c;转换为对象新建数组A设n0,用于最后赋值给A&#xff0c;确保A的长度正确预先把值设置到items(这里不知何意&#xff1f;)循环items&#xff0c;设置元素为E E是否可展开如果可展开 有len下标&#xff0c;则获取…

LLM - 第2版 GLM 中文对话模型 ChatGLM2-6B 服务配置 (2)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131445696 ChatGLM-6B v1 工程&#xff1a;基于 ChatGLM-6B 模型搭建 ChatGPT 中文在线聊天 (1)ChatGLM2-6B v2 工程&#xff1a;第2版 …

react umi中使用svg线上图片不加载问题

参考链接&#xff1a; https://www.jianshu.com/p/c927122a6e82 前言&#xff1a; 在react项目中&#xff0c;我们本地通过img标签的src使用svg图片是可以加载的&#xff0c;但是发布到线上图片加载不出来。 import stopImg from /images/stop.svg; <img src{stopImg }/&…