Worm.Win32.DownLoader.ns病毒主进程新式输入法注入分析(IME Inject)
2024-08-25 16:39:07
1.病毒会在system32目录生成一个以tmp结尾的随机数命名的文件。
2.然后挂钩HOOK本进程空间的imm32.dll导出的ImmLoadLayout函数和ntdll.dll导出的ZwQueryValueKey。
3.被挂钩的ZwQueryValueKey的处理流程是:若查询的键值是“Ime File”,则把之前生成的tmp文件名拷贝到输入缓冲区中返回给调用者,其它情况恢复原来流程执行。
4.显式调用user32的函数LoadKeyboardLayoutA来加载新的键盘布局,该函数经过win32k的处理后最终调用ntdll的ZwQueryValueKey,所以病毒生成的tmp文件被返回给系统。
5.通过FindWindow(0, “Program Manager”); 找到explorer.exe的窗口句柄,并调用PostMessage向该窗口发送WM_INPUTLANGCHANGEREQUEST消息。
6.这样Explorer.exe就将病毒动态库加载起来了。
现在病毒就达到目的了,病毒dll被explorer.exe加载
在dll被加载之前,Microsoft 调用ApphelpCheckIME 去检查dll的合法性,但它并没有去检查该dll是否导出了IME functions。
发送一个language change消息将导致explorer去加载任意的dll,尽管dll没有导出任何的IME functions,这是很危险的!
现在imm32.dll的很多函数依旧没有被整理成文档 并且病毒作者 正越来越看好这些函数。 这种病毒 并未终结,我们应该防范新的IME 输入法注入方式。
最新文章
- django学习遇到的问题解决方式
- java学习第15天(Linklist Vector)
- poj 3126
- PHP 5.3.X 连接MS SQL Server php_mssql.dll
- C语言的强制类型转换
- cocos2dx 3.0正式版 于mac在新建项目
- ELF二进制目标文件详解
- Excel教程(13) - 统计函数
- BZOJ-1192-[HNOI2006]鬼谷子的钱袋
- 玩转webpack(二):webpack的核心对象
- CenoOS 7环境下编译OpenJDK8
- 一文让你秒懂互联网TCP/IP协议的深层含义
- 如何让gitbook与github仓库关联
- 读写方式 r , r+ , w , w+ , a , a+
- Omi框架学习之旅 - 组件通讯(data通讯) 及原理说明
- 八种排序算法--java实现(转)
- css实现16:9的图片比例
- Kaggle(1):数据挖掘的基本流程
- 50Hz工频干扰消除
- 使用DOS工具修复数据库
热门文章
- IIS网站属性中没有ASP.NET选项
- ArcGIS Server API for JavaScript调用错误:已阻止跨源请求:同源策略禁止读取位于......
- Hibernate缓存原理与策略 Hibernate缓存原理:
- ubuntu tomcat 部署java web
- 从远程服务器数据库中同步数据到本地数据库 sql server 2008 开启分布
- MassTransit RabbitMQ 参考文档
- node递归属性目录结构
- 将Word转为带书签的PDF
- 修改mysql默认字符集的方法
- 我是如何用Go语言搭建自己的博客的