|
中华网络安全联盟 作者:未知 来源:转载 时间:2006-7-7
昨天,有一应聘兼职的家伙(这里姑且让我把这个流氓称做家伙)问我加木马的脚本是否比正常脚本的收购价格要高。 语气中骂骂咧咧,让我极为不爽。在痛恨这该死家伙的人品同时,也让我想到了按键精灵脚本的安全问题,燧有此文。
从刚开始用按键精灵编写脚本到现在已有近两年的时间。 因为简单游工作的关系,必然要了解按键精灵脚本夹带木马的各种方式。 简单游几十万的在线用户,万一被木马感染,后果可想而知。
从最开始认为按键精灵不可能传播病毒木马到现在已经清楚知晓在脚本中夹带木马的几种方式,个人经验,以供诸位朋友防范。
1: 按键精灵更新到5.6版本时,为了简单游的专职脚本设计人员可以方便的使用各种插件,提供了附件功能。 在轻松释放插件文件的同时,也给病毒木马提供了简单的接口。 当初也因为这个问题和按键精灵的作者之一LEO详细讨论过,最终的结果是菜刀可以用在厨房,也可能出现在杀人现场。 关键点是持有人如何对待。我也赞同这种说法。
回归主题
插件在脚本中,是把二进制文件用email附件文本传输格式储存在脚本[Attachment]中。 使用PutAttachment关键字,还原释放到指定目录中。真正的插件一定会释放到plugin中,但释放到plugin中的未必是真正的插件
解决方法: 如发现脚本代码中存在PutAttachment语句,除非对脚本是可信赖的,否则不要轻易使用。 如要使用,有个简单的判断方法,打开按键精灵,在脚本的[Script]下,写上: PutAttachment plugin EndScript 执行后,查看plugin中是何种文件,如果是DLL,则关闭按键精灵,再次打开任意脚本点选释放出来的DLL插件。 如出现“这个插件未经过数字签名”就要小心了。 插件的数字签名由兄弟工作组提供。个人可以把插件代码提供给兄弟工作组,人工确认无害后,会回传一个带安全认证插件签名的DLL。
2: 使用ADODB.Stream和Microsoft.XMLHTTP对像由网络下载某文件到硬盘里执行。 这个功能在按键精灵3.6版以后都可以使用,VBS自带的功能。不过这个功能我还没看到哪个人有加到代码里。
解决方法: 发现脚本中存在createobject("ADODB.Stream")和createobject("Microsoft.XMLHTTP")的,千万不要使用,里面肯定有猫腻。
3: 这里是2类型的变种类型,也是可能存在的木马。 语句格式:createobject(str1) 其中str1是变量,其他人的脚本不一定是str1。 或许你不懂什么是变量,简单的说,如果createobject后面()不是("x.x")就需要小心了。x.x中的x可以是英文字母、数字、下划线。 但不可以有除英文字母、数字、下划线和中文以外的字符,比如“&”、“+”。 ("Scripting.filesystemobject")是正常的 ("M"&abc+"http")就不是正常的了。
4: 为什么要有4?这里是种可能,我没有实验过。理论上是可行的。 这种可能是,在脚本的前面或者后面有一堆奇怪的字符。利用VBS的文件系统对象,写到硬盘中并且调用。 总之存在类似:UEsDBBQAAgAIAFwtPTMs9Gw1sQ0AAAAgAAAKABEAV这样超过100个字符的乱码就肯定有问题。
这里说一下插件 插件也是类似UEsDBBQAAgAIAFwtPTMs9Gw1sQ0AAAAgAAAKABEAV这样的字符。不过是在脚本开头的位置。=========================================================== [General] Description=脚本名称 BeginHotkey=121 BeginHotkeyMod=0 RunOnce=1 Enable=0 [Repeat] Type=0 Number=1 [CallBack] OnSetup= [Comment] Content=
[Attachment] UEsDBBQAAgAIAFwtPTMs9Gw1sQ0…… …… ……
[Script] //脚本内容 =========================================================== 这里的[Attachment]是插件内容,如果碰到这样的代码怕不安全,就需要参考我刚开始说的第1种方式。
PS: 尽量不要使用来历不明的小精灵。小精灵的代码是隐藏的,我们无法得知其是否夹带了病毒木马程序。 并不是所有的木马杀毒软件都可以查的出来。最起码刚写出来的木马,杀毒软件就肯定查不出来。病毒库里没有嘛:_)
唠唠叨叨写了不少。居然都块2点了,准备睡觉。也祝福各位朋友好运。
|