乌克兰又断电了,看Ukrenergo断电

事件综述

Ukrenergo是乌克兰国内的主要能源供应企业,年1月17日晚,该公司经历了一次供电故障,影响到基辅附近诺威佩特里夫茨村的北部变电站自动化控制系统,该停电事故主要影响的范围是基辅(乌克兰首都)北部及其周边地区。

停电事件发生后30分钟,Ukrenergo工程师将设备切换为手工模式,并开始恢复供电;75分钟后完全恢复供电。

年1月18日上午,Ukrenergo负责人VsevolodKovalchuk在Facebook上发布信息描述了上述经过,并称本次停电的原因可能是设备故障,也可能是由于网络攻击。

针对本次停电事件,绿盟科技安全团队响应如图1所示:

图1绿盟科技安全响应

历史回顾

乌克兰电网近期遭受的攻击事件如图所示。绿盟科技安全团队通过对恶意代码的分析发现本次事件的攻击者是Telebots组织,该组织与BlackEnergy组织有关。

图乌克兰电网受攻击历史

电力系统简介

电力系统是由发电、输电、变电、配电和用电连接成的统一整体,如图3所示。

其中,升压变电所是将电压升高,变为高压电从而进行远距离电力传送;降压变电所是将高压电的电压降低,以供区域电网或终端用户使用;配电变电所负责将电网输送来的电能分配给各类用户。

在整个电力系统中,几乎每个环节都依赖计算机技术的支撑,比如各级电网调度控制中心的计算机系统、变电站的计算机监控系统等等。

图3电力系统组成

国内变电站主要结构示意图如图4所示:

图4国内变电站主要结构示意图

纵向加密:对变电站送往调度中心的通道数据进行加密。

远动装置:负责将变电站内的信息送往远方的调度中心。

网络分析仪:记录变电站内部网络的通信报文。

国外变电站主要结构示意图如图5所示:

图5国外变电站主要结构示意图

保护装置:对采集到的一次设备电压电流、开关量信号执行相应保护控制逻辑。

合并单元:负责采集一次设备的电压电流信号。

智能终端:负责采集一次设备的开关量信号,以及执行保护装置下发的开关控制命令。

状态监测与诊断装置:变电站现场的辅助监测类设备。

协议转换服务器:负责协议转换,使得采用不同协议的设备之间可以互相通信。

监控主机:负责变电站现场信息的汇总展示。

调度中心:集中展示和控制下面多个变电站的集控中心。

国内和国外变电站的主要区别表现在以下两点:

(1)国内将变电站内的区域通过防火墙分隔成了安全I区和安全II区。

安全I区:实时生产控制区,可以直接控制电力一次设备的运行。

安全II区:非实时控制区,如电能量计量系统,故障录波管理系统等。

()国内变电站是完全隔离的局域网,不与公网连接;而国外的变电站可以通过办公区以VPN等形式接入变电站的内部网络。

样本执行概要

该样本的执行流程图如图6所示:

图6样本执行流程图

样本结构

此样本是一个复合样本,包含多个样本文件详细文件功能介绍如下:

XLS

主要功能:

通过运行文档中的宏代码,将可执行文件释放到临时目录“C:\User\xxx\AppData\Local\Temp”,并命名为“explorer.exe”来隐藏自身。

行为分析:

该文件运行后如图7所示:

图7XLS运行后截图

图8中为宏代码中定义的数组中的第一个,这些数组中的数据是一个PE文件,“77”和“90”分别对应16进制的“4D”和“5A”。

图8宏定义的数组

图9生成并运行文件

explorer.exe

主要功能:

该文件是一个下载器,主要功能是从服务器下载文件并执行。

行为分析:

样本会首先连接域名,所连接的域名如图10所示。该域名是一个允许任何人下载和上传文件的托管网站,如图11所示。

图10样本所连接的域名

图11域名对应的网站

对该样本文件逆向分析如下:(1)首先调用connect函数,要连接的IP地址为.34..11,如图1所示。该IP是一个存储文件的服务器。

图1connect函数要连接的IP地址

()发送数据,如图13:

图13发送数据

(3)接收数据后创建文件,如图14:

图14创建文件

(4)将接收的数据写入文件中,如图15:

图15写入数据

(5)之后逐部分读取文件内容到内存中,如图16:

图16读取文件到内存

(6)进行解密,如图17:

图17解密操作

(7)解密部分的代码点击阅读原文可见。

(8)创建lsass.exe文件,如图18:

图18创建文件

(9)将文件内容写入\AppData\Local\Temp\lsass.exe中,如图19:

图19写入lsass.exe

(10)完成后即删除原txt文件,如图0:

图0删除txt文件

(11)创建进程,如图1:

图1创建进程

lsass.exe

主要功能:

接收服务器的指令,执行不同的功能。

行为分析:

首先使用pyinstxtractor.py将样本反编译成py文件,图为反编译后的py文件。

图反编译后的py文件

图3为解密后的代码:

图3解密后的代码

该代码会从远程服务器获取指令,先尝试直接从服务器读取指令,如果失败则尝试获取指令文件中的内容,在本地新建一个长度为10字节的随机dat文件,将指令文件中的内容写入dat文件中。

图4从服务器获取指令

图5根据不同指令执行各种功能

指令解析如表3所示:

命令功能help显示可以执行的指令cmd

(cmd







































北京中科医院是怎么样
广州治白癜风最好的医院



转载请注明:http://www.zhongnuokameng.com/bdzl/41.html


当前时间: