摘要: 2015年12月,乌克兰电力公司设备遭到Hacker攻击,并导致大规模停电事件,已引起公众极大的恐慌。本文对该事件相关信息及核心样本进行了分析及验证,并给出应对方案。
乌克兰电力公司设备被攻击事件
2016年1月4日,ESET公司发表文章称,乌克兰境内的多家配电公司设…


2015年12月,乌克兰电力公司设备遭到Hacker攻击,并导致大规模停电事件,已引起公众极大的恐慌。本文对该事件相关信息及核心样本进行了分析及验证,并给出应对方案。

乌克兰电力公司设备被攻击事件

2016年1月4日,ESET公司发表文章称,乌克兰境内的多家配电公司设备中监测到的KillDisk,由此怀疑使用了BlackEnergy后门,攻击者能够利用它来远程访问并控制电力控制系统。由于此事件是针对电力设备的攻击,对于国家关键基础设施的安全性具有非比寻常的意义,故存在巨大的风险。相关情况如下:

事件基本情况

攻击的基本过程

本次攻击主要针对乌克兰电力部门,攻击者以钓鱼邮件方式,附带木马XLS文件,诱惑用户打开这个文件,从而运行木马,安装SSH后门,以便攻击者可以针对目标下发工业控制指令,必要时运行killdisk进行系统自毁,延长系统恢复时间。

  • 什么是XLS 就是 Microsoft Excel 工作表,是一种非常常用的电子表格格式,xls文件可以使用Microsoft Excel打开;
  • 什么是SSH SSH是(Secure SHell protocol) 的简写,便于在不安全网络上提供安全的远程登录及其它安全网络服务的协议,保护信息传输的安全性。在此次事件中,BlackEnergy木马放置了一个后门程序dropbear.exe,这个后门基于这个协议,在端口6789上与攻击者进行联系;
  • 什么是KillDisk 是BlackEnergy木马中的一个组件,用于损毁目标设备的系统,在此次事件中将有可能损毁电力设备的系统。

危害和影响分析

在此次事件中,BlackEnergy木马被用于损毁电力设备或放置后门,以便攻击者可以远程控制这些设备,进行更多攻击动作。相关的危害性分析如下:

木马功能越来越强大

该木马从2007第一次被发现到今天,软件作者频繁更新其功能,逐渐变得功能异常强大.

BlackEnergy技术发展

BlackEnergy技术发展

图1 BlackEnergy技术发展(图片来自F-Secure BlackEnergy whitepaper)

国内可能遭遇的危害

之所以发生此次事件,是由于国外的电力设备有相当一部分都接入了互联网,攻击者得以通过邮件的形式诱骗工作人员,从而进入系统实施攻击。相比之下,国内大多工控设施及相关业务系统都采用了专网的形式或者与互联网隔绝,这在相当程度上阻止了此类事件的发生,但需要注意的是,在绿盟科技长年对于工控安全的研究中发现,移动存储设备时常成为木马入侵的途径之一,如果BlackEnergy木马通过这种形式感染业务系统设备后,完全有可能通过预置的攻击方案,对工控系统实施打击,比如利用KillDisk损毁主机,这样控制系统重启过程中一旦无法读取配置,将导致整个系统停机。

事件防护方案

本次攻击主要以邮件方式传播木马XLS文件,利用社会工程学,诱惑被攻击者打开文件,运行木马,安装SSH后门,保证攻击者可以长时间控制被感染的主机。针对目标下发工业控制指令,必要时运行killdisk进行系统自毁,延长系统恢复时间。
基于目前绿盟科技工控系统安全专家的分析情况来看,已经启动了一套应对方案,随时可以帮助客户应对该事件,避免造成更大的风险和损失,这些方案包括:

产品自动升级服务

绿盟入侵防护系统(NSFOCUS NIPS)将在2016年1月16日发布产品规则升级包,包括567、568、569版本,用户升级后即可提供实时防护。

升级办法 绿盟科技已在软件升级公告中提供规则升级包,规则可以通过产品界面的在线升级进行。如果您的业务系统暂时还无法升级规则包,那么可以在软件升级页面中,找到对应的产品,通过下载升级包,以离线方式进行升级。相关升级信息请随时关注:

  • 安全产品介绍: www.nsfocus.com.cn/products/details_22_3.html
  • 产品升级公告: update.nsfocus.com/

极光自助扫描服务

绿盟远程安全评估系统(RSAS)通过绿盟云也交付了云端自助扫描服务(极光自助扫描服务),用户可以通过该服务的资产管理功能定期对主机设备进行漏洞检查,以便对多种漏洞进行风险监测,发现内网中交换路由设备上存在的安全漏洞。
登录24小时在线极光自助扫描页面,随时申请,随时试用,随时检查,申请链接如下:
cloud.nsfocus.com/#/krosa/views/initcdr/productandservice?pid=1&sid=0&cid=1

反垃圾邮件服务

