一个PC上的“WormHole”漏洞腾讯云开发者社区

我们前几个月发现了一个联想电脑的漏洞,和WormHole非常类似:影响上亿用户、访问一个端口发送一条指令就可以让目标系统下载一个程序并执行。

联想ThinkVantageSystemUpdate软件用于帮助用户从联想的服务器中直接下载并安装软件、驱动、BIOS的更新,极大的简化了用户更新系统的难度和工作量。其被默认预装在联想的多款产品中。

LenovoSystemUpdate可根据不同的网络环境及配置通过多种方式下载软件及更新,其中一种方式为通过文件共享下载,而UNCServer.exe则是完成此功能的主程序,UNCServer.exe随SystemUpdate主程序启动,并建立本地服务端等待主程序连接。在早期版本中,甚至SystemUpdate主程序退出后,UNCServer.exe也仍然保持运行状态。

在SystemUpdate的5.6.0.34版本中,UNCServer.exe通过.NET的Remoting机制,通过TCP服务器提供多种功能。

.NETRemoting发展自DCOM,是一项比较老的.NET分布式处理技术。它序列化服务端的对象和数据并导出,客户端通过HTTP、TCP、IPC信道跨越进程边界实现对服务端对象的引用。然而Remoting的序列化机制会隐式导出对象所有的方法和属性,客户端一旦获得服务端导出的对象引用,即可调用服务端对象提供的所有方法。因此Remoting机制容易引入安全漏洞,且不建议将Remoting服务终端导出给不受信任的客户端。

UNCServer导出的Connector对象提供Connect、DownloadBean、IsFileExist、IsFolderExist、GetFilesInFolder、GetSubFolder、QueryFile、LaunchIE功能。客户端可以连接并获取其引出对象,进行文件下载、应用程序执行等操作。

其中LaunchIE并未对参数进行任何验证,可以用来启动任意进程,其实现代码如下:

caseUNCAction.LaunchIE:stringfileName=(string)eventObj;try{Process.Start(fileName);}catch{}this.connector.Current=(object)true;break;同时,虽然SystemUpdate在防火墙策略中只添加了UNCServer的出站规则,但由于UNCServer缺少必要的配置,使其绑定在0.0.0.0:20050上。因此在缺乏防火墙保护的情况下,任何机器都可与其建立连接,最终使用其提供的DownloadBean和LaunchIE功能实现远程下载程序并执行。

UNCServer建立服务端信道并导出对象的代码如下:

IDictionaryproperties=(IDictionary)newHashtable();properties[(object)"name"]=(object)"tvsuuncchannel";properties[(object)"priority"]=(object)2;properties[(object)"port"]=(object)20050;this.channel=newTcpServerChannel(properties,(IServerChannelSinkProvider)newBinaryServerFormatterSinkProvider());ChannelServices.RegisterChannel((IChannel)this.channel,false);this.status=newobject();this.connector=newConnector();RemotingServices.Marshal((MarshalByRefObject)this.connector,"Connector");this.connector.UNCEvent+=newConnector.UNCEventHandler(this.connector_UNCEvent);4.修复联想在2015/9/29日放出的SystemUpdate5.7.0.13修复了包括此问题在内的多个漏洞。其重新实现了LaunchIE、LaunchHelp功能,对其创建进程的参数进行了验证。并加强了服务端的配置,使其绑定在127.0.0.1:20050,阻止了远程请求。修复后的部分代码如下:

THE END
1.联想应用商店:电脑异常修复功能不工作,请求解决或退款洞察喵投诉:联想电脑管家工具箱里面的电脑异常修复,一扫描出来几百个异常,付款修复后,在工具箱里面,其他的系统修复软件一扫出来还是几百个异常,也就是说他这个是没有用https://tousu.sina.com.cn/complaint/view/17377563174/?sld=850b7a9901795bccf7ee73bc6b9ac844
2.联想服务器安全软件联想服务器安全软件下载的杀毒软件(如:360、腾讯电脑管家),如果是,是因为他们禁用了联想电脑管家的杀毒功能,导致的管家杀毒功能失效,可以到腾讯电脑管家电脑加速-启动项中把已禁用的管家项目恢复,然后重启电脑就恢复了;如果电脑上未安装其他的杀毒软件,还是会出现病毒查杀异常,劫持代码-1的问题,就是升级导致的文件缺失,卸载重装管家即可修复http://chengdu.cdxwcx.cn/article/ddospis.html
3.联想电脑管家下载最新版联想电脑管家官方免费下载最新版联想电脑管家已经支持悬浮球功能,用户可以在电脑管家设置中心中选择开启。 同时,用户也可以在设置中心中查看是否支持显示网速功能,并进行相应的设置。 联想电脑管家更新日志 主要改动: 1.提升应用启动速度; 2.改善弹窗拦截体验; 3.修复一些已知问题; http://www.onlinedown.net/soft/583729.htm#down
4.联想电脑维修中心联想电脑维修中心是联想公司官方设立的维修服务机构,旨在为联想电脑用户提供专业的技术支持和维修服务。 如果你需要维修联想电脑,可以通过以下方式找到联想电脑维修中心: - 联想官方网站:访问联想官方网站,在“支持”或“服务与支持”页面中查找维修中心的信息。 - 联想客服热线:拨打联想客服热线,咨询维修中心的地址和联系https://www.jkys120.com/article/927320/