“白加黑”远控木马技术分析及手杀方案
来源:互联网 发布:淘宝网店刷销量 编辑:程序博客网 时间:2024/06/08 14:26
“白加黑”是民间对一种DLL劫持技术的通俗称呼,现在很多恶意程序利用这种劫持技术来绕过安全软件的主动防御以达到加载自身的目的,是目前很火的一种免杀手段。本文将针对此类病毒做了一个简单技术介绍和案例演示。
所谓的“白加黑”,笼统来说是“白exe”加“黑dll”,“白exe”是指带有数字签名的正常exe文件,那么“黑dll”当然是指包含恶意代码的dll文件。病毒借助那些带数字签名且在杀毒软件白名单内的exe程序去加载自己带有恶意代码的dll,便能获得杀毒软件主动防御的自动信任,从而成功加载到系统中。病毒的这种手段其实是钻了软件编写的空子,若第三方软件在编写时对调用的库文件没有进行审查或审查得不够严谨,就容易发生DLL劫持,这种编写漏洞已被微软获悉,详情可参考Microsoft 安全通报(2269637)。
Dll劫持技术简介
当一个可执行文件运行时,Windows加载器将可执行模块映射到进程的地址空间中,加载器分析可执行模块的输入表,并设法找出任何需要的DLL,并将它们映射到进程的地址空间中。由于输入表中只包含DLL名而没有它的路径名,因此加载程序必须在磁盘上搜索DLL文件。首先会尝试从当前程序所在的目录加载DLL,如果没找到,则在Windows系统目录中查找,最后是在环境变量中列出的各个目录下查找。恶意程序利用这个特点,先伪造一个系统同名的DLL,提供同样的输出表,每个输出函数转向真正的系统DLL。这样,程序调用系统DLL时会先调用当前目录下伪造的DLL,完成相关功能后,再跳到系统DLL同名函数里执行。这个过程用个形象的词来描述就是,系统DLL被劫持了。
Windows XP SP2系统以上DLL文件加载的搜索顺序如下:
(1)可执行程序加载的目录(可理解为程序安装目录比如C:\Program Files\Internet Explorer)
(2)系统目录(即 %windir%\system32)
(3)16位系统目录(即 %windir%\system)
(4)Windows目录(即 %windir%)
(5)运行某文件的所在目录(比如C:\Documents and Settings\Administrator\Desktop\test)
(6)PATH环境变量中列出的目录
根据前面介绍的DLL加载顺序,运行程序的时候会优先到程序执行的目录下加载必须文件,这么一来,病毒作者可以伪造一个dll,包含所有被劫持dll的导出函数,放到可执行程序目录下,当exe运行时,病毒dll就理所当然被优先调用了。
病毒案例分析
1) 本例中的白加黑样本是一个假冒某游戏大厅捆绑安装的远控木马,用户从假冒的下载地址下载了捆绑木马的安装包,双击运行后则出现安装界面,与正常安装过程无异。
图1:运行安装包,弹出安装界面
2) 点击“下一步”直至安装完成,桌面多出“456游戏”快捷方式。如果此时你不假思索就双击运行,那么你就实实在在地上当了。右击快捷方式查看属性,目标文件是C:\Program Files\Common Files\ODBC\SGUpdater.exe,这根本就不是456游戏的安装目录和主程序。
图2:病毒篡改了桌面快捷方式指向自身
3) 找到SGUpdater.exe查看属性,该exe是搜狗壁纸升级程序,带有文件版本和合法数字签名,也就是我们所说的“白exe”。
图3:被病毒利用的正常exe文件
4) 第一次双击456游戏快捷方式并没弹出什么界面,只是快捷方式图标闪了一下,用XueTr查看系统进程,SGUpdater.exe已经运行了,并且加载了同目录下的HWSignature.dll,也就是本例中的“黑dll”,并添加了自启动项。到这一步,这个远控木马就相当于“种植”完毕了,接下来便会连接远控主机,记录键盘操作等,导致用户隐私外泄,个人财产安全受到威胁。
图4:HWSignature.dll借助SGUpdater.exe加载从而绕过杀毒软件主防
图5:木马和远控主机建立连接
5) 运行SGUpdater.exe后再次查看456游戏快捷方式属性,发现目标文件和位置已有所改变,这次指向的才是真正的456游戏主程序:C:\Program Files\KaiUnion Tech\456游戏\Lobby.exe,这时再双击快捷方式便能弹出游戏界面了。
图6:病毒成功加载后便将快捷方式指向改回
由此可见,病毒作者可以说是精打细算、步步为营。首先把病毒相关文件捆绑到游戏安装包中,在用户安装过程中释放到本地磁盘,修改游戏快捷方式指向,诱骗用户双击,待木马成功植入后再将快捷方式指向改回,用户再次双击便能调出游戏界面,并不有所怀疑,在用户两次双击快捷方式之间神不知鬼不觉地植入了远控木马,并能实现自启动。既然不幸中招,为避免更多损失,接下来还是赶紧把这个木马清出系统吧。
清理过程很简单,首先我们从任务管理器结束SGUpdater.exe进程,在Xuetr里删除SGUPDA~1.EXE自启动项,C:\Program Files\Common Files\ODBC目录下全部都是跟游戏无关额外释放的文件,干脆将其全部删除,最后重启电脑即可。
图7:用Xuetr删除病毒的自启动项
总结
由于dll劫持漏洞发生在三方软件的编写上,这种打补丁的工作自然落到了软件编写者的头上。对于普通网民来说,除了谨慎下载以外,运行一些来历不明的程序前最好先用杀毒软件扫描,不要贸然运行,毕竟安全软件不是万能的,也会有防不住的时候。但防不住不代表杀不掉,由于那些dll包含病毒代码,安全软件可以通过特征码扫描杀掉它们。总的来说,病毒的免杀手段花样百出、层出不穷,那么安全厂商也只好把这“猫捉老鼠”的游戏继续下去。
- “白加黑”远控木马技术分析及手杀方案
- 针对VBS远控木马的技术分析
- Asp木马技术分析
- “大灰狼”远控木马分析及幕后真凶调查
- 11.网银大盗木马技术分析
- 动作手游技术漫谈-网络方案
- BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查
- 使用DLL技术的木马分析
- 使用DLL技术的木马分析
- 某释放驱动的样本分析及手杀报告
- 木马的免杀技术
- 一个简单木马分析及接管利用
- “聊天剽窃手"技术分析 - java部分
- 【木马分析】白利用的集大成者:新型远控木马上演移形换影大法
- 木马技术
- 木马技术
- 关于一款远控木马的简单分析
- 棋牌游戏携带的远控木马分析
- java 学习20天
- Stack Overflow requires external JavaScript from another domain, which is blocked or failed to load.
- oracle学习之sid_name
- 搭建NFS服务器
- Halcon部分算子整理说明
- “白加黑”远控木马技术分析及手杀方案
- 第九周java作业
- IntelliJ IDEA主题设置
- 区块链,是否是解决互联网信用和诚信问题的良药
- LintCode 第420题 报数
- Github开源项目网址 Retrofit2+Rxjava2+DataBindding+MVVM
- PHP-获取目录中的所有文件和子目录
- intellij下将springboot项目打成war包发布到远程tomcat服务器上
- TensorFlow- win+anaconda环境import包错误(error: .dll not found类问题)