一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

如何手動(dòng)升級(jí)你Mac OS上的bash

 wintelsui 2014-09-29

心臟滴血(Heartbleed)一波才平,一波又起,這次的漏洞名為Shellshock(最初的官方名叫做CVE-2014-6271),受害者則是搭載了Linux和Mac的電腦?,F(xiàn)在它已經(jīng)在NCAS分級(jí)為10的危險(xiǎn)評(píng)級(jí)中成功拿下了危險(xiǎn)性為10的評(píng)定。雖然現(xiàn)在也有了一些專用于修復(fù)漏洞的更新,但是它們依舊不夠完善,而你的電腦也仍然處于威脅之中。而這個(gè)bug已經(jīng)像這樣存在了20年才為人知曉。

2014.9.26更新說(shuō)明

一個(gè)新補(bǔ)丁主要用于應(yīng)對(duì)新增的攻擊方式CVE-2014-7169.

如果你在太平洋夏令時(shí)的2014年9月26日下午三點(diǎn)前照著這篇教程做過(guò),那你需要?jiǎng)h除掉你的bash-fix文件夾(你可以通過(guò)finder在你的user->username目錄下找到它),之后再照著下面的教程再做一次(從第一步開始),這樣才能確保你的電腦得到完全的修復(fù)。如果你從來(lái)沒(méi)有手動(dòng)更新過(guò),那就不需要?jiǎng)h除bash-fix文件夾。

該教程現(xiàn)已經(jīng)能完全應(yīng)對(duì)現(xiàn)有的攻擊,也很可能是你需要部署的最后一次補(bǔ)丁了。

什么是bash

bash是應(yīng)用于大多數(shù)基于Linux或Unix操作系統(tǒng)的命令行程序,其中包括有Mac OS。如果你的操作系統(tǒng)的默認(rèn)命令行shell是bash的話,它就可能被網(wǎng)絡(luò)上遠(yuǎn)端的黑客用于攻擊你的電腦。通過(guò)一個(gè)小小的腳本黑客便可以在你的電腦上加載程序或者更改特性,這些操作既不需要任何密碼,也不需要了解任何你所知道的東西。他們可以使用你的文件,獲取你的私密信息,刪除數(shù)據(jù),運(yùn)行程序等等。

危險(xiǎn)性測(cè)試第一步:

打開終端窗口,在shell中鍵入以下命令行,緊接著輸入回車。終端可以在你電腦的應(yīng)用文件夾的Utilities中可找到,你也可以使用快速搜索找到它。

1
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

好結(jié)果是這樣的

如果你的電腦不存在被Shellshock漏洞威脅的隱患,那么終端的輸出結(jié)果應(yīng)該和下面的這一段差不多:

1
2
3
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

糟糕的結(jié)果

如果你的電腦存在被威脅的可能,那你看到的結(jié)果將會(huì)是下面這樣:

1
vulnerable this a test

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

危險(xiǎn)性測(cè)試第二步:

如果你通過(guò)了第一個(gè)測(cè)試,那么試試下面的測(cè)試看看你的電腦能否抵御一種在星期四才被發(fā)現(xiàn)的新型攻擊方式;

1
env X='(){(a)=>\' bash -c "echo date"; cat echo; rm -f echo

好結(jié)果又是這樣的

如果你的電腦沒(méi)有任何問(wèn)題,那你應(yīng)該會(huì)看到如下這樣的輸出(不輸出任何與當(dāng)前日期有關(guān)的內(nèi)容):

1
2
date
cat: echo: No such file or directory

壞結(jié)果是這樣的

如果你的電腦在劫難逃,那你會(huì)看的輸出就是下面這種形式:

1
date

如圖所示(下面輸出的是我測(cè)試的時(shí)間):

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

那么現(xiàn)在有更新了嗎

大多數(shù)Linux發(fā)行版已經(jīng)有了專為Shellshock開發(fā)的補(bǔ)丁(雖然大多并不完整),不過(guò)Mac OS X用戶至今還是沒(méi)有收到任何消息,蘋果對(duì)此事只字未提。最近Mavericks的更新10.9.5版本也沒(méi)有對(duì)Shellshock有任何的修復(fù)。

