T1106: 原生 API
摘要
攻击者可能与原生操作系统应用程序编程接口(API)交互以执行行为。原生 API 提供了在内核中调用底层操作系统服务的受控方式,例如涉及硬件/设备、内存和进程的服务。(Citation: NT API Windows)(Citation: Linux Kernel API)这些原生 API 由操作系统在系统启动期间(当其他系统组件尚未初始化时)以及常规操作期间执行任务和请求时使用。 攻击者可能滥用这些操作系统 API 函数作为执行行为的手段。与 [Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059) 类似,原生 API 及其接口层次结构提供了与受害者系统各种组件交互并加以利用的机制。 原生 API 函数(如 <code>NtCreateProcess</code>)可以通过系统调用/syscall 直接调用,但这些功能也经常通过接口和库暴露给用户模式应用程序。(Citation: OutFlank System Calls)(Citation: CyberBit System Calls)(Citation: MDSec System Calls)例如,诸如 Windows API <code>CreateProcess()</code> 或 GNU <code>fork()</code> 之类的函数将允许程序和脚本启动其他进程。(Citation: Microsoft CreateProcess)(Citation: GNU Fork)这可能允许 API 调用者执行二进制文件、运行 CLI 命令、加载模块等,因为存在数千个用于各种系统操作的类似 API 函数。(Citation: Microsoft Win32)(Citation: LIBC)(Citation: GLIBC) 更高级的软件框架(如 Microsoft .NET 和 macOS Cocoa)也可用于与原生 API 交互。这些框架通常为 API 功能提供语言包装/抽象,并旨在实现代码的易用性/可移植性。(Citation: Microsoft NET)(Citation: Apple Core Services)(Citation: MACOS Cocoa)(Citation: macOS Foundation) 攻击者可能使用汇编语言直接或间接调用 syscall,以试图规避防御传感器和检测签名(例如用户模式 API 挂钩)。(Citation: Redops Syscalls)攻击者还可能尝试篡改与 API 监控相关的传感器和防御工具,例如通过 [Disable or Modify Tools](https://attack.mitre.org/techniques/T1685) 解除对受监控函数的挂钩。
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- Linux
- macOS
- Windows
战术
执行
参考来源
- https://attack.mitre.org/techniques/T1106
- https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/OSX_Technology_Overview/CocoaApplicationLayer/CocoaApplicationLayer.html#//apple_ref/doc/uid/TP40001067-CH274-SW1
- https://developer.apple.com/documentation/coreservices
- https://developer.apple.com/documentation/foundation
- https://outflank.nl/blog/2019/06/19/red-team-tactics-combining-direct-system-calls-and-srdi-to-bypass-av-edr/
- https://redops.at/en/blog/direct-syscalls-vs-indirect-syscalls
- https://www.gnu.org/software/libc/manual/html_node/Creating-a-Process.html
- https://www.cyberbit.com/blog/endpoint-security/malware-mitigation-when-direct-system-calls-are-used/
- https://www.gnu.org/software/libc/
- https://man7.org/linux/man-pages//man7/libc.7.html
- https://www.kernel.org/doc/html/v4.12/core-api/kernel-api.html
- https://www.mdsec.co.uk/2020/12/bypassing-user-mode-hooks-and-direct-invocation-of-system-calls-for-red-teams/
- https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessa
- https://docs.microsoft.com/en-us/windows/win32/api/
- https://dotnet.microsoft.com/learn/dotnet/what-is-dotnet-framework
- https://undocumented.ntinternals.net/