查看原文
其他

Banjori银行木马分析报告

伏影实验室 绿盟科技研究通讯 2021-03-12
一.  样本综述

Banjori是被发现于2013年并活跃至今的银行木马。其攻击目标主要针对于法国、德国与美国的个人银行网上用户。当用户被感染后,木马会将恶意载荷注入至用户的活动进程实现持久威胁并对用户的信息进行收集。银行木马的盗窃重灾区多位于浏览器,Banjori亦不能免俗。相比IE与Chrome, 该木马尤为青睐于火狐浏览器,大部分被窃取的用户信息均通过对该浏览器的挂钩、数据库文件查询获取。值得一提的,该木马家族自2013年起就使用当年颇为时髦的动态域名算法获取CC服务器地址。这导致杀软传统的黑名单过滤形同虚设,但同时也为摧毁/接管该僵尸网络创造了条件。

绿盟伏影实验室针对该家族进行了一年的持续跟踪,共检测到僵尸网络1499个, 其数量呈逐月上升趋势。


二.  样本执行流程

样本首先解将恶意代码释放至堆中并通过注入的方式感染其他进程。被注入的恶意代码一致但表现出的行为不尽相同,这是因为恶意代码被指定了不同的执行入口点。这样的入口点一共有三个,即三个不同的执行阶段。

第一阶段发生于恶意进程内部,恶意代码首先被解压至自身的堆空间内,并跳转至第一阶段执行入口点。

 第一阶段的主要功能如下:

1. 将堆中恶意代码注入所有运行中的进程。

2. 钩取被注入进程的’CloseHandle’函数。

3. 对被注入进程设置的标志位防止重复注入。被注入的进程载入的kernel32.dll的PE头第0x51个偏移的字节会被替换为’@’,替换后的PE头中的DOS部分变更为’Th@s program cannot be run in DOS mode’。

第二阶段发生于被感染进程内部,当CloseHandle函数被调用时,通过第一阶段设置的钩子跳转至第二阶段入口点。

 

第二阶段主要功能如下:

1. 将被注入的恶意代码继续向所有运行中的进程注入,实现持久威胁。

2. 创建svchost傀儡进程并将恶意代码注入该进程。

针对浏览器信息的窃取。

第三阶段发生于svchost傀儡进程,通过第二阶段创建的远程线程进入第三阶段入口点。

 第三阶段主要功能如下:

1. 使用DGA动态获取C2域名,绕过杀软的恶意域名检测。

2. 将窃取到的用户信息上传至C2服务器。

三.  样本细节分析

1持久威胁

第一与第二阶段的恶意代码循环判断互斥体’JbrDelete’是否被创建,当该互斥体未被创建时,持续检索、注入未被感染的活动进程。

第二阶段的恶意代码会创建一个隐藏窗口。该窗口的消息回调函数函负责创建循环判断终止条件的互斥体JbrDelete 当且仅当窗口收到了用户登出的消息WM_QUERYENDSESSION时才会创建互斥体

2信息窃取


第二阶段被注入至各个活动进程的恶意代码负责偷取用户信息。 首先,对肉鸡操作系统语言进行判断,当且仅当操作系统语言属于美国时,搜索’\Users\%UserName%\AppData\Roaming\Microsoft\Windows\Cookies\’下包含银行名称的敏感文件,并复制在待上传文件夹。

当操作系统语言是德国、法国或美国时,注入的恶意代码会尝试firefox的根目录下寻找sqlite3.dll(该动态链接库并不属于于高版本的firefox浏览器组件)。恶意代码会使用该库的导出函数查询浏览器的缓存文件并将查询结果保存在本地。

样本会记录任意语言版本操作系统肉鸡所访问的域名;注入到各个进程的恶意代码判断自身是否firefox浏览器的进程空间内,若是,则会尝试在firefox加载的动态链接库中寻找ssl3.dll并对其导出函数SSL_SetURL进行挂钩。值得一提的是,早期的firefox使用的网络安全服务(NSS)库中包含ssl3.dll, 但在某一次版本迭代后更名为nss3.dll

钩子函数会从参数中提取用户访问的域名并保存在本地等待被上传。

3动态域名算法

样本使用字符串’antisemitismgavenuteq.com’作为种子域名,根据该种子域名的前四个字符计算后成真正的C2域名,计算方法如公式所描述

该算法生成的C2域名仅与种子域名的前四个字符不同,共有26^4种排列组合;生成的C2域名示例如下

plhusemitismgavenuteq.com’

ckbrsemitismgavenuteq.com’

msfasemitismgavenuteq.com’

fbcpsemitismgavenuteq.com’

如果一直无法连接到C2域名,样本会一直使用该算法生成新的C2域名直到连接成功。由于四个字符的排列组合数量有限,因此该算法会多次生成相同的域名,即’回环域名’。举例,以’antisemitismgavenuteq.com’为种子域名,则生成的第2个与第15374个C2域名均为‘nzrvsemitismgavenuteq.com’。

