孟加拉央行SWIFT攻击事件恶意木马分析(转)

第一章 分析概述

该恶意木马样本为运行于winodws平台上的PE文件(名称:evtdiag.exe)。文件大小为64KB,编译时间是2016年2月5日。

经分析,该样本为定制的攻击SWIFT客户端程序的恶意木马程序,未做加壳和代码混淆处理,主要功能是与本地的SWIFT客户端软件Alliance交互。该木马以windows服务形式运行,通过遍历读取SWIFT客户端软件Alliance安装目录下的配置文件和交易记录文件,从而获取Alliance的重要授权等配置文件。通过监控Alliance软件的收发报文并打印日志导出文件,攻击者通过监控日志分析学习Alliance软件的操作流程。该木马可以查询并修改Oracle数据库中的数据,完成相关账户信息的篡改,以便让程序完成伪造的转账请求。该恶意木马还通过一系列技术手段完成痕迹的消除,比如在获取Oracle操作结果时关闭数据校验和反馈、修改Oracle连接进程中内存数据绕过Oracle数据校验,并在最后删除数据库中获取的账户相关数据信息。

可以看出,攻击者完全获取了SWIFT客户端主机的控制权限,所以通过打印日志记录各种命令执行结果并深入分析。木马程序编写者具有专业的金融知识背景,完全熟悉SWIFT Alliance的操作流程,深入了解该软件的工作原理,甚至是数据库表结构和文件网络等各类信息格式,另外还做了很多反侦查的技术操作。

1.1 分析环境和方法

本次分析基于PE样本(名称:evtdiag.exe)进行,分析环境为WinXP,静态代码分析工具为IDA,动态调试工具为Ollydbg。

第二章 样本分析过程

2.1 启动方式分析

该恶意木马在启动时接收不同的启动参数,从而实现不同的功能。所接收参数有-P、-g、-svc、resume、pause、on、off、queue等。如图2-1所示。其中on、pause、resume、off、queue都是对日志记录功能的操作,-svc参数则是将木马以windows服务方式启动。

图2-1 启动参数分析

如图2-2所示,-svc参数则将木马程序以windows服务方式启动。该操作调用StartServiceCtrlDispatcherA函数完成,所运行的服务的名字为evtsys.exe,并且在服务启动之后才进行后续的操作。

图2-2 以windows服务方式启动

2.2 枚举Oracle连接进程,修改内存数据

该恶意木马运行中,通过枚举系统中的进程,查找加载了Oracle连接库liboradb.dll的进程,该进程是SWIFT客户端软件Alliance与Oracle数据库进行交互所依赖的。如下图2-3所示。

图2-3 枚举加载了liboradb.dll模块的进程

如图2-4所示,木马文件找到加载了liboradb.dll模块的进程文件后,通过修改内存的方式,对模块中的关键数据进行篡改。结合后续的一些运行行为初步推断,是对模块中的数据校验功能进行篡改,防止在修改账目过程中报错。

图2-4 修改Oracle连接进程中的内存数据

2.3 开启日志打印功能并进入关键处理函数

恶意木马开启日志打印功能sub_409460,便于记录每一步操作中的数据结果,如图2-5所示。同时进入关键信息窃取逻辑sub_409AF0。

图2-5 开启日志打印记录功能

如下图2-6便进入关键窃取信息的处理逻辑sub_409AF0,前面提到,当木马以服务方式启动时,便会执行该功能。

图2-6 sub_409AF0函数处理逻辑

图2-7 服务方式启动后即开始窃取信息

2.4 遍历SWIFT客户端软件Alliance目录文件

该恶意木马接着遍历swift客户端软件Alliance的安装目录,拼接不同的目录路径,读取Alliance目录文件,如下图2-8所示。

图2-8 读取swift客户端软件alliance的目录文件

其中,推断gpca.dat文件可能为alliance软件关键的配置文件,可能保存了用户转账过程中的信息,并进行了加密。该木马代码获取到该文件后进行了有效的破解。破解算法如下图2-9所示。

图2-9 可能的pgca.cat文件内容的解密算法

