解读联想预装程序LSC的三个CVE高危漏洞

联想电脑自带程序 Lenovo Solution Center(LSC)曾在去年被爆出严重安全问题。近期,该程序的多个安全问题导致了三个 CVE 高危漏洞,三个漏洞允许攻击者实现提权操作或终止任意系统进程。联想官方敦促用户尽快把该软件升级到最新版,否则,即将发布的Win10一周年RTM正式版也将受此威胁。

5月初,安全公司 Trustware 发现联想 LSC 2.8 软件存在高危提权漏洞,并告知联想进行修复;之后联想发布了LSC 3.3 修复版本,6月底,Trustware 再次发现 LSC 3.3 版本存在另外两个高危漏洞,仍然可以导致提权。

1CVE-2016-1876系统提权漏洞

公布时间:5月11日

影响版本:LSC 2.8 版本和早期版本

描述:

Lenovo Solution Center 2.8之前版本允许LocalSystem权限运行设备管理器进程,可以通过CMD命令以及对主机55555端口发起HTTP请求来实现,原因在于LSC使用自定义HTTP服务处理命令和接收数据时,不需系统任何授权检查。利用该漏洞可以取得系统权限执行恶意软件,甚至在使用者未开启执行LSC应用软件的状况下,仍可实现漏洞攻击。

漏洞详情: trustwave –CVE-2016-1876

(1) 以普通用户登录安装有Lenovo Solution Center 2.8.006 的系统

(2) 执行以下cmd命令开启LSCWinService服务:

sc start LSCWinService StartBackend

或者通过控制面板运行 Lenovo System Health and Diagnostics 程序。

(3) 在网页浏览器中执行以下请求:

http://localhost:55555/?v=1&controller=Actions&method=RunDeviceManeger

可以看到设备管理器出现,它是以LocalSystem 账户运行的,而不是当前账户。

(4) 使用设备管理器选择安装用户模式或内核模式的驱动程序,通过在INF文件中加载漏洞代码或动态库,实现提权操作,只要设备管理器以LocalSystem权限运行,就可以执行更高权限代码。

漏洞演示视频:

http://v.youku.com/v_show/id_XMTY0NjI0ODUyNA==.html

2、CVE-2016-5248任意进程终止漏洞

公布时间:6月23日

影响版本:LSC 3.3.002版本和早期版本

描述:

任何本地用户在安装了 Lenovo Solution Center 3.3.002 或之前版本的系统中,利用以下命令可以终止任意进程:

sc start LSC.Services.SystemService StopProxy

这可以被攻击者用来作进一步攻击,如终止杀毒软件或其它安全软件进程。

漏洞详情:trustwave –CVE-2016-5248

3CVE-2016-5249 任意代码执行漏洞

公布时间:6月23日

影响版本:LSC 3.3.002版本和之前版本

描述:

当普通用户启动服务 LSC.Services.SystemService,这项服务有三个传递参数,解释为:命名管道名字、互斥体名称和进程ID。这项服务设置的权限为任何权限用户都可以启动和停止。

服务以TCP服务端和一个随机端口方式启动,并利用命名管道向TCP服务端发送 IP:PORT配对信息。如果攻击者利用自己的命名管道服务,然后启动LSC.Services.SystemService,他将与 TCP 终端形成连接。

因为TCP服务提供了几个API,其中一个为从磁盘加载.NET组件,联想利用此API在受信路径下加载.NET组件,但实际上,装有 Lenovo Solution Center 软件的系统,使用目录遍历模式,就可在磁盘的同一分区上加载任意.NET组件,由于TCP服务以 LocalSystem 权限运行,这个过程中,攻击者可以通过加载恶意组件而实现任意代码执行。

漏洞详情:trustwave –CVE-2016-5249

POC:Github

解决方法

(1)升级Lenovo Solution Center 至最新版本;

(2)卸载 Lenovo Solution Center 软件。

====================================分割线================================

本文转自d1net(转载)

时间: 2024-09-20 05:01:47

解读联想预装程序LSC的三个CVE高危漏洞的相关文章

联想预装Superfish软件被批得不偿失

