|
| 对新 Javqhc 拦截各安全软件及诊断工具的方式简单分析 | |||
| 作者 depressedboy 查看 325 发表时间 2008/7/12 22:14 【论坛浏览】 | |||
|
btyngkhqr ]昨天,几个朋友,包括天月来了,电脑维修工等,在一个帖子里对新 Jvaqhc 拦截各种安全软件及诊断工具的方式发生了质疑。btyngkhqr btyngkhqr 具体可以参考此帖:http://bbs.360safe.com/viewthread.php?tid=528816btyngkhqr btyngkhqr 这种新 Javqhc 病毒,会拦截很多安全工具,发现后即可结束其任务,并删除文件。十分恶劣。btyngkhqr btyngkhqr 甚至连各种诊断工具都不放过。我们惯用的命令行版都不能幸免。不管是改名,还是删除 360 的 FileVerInfo 签名,都躲不过它的追杀。btyngkhqr btyngkhqr 我一直也没想出病毒是如何确定的特征码,确定一个进程是 360 安全卫士及相关产品的呢?btyngkhqr btyngkhqr 经过简单分析,我初步确定了 Jvaqhc 判断的手段,简单说明如下:btyngkhqr btyngkhqr 病毒首先会判断注册表下:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad 是否存在自身,若不存在,则创建自身的 SODL 值。在 CLSID中注册自己(复制到 System32 下的随机文件名)。btyngkhqr btyngkhqr SODL 可以在 360 的诊断报告中观察到。ShellServiceObjectDelayLoad 的作用就是在 Shell 执行一个可执行文件后,延迟加载动态链接库。btyngkhqr btyngkhqr 这样,当我们运行一个可执行文件,比如诊断报告工具的时候,就会延迟加载这个病毒链接库。btyngkhqr btyngkhqr 当运行至病毒链接库的入口点后,病毒会创建几个线程,具体没有认真分析,其中有一个线程会获取当前进程的完整路径和文件名。btyngkhqr btyngkhqr 并通过判断同一路径下的所有文件(用 FindFirstFile 枚举),与自身设定的一个特征库一一对比,如果发现符合特征,就结束当前进程,并删除进程的映像文件。btyngkhqr btyngkhqr 这些特征库,包括:LibDLL.dat 及其他安全软件的同一目录下的特征文件名。btyngkhqr btyngkhqr
由于 360 的很多产品,均包含这个 LibDLL.dat ,所以也就无法幸免了。btyngkhqr btyngkhqr 为了解决这个问题,我修改了 360 安全卫士诊断工具命令行版,将所有的 DAT 文件特征,修改成 EL 扩展名,结果成功躲避了病毒的追踪。btyngkhqr btyngkhqr 这个修改后的诊断报告工具命令行版,可以在这里下载(帖子的 5 楼)btyngkhqr btyngkhqr 另外,病毒会将正常的 advapi32.dll 和 Kernel32.dll 复制一份到 System32 下的随机文件名。btyngkhqr btyngkhqr 通过 Hook 正常的函数库 advapi32 的 RegOpenKeyEx,RegEnumKeyEx等函数,导致其他安全工具,包括诊断报告工具,在枚举注册表时,被病毒 Hook,病毒会让这些枚举操作跳过自身的注册表项目,造成报告上缺失病毒的SODL 项目,因此,从报告上可能看不到病毒的加载项。btyngkhqr btyngkhqr 通过 Hook 正常的函数库 Kernel32 的 CreateFile,导致其他安全工具在连接文件时被 Hook,所以某些安全工具,比如 360 的诊断报告会认为这个文件不存在。报告上的 CLSID 显示为“无效”,且无法计算出病毒文件的 MD5 值等。btyngkhqr btyngkhqr 而病毒自身要使用这些函数的时候,就通过 LoadLibrary 和 GetProcAddress 两个函数,使用自身复制后的两个随机文件名函数库,这样自身就不会有任何影响了。btyngkhqr btyngkhqr 所幸的是,这些 Hook,虽然隐藏了病毒的注册表项目,我们从报告上看不到病毒的注册表项目了,但仍然可以看到它注入在别的进程中的注入信息。btyngkhqr btyngkhqr [ 本帖最后由 depressedboy 于 2008-7-12 22:15 编辑 ] |
| 序号 | 评论者 | 共有评论 0 【论坛浏览】 【发表评论】 | 评论时间 |
| 当前无任何评论,或评论已被禁止显示 | |||
共有评论数 0 每页显示 10
|
|||