Linux ATT&CK 技战术总览

本文记录MITRE-ATT&CK框架Linux矩阵各战术阶段、技术...

0x00 战术总览

Initial Access(初始访问): 攻击者通过各种方式获取初始访问权限,例如利用漏洞、社交工程、恶意软件等方式。

Execution(执行): 攻击者在目标系统上执行代码或者命令,用于进行后续攻击活动的准备。

Persistence(持久化): 攻击者在目标系统上创建持久化机制,以确保其访问权限长期存在。

Privilege Escalation(提权): 攻击者获取更高的权限,以便执行敏感操作或访问敏感数据。

Defense Evasion(防御规避): 攻击者使用各种方法来避开安全防御机制,例如使用加密或压缩文件、隐藏恶意代码等。

Credential Access(凭证访问): 攻击者获取目标系统上的凭证,例如用户名和密码、密钥等,以便进一步深入攻击。

Discovery(发现): 攻击者收集目标系统的信息,以便进一步了解系统结构和敏感数据的位置。

Lateral Movement(横向移动): 攻击者在目标系统内部移动,以获取对其他系统和资源的访问权限。

Collection(收集): 攻击者收集敏感数据或系统信息,例如文件、配置信息等。

Command and Control(命令和控制): 攻击者通过命令和控制通道与控制服务器进行通信,以接收指令并将数据传输出去。

Exfiltration(数据窃取): 攻击者将敏感数据从受攻击系统中窃取,并将其传输到攻击者的系统中。

Impact(影响): 攻击者对目标系统造成实际的影响,例如破坏系统、篡改数据等。

0x01 Initial Access(初始访问)

Drive-by Compromise(驾驶舱攻击): 攻击者通过在被攻击者访问的网站上插入恶意代码,来攻击其系统。

Exploit Public-Facing Application(利用公共应用程序漏洞): 攻击者利用公共应用程序的漏洞来攻击其系统。

External Remote Services(外部远程服务): 攻击者利用对外开放的远程服务,例如SSH、FTP等,来攻击其系统。

Hardware Additions(硬件添加): 攻击者通过添加恶意硬件设备,例如USB驱动器、网卡等,来攻击其系统。

Phishing(钓鱼攻击): 攻击者发送欺骗性电子邮件或短信,以获取被攻击者的敏感信息或执行恶意代码。

Supply Chain Compromise(供应链攻击): 攻击者利用软件供应链的漏洞,通过篡改或替换软件包来攻击其系统。

Trusted Relationship(信任关系): 攻击者利用已建立的信任关系,例如VPN连接、远程桌面等,来攻击其系统。

Valid Accounts(有效账户): 攻击者使用合法的用户名和密码,或利用弱密码,来访问目标系统并进行攻击活动。

0x02 Execution(执行)

Command and Scripting Interpreter(命令和脚本解释器): 攻击者使用命令和脚本解释器(例如bash、Python等)来执行恶意命令或脚本。

Exploitation for Client Execution(利用客户端漏洞): 攻击者利用客户端应用程序的漏洞,例如PDF阅读器、浏览器等,来执行恶意代码。

Inter-Process Communication(进程间通信): 攻击者使用进程间通信机制(例如DBus、UNIX套接字等)来执行恶意代码。

Native API(本地API): 攻击者使用本地API(例如Linux系统调用)来执行恶意代码。

Scheduled Task/Job(定时任务/作业): 攻击者使用定时任务或作业,例如cron、at等,来执行恶意代码。

Software Deployment Tools(软件部署工具): 攻击者利用软件部署工具(例如Ansible、Puppet等)来执行恶意代码。

System Services(系统服务): 攻击者使用系统服务(例如SSH、Samba等)来执行恶意代码。

User Execution(用户执行): 攻击者利用用户操作来执行恶意代码,例如让用户点击恶意链接、运行恶意程序等。

0x03 Persistence(持久化)

Account Manipulation(账户操作): 攻击者利用账户操作(例如添加用户、修改密码、提升权限等)来确保自己的访问权限。