如果你感到惶恐不安,這里倒是有一個(gè)手動(dòng)更新的方法讓你機(jī)器上的GNU bash升級(jí)到更為安全的那個(gè)版本,在這里要感謝StackExchange的用戶提供了有關(guān)方法。

在你的Mac電腦上打開終端窗口,輸入以下命令來(lái)查看你已經(jīng)裝上的shell版本(記得最后敲回車)。

1
bash --version

如果你的GNU bash版本號(hào)為3.2.51(1)-release, 那你需要升級(jí)到3.2版本的最新版3.2.53,如果你已經(jīng)照著這篇教程升級(jí)到過(guò)3.2.52(1)-release,那你需要照著下面的做完以確保更新到最新版本使你的電腦得到完全的保護(hù)。

bash除此外還有其它更新的版本,不過(guò)Mac OS只支持3.2分支。如果你是Linux用戶,你想要確保下載到與你當(dāng)前使用的bash版本相匹配的補(bǔ)丁。那你可以在這里找到各種主要版本的最近更新,包括3.0, 3.1, 3.2, 4.0, 4.1, 4.2, 和4.3。

你可以根據(jù)以下教程手動(dòng)編譯bash的最新版本(3.2.53),但是首先你需要在你的電腦上安裝有一個(gè)蘋果的Xcode工具。如果你沒(méi)有安裝過(guò)這個(gè)工具,那你需要照著下面的準(zhǔn)備工作章節(jié)做下去。

如果你不想升級(jí)bash,這里有個(gè)由紅帽提供的解決方案,不過(guò)它還并沒(méi)有通過(guò)完整的測(cè)試,因此我并不推薦這個(gè)。

準(zhǔn)備工作

你需要確保你已經(jīng)裝上了Xcode,并同意了蘋果的條款,在老一些的Mac上,你還要確保你裝上了命令行工具。

你也可以在Mac App Store上下載到免費(fèi)的Xcode。

如果你的Mac OS X版本太老而不能在Mac App Store上下載到可用的Xcode,你可以使用你的Apple ID登錄開發(fā)者中心去搜索一個(gè)合適的版本并下載。如果你是Mac OS10.7或者10.8用戶,那么請(qǐng)?jiān)陂_發(fā)者下載頁(yè)面的左邊的搜索框里搜索Xcode 4.6.3.

在你裝了Xcode之后,在你的應(yīng)用文件夾內(nèi)找到并運(yùn)行它,之后同意相關(guān)條款。最開始加載的時(shí)候可能會(huì)花費(fèi)一些時(shí)間。之后你需要確認(rèn)是否有可用而完整的命令行工具,做法如下:

打開Xcode,在頂部的菜單欄里打開菜單。

點(diǎn)擊選項(xiàng)。

點(diǎn)擊下載標(biāo)簽。

在下載列表里面找到命令行工具之后點(diǎn)擊下載。

提示:如果你沒(méi)有看到命令行工具選項(xiàng)那就證明你已經(jīng)裝上了。

做完之后,你就為系統(tǒng)補(bǔ)丁做好了所有準(zhǔn)備工作了。

第一步:下載并編譯補(bǔ)丁

當(dāng)你確定裝上了Xcode,再次打開終端命令行并輸入一下命令,然后回車。每一行是一個(gè)命令,因此一定要整行復(fù)制。

1
2
3
4
5
6
7
mkdir bash-fix
cd bash-fix
curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -
cd bash-92/bash-3.2
curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0
cd ..
xcodebuild

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

進(jìn)程會(huì)跑上一段時(shí)間,你會(huì)看到在終端里一大串輸出,那是因?yàn)閄code正在你的電腦上編譯新的bash。等它運(yùn)行完畢,輸出“BUILD SUCCEEDED”之后你會(huì)看到一個(gè)新的終端窗口。

第二步:下載編譯并建造第二個(gè)補(bǔ)丁

這一步添加于太平洋夏令時(shí)2014.9.26 3:00pm,該補(bǔ)丁主要針對(duì)于新的攻擊方式。如果想了解更多請(qǐng)看文章開頭的更新說(shuō)明。

1
2
3
4
5
mv build/bash.build/Release/bash.build/DerivedSources/y.tab.* bash-3.2/
cd bash-3.2
curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-053 | patch -p0
cd ..
xcodebuild

再一次,你會(huì)在完成的時(shí)候看到“BUILD SUCCEEDED”。

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