针对此次事件中以钓鱼邮件入侵的手段,还可以申请试用反垃圾邮件服务,通过这项服务用户可以对电子邮件系统进行全面安全防御,申请链接如下:
cloud.nsfocus.com/#/krosa/views/initcdr/productandservice?pid=1&sid=0&cid=1

专家团队检测服务

1) 绿盟科技工程师前往客户现场检测。
2) 使用绿盟科技的工控漏扫定期对主机进行漏洞检测。

木马专杀解决方案

1) 短期服务:绿盟科技工程师现场木马后门清理服务(人工服务+NIPS+TAC)。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
2) 中期服务:提供3-6个月的风险监控与巡检服务(NIPS+TAC+人工服务)。根除风险,确保事件不复发。
3) 长期服务:能源行业业务风险解决方案(威胁情报 + 攻击溯源 + 专业安全服务 + 行业工控安全解决方案)

在绿盟科技制定应对方案的同时,为了帮助用户能够对此次攻击事件有更深入的了解,绿盟科技工控安全专家联合威胁响应中心的技术专家,对事件涉及的木马进行了深入分析。

BlackEnergy木马分析

该样本是一个复合样本,包含多个文件。下面绿盟科技的工程师模拟重现这个分析过程。

执行架构

样本的执行架构图如下所示:

执行架构

执行架构

样本的启动方式

  • 执行带有宏(VBA代码)的XLS文件,该文件会释放出C:\\Users\\Dell\\AppData\\Local\\Temp\\vba_macro.exe,vba_macro.exe会进行RPC通道监听,并创建C:\\Users\\Dell\\AppData\\Local\\FONTCACHE.DAT文件,设置开机自启动。FONTCACHE.DAT文件会进行网络连接,下载文件,包括SSH后门与驱动程序等。
  • 开机自启动。vba_macro.exe会创建一个C:\\Users\\Dell\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup{AAE98887-6CBF-4625-A18F-ED75766421C2}.lnk,该文件实际执行的操作是:%windir%\\System32\\rundll32.exe “C:\\Users\\Dell\\AppData\\Local\\FONTCACHE.DAT”,#1, 用于开机自启动。
  • 以服务形式开机启动。SSH_Backdoor.exe(dropbear.exe)由服务管理器自动启动。

样本结构

该样本是一个复合型样本,包含多个文件。
表1 各个文件的基本信息介绍

复合型样本

复合型样本

详细文件功能

XLS

MD5: 97b7577d13cf5e3bf39cbe6d3f0a7732
主要功能:释放C:\\Users\\Dell\\AppData\\Local\\Temp\\vba_macro.exe文件, 并启动执行。

XLS中的宏代码

XLS中的宏代码

vba_macro.exe

MD5: abeab18ebae2c3e445699d256d5f5fb1

  • 首先获取网卡详细信息,使用函数:GetAdaptersInfo。
  • 创建并写入C:\\Users\\Dell\\AppData\\Local\\FONTCACHE.DAT文件。使用rundll32.dll调用该文件,参数#1, 调用第一个导出函数PacketAllocatePacket执行。
  • 自删除。
    使用ShellExecuteA启动cmd.exe,参数/s /c “for /L %i in (1,1,100) do (del /F “C:\\Users\\Dell\\AppData\\Local\\Temp\\VBA_MA~1.EXE” & ping localhost -n 2 & if not exist “C:\\Users\\Dell\\AppData\\Local\\Temp\\VBA_MA~1.EXE” Exit 1)

FONTCACHE.DAT

MD5: cdfb4cda9144d01fb26b5449f9d189ff

  • 创建线程(0x10011C91),作为RPC服务端程序,进行RPC通道监听。
    通道使用命名的Pipe( “\\Pipe{AA0EED25-4167-4CBB-BDA8-9A0F5FF93EA8}”),监听过程使用三个函数 (rpcrt4.RpcServerUseProtseqEpA, rpcrt4.RpcServerRegisterIf2, rpcrt4.RpcServerListen)完成

RPC通道监听

RPC通道监听

  • 下载文件

首先对svchost.exe进行代码注入:

svchost.exe进程中注入的代码

svchost.exe进程中注入的代码

注入的代码的主要功能是调用iexplore.exe进程。

svchost.exe创建iexplore.exe进程

svchost.exe创建iexplore.exe进程

Iexplore.exe有网络请求,网址已经失效,所以,请求失败。

explore.exe的网络操作

explore.exe的网络操作

  • URL: 5.9.32.230/Microsoft/Update/KS1945777.php
    FONTCACHE.EXE中出现的网络连接字符串是:
    URL:5.149.254.114/Microsoft/Update/KC074913.php, FONTCACHE.EXE中没有跟踪到网路操作。

Droper2.exe

MD5: 1d6d926f9287b4e4cb5bfc271a164f51

  • 释放并执行驱动文件

文件名:C:\\Windows\\system32\\drivers\\adpu320.sys(e60854c96fab23f2c857dd6eb745961c)并加载执行。adpu320.sys文件名是随机生成的。

加载方式为: