影刀等模拟键盘鼠标操作的软件引入第三方虚拟键盘、虚拟鼠标驱动导致远程服务受影响

2024-08-15 08:28:19 浏览数 (1)

【问题现象】Administrator远程,第一次是ok,后面在相同的会话上(multidesk)点重连,连续3次就复现远程不了,但是过一会儿貌似又恢复远程了,但是是黑屏,最终又断掉了。

从系统日志看就是事件ID4005和36,参考价值有限,平时排查问题的自动化脚本跑了一遍没发现异常。

针对这种异常情况,我想起了曾经一个case,安装了GNWay,也有类似现象,当时是通过Autoruns和Process Explorer定位的,参考https://cloud.tencent.com/developer/article/1557575 。

如上图,我找到了2个异常驱动,公司名称是Oblita,我Google了下,找到了出处http://www.oblita.com/interception.html

进一步查找,发现相关资料已开源到github:https://github.com/oblitum/Interception ,并从介绍里看到这个东西确实会影响远程登录屏幕,而正好我在内核里发现了它,并且有一个稳定复现的现象就是多次重连远程会出现远程屏幕黑屏现象或远程断开后不多久又自动远程重连显示黑屏最终没能进去显示了远程失败

我发现这2个模拟驱动并没有那么简单,不止有keyboard.sys、mouse.sys驱动文件,还注册了kernel driver服务,原本想删掉文件和服务就算了,没成想,动相关文件或服务都会导致机器异常:vnc显示锁屏背景,发送ctrl alt del没反应或者干脆就是黑屏没有任何反应。

于是我想,这个东西肯定引入了不止2个.sys文件那么简单,最好是能github开源项目里查找这个东西是怎么安装、怎么卸载的,不要按我的野套路,就按软件的官方套路走,后来我找到了软件官方办法

https://linustechtips.com/topic/1071943-keyboardsys-and-mousesys-in-loaded-drivers-how-to-delete-them/

https://github.com/oblitum/Interception/issues/79

"C:Program Files (x86)ShadowBotshadowbot-4.9.14supportdriverInterceptorLibinstall-interception.exe" /uninstall

我试了,uninstall后不重启就生效了,远程不再受影响

sc.exe qc mouse、sc.exe qc keyboard都查不到kernel driver服务了,没卸载前是可以查到的

【溯源】

从驱动文件的引入日期来确认近期我安装了哪些软件,或者从驱动文件的作用反思我安装的哪些软件有虚拟鼠标、虚拟键盘的功能,结合这2个点立即确认是我安装了影刀。

影刀下载地址:https://www.winrobot360.com/download/

模拟键盘鼠标操作的软件多了去了,但是好用的不多,影刀的体验真心不多,打开软件官网看上面的动画介绍,几秒钟就知道这个软件是干嘛的。

软件官网:https://www.winrobot360.com/

这个软件需要注册登录后,用户设置 → 自动化插件 → 设备驱动(看图标就是键盘鼠标),因为涉及到模拟操作,引入了第三方虚拟键盘、虚拟鼠标驱动

确认了根源就要推动解决问题,我反馈给了软件方,他们好像知道这回事

【结论】由于采用的开源方案(2015年的),这个东西好多年没更新了,估计当年开发的时候也没考虑到后来的新系统吧,估计在新系统上兼容性不好,目前软件方也没有好的解决方案,就是建议不要在新版本Server系统上用了,他们开发软件的时候也没做过Server系统的兼容性测试,只在PC系统做了测试。

【总结】Autoruns Process Explorer(sysinternals)是个好东西,从http://live.sysinternals.com/ 下载。

0 人点赞