战术目的
Execution战术目的主要是在目标系统上执行恶意命令。该战术相关技术通常与其他战术技术相互关联。
利用命令和脚本解释器
操作系统通常自带有命令和脚本解释器,如Windows的CMD和powershell,以及跨平台的解释器,如python、JavaScript等。攻击者可以利用这些命令和脚本解释器执行恶意命令、脚本以及二进制文件,达到攻击目的。常见的解释器有:
1)powershell
2)AppleScript
3)Windows command shell
4)unix shell
5)visual basic
6)python
7)JavaScript
8)network device CLI
缓解措施:
1)M1049:安装杀毒软件,隔离可疑文件。
2)M1040:Windows10启用ASR,阻止visual basic和JavaScript执行恶意代码。
3)M1045:代码签名,只允许执行签名的脚本。
4)M1042:禁用或删除不必要或未使用的shell或解释器。
5)M1038:启用应用程序控制。
6)M1026:将powershell的执行策略限制为管理员。
7)M1021:通过脚本拦截扩展限制脚本和HTA文件的执行,如adblockers。
检测措施:
1)DS0017:监测脚本执行和后续行为的命令行参数。
2)DS0011:监控与脚本执行相关的事件。如加载JScript.dll、VBScript.dll。
3)DS0009:监控进程执行的日志文件和进程的上下文数据。
4)DS0012:监控任何运行的脚本,获取并分析脚本源文件。
利用容器管理命令
攻击者通过滥用容器管理命令在容器中执行命令,从而获得容器的访问。
缓解措施:
1)M1038:使用只读容器、只读文件系统、或最小安装镜像来防止恶意命令执行。
2)M1035:限制容器服务通信本地采用unix sockets,远程采用SSH。启用TLS通过安全端口与API通信,禁用docker API和kubernetes API未经身份认证的访问。
3)M1026:特权账号管理,确保容器不以root用户运行。在kubernetes环境中,定义一个pod安全策略,来阻止pod运行特权容器。
4)M1018:用户账号管理,对容器服务启用身份认证和基于角色的访问控制,为用户开放所需的最低权限。
检测措施:
1)DS1017:监控由容器服务执行的命令和参数。
2)DS0009:容器管理服务的活动和命令执行,通过容器及底层主机日志记录。
部署新容器
攻击者可能通过部署新的容器,来执行攻击操作,也可以绕过现有防御机制。
缓解措施:
1)M1047:审计,在执行部署前扫描镜像,阻止不符合安全策略的镜像的安装。
2)M1035:限制容器服务通信本地采用unix sockets,远程采用SSH。启用TLS通过安全端口与API通信,禁用docker API和kubernetes API未经身份认证的访问。
3)M1030:区域隔离,通过使用网络代理、网关或防火墙,拒绝对内部系统的直接访问。
4)M1018:将容器的管理后台限制在仅必要的用户可访问,实施最小权限原则。
检测措施:
1)DS0015