一、前言
前几期文章中,我们介绍了ATT&CK中侦察、资源开发、初始访问、执行战术、持久化战术的知识。那么从前文中介绍的相关持久化子技术来开展测试,进行更深一步的分析。本文主要内容是介绍攻击者在运用持久化子技术时,在相关的资产服务器或者在PC机器上所产生的特征数据进行分析,使安全运维人员在后续工作中应当如何去进行预防和快速响应。
二、持久化战术
1、后门账户
1.1 介绍
攻击者可以创建一个后门账户,此后门账户用来维持对受害系统的持久性访问。同时将后门账户进行隐藏,日常操作中,无法发现此账户的存在。
1.2 Windows资产后门账号事件
a)重要资产发生异常账户创建
b)异常账户注册表键值被篡改
根据对异常账户创建事件的监控,对应到异常账户在注册表中对应的键值,监控该键值的篡改操作,进行更细粒度化监控。
1.3 检查和后续处理及监控
a)监控服务器账户创建和权限变更事件
b)监控注册表根键HKEY_LOCAL_MACHINE下对应账户值变更
c)检查注册表项和值,及时对异常账号告警进行确认,隔离受害机器进行排查
d)网内态势感知监控预警
例如下图为态势感知监控预警效果:
2、后门服务程序
2.1 介绍
攻击者可通过自编译程序,绕过杀软对受害机器进行服务后门程序的植入。后门程序可定时定期进行外联,维持权限,保持持久性。服务程序通常默默的运行在后台,且拥有SYSTEM 权限,非常适合用于后门持久化。攻击者可以将EXE文件注册为服务,也可以将 DLL文件注册为服务,本文这一部分将以EXE类型的服务为例,分享检查的思路。
2.2 植入后门程序事件
a)服务程序添加至注册表
b)恶意服务程序外联通信
在对创建的后台服务程序后,进行该程序的网络通信事件的分析,是否存在内网通信、外网通信事件。
2.3 检查和后续处理及监控
a)监控服务器服务程序创建事件,分析是否存在特殊程序安装需求
b)监控服务程序是否存在异常的网络通信
c)网内态势感知监控预警
下图为态势感知监控及预警效果:
3、DLL劫持
3.1 介绍
DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是一种文件类型。在 Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。Windows操作系统通过“DLL路径搜索目录顺序”和“KnownDLLs注册表项”的机制来确定应用程序所要调用的DLL的路径,之后,应用程序就将DLL载入了自己的内存空间,执行相应的函数功能。
3.2 DLL劫持分析
a)DLL调用路径
程序所在目录;加载DLL时所在的当前目录;系统目录即 SYSTEM32 ⽬录;16位系统⽬录即 SYSTEM ⽬录;Windows⽬录;PATH环境变量中列出的⽬录。系统会依次从上面6个位置去查找所需要的DLL⽂件(会根据SafeDllSearchMode配置⽽稍有不同)。在win7及win7以上系统增加了KnownDLLs保护,需要在下列注册表下添加dll才能顺利劫持:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\KnownDlls
b)程序调用分析
正常打开记事本:
通过恶意DLL调用:
3.3 检查和后续处理及监控
a)检查对应注册表以及程序路径中,是否存在恶意的DLL
b)检查父进程是否是rundll32
c)网内态势感知监控预警
下图为态势感知监控预警效果:
三、总结
以上便是本期所分享的持久化的三个子技术,通过对每个子技术的落地研究,对网内的安全问题等监控是必不可少的运营工作。通过多种技术的知识库扩充,态势感知的预警监控,实现网内的每一类信息事件的收集,从IT资产的监控,至异常流量中的分析,保证使各类安全风险、异常事件达到可见、可查、可控的防护。