OSX: 真的吗?Mac OS X重大漏洞 改时钟获系统最高权限
9月3日才注意到这个在8月28日刊登在英文网站9月1日在驱动之家的,关于OS X系统的sudo漏洞没有修补的新闻,今天才有时间成文上传。
这个sudo漏洞是在2013年2月27日被公布出来的,它的注册号是CVE-2013-1775, 大家可以上网找找,这个漏洞相继在不同的类Unix系统中被确认,特别是基于开源的操作系统。它影响sudo发布版本中所有从1.6版到1.7.10p6, 从1.8.0到1.8.6p6。从sudo命令的网站上看,它同时在2013年2月27日推出了一个重要的系统更新版本,用来修复这个漏洞,Sudo version 1.8.6p7 和Sudo version 1.7.10p7 。目前来看,OS X 10.7.4和10.8.3的sudo版本都是1.7.4p6,10.6.8是1.7.0。大家可以自己在Terminal终端中运行sudo -V来查看。
该新闻中,主要提到的是,该漏洞在OS X 10.6到现在的10.8.4的各个版本都存在,基于Apple的升级策略与微软或者其它厂家的不同,苹果既没有推出及时更新也没有正面回复第三方的询问。
在各个网友的回复中,普遍存在误解。反方是坚定了自己对Mac系统的鄙视态度,正方是在鉴定苹果系统最安全的基础上对此漏洞采取一带而过忽视的作法,所以吵得还挺热闹。
新闻就是新闻,总是由不懂行的人道听途说地写出来,既不清晰也不易懂。咱们还是从该漏洞的具体内容开始说说吧:
首先,这个牵扯到计算机开元世纪(Unix epoch),计算机的时钟是从零开始计数的,Unix系统默认地把时钟0,当作1970年1月1日0时0分0秒(也就是1970:01:01 01:00:00),那么如果电脑时钟计数是10,那么系统就认为是1970年1月1日0时0分10秒。
再说,sudo的作用主要是提升当前用户的权限,比如可以让一个管理员用root权限来运行命令,众所周知,root在类Unix系统中就是上帝,可以做任何事情,甚至比上帝都全能,能杀掉自己!能够用root权限来执行命令,就意味着完全地控制了这个系统。默认地,在运行sudo的时候,会在Terminal中提示让用户输入密码,正确后,它会生成一个时间戳,再次使用sudo的时候,它会用当前时间和当初生成的那个时间戳比较,如果这个时间没有超出了设定的时间间隔,该间隔默认的是5分钟,那么它不会再次询问用户密码,而是直接运行命令;如果超出,那么需要用户再次输入密码确认。
其实,即便没有超出时间间隔,也可以使用sudo -k命令来重置时间戳,这样下次在使用sudo,系统会询问密码。在sudo的1.6版本之后,sudo -k命令不是把那个时间戳彻底移除,而是把它设置到电脑开元世纪时间,正是这个举动给骇客以可乘之机。因为在这些版本中,它不管时间戳是不是开元世纪时间,而是依然使用当前时间与之对比,大家可以看到其中的漏洞了吧。只要用户可以把系统时间修改成开元世纪,在5分钟内,可以不用输入用户密码,就可以成功运行sudo命令了。比如sudo su后就可以切换到root用户,只要不退出Terminal,就可以没有时间限制地完全掌控这个系统。
要想利用这个漏洞,需要有几个关键条件:
- 这个用户曾经成功运行过sudo命令,也就是sudo建立过时间戳,并运行sudo -k,这样让它归零-不归零的话,可不好猜该用户上一次什么时候运行的sudo命令-如果谁能够知道方法那么sudo的漏洞可就更大了,这是题外话。不过还好了,sudo -k运行的时候不需要密码的。
- 其次是,骇客需要更改系统时间,如果通过GUI的System Preferences,系统当然会再次询问用户密码才能变更系统时间;不过,systemsetup命令可以在不用提供密码的情况下可以变更系统时间(这一点在我的10.8.4中需要使用sudo才能变更系统时间设定,我要在其它系统中尝试在确定一下):
systemsetup -setusingnetworktime off
systemsetup -setdate 01:01:1970
systemsetup -settime 00:05
注:上面的命令只用于举例,并不用于真正的入侵行为 - 因为1的原因,也就暗含了另外一个条件,也就是这个用户必须被准许运行sudo命令,默认情况下,OS X系统的管理员帐户都被准许执行,除非特殊设定.
- 需要可以在这台机器上操作,也就是这台机器已经被满足1和3条件的用户登陆了,当然也可能远程登陆。
你在远程ssh到服务器,那么他也可以用同样的方式控制远程的服务器,不是吗?
注:如果细心的读者使用上面的方法突破系统,很可能不成功,那是因为我在上面的命令中有益忽略了一个特殊的命令导致。
OSX: 真的吗?Mac OS X重大漏洞 改时钟获系统最高权限的更多相关文章
- iConvert Icons 图标转换生成利器,支持Windows, Mac OS X, Linux, iOS,和Android等系统
这是一款在线图标转换工具,生成的图标支持Windows, Mac OS X, Linux, iOS, 和 Android等主流系统. 可以上传图标文件转化成另一个平台下的图标文件,例如将windows ...
- 玩转MAC OS!实测DIY兼容机装苹果系统
1打造iMAC:DIY常规兼容机安装MAC OS回顶部 [PConline 评测]最近消息透露苹果下个月即将发布新系统MAC OS X 10.9,这是什么东西?对于苹果,留给我们印象最为深刻的是iPh ...
- Mac OS使用技巧之十六:系统失去响应怎么办?
再好的系统,再快的本本,也会在执行时由于种种原因出现卡顿或者死机等失去响应的情况.Mac用户也会时不时碰到这样的情况,最常见的表现为鼠标变为七彩圆圈.通常等上一会儿系统会自己恢复.假设迟迟没有响应的话 ...
- (转)Mac os x 下配置Intellij IDEA + Tomcat 出现权限问题的解决办法
出现的错误提示如下: 下午9:11:27 All files are up-to-date下午9:11:27 All files are up-to-date下午9:11:27 Error runni ...
- Mac os x 下配置Intellij IDEA + Tomcat 出现权限问题的解决办法
出现的错误提示如下: 下午9:11:27 All files are up-to-date下午9:11:27 All files are up-to-date下午9:11:27 Error runni ...
- zabbix再爆高危SQL注入漏洞,可获系统权限
漏洞概述 zabbix是一个开源的企业级性能监控解决方案.近日,zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系统 ...
- zabbix 爆高危 SQL 注入漏洞,可获系统权限(profileIdx 2 参数)
漏洞概述 zabbix是一个开源的企业级性能监控解决方案.近日,zabbix的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻击者无需授权登陆即可登陆zabbix管理系统 ...
- MAC OS X Yosemite的PyQt4配置记录
MAC OS X Yosemite的PyQt4配置记录 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系 ...
- 如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?
如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?原文链接:http://www.java2class.net/bbs/viewthr ...
随机推荐
- JavaScriptCore.framework基本用法(一)
从iOS7开始 苹果公布了JavaScriptCore.framework 它使得JS与OC的交互更加方便了. 下面我们就简单了解一下这个框架 首先我导入framework 方法如下 点击Linked ...
- Ubuntu 15.04 Rails4.2.5 处理异常
1. 修改: /app/controllers/application_controller.rb文件为如下样子: class ApplicationController < ActionCon ...
- Java安全机制之泛型(JDK1.5)
泛型,类型安全机制. 好处: 1.将运行时期出现问题ClassCastException转移到了编译时期,方便解决问题,减少运行时期的问题,有利于程序的健壮性. 2.避免了强制转换的麻烦 泛型格式: ...
- jquery的链式操作以及事件绑定
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 远程读取URL 建议用curl代替file_get_contents
初学php的朋友们,很容易翻一个错误,在写采集程序或者调用api接口总会有线考虑到使用file_get_contents函数来或许内容,程序的访问量不大倒是没什么影响,但是访问量提升了那非常的悲剧了, ...
- uva 11077 置换
/** 给定一个置换,看能不能存在一个置换A^2 = B 思路; 循环节长度为偶数n的置换只能由循环节长度为长度2*n 的置换A*A 而变得.所以只需求出循环节,看循环节长度为偶数的个数是否为偶数个即 ...
- Using WMIC For Gathering System Info
WMIC is a command line interface to WMI (Windows Management Instrumentation). While it has many uses ...
- android listview需要呈现多个布局
android listview需要呈现多个布局 之前的做法很笨 在getView()方法里面,不仅将viewHolder作为tag属性设置给convertView 还将当前的position作为ta ...
- mysql ifnull if
IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境. mysq ...
- [对话CTO]当当网熊长青:兴趣是成为优秀工程师的第一因素-CSDN.NET
Women Techmaker 北京站 [对话CTO]当当网熊长青:兴趣是成为优秀工程师的第一因素-CSDN.NET [对话CTO]当当网熊长青:兴趣是成为优秀工程师的第一因素 发表于2 ...