同UDP木马较量
2015-03-18■
■
IE为何自动连接网络
某次笔者拨号上网后,当正在使用世界之窗浏览器上网时,安装的某款防火墙弹出提示信息,显示Internet Explorer试图连接网络,询问是否对其放行。因为笔者并没有启动IE,而是使用别的浏览器访问网络,考虑到可能是系统自身的原因,笔者重启系统。但是当拨号上网之后,过了一段时间IE又试图访问Internet。这就很奇怪了,笔者断网后使用某免费杀毒软件对系统进行了细致的扫描,奇怪的是并没有发现什么异常。虽然杀毒软件没有发现问题,不过笔者凭经验判断可能有不法程序在后台作祟。
看来单纯依靠杀毒软件未必绝对可靠,笔者运行XueTR这款强悍的安全工具,来查找潜伏的木马。在其主界面中打开“网络”面板,在其中的“端口”面板中执行刷新操作,可以看到当前活动的所有网络程序,包括其打开的端口、连接的远程地址、连接状态、进程路径等信息。经过仔细观察,发现与IE进程对应的协议类型是UDP。也就是说潜藏的木马居然开启了UDP端口。在通常情况下,不管是正常的网络程序,还是木马程序采用的都是TCP协议。考虑到木马启动往往会通过非法添加服务的形式加载,笔者决定先对系统服务进行检查。在“我的电脑”图标的右键菜单上点击“管理”项,在计算机管理窗口左侧选择“服务和应用程序”-“服务”项,在右侧窗口中显示所有的系统服务。经过查找,在其中发现了名为“PrtSQx”的可疑服务,双击该服务,在其属性窗口中发现与其关联的程序为“C:Windowssystem32sapoolsv.exe”。看来,必须将该不法服务清除才行。
在CMD窗口中执行“sc stop prtsqx” 和“sc delete prtsqx”命令,就可以将该服务停止并删除了。虽然将可疑服务清除,不过上述情况并没有消除。由此推断,木马一定是注入到了IE进程中。在XueTR主界面中的“进程”面板中选择“iexplorer.exe”进程,在其右键菜单单上点击“查看进程模块”项,在弹出窗口中显示IE中加载的所有DLL模块,果然在其中发现了“sol.dll”文件十分可疑,其路径为“C:Program FileInternet Explorer”。在该DLL文件右键菜单上点击“卸载模块”项,将其卸载掉。之后在XueTR的“文件”面板中分别找到上述“sapoolsv.exe”和“sol.dll”文件并将其彻底删除,之后重启系统,问题消失。经过分析,该UDP木马可能经过了免杀处理,因此可以逃避杀毒软件的检测,因其采用UDP协议,所有隐蔽性很强。
识别真假拨号程序
笔者的好友使用的是电信宽带,使用电信提供的拨号软件上网。某次当笔者和朋友边上网边聊天时,偶然打开任务管理器发现同时存在两个相同的拨号程序“ghcadailui.exe”。笔者觉得有些奇怪,就随手启动Wsyschk这款小工具,对其进行了一番检测,却意外地发现了其中的猫腻。在“进程管理”面板中选中一个拨号程序,在窗口底部列表中显示其加载的所有模块信息,其中的“avicap32.dll”看起来很熟悉。该文件实际上是用于捕捉视频信息的,一般安装摄像头的话,就需要该文件来捕捉视频数据。不过,这对于正常的拨号程序来说,并没有什么实际用途。
因为是拨号软件,只需要一个拨号程序即可,这个多余的拨号进程肯定存在问题。进入拨号软件安装路径,发现其主 文 件 为“ghcadailui.exe”,大小为4M左右。在其中仔细查看,发现还有一个名为“ghcadailui”的文件很奇怪,其大小为1.2MB左右。据此不难推断出该可疑程序的活动特点,一定是先将原拨号程序“ghcadailui.exe”更 名 为“ghcadailui”,然后将自身更名为“ghcadailui.exe”,运 行 自身后然后再启动原拨号程序。对比这两个同名但扩展名不同的文件,发现两者的图标完全一样,看来该“ghcadailui.exe”文件其实是一个木马程序,并且经过了巧妙的伪装,冒充正常程序在用户眼皮下活动。笔者关闭了这两个拨号进程,之后将虚假的“ghcadailui.exe”文件备份后删除。将“ghcadailui” 文 件 还 原 为“ghcadailui.exe”,经过运行可以正常拨号上网,这就证实了笔者的猜测。这个“ghcadailui”文件才是真正的拨号程序。
虽然将假冒的拨号软件清除,不过笔者决定这个冒牌货进行一番研究,了解其特点。运行PE explorer这款资源编辑软件,分别打开真假“ghcadailui.exe”文件,来观察其内部结构,从中不难看到,真实的“ghcadailui.exe”文件内部结构完整,包括菜单、位图、对话框、字符串、图标、版本、界面等等资源项目,而假冒的“ghcadailui”文件内部则显得很简陋,只包括位图、图标等很少的资源。该机上安装有360安全卫士,打开其流量监控程序,发现假冒的“ghcadailui”程序开启了UDP端口,启动WsockExpert程序,对其进行抓包分析,发现其每隔一段时间就向外界某个地址发送一次UDP数据包,但是拦截的数据包明显经过加密处理,无法洞悉其具体内容,经过连续的检测,发现该UDP木马开启的UDP端口并不是固定的,而是随机变化的。该木马似乎很智能,会针对常用的软件对自身进行伪装,通过对进程信息进行分析判断,来决定是否启动木马程序。该木马程序“ghcadailui.exe”看起来体积有4.2MB,不过使用WinHex等工具将其打开后,发现其中存在大片的空白区域,真实的体积实际上很小。看来,该木马采用增大自身体积的方法,来逃避杀毒软件的追捕。
根据以上分析可以看出,该UDP木马使用了UDP协议,得以避开杀毒软件的监控,因为常用的安全软件都比较重视TCP端口,对隐蔽开启的UDP端口警惕度不足。该木马通过将自身伪装成正常软件(例如拨号程序等),并和其绑定在一起,起到让人真假难辨的目的,而没有采取修改注册表,添加服务等常规手段,让人难以发现其行踪。该木马通过对自身名称和图标进行伪装,来冒充正常的文件。并且对正常文件进行修改,实现先启动木马程序再启动正常软件的目的,其活动并不影响正常软件的运行,这是其显著特点。不过这一特点也恰恰是其最薄弱的环节,有经验的用户会通过检测文件信息的方法,来发现其存在。从中可以看出,木马为了逃避检测,入侵的手段日益隐蔽和狡诈。所以同这类木马进行斗争。需要采取相应的对象。
例如,查看相关进程加载的DLL模块,看是否存在可疑模块(例如非视频程序却加 载“avicap32.dll”等),由此可以发现木马踪迹。使用Restorator、PE explorer等资源编辑工具打开可疑文件,查看其内部资源结构,如果体积较大的文件内部资源很少,就说明其存在很大的疑点。相反,如果程序内部资源丰富细致,表明其不太可能是木马。
深入分析揪出潜伏者
当笔者在单位维护网络时,当登录某台服务器时,在该机安装的防火墙软件提示某个陌生的程序试图连接外网某个地址的29838端口,同时试图扫描局域网其它主机的445等端口,同时该开启了UDP 4910端口。因为该机之前处于等待登录状态,虽然没有登录系统,但是从网络上已经可以访问。而且在该状态下,系统的安全状态实际上处于最低的水平。运行IceSword这款安全工具,在其进程列表中搜索一番,发现名为“taskdll.exe”的进程颇为可疑。其路 径 位 于“C:WindowsSystem32”。但是在资源管理器中进入该路径,却没有发现该文件。看来,该可疑程序已经采用了RootKit等技术,对自身进行了隐藏。不过,使用该机上安装的SpeedCommander这款强悍的文件管理工具,却让该可疑程序露了原形。在SpeedCommand采用双页面文件管理方式,查找文件很轻松。进入上述路径,果然发现了这个可疑文件。笔者将其复制了出来。到了这一步,只需将该可疑进程关闭,同时将其删除,并扫除对应的启动项,就可以将其驱逐出去,
不过,为了了解该可疑文件的具体功能,笔者决定对其进行一番测试研究。实际上,该可疑程序是一款UDP木马。因为其会连接Internet上某个地址,笔者直接对该地址进行了在线检测,发现其位于外省某个城市。在CMD窗口中执行“telnet xxx.xxx.xxx.xxx 29838”,居然出现“StnyFTPD”等字样,看来该地址上开启了小型的FTP服务,看来该木马内部隐藏有对应的账户名和密码,可以远程登录到该FTP服务器上,之后可以将被控机的敏感数据远程发送给黑客。运行PEiD这款分析工具,在其主界面中的“文件”栏中点击浏览,选择该可疑文件,发现其是由VC6.0开发的。在窗口底部显示“FSG”等字样,这表明其使用了FSG压缩技术,真正的木马程序其实包含在FSG构建的外壳中。因为PEiD已经自带了针对该外壳的处理插件,因此毫不费力的去掉了其外壳,得到了真实的木马文件。
使用WinHex这款编辑工具打开该木马文件,在窗口左侧显示其十六进制代码,在右侧显示对应的真实编码。经过仔细分析,从中看出该木马拥有的“本领”还不少。例如,在其中看到 了“Msxxxx”“TFTP”、“XP_cmdshell”、“IPC$”、“Admin$system32” 等 字样,表示其利用某些系统漏洞,SQL漏洞、IPC$连接等手段,对局域网中的其它主机进行破坏和渗透,完成病毒的扫描、复制以及传播动作。在可以识别的编码中,还可以看到该木马附带了很多文件参数。因为WinHex反编译的功能有限。于是笔者运行C32ASM这款反编辑软件,在其主界面中点击“Ctrl+O”键,选择该木马文件,对其进行反编译处理。这样,木马的代码就更容易分析了。
在其中从上到下仔细查看,陆续发现了“RPC_D C O M ”、“e x p l o i t”、“ms11046”等字样,这表明其使用了一些溢出工具对系统尽心破坏,来获得更高运行权限,这表明该木马采用TFP工具来传输数据,同时试图使用SQL 注入技术进行渗透。在对应的模块中还可以看到有关的扫描信息。笔者注意到其中包括“syn”、“ack”等字眼,表示该木马自带有DDOS拒绝攻击模块,并且拥有攻击统计功能。此外,C32ASM还显示该木马中自带了大量的扫描参数。经过深入分析,发现该木马对各种可能的异常情况处理得很完善,可以看到详细的关于木马运行情况的判断语句。该木马不仅具有传播功能,还具有升级功能,可以从指定的地址下载升级数据,对自身进行完善,在木马的文件管理模块中,发现其可以查看驱动器容量。
不过笔者感兴趣的是其远程FTP登录的账户和密码究竟是什么,于是继续查看其代码,在“220 stnyFtpd owns j0x0A”显示登录信息,之后执行登录验证模块,在其后跟随一个跳转指令,可能是账户名认证失败则跳转到预设地址。在其附近显示“ftpuser0”字样,有可能是FTP账户名。之后跟随的代码是验证密码的,如果验证失败,就跳转到别的位置。根据提示信息,密码是“pass0”。如果认证完全通过,就可以执行数据传输操作了。并对磁盘盘符进行了列举操作,可以探测从A到Z所有盘符,其支持的PASV模式。在文件结尾处显示“[LOGS]:Cleared”字 样,显示了清除相关日志文件操作。在文件最后显示可能是有关作者的名称代码和问候语等。综合以上分析,该木马的功能很“全面”,采用多种入侵技术,可以对局域网其它主机进行渗透,使其得以传播到所有主机上。而且该病毒体积只有几百KB,运行很稳定,占用系统资源极低,具有很强的隐蔽性。该木马潜伏在系统中,可以悄无声息地执行盗取数据、刺探信息等操作。如果不仔细检测,恐怕很难发现其行踪。因为局域网其它主机都安装有防火墙等安全软件,虽然该木马并没有对局域网造成大的危害,但是其渗透和破坏力却不可小觑。及时发现和清除该类潜伏能力强而且功力较强的UDP木马,可以最大限度地保护系统安全。