“幻影后门”病毒技术细节
点击次数:29 次 发布日期:2008-11-25 17:52:35 作者:源代码网
|
病毒作者在病毒体(客户端控制程序)内留下了明确的签名: 作者:dream2fly 作者网址: www.dream2fly.net 作者邮箱:hyrootkit@126.com 作者的网址(论坛)中提供了多个自己编写的软件,包括本后门病毒。 作者的论坛中称本病毒为UAM (Universal Access Manager),中文名称“幻影远程控制”,提供收费注册使用。 病毒分为5个部分:服务端安装程序(ctfime.exe)、服务端核心程序(SysIdt00.dll)、服务端启动程序(被感染的explorer.exe)、客户端控制程序(UAManager.exe)、隐藏端口的Rootkit (uamanger.sys)。 服务端安装程序由C/C++语言编写,UPX加壳保护。其它部分由C/C++或汇编语言编写。 1、 服务端安装程序 服务端安装程序执行如下操作: (1) 服务端安装程序运行后从程序资源中释放如下文件: "%windir%system32SysIdt00.dll"、"%windir%system32DRIVERSuamanger.sys" (2) 然后将自己复制为"%windir%system32ctfime.exe"并启动,同时删除原文件。 (3) 将SysIdt00.dll、ctfime.exe、uamanger.sys的文件时间修改为同系统的cmd.exe相同,并将属性设置为“系统+隐藏”。 (4) 修改系统的文件保护,然后感染系统的explorer.exe。 (5) 以隐藏窗口方式启动被感染的explorer.exe。 2、 服务端启动程序(被感染的explorer.exe) 服务端安装程序在感染explorer.exe时,在其最后增加一个大小为0x1000的节写入病毒代码,并将入口点改为指向新的节的开始。被感染的病毒代码执行时通过调用LoadLibraryA装载SysIdt00.dll,然后返回原入口点。病毒感染explorer.exe的目的是为了在系统启动时都能运行SysIdt00.dll,达到自启动的目的。 3、服务端核心程序(SysIdt00.dll) SysIdt00.dll中是远端监控的核心代码。 SysIdt00.dll通过被感染的explorer.exe被装载后执行如下功能: (1) 通过调用SeDebugPrivilege等函数提升权限。 (2) 遍历进程对找到的第一个”svchost”进程,将自己将注入其内存,然后通过CreateRemoteThread启动其导出函数”Entry”。 SysIdt00.dll被注入svchost进程后执行如下功能: (1) 通过尝试打开名为"UAM_4803"的互斥量来检查驱动是否加载,如加载则不做其它操作。 (2) 如果驱动没有加载,根据设置(可在生成服务端时设置是否加载驱动)加载驱动"%windir%system32DRIVERSuamanger.sys"。 (3) 启动工作线程,实现远程监控功能。 (4) 在实现连接时,通过写文件"\.UAM"将连接的端口传给驱动,实现隐藏端口。 (5) 根据设置的连接方式和密码连接客户端(控制端) 生成服务端时可以设置三种连接方式: 直接连接方式(设置监听,由控制端来连接服务端) 反弹连接方式1 (设置ip地址和端口,服务端去连接控制端) 反弹连接方式2 (设置网页地址,服务端从这个地址下载ip.txt,按照其内容去连接控制端) (6) 远程控制可以接受如下命令执行操作: 远程shell (cmd.exe命令操作) 进程管理 文件管理 远程桌面 视频监控 日志管理(查看、删除系统日志) 从任意网址下载、执行文件 远程更新、卸载服务端 4、客户端控制程序(UAManager.exe) 客户端控制程序提供远程连接控制功能,并且可以生成服务端程序。 在生成服务端程序时,可以进行如下设置: 连接方式和地址、连接密码、是否加载驱动、服务端运行时间。 5、隐藏端口的Rootkit (uamanger.sys) 病毒名称为Rootkit.Win32.PortHide.a,该驱动加载后首先创建一个名为Devicehypy的设备和一个名为??hypy的符号链接用来和3环程序交互。这个设备名与3环程序所使用的符号链接(\.UAM)不同,所以显然我们所截获的样本是无法正常工作的。 之后该驱动注册IRP处理回调,在IRP_MJ_WRITE处理例程中,该驱动接受3环传入的需要隐藏的端口号,并保存在一个全局变量中。不过该Rootkit作者显然对驱动编写很不熟悉,所有的IRP处理例程均没有通过IofCompleteRequest完成,而是直接返回到I/O管理器。所以该驱动是无法正常地完成所希望实现的功能的。 该驱动通过替换KeServiceDescriptorTable中的函数地址来挂钩ZwDeviceIoControlFile,该Rootkit通过挂钩该API来隐藏指定端口。 安全建议: 1 安装正版杀毒软件、个人防火墙和卡卡上网安全助手,并及时升级,瑞星杀毒软件每天至少升级三次。 2 使用“瑞星系统安全漏洞扫描”,打好补丁,弥补系统漏洞。 3 不浏览不良网站,不随意下载安装可疑插件。 4 不接收QQ、MSN、Emial等传来的可疑文件。 5 上网时打开杀毒软件实时监控功能。 6 把网银、网游、QQ等重要软件加入到“瑞星帐号保险柜”中,可以有效保护密码安全。 清除办法: 瑞星杀毒软件清除办法: 安装瑞星杀毒软件,升级到19.44.10版以上,对电脑进行全盘扫描,按照软件提示进行操作,即可彻底查杀。 源代码网供稿. |
