简介:TB-Locker“比特币敲诈者”病毒,作者俄罗斯黑客波格契夫,目前已有12国上百万计算机感染,经济损失超1亿美元。FBI通缉十大黑客中排名第二,是美国网络犯罪悬赏最高一次,悬赏300万美元。
方式:发送一个带病毒附件的邮件给目标客户,打开解压后里面是个传真图标的.scr文件,以为是传真发错邮箱了。打开真是一个英文传真文件,此时病毒已经在后台运行了,然后瞧瞧把电脑里的文档和图片等加密,加密后文件名全是随机的扩展名也变了,然后出现勒索画面,让在96小时内支付8比特币(约1万元人民币)解密,交完钱后在线解密,然后把病毒删掉。如果指定时间内不交钱将永远无法打开文件,目前除了交钱没有任何办法破解加密的文件。
商业分析:
1、中招的多数是大公司尤其是国际公司的高管,电脑的文件价值远远超过1万。一些刚做好的设计,重要策划,方案等非常急需而且又没备份,如果不恢复损失就大了。
2、加密的文件类型有114种,包括文档、图片、数据库、CAD、AI、PS等设计文件、音频视频,压缩包,几乎涵盖了所有重要的文档。包括硬盘,U盘网络共享。
3、交易通过TOR(洋葱网)用比特币支付。Tor网络是随机匿名并且加密传输的,比特币交易也是完全匿名的,
4、最开始支付时没用匿名网络导致服务器暴露,作者身份被查出。
详细流程:
1、运行hammer.scr后,在%All Users\Application Data%目录下释放随机名的加密的配置文件,公钥、加密的磁盘路径、加密的文件个数等保存在这里。
2、使用大量垃圾代码阻碍分析,最终展开成PE文件,解密,写入内存,执行解密后的代码,获取系统API,再解密,内存中展开病毒,显示RTF文件,让用户以为打开了文档,访问微软网址测试是否联网,如果联网,循环下载加密文件。
3、解密下载的pack.tar.gz,再解密这个文件,在内存中展开PE文件,这个文件加壳了,阻碍分析,解密出最终敲诈功能代码并运行,将自身拷贝到temp目录中,创建计划任务,实现自启动。
4、远程注入恶意代码到svchost.exe中,在该伪装进程中对文件加密,判断是否有vboxtray.exe、vboxservice.exe、vmtoolsd.exe等虚拟机进程,判断是否是调试环境,遍历硬盘、U盘、网络共享等所有文件,判断是否属于114种重要文件之内。根据计算机启动时间,文件创建,修改,访问时间等信息为随机种子生成KEY。对文件ZLIB压缩之后进行了AES加密,记录在AllUsers/随机字母.txt中,调用vssadmin删除掉所有的卷影副本,修改壁纸,显示勒索信息
解密过程:分三层,第一层循环左移,第二层异或操作,第三层解密。
关键技术:
1、大量垃圾代码,多重加密,真正的加密代码是联网下载,保证能随时更新,下载的代码又经过多重加密,同时加壳。远程注入到svchost.exe伪装系统程序,判断虚拟主机,判断调试环境,ZLIB压缩后AES加密。
2、数据文件加密后包装上病毒程序伪装原文件图标后成为可以传播病毒的可执行文件。
3、加密当前用户账户,并创建一个新的账户。
4、关闭系统安全功能,禁用UAC
5、计划任务实现自启动,或注册表实现。
6、在%userprofile%中随机命名文件夹,文件夹属性为隐藏,不可修改,删除。
7、写入大量垃圾代码长度0x200字节。
8、修改注册表,隐藏文件扩展名
9、采用大量rdtsc时间判断,检测是否处于调试状态,调试则执行不同语句。
10、创建多个进程,互相看护,一个结束,则重新创建一个。
11、调用vssadmin删除掉所有的卷影副本,就算系统开启了卷影复制或Windows备份服务备份的文件也会被删除,无法恢复。
12、生成AES的KEY:使用ECDH算法(Elliptic curve Diffie-Hellman)
①程序自身带一个主公私钥对。主公钥放到用户配置文件中,主私钥存在服务器上。
②每个文件加密时用ECDH算法产生一个会话公私钥对。对文件时间系统时间计算SHA256得到私钥,用ECDH算出公钥。
③会话私钥+主公钥=共享机密码,计算sha256作为AES密钥。主公钥保存本地,但会话私钥不保存。
唯一解密方法用 主私钥+会话公钥=共享机密码,再计算sha256得到AES的密钥。主私钥保存在服务器上。会话公钥在文件中。
公式:sessionshared secret=ECDH(masterpublic key, session private key)=ECDH(session public key,master private key)
13、加密文件结构:
①0x00:会话公钥,不加密。
0x20:四个DWORD分别是标志“CTB1”,压缩后的大小,压缩前的的大小,标志(值为1). 该部分加密。
0x30:经过ZLIB压缩和AES加密的原始文件。
②操作时,解密0x20部分,判断是否以CTB1开头,以1结尾,满足就是CTB加密的文件了。
14、离线解密5个文件:
为每个文件产生AES KEY时,保存5个KEY到配置文件中。
解密5个文件时,遍历所有加密文件,解密和这5个KEY匹配的。
15、最后还会向服务器提交一个public key,这里包含配置文件数据,加密文件大小等信息。跟文件加密无关。
参考网址: