走近爱思 +    
爱思大事记 +    
合作伙伴 +    
主要客户 +    
 
关于YAI的本身的一些分析

    首先,我认为从技术角度严格定义,说YAI是黑客程序或病毒程序,都不够准确,应该说YAI是一种远程控制工具。关于远程控制工具可以完成的工作和YAI本身的一些功能,相关报道比较多,YAI作者杜江自己的介绍为:

    YAI提供了30多种远程监视、管理及控制命令,功能强大。使用者可在本地方便地操作远端目标计算机,包括获取目标计算机屏幕图象、窗口及进程列表, 记录并提取远端键盘事件(击键序列),打开、关闭目标计算机任意目录的资源共享,提取拨号网络及普通程序口令、密码,激活、终止远端进程,打开、关闭、移动远端窗口,控制目标计算机鼠标的移动与动作,交换远端鼠标的左右键,在目标计算机模拟键盘输入,浏览目标计算机文件目录,下载、上装文件,远程执行程序,强制关闭WINDOWS、关闭系统(包括电源)、重起系统,提取、创建、修改、删除目标计算机系统注册表关键字,在远端屏幕上显示消息,启动目标计算机外设进行捕获、播放多媒体(视频/音频)文件,控制远端录、放音设备音量,远程版本升级更新等等。

    同一切C/S模式的远程控制工具相同,YAI同样分为SERVER端(被控端)和CLIENT端(控制端),SERVER端是作为一个32位模块在被控端加载。而client端则是一个GUI界面的程序,有部分功能依靠按键实现,而大部分功能则依赖命令行的方式实现。

    由于笔者虽然拿到了YAI的两种SERVER端版本,但是并没有拿到其设置工具、设置文件和说明文件。因此只能简单分析一下。可能不够准确。

    SERVER端未安装版本(7月29日版本),278,528字节,运行后生成odbc16m.exe,275,156字节,目标目录为winboot%/system%/(按照WIN9X的默认安装就是windows/system)。可以看出该软件并非象某些某些木马只是简单的把自身COPY到目标目录下。目前流传SERVER端可能有多个版本,比较常见的是通过,修改注册表的方式开机执行的版本,添加主键的位置大家很容易猜到,是HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run键名为SysAllc指向生成的odbc16m.exe。而得到的,则还有一个并不添加此键值的版本,完全依赖对系统文件的修改感染而保证在系统中运行。

    与一切远程控制工具相类似,YAI SERVER端也要开放端口,与client端连接,YAI采用TCP连接,默认端口是1024,但也可以通过client端的操纵动态改变,与其他的工具所采用的对SERVER端进行初始设定的方法更有特点。值得注意的是,在其下拉提供的端口列表中,有一个137,应当说,对NETBIOS开放的机器,137是一个正常的打开端口。同时YAI可以密文传输控制指令,这一点比以往的国产工具有了一定进步。

    YAI的一个有特色之处是他的图标,YAI选择了一个正常情况下,没有默认打开方式的文件的常见图标作为系统图标,由于WINDOWS安装后的默认方式为隐藏已知类型文件的扩展名。所以,采用这种设置的用户会误认为这是个没有扩展名的文件,对这种文件很多用户出于好奇会双击他选择一种方式去打开,结果此时就使程序被执行。

    YAI的另一个特点是其自我保护的意识,由于很多用户都知道用netstat -an命令查看所有本机连接,因此YAI屏蔽了netstat命令,但这种屏蔽即不是通过网络方式完成的,也不是通过修改NETSTAT.EXE本身完成的,而是通过操作捕获的方式完成的。这意味着,即使你仅仅是把netstat.exe修改一个名字,YAI对此就不在起作用。另外YAI为了防止用户通过类似ctrl+alt+del方式查看到他的存在,采用了一些技巧,当然,类似方法在其他一些同类工具中也能被找到,我会另用文章论述。同时,YAI的SERVER端做了压缩和一定的反跟踪处理,使静态和动态的方式都不容易分析。

    但与此相矛盾的是YAI又有自我暴露的特点,YAI的SERVER端在被控制的时候,会在屏幕上出现一个红心的图案,点击这个图案,会看到控制者的IP。这一点还未见于其他工具,这也足可说明作者的非恶意性。

    其实YAI与其他后门工具最大不同,在于其有一种崭新的对SERVER端的依附方式,那就是其可以通过改变预定设置,使之激活对用户可执行程序进行寄生的特性。由于此时的YAI SERVER具有了自我复制的特点。由于自我复制是文件性病毒的根本判据,可以说,此时的YAI的SERVER端,具有明显的病毒特性。但YAI的寄生特性激活后,并非向CIH一样,感染一切PE程序,他只是逐渐的有选择的感染部分PE程序。这个感染列表与YAI SERVER的版本有关。

    但YAI与传统的文件性病毒又有很大不同,传统的病毒一般都是寄生程序的大小愿小于宿主。但我们可以看一下write.exe和control.exe感染后的情况。

程序名称 正常字节数 感染后字节数 增加字节数
Write.exe 20,480 277,010 256530
Control.exe 2,155 276,534 274,379

    可以看出寄生程序远大于宿主,这种状况在以往是异常罕见的,同时寄生后,程序增长的字节并不固定,这主要是因为,该程序感染手法与传统文件型病毒不同,传统文件形病毒一般是把自己附着在原有程序文件尾部或头部,通过修改文件头指向自身,使每次程序运行时自身被执行后再执行正常程序。而YAI则是通过把正常程序,嵌入自身的方式来进行。被YAI感染的程序的特性与版本也有关系,早一点的版本运行后,会检查 WINBOOT%/SYSTEM%下是否有ODBC16M.exe如果没有会拆离出这个文件,而后来版本则直接本目录运行,这就是所谓.tmp文件的由来。

    YAI带来的一个问题是程序的BUG会造成用户正常程序的无法运行,当然用户被感染后遭到远程控制也会带来一些不可预测的影响。

文/江海客(seak@163.net) 摘自 INFOWEB

[关闭窗口]
 
 
 
 
 
重庆爱思网安信息技术有限公司版权所有
Copyright©2003-2004 isoft Technology Co.,Ltd.All Rights Reserved.