Boot or Logon Autostart Execution(启动或登录自启动执行): 攻击者使用启动或登录自启动执行机制(例如rc.local、.bashrc等)来确保自己的恶意代码在每次系统启动或用户登录时自动执行。

Boot or Logon Initialization Scripts(启动或登录初始化脚本): 攻击者使用启动或登录初始化脚本(例如init.d、systemd等)来确保自己的恶意代码在每次系统启动或用户登录时自动执行。

Browser Extensions(浏览器扩展): 攻击者使用浏览器扩展来安装恶意插件或脚本,以便在浏览器上执行恶意代码。

Compromise Client Software Binary(篡改客户端软件二进制文件): 攻击者篡改客户端软件二进制文件(例如ssh、sudo等)来执行恶意代码。

Create Account(创建账户): 攻击者创建新的用户账户或修改现有账户的权限,以确保在未来能够访问系统。

Create or Modify System Process(创建或修改系统进程): 攻击者创建新的系统进程或修改现有进程的属性,以确保在未来能够访问系统。

Event Triggered Execution(事件触发执行): 攻击者使用事件触发机制(例如udev规则、auditd规则等)来执行恶意代码。

External Remote Services(外部远程服务): 攻击者利用外部远程服务(例如SSH、Telnet等)来执行恶意代码。

Hijack Execution Flow(劫持执行流): 攻击者劫持现有进程的执行流,以执行恶意代码。

Modify Authentication Process(修改认证过程): 攻击者修改认证过程(例如PAM配置文件等)来获取登录凭据或执行恶意代码。

Pre-OS Boot(操作系统前启动): 攻击者使用操作系统前启动技术(例如UEFI BIOS、EFI Bootloader等)来执行恶意代码。

Scheduled Task/Job(定时任务/作业): 攻击者使用定时任务或作业,例如cron、at等,来执行恶意代码。

Server Software Component(服务器软件组件): 攻击者利用服务器软件组件(例如Web服务器、数据库等)来执行恶意代码。

Traffic Signaling(流量信号): 攻击者使用网络流量信号(例如ICMP、DNS等)来触发恶意代码的执行或通信。

Valid Accounts(有效账户): 攻击者使用有效账户(例如已知密码或凭据)来访问系统或执行恶意代码。攻击者可能会获取这些凭据通过各种方式,例如抓取密码、窃取会话、使用键盘记录器等。

0x04 Privilege Escalation(权限提升)

Abuse Elevation Control Mechanism(滥用权限控制机制): 攻击者滥用系统中的特权机制,例如sudo、setuid等,以获取系统管理员权限。

Boot or Logon Autostart Execution(启动时自动运行): 攻击者利用系统启动时自动运行的程序或服务,提升其权限。

Boot or Logon Initialization Scripts(启动脚本): 攻击者通过修改启动脚本来获取系统管理员权限。

Create or Modify System Process(创建或修改系统进程): 攻击者创建或修改系统进程来获取系统管理员权限。

Escape to Host(逃逸到主机): 攻击者通过绕过虚拟化或容器化技术,从虚拟化环境中逃脱,获取系统管理员权限。

Event Triggered Execution(事件触发执行): 攻击者通过某种方式在系统中触发事件,利用该事件来提升权限。

Exploitation for Privilege Escalation(漏洞利用): 攻击者利用操作系统或软件中的漏洞,提升其权限。

Hijack Execution Flow(劫持执行流程): 攻击者通过篡改代码或执行流程,提升其权限。

Process Injection(进程注入): 攻击者通过将恶意代码注入到进程中,提升其权限。

Scheduled Task/Job(计划任务/作业): 攻击者通过创建计划任务或作业,使其在系统上运行,以提升其权限。

Valid Accounts(有效账户): 攻击者使用有效账户(例如已知密码或凭据)来提升其权限。攻击者可能会获取这些凭据通过各种方式,例如抓取密码、窃取会话、使用键盘记录器等。

5. 防御规避(Defense Evasion)

Abuse Elevation Control Mechanism(滥用权限机制): 攻击者通过滥用授权机制来提升其权限,例如滥用sudo命令等。

