针对朝鲜的远程攻击木马Konni——技术分析与防护

在今年7月份,针对朝鲜的网络攻击的远程访问木马Konni被发现,此次的网络攻击行为被怀疑和韩国有关。该木马主要通过钓鱼邮件的方式进行传播,开始先通过一个.scr文件执行Powershell脚本,并根据系统信息下载对应版本的恶意软件。绿盟科技在获得该木马样本之后第一时间进行了分析。通过技术手段发现,该木马主要用于窃取数据和远程执行命令。

相关链接:

http://mp.weixin.qq.com/s?__biz=MzI4ODA4MTcxMA==&mid=2649550781&idx=1&sn=2154bbd04e8afc1fdf9688f34d0e9d2a&chksm=f3db9dfcc4ac14ea38b5860c64e5546163b7653dff49c93f77a84d741c54c1fd1a3b137faa68&mpshare=1&scene=1&srcid=0811uNyGZ0DegrBKLep01hBh&rd2werd=1

http://www.securityweek.com/cyberspies-use-konni-malware-target-north-korea

绿盟科技TAC检测结果

样本分析

主要功能

样本是一个木马程序,拥有获取系统信息、键盘消息记录、浏览用户文件目录、远程下载、偷取或删除指定文件、获得用户截屏、远程执行命令的功能。

由于木马dll仅会在注入浏览器时体现网络行为,并且该网络行为被伪装成和正常网页的交互,所以能够躲避一些基于可疑网络流量分析进行告警的检测手段。

行为分析

文件操作

1、原样本从资源中释放自身的功能模块errorevent.dll到用户临时目录下:

2、功能模块样本在用户Local settings文件夹中创建Packages/Microsoft/目录,并依据不同的子功能生成临时文件:

例如:

样本的键盘记录日志文件名为debug.tmp。

样本接收的指令将由repaired文件暂时存储。

样本在收到截屏指令后将会把截图暂时保存在samed文件中。

除debug.tmp外,其他文件在一次使用过后都将被删除。

进程控制

样本将自身dll注入到各进程中,如果宿主进程与以下四个浏览器进程之一同名,则在键盘记录的同时调用C&C模块,否则仅调用键盘记录模块并生成键盘记录日志debug.tmp:

(iexplore.exe|firefox.exe|chrome.exe|psiphon3.exe)

注册表控制

1、原样本将功能模块设为启动项,以便开机自启动,对用户产生持久控制:

2、样本功能模块会读取系统的安装日期,并将其作为木马上线和接收指令信息的标识:

网络连接

1、样本和硬编码的C&C服务器 member-daumchk.netai.net进行通信,接收指令并将结果以文件的形式上传至该服务器:

功能分析

准备阶段

将软件设为自启动:

从资源中释放主功能模块:

远控代码分析

键盘记录

设置键盘钩子,用于记录键盘消息:

键盘记录日志保存在Local Settings\Packages\microsoft\debug.tmp文件中:

远程通信模块

每隔900s,使用HTTP GET请求的方式读取指定的页面,得到主控端对自己下发的指令,其中get参数以宿主机的系统安装日期作为唯一标识:

主控端对木马下发的指令将保存在临时文件repaired中,木马会读取该文件来对指令进行进一步处理,在处理完指令后,将会删除该文件。

跟进10074d0函数得到指令表:

指令字符 含义
‘0’ 上传指定文件
‘1’ 取得用户操作系统信息
‘2’ 截屏
‘3’ 遍历指定目录及其所有子目录
‘4’ 仅遍历指定目录
‘5’ 删除指定文件
‘6’ 命令执行
‘7’ 下载指定文件

 

由于C&C服务器已被关闭,所以自己改动了指令的获取方式来分析指令格式,最后得到指令格式如下:

typedef struct konni_command{

BYTE[]    parameter;

BYTE     cmdcode;

BYTE[6]   random;

BYTE[7]   id=”xzxzxz\x00″

}

修改样本代码绕过网络调用,并将Sleep函数功能废除,使得样本不停的尝试从本地文件repaired中读取指令:

在本地文件中写入符合以上格式的指令(随机数部分用空格进行代替)

按下保存键以后即可发现计算器被打开了,并按下多次保存键进行演示(由于指令处理后文件被删除,所以在记事本中再次按下保存,相当于在原目录下重新生成这一指定内容的文件):

样本执行指令的结果都将保存在package/mircosoft下的临时文件中,由样本经过压缩和加密处理后以post base64编码的方式提交到服务器:

将压缩后的文件进行RC4加密:

RC4加密的密钥如下:

加密完成后进行Base64编码:

在如上述步骤的处理过后,样本把这些信息整合进一个POST请求中,如果文件较小,那么该POST请求看起来将是一个普通的登录过程:

这里用来演示的是获取系统信息的指令:

防护方案

用户检测防护方案

由于Konni木马和传统的远控木马并没多大区别,传播方式也是通过钓鱼邮件,所以可以采取下面方式防范该木马病毒:

  1. 用户可通过屏蔽相关恶意域名防止被C&C服务器控制 member-daumchk.netai.net
  2. 增强安全意识,防范钓鱼邮件,不要轻易打开来源不明的邮件中的附件;
  3. 用户应该开启系统防火墙或者安装杀毒软件等终端防护软件;

绿盟科技解决方案

  1. 短期服务:绿盟科技工程师现场木马后门清理服务(人工服务+IPS +TAC)。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
  2. 中期服务:提供3-6个月的风险监控与巡检服务(IPS+TAC+人工服务)。长期对此恶意样本进行检测,保护客户系统安全。
  3. 长期服务:基于行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)

总结

Konni是针对朝鲜的远控木马,主要用于窃取有关的数据,会造成大量的信息泄露,危害比较大。该木马在传播方式比较传统,但是在和远控服务器通信过程中进行了压缩并加密,比较难以被察觉。目前只发现该木马只对特定地区投放,未来不会造成大范围传播。

 

声 明

========================

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

 

关于绿盟科技

=========================

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

发表评论