如果该木马程序未读取到gpca.dat时,会通过打印日志来记录。如下图2-10所示的CFG FAIL记录。由此来推断,gpca.cat是配置文件。

图2-10 读取swift客户端软件alliance的目录文件

另外,alliance目录下的mcm目录下存放了in和out两个子文件夹,该木马程序对这两个目录进行了遍历读取,如图2-11所示,并匹配查找其中.prc和fal文件,然后读取文件内容,如图2-12所示。初步推断为SWIFT转账时的转入和转出操作时对应的目录,其中存放了转账时转入或者转出的数据记录文件。

图2-11 遍历Alliance的in和out目录

图2-12 遍历匹配in、out目录中的特定文件

2.5 操作Oracle数据库,进行查询、更新等操作

该木马程序通过Alliance软件操作数据库,对Oracle数据库进行查询、篡改和删除操作。同时将Oracle的相关属性进行修改,清除Alliance客户端软件的记录,同时将查询到的数据信息导出到某一个文件中。程序最后还执行delete语句删除Oracle的数据记录。

如下图2-13所示,该木马程序通过设置一系列的set命令将数据反馈和校验关闭。然后通过创建进程执行sql语句,将每个执行结果导出到一个文件中,同时Alliance并未留下操作记录。

图2-13 更改 Oracle相关属性以屏蔽数据操作记录

如下图2-14所示,查询结果有Login字段。推断该操作应该是登录的授权信息的查询过程。

 图2-14 查询登录的账户信息

如下图2-15所示,该查询语句中有FIN_CCY_AMOUNT字段,推断是在查询账户的金额信息。

图2-15 查询账户金额信息

如下图2-16所示,该UPDATE语句中有FIN_CCY_AMOUNT字段,推断是在更新篡改账户的金额信息。

图2-16 修改账户金额信息

如下图2-17所示,最后通过delete语句删除数据库的信息,推测是转账交易结束后,对数据库记录的删除,以消除痕迹。

图2-17 删除数据库中相关信息

2.6 监控SWIFT客户端软件Alliance的通信信息

在确定配置文件路径和文件信息之后,循环处理Alliance客户端软件的通信信息,即监控该软件发出和接收的信息,如图2-18所示。将信息记录日志导出。推测攻击者利用该监测功能观察SWIFT通信过程中的交换报文格式,从而伪造转账的报文请求,篡改数据库,从而让SWIFT按照设定的指定发送转账交易请求,从而完成攻击过程。

图2-18 监控Alliance软件的通信信息

第三章 分析总结

该恶意木马样本为运行于winodws平台上的PE文件。文件大小为64KB,编译时间是2016年2月5日。

经分析,该样本为定制的攻击SWIFT客户端程序的恶意木马程序,未做加壳和代码混淆处理,主要功能是与本地的SWIFT客户端软件Alliance交互。该木马以windows服务形式运行,通过遍历读取SWIFT客户端软件Alliance安装目录下的配置文件和交易记录文件,从而获取Alliance的重要授权等配置文件。通过监控Alliance软件的收发报文并打印日志导出文件,攻击者通过监控日志分析学习Alliance软件的操作流程。该木马可以查询并修改Oracle数据库中的数据,完成相关账户信息的篡改,以便让程序完成伪造的转账请求。该恶意木马还通过一系列技术手段完成痕迹的消除,比如在获取Oracle操作结果时关闭数据校验和反馈、修改Oracle连接进程中内存数据绕过Oracle数据校验,并在最后删除数据库中获取的账户相关数据信息。

可以看出,攻击者完全获取了SWIFT客户端主机的控制权限,所以通过打印日志记录各种命令执行结果并深入分析。木马程序编写者具有专业的金融知识背景,完全熟悉SWIFT Alliance的操作流程,深入了解该软件的工作原理,甚至是数据库表结构和文件网络等各类信息格式,另外还做了很多反侦查的技术操作。

时间: 2024-12-18 17:19:35

孟加拉央行SWIFT攻击事件恶意木马分析(转)的相关文章

20145326蔡馨熠《网络对抗》——恶意代码分析