Debugger Evasion(反调试技术): 攻击者通过一些技术手段来避免被调试器检测到,防止程序被反调试。

Deobfuscate/Decode Files or Information(反混淆/解码文件或信息): 攻击者将加密、编码或混淆的文件或信息解密、解码或还原,以避免检测和识别。****

Execution Guardrails(执行保护): 一些防护软件会监控和限制应用程序执行的行为。攻击者通过各种技术手段规避这些限制。

Exploitation for Defense Evasion(利用漏洞规避防御): 攻击者利用已知的漏洞来攻击并规避防护机制。

File and Directory Permissions Modification(文件和目录权限修改): 攻击者修改文件和目录的权限,以规避防护机制和隐藏文件。

Hide Artifacts(隐藏痕迹): 攻击者通过各种手段来隐藏攻击后的痕迹,如修改日志、清除记录等。

Hijack Execution Flow(劫持执行流程): 攻击者通过修改执行流程或控制流来规避检测和执行攻击。

Impair Defenses(破坏防御): 攻击者通过各种手段来损坏或破坏安全防护系统,使其失效或降低效能。

Indicator Removal(信标移除): 攻击者删除或修改与攻击相关的指示,如文件、进程、注册表项、日志等。

Masquerading(伪装技术): 攻击者通过伪装成合法的进程、文件或服务来规避检测和执行攻击。

Modify Authentication Process(修改身份验证流程): 攻击者修改身份验证流程,以绕过身份验证机制并获取访问权限。

Obfuscated Files or Information(混淆文件或信息): 攻击者使用各种编码、加密、混淆技术隐藏攻击相关的文件或信息。

Pre-OS Boot(操作系统启动前攻击): 攻击者在操作系统启动之前进行攻击或加载恶意软件,以避免被检测和清除。

Process Injection(进程注入): 攻击者将恶意代码注入到合法进程中,以避免被检测和清除。

Reflective Code Loading(反射式代码加载): 攻击者使用反射式载入技术将恶意代码加载到进程中,以避免被检测和清除。

Rootkit: 攻击者安装rootkit以隐藏其存在和活动,以便长期控制受感染的系统。

Subvert Trust Controls(破坏信任控制): 攻击者通过操纵信任控制机制,如数字证书、SSL/TLS认证等,来进行攻击。

System Binary Proxy Execution(系统二进制代理执行): 利用被代理的二进制文件执行命令,从而规避防御措施

Traffic Signaling(通信信号): 利用网络流量或其他信号进行通信或控制,从而规避检测

Valid Accounts(合法账户利用): 攻击者通过获取合法用户的凭证,可以在受害者的系统上执行恶意操作

Virtualization/Sandbox Evasion(虚拟化/沙箱逃逸): 攻击者可以利用虚拟化或沙箱环境中的限制规避安全防御措施

6. 凭证访问(Credential Access)

Adversary-in-the-Middle(攻击者窃听中间人): 攻击者在受害者和认证服务器之间进行攻击,拦截并窃取认证信息。

Brute Force(暴力破解): 通过尝试多个可能的用户名和密码组合,来尝试破解认证系统。

Credentials from Password Stores(从密码存储中获取凭据): 攻击者通过攻击操作系统或应用程序的密码存储来获取凭据。

Exploitation for Credential Access(凭证访问利用): 攻击者利用软件或系统漏洞,从而获取或绕过凭证。

Forge Web Credentials(伪造Web凭证): 攻击者通过钓鱼或社会工程学方法来获取用户的Web凭证,然后在未经授权的情况下使用这些凭证。

Input Capture(输入捕获): 攻击者捕获用户输入的信息,例如键盘记录器或剪贴板记录器。

Modify Authentication Process(修改认证流程): 攻击者修改或篡改认证流程,从而获取凭证或绕过身份验证。

Multi-Factor Authentication Interception(多因素身份验证窃取): 攻击者在多因素身份验证过程中拦截和窃取认证信息。

Multi-Factor Authentication Request Generation(多因素身份验证请求生成): 攻击者通过构造伪造的多因素身份验证请求来获取凭证。