据<福布斯>网络版报道,最近联想笔记本电脑预装"Superfish"软件事件被炒得沸沸扬扬,给联想带来不少麻烦.但知情人士透露,联想预装Superfish软件的交易仅为其带来25万美元收入,与潜在的诉讼费用.公关费用相比,得不偿失. 报道称,去年夏季联想与Superfish软件开发商达成的一项合作协议,将Superfish软件预装到联想笔记本电脑当中.当时联想可能不曾想到,就是这样一个看似无关紧要的协议,最终变成其无奈承认的一个失误. 据熟悉该交易的消息人士称,联想从预装S

微信小程序把玩(三十九)navigation API

原文:微信小程序把玩(三十九)navigation API 演示效果也看到了小程序也就提供这几个处理导航控制.值得注意的是只能同时导航五个页面 主要属性: 导航条一些方法 wx.setNavigationBarTitle(object) 设置导航条的Title 导航标题可以通过三种方式设置,第一种是通过全局配置名字统一,第二种就是在page中新建个json文件配置它会覆盖全局配置的title,第三种就是通过API设置. wx.showNavigationBarLoading()设置在导航条上显示

微信小程序把玩(三十七)location API

原文:微信小程序把玩(三十七)location API location API也就分这里分两种wx.getLocation(object)获取当前位置和wx.openLocation(object)通过经纬度打开内置地图.其中定位获取位置信息返回参数是有问题的speed,accuracy这两个是没有的.还有一个就是打开内置地图之后再返回会报一个错误(Page route错误-WAService.js:2 navigateBack 一个不存在的webviewId0)如果有知道的可告知,我找到解决

编一个程序,从三个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案

问题描述 刚接触c#求教下面问题如何编程编一个程序,从三个红球,五个白球,六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案. 解决方案 解决方案二:两个For循环遍历即可?比如:for(inti=1;i<=5;i++){for(intj=1;j<=3;j++){if(i+j==8){Console.Writeline("白球:i个:红球:j个");}else{Console.Writeline("白球:i个:红球:j个:黑球:8-i-j个"

微信小程序把玩(三十一)wx.uploadFile(object), wx.downloadFile(object) API

原文:微信小程序把玩(三十一)wx.uploadFile(object), wx.downloadFile(object) API 反正我是没有测通这两个API!!!!不知道用的方式不对还是其他的!!!先记录下回头再说... 主要方法: wx.uploadFile(OBJECT)上传 wx.downloadFile(OBJECT)下载 wxml <button type="primary" bindtap="listenerButtonDownLoadFile"

微信小程序把玩(三十)wx.request(object) API

原文:微信小程序把玩(三十)wx.request(object) API 这里通过干活集中营的API接口真实请求下数据.如果提示URL 域名不合法,请在 mp 后台配置后重试修改asdebug.js两行代码即可可看下面图 定位到asdebug.js文件 打开搜索关键字URL 域名不合法关键字就是提示错误信息注释两行代码 主要方法: wxml <block wx:for-items="{{result}}"> <view style="width:100%;

微信小程序把玩(三十二)Image API

原文:微信小程序把玩(三十二)Image API 选择图片时可设置图片是否是原图,图片来源.这用的也挺常见的,比如个人中心中设置头像,可以与wx.upLoadFile()API使用 主要方法: wx.chooseImage(object) wxml <!--监听按钮--> <button type="primary" bindtap="listenerButtonChooseImage">点击我选择相册</button> <

微信小程序把玩(三十四)Audio API

原文:微信小程序把玩(三十四)Audio API 没啥可值得太注意的地方 重要属性: 1. wx.getBackgroundAudioPlayerState(object) 获取播放状态 2.wx.playBackgroundAudio(object)播放音乐 3.wx.pauseBackgroundAudio()暂停音乐 4.wx.seekBackgroundAudio(object) 设置播放进度 5.wx.stopBackgroundAudio()停止播放音乐 三个监听器: wxml <b

微信小程序把玩(三十三)Record API

原文:微信小程序把玩(三十三)Record API 其实这个API也挺奇葩的,录音结束后success不走,complete不走,fail也不走, 不知道是不是因为电脑测试的原因,只能等公测或者等他们完善.以后再测和补充吧!!!! 主要属性: wx.startRecord(object) 手动调用wx.stopRecord()停止录音 wxml <!--用于记录时间--> <text>{{formatRecordTime}}</text> <button type