AutoIt木马又一发:暗藏神秘照片

AutoIt是一个自动化的Windows界面交互的脚本语言,具有很高的灵活性和较低的学习曲线。由于AutoIt解释器本身属于合法程序,黑客可以把恶意代码藏在脚本文件中,从而灵活地创建恶意软件,在系统中没有独立进程存在,从而延长其存活周期。

以下是一个从国外流传进来的AutoIt木马样本,代表着此类木马家族典型的攻击手法。

样本信息

[AutoIt3.exe] 71D8F6D5DC35517275BC38EBCC815F9F
[googleupdate.a3x] E58C5E3F461089CA9688D3ACA204EA70

AutoIt3.exe是AutoIt脚本解释器,带有正规数字签名:

真正的病毒体是googleupdate.a3x

执行时依靠AutoIt3.exe调用googleupdate.a3x脚本。便会执行其中的恶意代码

如:

C:\Windows\system32\cmd.exe /c start skypee\autoit3.exe  autoit3executescript  skypee\googleupdate.a3x explorer "%cd%" & exit

在网上搜索C:\Google\ googleupdate.a3x,可以找到不少中招反馈。(此木马脚本被某些杀毒软件清理之后,没有清理干净残留文件,就会出现开机弹出这个错误框的现象)

代码分析

代码总共接近3300行,前1300行左右像是复制了一个通用代码。

里面有大量的常量的声明,封装了大量的WinAPI和GDI函数,并定义了大量的字符串、数组操作函数,甚至有限制鼠标活动范围的函数。

但这些预定义好的常量和函数后面用到的却很少。可能是出于作者习惯,每个脚本都要带上这段通用代码方便随时调用。

中间1582行是在拼一个很大的变量,内容是用base64编码过的

解开之后是一个不明身份的小帅哥照片。看照片信息是用三星Galaxy S4手机(GT-i9500)拍摄的,并经过PS处理,但没找到GPS左边或其他有用的信息,无法推断这人是谁……并且病毒执行后也没有调用这段数据,完全是一段垃圾数据。

只有最后的400行是真正的病毒代码。这部分代码主要做了四部分的工作:

一、检查自身运行环境

二、创建开机自启动

三、感染全部磁盘

四、驻留内存并与服务器通信实现远程控制

【检查自身运行环境】

1.检查自身是否存在于“c:\google”目录下,或目录中是否包含“skypee”字样,如果都没有则退出

2.通过创建互斥量“googleupdate”检查自身是否已经运行,如果已经运行则退出,不重复运行

3.检查自身是否处于被分析的环境中,如果认定自己处于被分析的环境则退出。检查逻辑如下表(字符串检测均不区分大小写):

4.检查自身是否在“c:\google”目录下,若不在,则将自身当前所在目录复制为“c:\google”,同时将目录设置为只读/系统/隐藏属性,启动新目录下的病毒脚本,并退出自身。

【创建开机自启动】

手法比较常规,就是写注册表的run项和向“启动”目录添加快捷方式:

1.注册表run项

2.向“启动”文件夹写入快捷方式

【感染全部磁盘】

1.检测注册表值,设置为不显示系统SuperHidden的文件:

2.遍历本地磁盘,在每个盘符下作如下操作:

a)在当前盘符根目录下新建名为“skypee”的目录。并将autoit3.exe和病毒脚本复制到该目录下。并将该目录属性设置为“只读/系统/隐藏”

b)遍历当前盘符根目录下所有文件夹,在每个文件夹下,创建一个与该文件夹同名的快捷方式文件。快捷方式指向a步骤中创建的病毒。并将快捷方式图标设置为文件夹图标

c)如果当前盘符属性为“removable”(最常见的是U盘),则会在盘符根目录下额外创建如下名称的快捷方式,指向a步骤中的病毒复制体,并将快捷方式图标设置为文件夹:

my games
my pictuers
my videos
hot
downloads
movies

【远程控制】

脚本在完成上述操作之后,会利用一个死循环代码常驻系统内存,并与远端服务器通信实现远程控制。

1.首先会循环尝试解析服务器列表中的所有域名,一旦解析成功则使用这个解析成功的域名作为连接地址,跳出这个尝试循环。不过脚本本身只在列表中填了一个域名:

2.进入常驻内存的远控死循环,连通远程服务器的95端口。成功后,会先将本地的机器名、用户名、所在国家、系统版本、当前存在的安全软件等信息发送出去。然后等待远端指令进行进一步操作。接受的指令如下:

由于脚本本身特性所致,很容易被编辑修改。所以分析人员将远控的控制服务器稍作修改,就在自己的机器中实现了对虚拟机内脚本的控制:

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2014-09-30

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Albert陈凯

Hadoop数据分析平台实战——250JSSDK数据收集引擎编写离线数据分析平台实战——250JSSDK数据收集引擎编写

离线数据分析平台实战——250JSSDK数据收集引擎编写 JsSDK设计规则 在js sdk中我们需要收集launch、pageview、chargeReque...

3678
来自专栏酷玩时刻

支付宝Wap支付你了解多少?

为了方便开发者生成一对RSA密钥支付宝提供一键生成工具,具体如何生成与配置密钥详见签名专区。

3692
来自专栏更流畅、简洁的软件开发方式

【开源】QuickPager ASP.NET2.0分页控件 v2.0.0.2版本。

下载地址:http://files.cnblogs.com/jyk/Page2.0.0.2_080701.rar 这回只有 dll文件。请把包里的文件拷贝到...

2106
来自专栏散尽浮华

windows平台下编辑的内容传到linux平台出现中文乱码的解决办法

现象说明:在windows下编辑的内容,上传到linux平台下出现中文乱码。如下: 在windows平台编写haha.txt文件,内容如下: ? 上传到linu...

2538
来自专栏章鱼的慢慢技术路

使用Go语言+Protobuf协议完成一个多人聊天室

之前用纯逻辑垒完了一个可登入登出的在线多人聊天室(代码仓库地址),这次学习了Protobuf协议,于是想试着更新下聊天室的版本。

1363
来自专栏博客园

深入浅出话命令

WPF为我们准备了完善的命令系统,你可能会问:“有了路由事件为什么还需要命令系统呢?”。事件的作用是发布、传播一些消息,消息传达到了接收者,事件的指令也就算完成...

1034
来自专栏Greenplum

Linux 常用命令(三)

curl 命令支持在线下载功能,使用方便,它支持,S,等协议,还支持PUT,POST,COOKIES,认证授权等操作。

2530
来自专栏*坤的Blog

公司web安全等级提升

公司的一个web数据展示系统,本来是内网的,而且是一个单独的主机,不存在远程控制的问题,所以之前并没有考虑一些安全相关的测试.但是国调安全检查的需要添加这样子的...

2174
来自专栏博客园

深入浅出话资源

我们把有用的东西称为资源。“兵马未动,粮草先行”-----程序中的各种数据就是算法的原料和粮草。程序中可以存放数据的地方有很多,可以放在数据库里、可以存储在变量...

1062
来自专栏王磊的博客

MemCache在win7上的可视化配置以及Nodejs/Net应用

惯例科普:MemCache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,...

3486

扫码关注云+社区

领取腾讯云代金券