第三步:備份你當(dāng)前版本(建議)

為避免發(fā)生某些錯(cuò)誤,備份你當(dāng)前使用的bash版本是個(gè)不錯(cuò)的選擇,你可以在終端輸入以下兩行命令。

注意在這一步你很可能被提示需要輸入一個(gè)密碼,這個(gè)密碼就是你用于登錄Mac的那個(gè)密碼。當(dāng)你敲擊的時(shí)候并不會(huì)在終端看到回顯,如果你的密碼過(guò)于復(fù)雜的話在提示密碼錯(cuò)誤的情況下你可以試試多輸入幾次。

1
2
sudo cp /bin/bash /bin/bash.old
sudo cp /bin/sh /bin/sh.old

你不會(huì)看到任何確認(rèn)信息,但是它已經(jīng)備份完了,如果在第五步之后發(fā)生了錯(cuò)誤的話。你還可以用復(fù)制命令找回你以前的老版本bash,將“.old”復(fù)制為原始文件(即沒(méi)有".old"部分)。

第四步:確認(rèn)你新建的版本信息

在終端里輸入以下命令以確認(rèn)你在電腦上新建的bash是最新版本:

1
2
build/Release/bash --version
build/Release/sh --version

輸出的文本應(yīng)該是bash版本為3.2.53(1)-release你才可以確認(rèn)你編譯了正確的版本。

第五步:使用新版本替換你老版的bash

全部做完之后。你只需復(fù)制你新版的bash覆蓋掉老版的bash,使用以下命令完成:

1
2
sudo cp build/Release/bash /bin
sudo cp build/Release/sh /bin

現(xiàn)在,再來(lái)測(cè)試一下看看電腦是否還是會(huì)輸出那個(gè)好結(jié)果:

1
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

然后來(lái)進(jìn)行第二測(cè)試:

1
env X='(){(a)=>\' bash -c "echo date"; cat echo; rm -f echo

every-mac-is-vulnerable-shellshock-bash-exploit-heres-patch-os-x.w654.jpg

如果日期依舊顯示,那么檢查一下你的home文件夾下是否有一個(gè)名為echo的文件在你測(cè)試的時(shí)候被創(chuàng)建。如果是的,那么刪除它再試一次。如果這樣還是依舊輸出日期,那么很可能是你遺漏了上面剛剛更新的第二步。如果你認(rèn)為你在所有的命令行中沒(méi)有任何輸入錯(cuò)誤,你也可以刪掉你的bash-fix文件夾之后從第一步開始重來(lái)。如果沒(méi)有什么問(wèn)題也請(qǐng)刪除bash-fix文件夾——因?yàn)槟侵皇莻€(gè)臨時(shí)目錄而已。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美日韩少妇精品专区性色| 欧美精品久久99九九| 亚洲熟妇中文字幕五十路| 丰满少妇被猛烈撞击在线视频| 日韩中文字幕在线不卡一区| 91国内视频一区二区三区| 日韩一级毛一欧美一级乱| 91欧美日韩中在线视频| 日韩一区二区三区高清在| 中文文精品字幕一区二区| 午夜精品福利视频观看| 中文字幕在线五月婷婷| 99视频精品免费视频播放| 亚洲国产天堂av成人在线播放| 91欧美日韩精品在线| 日韩一区欧美二区国产| 午夜资源在线观看免费高清| 久久综合亚洲精品蜜桃| 久久亚洲成熟女人毛片| 欧美色婷婷综合狠狠爱| 精品国产亚洲av成人一区| 麻豆欧美精品国产综合久久| 性感少妇无套内射在线视频| 丝袜视频日本成人午夜视频| 亚洲少妇一区二区三区懂色| 一区二区三区日韩中文| 欧美日韩一级aa大片| 国产成人精品久久二区二区| 欧美乱妇日本乱码特黄大片| 国产日韩中文视频一区| 精品一区二区三区乱码中文| 亚洲熟妇av一区二区三区色堂 | 日本人妻精品中文字幕不卡乱码 | 精品人妻av区波多野结依| 亚洲一区二区精品免费| 一级欧美一级欧美在线播| 熟女一区二区三区国产| 日韩美成人免费在线视频| 精品国产亚洲区久久露脸| 久久永久免费一区二区| 美女露小粉嫩91精品久久久|