青春时代是一个短暂的美梦,当你醒来时,它早已消失得无影无踪了。
 
夜月琉璃Lv46   
【深入分析GHOST系统盘主页劫持顽固木马】     
转载自:http://bbs.duba.net/thread-23349493-1-1.html


1、 概述

这个病毒被封装在GHOST系统盘,通过电脑装机、重装系统等途径传播,并且自带驱动对抗杀软,隐藏自身目录防止被查杀。该病毒通过配置文件劫持指定浏览器和主页,并且可通过云端链接升级,十分灵活。


2、 样本简介

该病毒保存在C:\Program Files\bwlock下,整个bwlock目录被驱动drinst.sys保护,防止杀软扫描,同时病毒主程序bwlock.exe开机自启动,主要功能是根据配置文件锁定浏览器主页。SafeProtect.dll被驱动注入杀软和浏览器进程用于自保护和主页劫持。 

Image

图1、GHOST盘中病毒目录下的文件


Image

图2、病毒功能大致流程图


3、 详细分析 

3.1 bwlock.exe行为分析 

bwlock.exe是病毒主程序,主要功能是根据配置文件篡改指定浏览器快捷方式参数和注册表主页设置,以及升级驱动和dll模块。 

1、获取主页地址 访问www. *****.com/kzr/zhu/2015.htm获得要锁定的主页地址,其中Indexurl为要锁定的主页,Driverurl为保存到本地的网页文件,用于重定向到Indexurl。如下图:

Image

图3、主页配置


2、篡改浏览器lnk参数和注册表主页设置

读取配置文件C:\Program Files\bwlock\llq.ini,修改浏览器主页。配置文件升级地址为www.*****.com/kzr/llq/20150101/xpllq_32.htm 。配置文件内容如下:

Image

图4、浏览器主页劫持配置文件部分内容

修改主页时,根据配置文件,对“[要修改的浏览器]”,修改其桌面和任务栏lnk参数为C:\Windows\index.htm;对“[whitelist]”不进行修改;对“[要删除的浏览器]”,删除其桌面和任务栏lnk。 根据配置文件中[项名]、[键名]、[键值]的信息来控制驱动修改注册表中的主页设置,如下图:

Image

图5、修改注册表主页设置

3、云端升级驱动和DLL模块 通过访问www.*****.com/kzr/DriverUpdate/UpDateConfig.txt进行模块升级;更新驱动文件和dll模块。

Image

图6、云端升级配置信息


3.2 drinst.sys驱动行为分析 该驱动主要功能是注入DLL到指定进程、隐藏自身及防止网页保护模块加载。 

1、DriverEntry行为首先检查驱动同目录下是否存在bwlock.exe并且检查特征码判断是否为自身的文件;如果存在并通过验证,则hookSSDT和NTFS派发函数,对自身进行过滤保护。驱动通过接收bwlock.exe的控制码来设置bwlock.exe的启动项,确保长期驻留系统。DriverEntry代码如下:

Image

图7、驱动DriverEntry代码


2、HOOK 系统服务描述符表(SSDT) HOOK函数ZwEnumerateValueKey、ZwOpenKey、ZwQueryValueKey用于保护自身注册表服务项;HOOK函数NtSetInformationProcess用于注入SafeProtect.dll到指定进程。

Image

图8、HOOK SSDT


这里HOOK的3个注册表相关函数都先过滤了部分系统进程和自身进程,然后过滤注册表路径和键值,如果为自身驱动的服务名或者包含子串“bwlock”就返回失败,禁止杀软访问。

Image

图9、白名单进程过滤


Image

图10、注册表关键字过滤


NtSetInformationProcess的钩子函数对以下进程通过插入apc线程来注入DLL,apc线程直接调用Loadlibrary加载DLL。

Image

图11、注入dll到指定进程


Image
图12、通过插入APC远程加载dll


3、HOOK NTFS的派遣函数 对NTFS HOOK了3个派遣函数:MJ_IRP_CREATE、MJ_IRP_DIRECTORY_CONTROL、MJ_IRP_SET_INFORMATION

Image

图13、HOOK NTFS派遣函数


在派遣函数中匹配当前进程是否在白名单中,若是则放行,否则匹配路径是否包含字串“bwlock”,包含则过滤掉,防止自身目录被杀软扫描。由于过滤有进程白名单,所以通过资源管理器是可以查看和删除该病毒所在目录的。

Image

图14、文件访问过滤白名单和关键字


4、保护自身进程及拦截网页保护模块 在ObReferenceObjectByHandle的钩子函数中会检查当前进程和引用目标对象,如果当前进程在白名单中或是浏览器进程则放行;否则,如果文件对象路径中包含bwlock、safehmpg.dll(360网盾防护模块)、tswebmon.dat(电脑管家网页防火墙模块)或进程对象为bwlock.exe,则进行拦截;目的是防止浏览器加载安全模块以及保护自身。

Image

图15、ObReferenceObjectByHandle拦截代码


PsLookupProcessByProcessId的钩子函数会检查当前进程和目标进程,如果进程在白名单中或是浏览器进程则放行;否则如果目标进程为bwlock.exe则拦截,防止结束进程bwlock.exe。

Image

图16、PsLookupProcessByProcessId拦截代码


3.3 SafeProtect.dll行为分析 该dll被注入到浏览器进程,功能是劫持命令行参数及拦截浏览器加载主页保护模块。加载后在dllmain中解密文件C:\Program Files\bwlock\Confighp.txt,得到主页路径C:\Windows\index.htm;当前进程如果是bwlock.exe,结束并返回。 

1、劫持命令行参数 如果是kxetray.exe,则hook 系统API函数CreateProcessA/W;在钩子函数中修改命令行参数为之前解密的主页路径。 如果是其他进程,则生成命令行”EXEPATH”C:\Windows\index.htm(EXEPATH为当前进程全路径),hook 系统API函数GetCommandLineA/W,修改函数开头第2字节处的DWORD值为命令行的地址,使得进程读取命令行时得到设置好的主页路径。

Image

图17、hook GetCommandLineA/W劫持命令行参数


2、拦截主页保护模块

hook系统API函数LoadLibraryA/W,在钩子函数中匹配加载dll路径,如果包含下图中字串则直接返回,防止浏览器加载安全软件的主页保护模块。

Image

图18、hookLoadLibraryA/W过滤杀软模块


4、 防范措施

根据以上分析,该病毒通过修改浏览器快捷方式参数、劫持命令行参数、篡改注册表主页设置来劫持主页;并通过驱动HOOK来对抗杀软和保护自身;由于该病毒通过GHOST系统盘传播,在新安装或者重装系统时尽量使用正版操作系统,不要从网上下载GHOST盘安装,并且一定要第一时间安装安全软件,防止系统被不法分子安装病毒木马,沦为其牟取非法利益的工具。


注:本文转载自网络,个人觉得不错,分享给各位技术员同行。

 0  已被阅读了7319次  楼主 2016-12-25 17:48:58
回复列表

回复:【深入分析GHOST系统盘主页劫持顽固木马】

桂公网安备 45010302000666号 桂ICP备14001770-3号
感谢景安网络提供数据空间
本站CDN由七牛云提供支持
网站已接入ipv6
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
如果某些内容侵犯了您的权益,请通过右侧按钮与我们联系
Your IP: 18.221.146.223 , 2024-04-18 20:51:28 , Processed in 0.13803 second(s).
Powered by HadSky 8.3.7
知道创宇云安全