有些域名在经过一定轮次后可被再次生成,有些则不可以。举例,对于域名’gfaqsemitismgavenuteq.com’,不存在使用该DGA算法后输出’gfaq’的输入。非回环域名可用于该DGA算法的种子,但不可作为C2域名,这是因为非回环域名不会被再次算出,首次连接失败就意味着C2永久性丧失了对肉鸡的控制权。我们可以提取回环域名特征后将其枪注,进而接管僵尸网络。

同理可证

若域名的前四个字符是回环域名,则生成这四个字符的必然存在。进步一的,若是回环域名,则该域名的前两个字节必然存在一组与之相对。

做和,则有

显然,当同时存在时,之和可以被2整除,即奇偶性相同时是回环地址的必要不充分条件。同时,当奇偶性不同时,必然不是回环地址。非回环地址占地址总数的,即[0.25,0.5]。

综上所述,无视之和可以被2整除的非回环域名,抢注总域名中小于等于75%的回环域名就可以接管该僵尸网络。

4通信协议

位于scvhost傀儡进程第三阶段恶意代码负责与C2端通信。样本共生成了了两类管道,管道一使用HTTP协议, 负责向C2提供自身运行状态,管道二使用XMPP协议,负责上传第二阶段窃取到的用户信息。

管道一使用使用的消息格式包括如下字段,可用于提取流量特征。

{

&q=    //可选

&data=   //可选

&data_type=  //可选

&action=   //可选

&ver=   //可选

&ch=   //可选

&data_content= //可选

'0xA'task'0xA'  //可选

&id=    //硬编码

&versionf=  //硬编码

&versiona=  //硬编码

&vendor=  //硬编码

&do=   //编码后的C2域名

&check=chek  //硬编码

}

样本使用管道一当进行与C2服务器的首次握手,上线包的action字段被赋值为’new’。

样本使用管道二上传本包含用户信息在内的各种文件。

首先,样本遍历待上传文件的目录。

之后,样本构建一个包含上传文件基本信息的数据包并发送给C2服务器,发送前为该数据包添加了PGP头,但仅对数据内容进行BASE64编码而没有根据PGP协议的要求对数据内容进行加密。

最后,样本将目录下的文件逐一上传。

四.  IOC信息


种子域名

MD5


antisemitismgavenuteq.com

538da019729597b176e5495aa5412e83


bandepictom.com

5592456E82F60D2222C9F2BCE5444DE5


buckbyplaywobb.com

f9d02df23531cff89b0d054b30f98421


telemachuslazaroqok.com

bc69a956b147c99f6d316f8cea435915


texanfoulilp.com

36a9c28031d07b82973f7c9eec3b995c


clearasildeafeninguvuc.com

1e081e503668347c81bbba7642bef609


marisagabardinedazyx.com

c2c980ea81547c4b8de34adf829ccc26


pickfordlinnetavox.com

4e76a7ba69d1b6891db95add7b29225e


snapplefrostbitecycz.com

abb80f23028c49d753e7c93a801444d8


filtererwyatanb.com

eff48dae5e91845c2414f0a4f91a1518


antwancorml.com

5dda3983ac7cebd3190942ee47a13e50


stravinskycattederifg.com

eaeb5a9d8d955831c443d4a6f9e179fd


forepartbulkyf.com

080b3f46356493aeb7ec38e30acbe4f5


fundamentalistfanchonut.com

40827866594cc26f12bda252939141f6


criterionirkutskagl.com

8e1d326b687fc4aacc6914e16652c288


criminalcentricem.com

a03971bff15ec6782ae25182f4533b92


babysatformalisticirekb.com

b9fb8ae5e3985980175e74cf5deaa6fb


earnestnessbiophysicalohax.com

f555132e0b7984318b965f984785d360


参考资料:

[1]:https://www.johannesbader.ch/2015/02/the-dga-of-banjori/

关于伏影实验室

伏影实验室专注于安全威胁与监测技术研究。 研究目标包括僵尸网络威胁,DDoS对抗,WEB对抗,流行服务系统脆弱利用威胁、身份认证威胁,数字资产威胁,黑色产业威胁及新兴威胁。通过掌控现网威胁来识别风险,缓解威胁伤害,为威胁对抗提供决策支撑。


内容编辑:伏影实验室 杜元正   责任编辑:肖晴


期回顾

本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。

关于我们


绿盟科技研究通讯由绿盟科技创新中心负责运营,绿盟科技创新中心是绿盟科技的前沿技术研究部门。包括云安全实验室、安全大数据分析实验室和物联网安全实验室。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。

绿盟科技创新中心作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。

我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。

长按上方二维码,即可关注我们

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存