Network Sniffing(网络嗅探): 攻击者在网络上捕获通信数据包,从而获取凭证信息。

OS Credential Dumping(操作系统凭据转储): 攻击者通过攻击操作系统,从而获取存储在系统中的凭据信息。

Steal or Forge Authentication Certificates(窃取或伪造认证证书): 攻击者窃取或伪造认证证书,以获取对目标系统的访问权限。

Steal or Forge Kerberos Tickets(窃取或伪造Kerberos票证): 攻击者窃取或伪造Kerberos票证,以获取对目标系统的访问权限。

Steal Web Session Cookie(窃取Web会话Cookie): 攻击者窃取Web会话Cookie,以获取对目标系统的访问权限。

Unsecured Credentials(未加密凭据): 攻击者利用存储或传输凭据时未加密的漏洞,获取凭据信息。

7. 发现(Discovery)

Account Discovery(账户发现): 在目标系统中识别本地和远程用户、组和特权级别,以获取访问权限。

Application Window Discovery(应用程序窗口发现): 收集当前打开的应用程序窗口的信息,以确定正在使用的软件和应用程序。

Browser Bookmark Discovery(浏览器书签发现): 检索本地或网络浏览器中保存的书签或收藏夹,以获取有关用户和其兴趣的信息。

Debugger Evasion(调试器逃逸): 使用技术绕过调试器的检测,以隐藏攻击者的操作和防止被发现。

File and Directory Discovery(文件和目录发现): 查找目标系统上的文件和目录,以收集敏感信息、构建系统架构和选择攻击目标。

Network Service Discovery(网络服务发现): 扫描目标系统上的网络服务,以收集目标主机的技术信息和潜在漏洞。

Network Share Discovery(网络共享发现): 查找目标系统中共享的文件夹和资源,以了解网络架构并访问敏感数据。

Network Sniffing(网络嗅探): 捕获和分析网络通信数据包,以获取网络信息和密码等敏感信息。

Password Policy Discovery(密码策略发现): 查找目标系统中的密码策略,以获取有关系统安全性和密码复杂度的信息。

Peripheral Device Discovery(外部设备发现): 检测目标系统中的连接设备,如USB驱动器、打印机和相机,以获取设备信息并传输恶意软件。

Permission Groups Discovery(权限组发现): 查找目标系统中的权限组,以获取系统架构和潜在攻击目标。

Process Discovery(进程发现): 收集有关目标系统上运行的进程、服务和应用程序的信息,以了解目标系统架构并选择攻击目标。

Remote System Discovery(远程系统发现): 查找与目标系统相关联的其他系统,以获取网络架构的信息和潜在攻击目标。

Software Discovery(软件发现): 查找目标系统上的软件和应用程序,以确定潜在漏洞和攻击面。

System Information Discovery(系统信息发现): 收集目标系统的硬件、软件、网络和安全信息,以获取系统架构、漏洞和攻击目标。

System Location Discovery(系统位置发现): 查找目标系统的位置信息,以了解其在网络中的位置、网络架构和潜在攻击目标。

System Network Configuration Discovery(系统网络配置发现): 探测目标系统的网络配置信息,例如IP地址、网关、DNS服务器、网络设备等。

System Network Connections Discovery(系统网络连接发现): 发现目标系统的网络连接活动,包括正在运行的应用程序、网络服务和TCP/UDP端口。

System Owner/User Discovery(系统所有者/用户发现): 获取目标系统的所有者和用户账户信息,以确定哪些用户有权访问系统和文件。

System Service Discovery(系统服务发现): 发现目标系统上正在运行的服务和应用程序,可以帮助攻击者找到可利用的漏洞和攻击向量。

Virtualization/Sandbox Evasion(虚拟化/沙箱逃避): 攻击者使用各种技术和方法来规避虚拟化和沙箱环境的检测和限制,以便在不被发现的情况下执行恶意代码。

8. 横向移动(Lateral Movement)

Exploitation of Remote Services(远程服务利用): 通过攻击远程系统上的服务来获取对目标系统的访问权限。

