APT29供应链攻击分析报告
近日,APT29攻击组织利用SolarWinds Orion软件进行全球性的恶意攻击活动,严重危及FireEye安全公司、微软、美国财政部和商务部等相关单位。攻击者将后门程序嵌入到SolarWinds Orion软件的SolarWinds.Orion.Core.BusinessLayer.dll库中,随后由SolarWinds签名并在SolarWinds官网更新发布,实现后门程序隐蔽且快速的传播。该后门程序具备传输文件、执行文件、禁用系统服务等能力,从而达到横向移动和数据盗窃的目的。
根据SolarWinds公告显示,SolarWinds Orion软件受影响版本是2019.4 HF5到2020.2.1 HF1,约18000个客户受此影响。
此次攻击活动可以说是历史上最严重的网络攻击之一,美国国土安全部已于12月13日发布紧急指令,要求所有联邦机构立即采取措施,将受影响的SolarWinds Orion产品下线,并于12月14日下午12点之前将所有相关信息上报。
本次攻击事件波及全球,虽然SolarWinds公司发布了补丁及修复建议,并不意味着攻击事件就此结束。据最新情报显示,黑客还在持续利用被攻击渗透公司的开发生产环境制造新的后门程序,以进行恶意攻击。对此,天融信EDR安全团队密切关注,对涉及的攻击样本进行深入分析,并升级EDR病毒库,可有效预防此类事件发生。
病毒分析
根据APT29攻击组织使用的恶意文件SolarWinds.Orion.Core.BusinessLayer.dll属性显示,其数字签名已被窃取。
通过SolarWinds.Orion.Core.BusinessLayer域名空间的CoreBusinessLayerPlugin类的Start函数,调用隐藏在代码中的后门程序。
调用插件类的ScheduleBackgroundInventory函数,将控制权移交给后门程序。
通过RefreshInternal函数创建一个新的线程。该线程是OrionImprovementBusinessLayer类(黑客添加的恶意类)中的成员函数,以其为入口开始执行真正的恶意程序。
执行初始化函数,计算当前进程的Hash值以验证后门程序完整性;记录程序最后修改时间;获取初始化随机数种子;创建命名管道服务器流对象;计算随机休眠时间,使恶意后门延时启动,以隐藏恶意行为、躲避沙箱检测。
根据最大值、最小值及随机函数计算线程睡眠时间。
调用GetOrCreateUserID函数获取UserID值,通过ZIP压缩字符串和Base64编码对抗静态分析。解密后获取后门程序访问注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography子键的MachineGuid值,并计算GUID返回MD5的Hash值。
初始化函数后,进入Update函数开始执行恶意行为。通过睡眠函数和DelayMin函数与TrackProcesses进行安全对抗。其中,TrackProcesses函数使用了3种检测手段对抗:检测安全工具Hash特征、检测杀软相关服务和检测杀软相关驱动。
通过睡眠函数和DelayMin函数与TrackProcesses进行安全对抗检测后,生成DGA域名。
得到完整域名hostname后,向DNS服务器发送请求,判断C2的IP网段。
如果恶意程序所属网段为NetBIOS,则会创建线程并执行随后的恶意逻辑。
创建线程,分发并执行远控指令。
根据不同指令执行不同的功能。
1)注册表操作
2)设置睡眠时间
3)收集主机信息,包括当前主机的域名、SID、MAC地址、账户信息等
4)回传信息
5)启动指定进程
6)获取指定进程信息
7)根据进程ID杀死指定进程
8)文件操作
9)重启计算机
防护建议
· 尽快通过SolarWinds官网升级SolarWinds Orion到2020.2.1 HF 2版本。
· 部署天融信EDR,可以有效检测和防御APT29组织针对SolarWinds软件的供应链攻击。
天融信EDR获取方式
1) 天融信EDR企业版试用:可通过天融信各分支机构获取。
查询网址:http://www.topsec.com.cn/contact/
2) 天融信EDR单机版下载地址:
http://edr.topsec.com.cn/
热·点·推·荐