20145326蔡馨熠<网络对抗>--恶意代码分析 1.实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控.. 需要监控什么? 系统中各种程序.文件的行为. 还需要注意是否会出现权限更改的行为. 注册表. 是否有可疑进程. 如果有网络连接的情况,需要注意这个过程中的IP地址与端口. 用什么来监控? 最先想到的肯定是使用wireshark抓包了,再进行进一步分析. Sysinternals

恶意代码分析实战

恶意代码分析实战(最权威的恶意代码分析指南,理论实践分析并重,业内人手一册的宝典) [美]Michael Sikorski(迈克尔.斯科尔斯基), Andrew Honig(安德鲁.哈尼克)著   <恶意代码分析实战>是一本内容全面的恶意代码分析技术指南,其内容兼顾理论,重在实践,从不同方面为读者讲解恶意代码分析的实用技术方法. <恶意代码分析实战>分为21章,覆盖恶意代码行为.恶意代码静态分析方法.恶意代码动态分析方法.恶意代码对抗与反对抗方法等,并包含了 shellcode分析

Exp4 恶意代码分析 20154328 常城

Exp4 恶意代码分析 一.实践内容 1. 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述一下分析结果.目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不.如果想进一步分析的,可以有针对性的抓包. 安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为. 2. 恶意软件分析 分析软件在启动回连时 分析软件安装到目标机时 分析软

20155339 Exp4 恶意代码分析

20155339 Exp4 恶意代码分析 实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控. 监控网络连接. 当某个系统进程出现多个时,重点监控. 监控注册表的变化. 监控未知的IP的异常频率的连接. 监控系统日志的变化. (2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息. 创建计划任务,跟踪该进程的网络连接. 使用Systracer拍摄系统的多个快照,并

2018-2019-2 网络对抗技术 20165324 网络对抗技术 Exp4:恶意代码分析

2018-2019-2 网络对抗技术 20165324 网络对抗技术 Exp4:恶意代码分析 课下实验: 实践目标 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. 假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 实践内容 系统运行监控 使用如计划

2018-2019 20165226 Exp4:恶意代码分析

2018-2019 网络对抗技术 20165226 Exp4:恶意代码分析 目录 一.实验内容说明及基础问题回答 二.实验过程 Task1 系统运行监控 结合windows计划任务与netstat命令 使用sysmon监视系统 Task2 恶意软件分析 在线检测--virustotal 动态分析1--使用TCPView工具 动态分析2--使用Process Explorer 动态分析3--使用Process Monitor 动态分析4--使用systracer 动态分析5--使用wireshar

2018-2019-2 网络对抗技术 20165305 Exp4 恶意代码分析

Exp4 恶意代码分析 1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件. 1.3假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质. 2.实践内容 2.1系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联

20145234黄斐《网络对抗技术》实验四,恶意代码分析

恶意代码 概述 恶意代码是指故意编制或设置的.对网络或系统会产生威胁或潜在威胁的计算机代码.最常见的恶意代码有计算机病毒(简称病毒).特洛伊木马(简称木马).计算机蠕虫(简称蠕虫).后门.逻辑炸弹等. 特征: 恶意的目的,获取靶机权限.用户隐私等 本身是计算机程序,可以执行,并作用于靶机 通过执行发生作用,一般来说不运行是没问题的 恶意代码分析 在大多数情况下,进行恶意代码分析时,我们将只有恶意代码的可执行文件本身,而这些文件并不是我们人类可读的.为了了解这些文件的意义,你需要使用各种工具和技巧

&quot;Chinad&quot;木马分析

  摘要 事件起因: 前一段时间国外网站曝出一个中国的受害者来执行DDOS的一个木马-Chind,在该木马准备长攻击前,会先检测用户是否使用360,如果检测到就会停止攻击.这里就对该木马行为进行详细报告 木马危害: 该木马长期潜伏在用户电脑中,使用户变肉鸡,在适当时候会对指定目标进行攻击(攻击时间由发起者决定),对被攻击目标进行DOS攻击.大量的肉鸡同时对一个目标发送大量数据,会导致被攻击目标网络瘫痪,而对于中招用户来说一旦被攻击的网站对攻击事件进行追查,能查到的直接源头就是这些无辜的中招用户