Internal Spearphishing(内部鱼叉式网络钓鱼): 攻击者使用鱼叉式网络钓鱼攻击技术诱骗内部用户,获取其凭证或直接访问受害者的系统,以实现横向移动。

Lateral Tool Transfer(横向工具传递): 攻击者将可执行文件或其他工具传输到另一台系统,以获取对目标系统的访问权限。

Remote Service Session Hijacking(远程服务会话劫持): 攻击者获取已经与远程服务建立的会话,然后使用该会话继续访问系统。

Remote Services(远程服务): 攻击者利用存在漏洞的远程服务来获取对目标系统的访问权限。

Software Deployment Tools(软件部署工具): 攻击者利用软件部署工具(如Puppet、Chef等)对目标系统进行横向移动。

Taint Shared Content(污染共享内容): 攻击者向共享资源中插入恶意内容,以便在其他用户访问这些共享资源时,获取对目标系统的访问权限。

9. 收集(Collection)

Adversary-in-the-Middle(中间人攻击): 攻击者拦截和篡改网络通信,获取敏感信息。

Archive Collected Data(归档收集的数据): 将收集到的数据进行压缩、打包等操作,以便更方便地存储和传输。

Audio Capture(音频捕获): 获取系统上的音频流,例如通过麦克风或扬声器收集音频。

Automated Collection(自动化收集): 利用自动化工具或脚本进行数据收集,可以提高效率并减少被发现的风险。

Clipboard Data(剪贴板数据): 获取剪贴板中的数据,可能包括敏感信息。

Data from Information Repositories(从信息库中获取数据): 从目标系统中存储敏感信息的应用程序或数据库中获取数据。

Data from Local System(从本地系统中获取数据): 从目标系统本地存储介质中获取数据,例如硬盘、内存、寄存器等。

Data from Network Shared Drive(从网络共享驱动器中获取数据): 从其他系统共享的驱动器中获取数据。

Data from Removable Media(从可移动介质中获取数据): 从外部存储设备(例如U盘、移动硬盘等)中获取数据。

Data Staged(数据准备): 将收集到的数据准备好传输给攻击者的其他系统或服务器。

Email Collection(电子邮件收集): 获取目标系统上的电子邮件。

Input Capture(输入捕获): 捕获目标系统上的输入事件,例如按键记录、鼠标点击等。

Screen Capture(屏幕截图): 获取目标系统上的屏幕截图或录制屏幕上的活动。

Video Capture(视频捕获): 获取系统上的视频流,例如通过摄像头或屏幕录制程序。

10. 命令和控制(Command and Control)

Application Layer Protocol(应用层协议): 利用常见的协议(如HTTP,SMTP,FTP等)作为C&C流量传输载体,隐藏在正常的应用层流量中。

Communication Through Removable Media(可移动媒体通信): 使用可移动媒体(如USB驱动器)传输命令和控制信号,以避免受到网络监测。

Data Encoding(数据编码): 使用特定的编码格式,对命令和控制信号进行编码,以避免网络检测。

Data Obfuscation(数据混淆): 使用技术将C&C流量中的内容进行混淆,从而使其难以被检测和阻止。

Dynamic Resolution(动态解析): 在运行时动态解析域名或IP地址,以难以被检测。

Encrypted Channel(加密通道): 使用加密通道(如TLS,SSL等)保护C&C流量中的命令和控制信号,以防止被监视和窃听。

Fallback Channels(备用通道): 使用备用通道(如DNS隧道,ICMP隧道等)以避免网络监测。

Ingress Tool Transfer(入侵工具传输): 利用下载工具(如wget,curl等)或文件传输工具(如scp,sftp等)将恶意软件或其他入侵工具传输到目标系统上。

Multi-Stage Channels(多级通道): 利用多个通道来传输命令和控制信号,以增加检测难度。

Non-Application Layer Protocol(非应用层协议): 使用不常见的协议(如ICMP,TCP,UDP等)作为C&C流量传输载体。

Non-Standard Port(非标准端口): 使用非标准端口来隐藏C&C流量,使其难以被检测和识别。

Protocol Tunneling(协议隧道): 将C&C流量伪装成其他协议(如DNS,HTTP等)的流量,以避免被检测和拦截。

