专栏首页北京马哥教育腾讯反病毒实验室为你揭秘Xshell软件后门技术!

腾讯反病毒实验室为你揭秘Xshell软件后门技术!

背景:

最近,XShell远程终端工具发现被加入了恶意代码,目前官方就此事也做出了回应,要求使用者尽快下载最新版本。腾讯安全反病毒实验室就此跟进分析,对此次带有后门的XShell工具进行了分析。

技术分析:

概述:

整个恶意过程可以通过下图来展示

整个作恶过程分为3部分,第一部分是被patch的XShell启动后,执行到恶意的shellcode1。shellcode1解密后续数据后,执行该段代码shellcode2。第二部分shellcode2运行后会判断注册表项,如果不存在Data键值,则会收集用户信息,通过DNS 协议传走,并获取云端配置数据写回到注册表。第三部分,如果注册表项中有该键值,则会开始执行后续的恶意行为,通过注册表中的key来解密出shellcode3,最终会创建svchost进程,并盗取主机信息。下面我们就分别介绍一下各个过程。

XShell启动:

Xshell.exe启动后会调用自己的nssock2.dll,在sub_1000c6c0函数出,调用VirtualAlloc申请一段内存后,解密数据赋值到这段内存后,调用并执行。

Shellcode2部分:

Shellcode1解出shellcode2后就去调用执行。shellcode2动态加载获取系统函数后,会调用CoCreateGuid生成一个Guid,这个Guid会在后续上报信息时用到。

随后调用 RegCreateKeyExA 创建 HKEY_LOCAL_MACHINESOFTWARE6094805 注册表项,这里的数字路径是随机产生的。

通过判断此表项中是否存在Data键值,来决定后续流程。

如果不存在则会进行数据上报。数据上报的方式比较独特,通过DGA域名随机算法,每个月产生一个随机域名。

随后会调用getNetWorkParam,getUserName获取计算机名和用户名,并与前面的Guid以及标志位rood拼接成45个字符的上报数据。

在经过两次加密处理,最终将45字符的上报数据加密成90字符。

然后将这个长域名,发往知名的域名解析器,通过域名解析将用户上线信息传到黑客的后台服务器。

随后木马会通过调用recvfrom来接受服务端下发的数据

对接收到的数据进行判断后,便把数据写入到之前的注册表项

HKEY_CURRENT_USERSOFTWARE6094805的Data键中。

写入的数据包括下一步要解密执行shellcode3时用的key1和key2。

shellcode3:

随后发现Data键值存在数据后,便准备调用解密函数来解密执行shellcode3了,这里的a1,a2就是从云端获取到的key1和key2.

解密执行后,运行shellcode3,会创建一个日志文件

C:ProgramDataCCGQWCSHACMOQORUAAAYKK,然后在里面写入以下数据

随后会创建傀儡svchost.exe进程,注入后运行恶意代码。

IOC:

通过每个月的DGA算法,可以获取到一些域名

ribotqtonut.com (2017年7月) nylalobghyhirgh.com (2017年8月) jkvmdmjyfcvkf.com (2017年9月) bafyvoruzgjitwr.com (2017年10月) xmponmzmxkxkh.com (2017年11月) tczafklirkl.com (2017年12月)

SHA256:

462a02a8094e833fd456baf0a6d4e18bb7dab1a9f74d5f163a8334921a4ffde8 696be784c67896b9239a8af0a167add72b1becd3ef98d03e99207a3d5734f6eb 536d7e3bd1c9e1c2fd8438ab75d6c29c921974560b47c71686714d12fb8e9882 c45116a22cf5695b618fcdf1002619e8544ba015d06b2e1dbf47982600c7545f 515d3110498d7b4fdb451ed60bb11cd6835fcff4780cb2b982ffd2740e1347a0

查杀与建议:

1,目前NetSarang公司已经发布公告,如果有运维人员使用了公告中提到的受影响版本,请尽快升级。 2,运维人员发现IOC中列出的域名请求时,请尽快进行排查。 3,已经中毒的电脑,建议查杀后,应尽快修改服务器的密码。


本文分享自微信公众号 - 马哥Linux运维(magedu-Linux),作者:腾讯安全团队

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • jenkins+gitlab构建安卓自动编译环境

    因工作关系接触到接触到安卓自动编译环境,网上的资料都推荐了jenkins,因为第一次接触安卓和jenkins,踩了不少的坑,有总结才有进步。 gitlab环境之...

    小小科
  • 为什么Quora选择Python作为它的开发环境?

    自从Facebook的创始人Adam D'Angelo开始效力于这个大量使用了PHP的网站,我就一直在想他要用Python而不是PHP来创造Quora所遇到的技...

    小小科
  • 【gitlab使用】--gitlab-ce并发超过30引起ip被封1小时的问题

    系统环境描述 System information System: Ubuntu 14.04Current User: git Using RVM:...

    小小科
  • numpy.squeeze()

    这是因为matplotlib.pyplot接收的color sequence 参数c应该是单个值,直接传Y或者Y.train传的是shape(1, size)的...

    Steve Wang
  • 【图观大数据】双十一外国人的奇葩海淘排行:老美最爱假发....

    【外国人的奇葩海淘排行】双十一来了!你能想象到在地球的另一端,美国人默默的打开天猫,第一反应是输入“假发”!点大图看外国人的购物癖好:东南亚最爱买中国机顶盒和手...

    小莹莹
  • 波斯语用户生成文本内容的挑战:基于机器学习的方法(CS)

    近年来,关于开发从大量用户生成内容中受益并在其之上构建智能预测模型的有效方法的研究论文和研究已经发表。这项研究应用基于机器学习的方法来解决波斯语用户生成文本内容...

    用户8054111
  • 区块链旅游时代打造的健康生态自治社区

    目前,区块链旅游的应用观念已经从引导期逐步步入稳定期,并因区块链“技术革命”力量的影响而成为新一代引领旅游行业的发展的先驱。但是目前市场仍就市场乱象、以及不文明...

    区块链先锋
  • Python|关于def函数

    在我们想要用代码来解决问题时,可能某一种关系会多次用到,但是复制粘贴有违反了软件工程中的DRY原则,python为我们提供了函数功能,我们可以通过引用内置函数或...

    算法与编程之美
  • Mellanox公司的硅光子技术

    前段时间,Mellanox公司宣布关闭1550nm的硅光部门,引起了大家广泛的关注。笔者收集了一些Mellanox硅光子相关的资料与文章,在这里整理总结一下。

    光学小豆芽
  • 理解神经网络:从神经元到RNN、CNN、深度学习

    神经网络是目前最流行的机器学习算法之一。随着时间的推移,证明了神经网络在精度和速度方面,比其他的算法性能更好。并且形成了很多种类,像CNN(卷积神经网络),RN...

    AI研习社

扫码关注云+社区

领取腾讯云代金券