利用 API 执行
攻击者工具可以直接使用 Windows 应用程序编程接口 (API) 来执行二进制文件。诸如 Windows
API
CreateProcess 这样的函数将允许程序和脚本使用适当的路径和参数启动其他进程。
可以用来执行二进制文件的其他 Windows API 调用包括:
- CreateProcessA() 和 CreateProcessW(),
- CreateProcessAsUserA() 和 CreateProcessAsUserW(),
- CreateProcessInternalA() 和 CreateProcessInternalW (),
- CreateProcessWithTokenW CreateProcessWithLogonW(),(),
- LoadLibraryA() 和 LoadLibraryW (),
- LoadLibraryExA() 和 LoadLibraryExW (),
- LoadModule (),
- LoadPackagedLibrary(),
- WinExec (),
- ShellExecuteA() 和 ShellExecuteW(),
- ShellExecuteExA() 和 ShellExecuteExW()
缓解
例如,减少特定 API 调用可能会产生意料外的副作用,比如阻止合法软件的正常运行。
应该集中精力防止攻击者工具在活动链中更早地运行以及识别后续恶意行为。
在适当的情况下使用白名单工具(如 AppLocker、 或软件限制策略)审计和/或拦截潜在的恶意软件。
检测
监视 API 调用可能会生成大量数据,除非在特定情况下收集,否则可能无法直接用于防御,因为良性使用 Windows API 函数(如 CreateProcess)很常见,难以与恶意行为区分开来。
使用 API 监控将其他事件与有关 API 函数调用的行为关联起来,这将为事件提供额外的上下文,有助于确定事件是否是恶意行为造成的。
按进程族和进程 ID 对活动进行关联就足够了。
- 译者: 林妙倩、戴亦仑 . source:cve.scap.org.cn
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论