Proxy(代理): 使用代理服务器来隐藏C&C流量的来源,增加检测难度。

Remote Access Software(远程访问软件): 使用远程访问软件(如TeamViewer,VNC等)来远程控制目标系统。

Traffic Signaling(流量标记): 在C&C流量中嵌入特定的标记,以区分正常流量。

Web Service(Web服务): 使用Web服务(如Google Docs,Dropbox等)作为C&C流量的传输载体,以避免被检测。

11. 数据泄露(Exfiltration)

Automated Exfiltration(自动化泄露): 通过计划任务、自动化程序或可编程代码等自动化手段将数据从受攻击主机转移到攻击者控制的远程位置。

Data Transfer Size Limits(数据传输大小限制): 对数据传输量进行限制,以避免引起系统异常或触发安全防护机制,从而使数据能够被成功地外传。

Exfiltration Over Alternative Protocol(通过替代协议泄露): 使用不同于标准协议的通信方法,如使用不同的端口、加密协议或传输协议,从而规避网络安全防护措施。

Exfiltration Over C2 Channel(通过命令控制信道泄露): 利用与攻击者控制的服务器建立的通信信道来将数据从受攻击系统转移至攻击者的控制中心。

Exfiltration Over Other Network Medium(通过其他网络媒介泄露): 使用其他网络媒介来进行数据传输,如通过蓝牙、无线网络或移动数据网络。

Exfiltration Over Physical Medium(通过物理媒介泄露): 将数据从受攻击系统转移至攻击者的物理控制下,如使用可移动存储设备、硬件钥匙或外部存储介质。

Exfiltration Over Web Service(通过Web服务泄露): 利用Web应用程序或Web服务传输数据,如使用HTTP或HTTPS协议进行数据传输。

Scheduled Transfer(定时传输): 通过定时方式将数据从受攻击系统转移至攻击者控制的远程位置,以避免被网络安全防护人员或安全软件发现。

12. 影响破坏(Impact)

Account Access Removal(账号访问删除): 攻击者通过删除或禁用特定用户或管理员账户的访问权限,使系统难以使用或管理。

Data Destruction(数据破坏): 攻击者破坏或删除系统或应用程序中的重要数据,导致系统或应用程序无法使用或无法从数据损失中恢复。

Data Encrypted for Impact(数据加密): 攻击者使用加密算法对系统或应用程序中的重要数据进行加密,从而使其无法使用,直到被支付勒索或其他条件满足。

Data Manipulation(数据篡改): 攻击者修改或操纵系统或应用程序中的数据,从而导致不正确的决策或行为,或者导致数据的价值降低。

Defacement(篡改): 攻击者更改网站或其他在线资源的外观或内容,以表达政治、社会或个人信息等意图。

Disk Wipe(磁盘擦除): 攻击者使用擦除工具删除硬盘驱动器或其他存储介质上的数据,以使其无法恢复。

Endpoint Denial of Service(终端服务拒绝): 攻击者通过多种方式,如崩溃、死锁或其他拒绝服务攻击技术,导致系统上的终端无法使用。

Firmware Corruption(固件损坏): 攻击者更改或破坏硬件或设备的固件,从而导致系统或设备无法使用或恢复。

Inhibit System Recovery(阻止系统恢复): 攻击者通过删除或更改系统或应用程序的恢复或备份功能,或破坏系统或应用程序恢复数据的能力,使系统或应用程序难以恢复正常。

Network Denial of Service(网络服务拒绝): 攻击者使用各种方式,如分布式拒绝服务攻击技术,以使目标网络或系统无法使用。

Resource Hijacking(资源劫持): 攻击者使用系统资源(如计算能力、带宽等)来执行非预期的操作,如加密货币挖掘。

Service Stop(服务停止): 攻击者通过停止系统或应用程序中的关键服务,如数据库服务,导致系统或应用程序无法使用。

System Shutdown/Reboot(系统关闭/重启): 攻击者通过关闭或重启目标系统来导致数据丢失、中断服务或系统不可用。

0xFF Reference