0
本文作者: 李勤 | 2016-10-26 17:39 | 專(zhuān)題:雷峰網(wǎng)公開(kāi)課 |
你見(jiàn)過(guò)“僵尸”來(lái)襲嗎?
你自己也成為其中一個(gè)“僵尸”會(huì)是怎樣的感受?
這次,可能要玩得更酷炫一點(diǎn)!
如果你家路由器被破解,那么就可能是5萬(wàn)僵尸網(wǎng)絡(luò)中的一員!
帶來(lái)此次講座的是一個(gè)“別人家的小孩”,他目前還在讀大三,卻已經(jīng)是長(zhǎng)亭科技核心安全團(tuán)隊(duì)中的一員。2016年,他和團(tuán)隊(duì)在黑客盛會(huì)GeekPwn上破解了11款路由器,獲得冠軍,并拿下42萬(wàn)元獎(jiǎng)金。
為什么要聊這個(gè)話(huà)題?
路由器是互聯(lián)網(wǎng)絡(luò)的樞紐——"交通警察"。目前路由器已經(jīng)廣泛應(yīng)用于各行各業(yè),各種不同檔次的產(chǎn)品已成為實(shí)現(xiàn)各種骨干網(wǎng)內(nèi)部連接、骨干網(wǎng)間互聯(lián)和骨干網(wǎng)與互聯(lián)網(wǎng)互聯(lián)互通業(yè)務(wù)的主力軍。
好,一本正經(jīng)的介紹結(jié)束。我們來(lái)一個(gè)狂野版:現(xiàn)在的青年坐下來(lái)就找Wi-Fi,誰(shuí)家還沒(méi)有個(gè)把路由器??!你家路由器要是被人破了,輕則只是被蹭個(gè)網(wǎng),重則各種隱私信息,包括硬盤(pán)里珍藏的小片片都會(huì)被一洗而空!不甘心?!來(lái),跟大神一起玩破解和反破解,只有知道是怎么被破的,才能預(yù)防被破!
趙漢青,長(zhǎng)亭科技安全研究員,GeekPwn 名人堂成員。主要從事軟件逆向工程、漏洞挖掘、exploit編寫(xiě),熟悉智能設(shè)備漏洞挖掘與利用、Android本地權(quán)限提升漏洞挖掘與利用、瀏覽器漏洞挖掘與利用,2016年 GeekPwn 512,與楊坤一起以十一款路由器的漏洞挖掘與利用獲得 GeekPwn 512 的冠軍。中國(guó)海洋大學(xué) Blue-Whale 安全研究團(tuán)隊(duì)隊(duì)長(zhǎng),帶領(lǐng)成員進(jìn)行安全競(jìng)賽、漏洞挖掘。
Q1
之前其他媒體對(duì)你有報(bào)道,報(bào)道的題目是《八九點(diǎn)鐘的太陽(yáng),照在他的身上》,看照片也確實(shí)很年輕,能否再做一個(gè)高難度的“圖+文”的自我介紹?
趙漢青:我本科過(guò)來(lái)的三年和其他本科生有一點(diǎn)點(diǎn)不一樣,教室、班級(jí)或是宿舍并不是我的主戰(zhàn)場(chǎng),我是在實(shí)驗(yàn)室度過(guò)的,就這樣我算是半個(gè)研究生,也受到了安全學(xué)術(shù)圈的很多熏陶,了解到了很多學(xué)術(shù)圈一線大佬的研究方向等,了解了非常多前沿的系統(tǒng)安全方面的技術(shù)。
當(dāng)時(shí)我的學(xué)長(zhǎng)崔勤(現(xiàn)在也在長(zhǎng)亭任職)在2012年左右依托著實(shí)驗(yàn)室創(chuàng)辦了一個(gè)CTF戰(zhàn)隊(duì),算是比較早的開(kāi)始打國(guó)內(nèi)外比賽的戰(zhàn)隊(duì)。但是非常不幸的是我剛?cè)?shí)驗(yàn)室,學(xué)長(zhǎng)就畢業(yè)了。雖然沒(méi)有了老司機(jī)帶,但是自己對(duì)這方面又十分的感興趣,所以當(dāng)時(shí)就自己天天呆在實(shí)驗(yàn)室白天黑天的解題、打比賽,總之就是自己瞎折騰,雖然走了不少?gòu)澛?,但是還是成了一個(gè)賽棍,整個(gè)幾年算是學(xué)了一點(diǎn)皮毛知識(shí)。
大約是16年初,過(guò)來(lái)北京以后就從以前的瘋狂比賽轉(zhuǎn)到一些real-world的軟件、設(shè)備進(jìn)行研究了。
Q2
雷鋒網(wǎng):請(qǐng)你介紹一下你所在的團(tuán)隊(duì)和長(zhǎng)亭科技。
趙漢青:2011~2014年,幾個(gè)年輕的創(chuàng)始人在興趣的驅(qū)動(dòng)下,最終孵化出了這個(gè)新興的網(wǎng)絡(luò)安全服務(wù)公司——長(zhǎng)亭科技。
Q3
雷鋒網(wǎng):今年5月,在安全極客大賽 GeekPwn2016 澳門(mén)站上,你所在的長(zhǎng)亭科技團(tuán)隊(duì)一口氣攻破了市面上銷(xiāo)售10款主流品牌路由器和1款攝像頭,獲得了最高獎(jiǎng)金,請(qǐng)給大家介紹下為什么選擇這10款路由器和1款攝像頭?花了多長(zhǎng)時(shí)間研究破解?真正破解一款路由器需要多久?
趙漢青:之所以選了那10款路由器,其實(shí)沒(méi)有什么特別的考慮,在確定了澳門(mén)站我們要來(lái)展示路由器后,就是去京東輸入路由器關(guān)鍵詞,把銷(xiāo)量比較高的全買(mǎi)了一遍,盡量每個(gè)大品牌都買(mǎi)了,這樣可以使我們的研究在面兒上更能體現(xiàn)路由器的一些安全性問(wèn)題,也能更好的引起各大廠商以及消費(fèi)者的重視。
整個(gè)研究過(guò)程其實(shí)有幾個(gè)月吧,從二月底到5月中旬,我們小伙伴們都一直在研究這個(gè)事情。這期間我們經(jīng)歷了選方向、選設(shè)備、漏洞挖掘、漏洞利用、演示準(zhǔn)備、撰寫(xiě)文檔等等環(huán)節(jié)。真正破解一款路由器的話(huà)其實(shí)并不需要太久,其實(shí)我們完成一個(gè)設(shè)備的破解長(zhǎng)則需要一周,短的話(huà)其實(shí)一晚上就夠了。
Q4
雷鋒網(wǎng):具體破解過(guò)程是怎樣?介紹下酷炫吊炸天的技術(shù)吧!
趙漢青:首先,當(dāng)然是去購(gòu)買(mǎi)一個(gè)設(shè)備了。
在拿到一個(gè)設(shè)備時(shí),第一件事情通常是去盡量收集一些關(guān)于固件、架構(gòu)、端口等信息以方便我們分析攻擊面,為我們之后對(duì)binary(可執(zhí)行二進(jìn)制文件)進(jìn)行詳細(xì)逆向分析提供便利。一般最容易想到的就是能拿到一個(gè)可以操作的shell進(jìn)入路由器中查看,這樣所有的信息對(duì)于我們來(lái)說(shuō)就一覽無(wú)余了。
如果可以給路由刷一個(gè)ssh或者路由本身就有telnet之類(lèi)的shell,可以直接上去搜集信息。如果沒(méi)有任何ssh之類(lèi)的程序,我們可以拆掉路由器,觀察焊點(diǎn),因?yàn)橛幸淮蟛糠謴S家在出廠時(shí)會(huì)好心的留下一個(gè)用于調(diào)試的串口,我們只要能找到這個(gè)串口然后連入一般就可以獲得一個(gè)可以執(zhí)行命令的shell。
(編者注:這是什么意思呢?就好一個(gè)特工想潛入一個(gè)家庭,先了解下家庭成員的情況,然后找一個(gè)最笨的成員給自己帶路,而串口就是去了解這個(gè)家庭的一個(gè)手段。至于最笨的成員是哪一個(gè)?沒(méi)有通用的尋找規(guī)律,每一個(gè)路由器都要經(jīng)過(guò)一些攻擊面分析、然后具體的逆向,才能找出程序員寫(xiě)出的漏洞,然后再利用。)
(編者注:SSH 為 Secure Shell 的縮寫(xiě),由 IETF 的網(wǎng)絡(luò)小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。Telnet是常用的遠(yuǎn)程控制Web服務(wù)器的方法。)
如果串口不太明顯,我們可以用示波器去測(cè)試,在串口向外輸出的時(shí)候,示波器上回顯示出規(guī)則的方波,讓我們可以更準(zhǔn)確的找到調(diào)試的接口。之后我們可以用USB轉(zhuǎn)TTL的設(shè)備接入電腦,就有一個(gè)shell可以用了。
在有了一個(gè)可以用的shell之后下一步就是去找尋攻擊面了,最容易想到的就是去打它開(kāi)放的端口。
例如,上圖我們探測(cè)到了一個(gè)對(duì)外開(kāi)放的webserver,非常簡(jiǎn)單,接下來(lái)我們要做的事情就是根據(jù)端口找到對(duì)應(yīng)的binary,接下來(lái)我們就可以對(duì)其做逆向分析了。
下面我來(lái)介紹一個(gè)非常簡(jiǎn)單的漏洞示例。
這是一個(gè)webserver的中解析參數(shù)的函數(shù),通過(guò)簡(jiǎn)單的分析我們就可以看出參數(shù)長(zhǎng)度并沒(méi)有檢查就被copy到了棧上,實(shí)在是再簡(jiǎn)單不過(guò)的棧溢出了。
雖然介紹的這個(gè)漏洞如此簡(jiǎn)單,但是在實(shí)際的分析過(guò)程中,由于binary一般都算是比較多比較大,還是比較占用時(shí)間的。
那么找到了漏洞以后,無(wú)非就是要繼續(xù)想利用了,因?yàn)樵谶@些智能設(shè)備上我們發(fā)現(xiàn)的漏洞都比較簡(jiǎn)單,所以用的利用技巧也相應(yīng)比較簡(jiǎn)單。
遇到的小問(wèn)題無(wú)非下面幾個(gè):
1.不能再棧上寫(xiě)0,但是如果我們要做rop(Return-oriented programming)的話(huà),一般代碼段起始的地址都是以0開(kāi)頭的。遇到這種問(wèn)題我們可以對(duì)返回地址做部分改寫(xiě),用一個(gè)“add sp,xxx”之類(lèi)的gadget將棧遷移到高處。這樣我們就可以在棧的高處繼續(xù)做rop了;
2.如果開(kāi)了地址隨機(jī)化,我們不能直接做rop??梢韵刃孤兑淮魏瘮?shù)的got地址,然后算出真正的代碼段或是lib庫(kù)的加載地址,然后在繼續(xù)做rop;
3.遇到一些mips大端的架構(gòu),這樣我們做部分覆蓋的小trick也會(huì)失效,但是由于性能原因,我們發(fā)現(xiàn)大部分mips的路由都是沒(méi)有開(kāi)隨機(jī)化的,所以我們可以干脆對(duì)lib基址進(jìn)行爆破,就可以去用到lib里的gadget(一些指令片段)了。
在確定好寫(xiě)利用的思路以后,寫(xiě)的過(guò)程中我們也許需要debug,最通常的辦法還是利用ftp或是tftp等工具傳一個(gè)gdbserver到路由內(nèi)部,然后用gdb進(jìn)行遠(yuǎn)程調(diào)試。我們可以用一個(gè)非常好用的gdb輔助插件(https://github.com/kelwin/peda),使用效果如下。
之后我們用我們的exploit腳本(攻擊腳本)發(fā)起遠(yuǎn)程攻擊,就能遠(yuǎn)程獲得路由器的最高權(quán)限,接管這臺(tái)路由了。
Q5
雷鋒網(wǎng):還有一個(gè)重要問(wèn)題是,為什么朝路由器下手?
趙漢青:選擇路由器作為主要研究對(duì)象的原因是:在去年的極棒上,我們重點(diǎn)研究了多款網(wǎng)絡(luò)攝像頭。而對(duì)于路由器我們只研究了一款,就發(fā)現(xiàn)了多個(gè)安全漏洞,這引發(fā)了我們的興趣和擔(dān)憂(yōu)。
路由器作為家庭的上網(wǎng)入口,連接了許許多多的設(shè)備,不僅筆記本電腦、手機(jī)需要連網(wǎng),還有越來(lái)越多的智能設(shè)備。例如,攝像頭、網(wǎng)絡(luò)電視、智能插座、智能烤箱等也同樣接入了家庭網(wǎng)絡(luò)。因此,路由器這個(gè)網(wǎng)絡(luò)入口設(shè)備的安全性就顯得尤其重要。一旦路由器存在安全漏洞被黑客攻破,家里的其他設(shè)備就會(huì)更容易被監(jiān)聽(tīng)、劫持,甚至長(zhǎng)期植入后門(mén)。
如今,路由器市場(chǎng)競(jìng)爭(zhēng)激烈,很多傳統(tǒng)大品牌大廠商都推出了自己的產(chǎn)品,主流的品牌非常多。我們希望能用自己的技術(shù)積累,對(duì)各大知名品牌路由器的安全性做一些分析和對(duì)比。盡可能多、盡可能早地去發(fā)現(xiàn)問(wèn)題,從而來(lái)提醒消費(fèi)者和廠商。一方面,想引起路由器廠商的重視,推動(dòng)他們?cè)诎踩矫嫱度敫嗟呐?。另一方面,讓消費(fèi)者理解安全的重要性,提高對(duì)安全的訴求。
現(xiàn)如今在PC、瀏覽器等的漏洞挖掘都已經(jīng)進(jìn)入了“very-hard”模式時(shí),想完成一次此類(lèi)的攻擊通常都需要幾個(gè)精巧的漏洞的巧妙組合。然而現(xiàn)在的”IOT設(shè)備”基本是10年前PC的安全水平吧。更確切的話(huà),我們有一位小伙伴曾經(jīng)講過(guò)一個(gè)非常精髓的話(huà):”感覺(jué)現(xiàn)在做所謂的‘IOT設(shè)備’的還是處在設(shè)計(jì)的時(shí)候不考慮任何潛在的安全問(wèn)題的狀態(tài),勸都勸不動(dòng)”。所以現(xiàn)在市面上的各種智能硬件從設(shè)計(jì)上對(duì)安全的考慮還是要再學(xué)習(xí)一個(gè)。
Q6
雷鋒網(wǎng):這些路由器被破解后,后續(xù)發(fā)生了什么?廠商有找你們嗎?說(shuō)說(shuō)后續(xù)可能的“金錢(qián)誘惑”吧?
趙漢青:大部分廠家其實(shí)是非常友好的,例如華為、極路由等廠家都非常重視這些安全問(wèn)題,其中大部分的廠家都積極的與我們?nèi)〉寐?lián)系,在我們向廠家披露后也進(jìn)行了積極的修復(fù)工作,之后對(duì)我們表示了感謝。還有像華為還非常好心的幫我們申請(qǐng)了CVE編號(hào),確實(shí)是良心廠商。
對(duì)于”金錢(qián)誘惑”是沒(méi)有這種事情的,因?yàn)槲覀冄芯康某踔跃褪亲審S商和大眾能看到這些問(wèn)題,一起聯(lián)合起來(lái)去改善這個(gè)現(xiàn)狀。所以我們從來(lái)都是只協(xié)助廠家修復(fù)漏洞,不做過(guò)分的披露。
Q7
雷鋒網(wǎng):吃瓜群眾最好奇的是,路由器破解了之后會(huì)有哪些后果?能否舉例一些具體場(chǎng)景和案例?比如,要追一個(gè)妹子,可以通過(guò)破解她家的路由器了解她的各種喜好嗎?
趙漢青:
上圖是我們研究的一款我們可直接訪問(wèn)到的有安全問(wèn)題的路由在2016年5月左右在全球的分布情況。這個(gè)數(shù)字大約接近5萬(wàn),也就是說(shuō)憑著一個(gè)路由的漏洞我們就可以構(gòu)建一個(gè)規(guī)模如此巨大的僵尸網(wǎng)絡(luò),不說(shuō)接管所有用戶(hù)的流量使得用戶(hù)的隱私受到侵犯。如果有不法分子利用其做DDOS之類(lèi)的攻擊,后果是非常之嚴(yán)重的。
其實(shí)當(dāng)對(duì)一個(gè)路由發(fā)起遠(yuǎn)程攻擊并獲取最高權(quán)限以后,就完全接管了這個(gè)路由的一些,從這個(gè)路由中走的所有流量都會(huì)被接管,你不僅可以了解到一個(gè)平常都在看什么網(wǎng)站,用什么App,甚至一些敏感的私人信息,比如賬號(hào)名、甚至有可能是密碼都是有可能知道的。甚至可以讓使用這個(gè)路由上網(wǎng)的人在訪問(wèn)正常網(wǎng)站時(shí)被導(dǎo)向釣魚(yú)網(wǎng)站。所以如果大家有這種擔(dān)心的話(huà),平時(shí)還是要注意不要將自己的路由暴露在公網(wǎng)上。在公共場(chǎng)合也最好不要連入陌生的、免費(fèi)wifi之類(lèi)的 上網(wǎng),這都是同樣不安全的。當(dāng)然對(duì)于追一個(gè)女孩兒的話(huà),建議大家不要去搞這種奇奇怪怪的東西,還是用心好好交流體會(huì)陪伴比較好。
Q8
雷鋒網(wǎng):除了你們的破解路徑,還有別的主流破解路徑可以說(shuō)說(shuō)嗎?
趙漢青:在這里我們總結(jié)了一個(gè)hack一臺(tái)智能設(shè)備大約需要的過(guò)程。
1.當(dāng)然是買(mǎi)一個(gè)
2.去搜尋它的固件(官網(wǎng)下載或者直接抓取更新鏈接)
3.最好能得到一個(gè)可以用的shell以便搜集信息
4.找尋攻擊面
5.逆向分析或者像openwrt之類(lèi)的會(huì)有一些腳本我們可以審計(jì)
6.寫(xiě)利用代碼
那么還有其他的一些途徑來(lái)入侵一臺(tái)路由,比如,路由的加密采用的是WEP這種易于破解的,就可以通過(guò)一些暴力手段來(lái)加入一臺(tái)wi-fi路由,之后再進(jìn)一步做一些其他的事情。
Q9
雷鋒網(wǎng):事實(shí)上,沒(méi)有什么技術(shù)基礎(chǔ)的吃瓜群眾可以在聽(tīng)了你的講座后破解一款路由器嗎?有壁壘嗎?
趙漢青:大家聽(tīng)了這么多之后,其實(shí)可以感受到,現(xiàn)在大多數(shù)所謂智能設(shè)備的漏洞其實(shí)還是比較弱的狀態(tài)。只要大家有一些計(jì)算機(jī)系統(tǒng)的基礎(chǔ)或是做過(guò)一些程序的開(kāi)發(fā),只要再加上對(duì)逆向和簡(jiǎn)單的漏洞利用有一定了解其實(shí)就可以去嘗試hack一臺(tái)路由了。
所以對(duì)于沒(méi)有技術(shù)基礎(chǔ)的群眾們來(lái)講的話(huà),可能還會(huì)是有一定的難度,談不上壁壘,但是完成這個(gè)事情還是要有一點(diǎn)點(diǎn)的計(jì)算機(jī)方便的綜合能力的,就是軟件硬件都稍微懂點(diǎn)就可以了這樣。
Q10
雷鋒網(wǎng):除了那十款路由器,可以總結(jié)下一般路由器的漏洞嗎?
趙漢青:從平時(shí)研究來(lái)看,路由器本身可能存在的安全問(wèn)題大致包含以下3類(lèi):
1. 暴露了較多遠(yuǎn)程服務(wù),這些服務(wù)可能存在漏洞,增大了攻擊面;
2. 管理平臺(tái)存在默認(rèn)賬戶(hù);
3. 功能設(shè)計(jì)缺陷可繞過(guò)驗(yàn)證登錄管理平臺(tái)。
在我們實(shí)際的研究過(guò)程中遇到的具體問(wèn)題大概有下面幾種:
1.一些系統(tǒng)配置文件的注入
2.棧溢出
3.堆溢出
4.命令注入
5.弱認(rèn)證
6.內(nèi)存信息泄露
7.由sql注入而間接導(dǎo)致的棧溢出
Q11
雷鋒網(wǎng):可以反過(guò)頭來(lái)技術(shù)支招下,如何防止路由器被破解嗎?可以分為專(zhuān)業(yè)技術(shù)級(jí)與普通吃瓜群眾級(jí)來(lái)說(shuō)一下嗎?比如一個(gè)專(zhuān)業(yè)做網(wǎng)絡(luò)安全的人和一個(gè)不想被人追的普通妹子,操作肯定會(huì)不一樣。
趙漢青:針對(duì)以上安全問(wèn)題,我們建議廠商提高在設(shè)備安全方面的投入,提高產(chǎn)品的安全性。這不僅是對(duì)消費(fèi)者負(fù)責(zé),也是為自身可持續(xù)發(fā)展鋪路。在改進(jìn)產(chǎn)品的安全性之前,可以先多了解黑客攻擊的過(guò)程和方法,針對(duì)黑客攻擊流程中的每一步去做相應(yīng)的防護(hù)。例如:使用自定義固件格式、對(duì)固件做加密和簽名校驗(yàn),來(lái)阻止攻擊者輕易拿到軟件來(lái)分析或篡改;盡可能多的去減少暴露的攻擊面來(lái)降低風(fēng)險(xiǎn);當(dāng)然根本解決問(wèn)題還需要編寫(xiě)安全的軟件,現(xiàn)在很多廠商的軟件中依然使用了不少危險(xiǎn)函數(shù),建議首先對(duì)這些函數(shù)做替換。
對(duì)于普通用戶(hù),我們強(qiáng)烈呼吁他們要形成安全保護(hù)的意識(shí),養(yǎng)成好的信息保護(hù)習(xí)慣。針對(duì)路由器來(lái)說(shuō),雖然目前漏洞很難避免,但是只要保證家庭內(nèi)網(wǎng)不對(duì)外開(kāi)放,不給不信任的人接入,路由器不對(duì)公網(wǎng)暴露,就可以相對(duì)安全一些。具體來(lái)說(shuō),這些保護(hù)措施包括:WIFI密碼使用強(qiáng)加密算法例如WPA2,而不是容易被破解的WEP;禁用路由器WPS功能,防止PIN碼被破解;不用所謂的wifi蹭網(wǎng)軟件,因?yàn)槟阍诓渚W(wǎng)的同時(shí)也會(huì)將自己家里的wifi密碼分享出去。
Q12
雷鋒網(wǎng):可以講解下“破解不成快要抓包”的場(chǎng)景嗎?即如何發(fā)現(xiàn)有人在破解你的路由器?
趙漢青:其實(shí)我們今天所講的路由器的破解并不是說(shuō)對(duì)一個(gè)路由的登錄密碼做爆破或者怎么樣。在對(duì)路由器的系統(tǒng)固件做完分析,開(kāi)發(fā)出漏洞利用程序后,其實(shí)發(fā)起攻擊大多只需要一瞬間就可完全接管目標(biāo)路由器。所以從這個(gè)角度來(lái)說(shuō),想要發(fā)現(xiàn)有人正在攻擊你的路由,對(duì)于普通用戶(hù)來(lái)講其實(shí)是比較困難的事情。但是我們平時(shí)通過(guò)一些簡(jiǎn)單的措施就可以大大降低自己家路由被攻擊的幾率,比如說(shuō)設(shè)置非常復(fù)雜的連入口令,絕對(duì)不要讓不可信的人連入你的wifi等。
Q13
雷鋒網(wǎng):之前思科說(shuō)宇宙射線會(huì)導(dǎo)致路由器 bug,參考雷鋒網(wǎng)發(fā)文:宇宙射線會(huì)導(dǎo)致路由器 bug,思科你認(rèn)真的嗎?你怎么看?
趙漢青:這種以及類(lèi)似的事情的確是有可能會(huì)發(fā)生的。就像生物的染色體在收到一些宇宙射線的照射會(huì)發(fā)生基因突變一樣,電子設(shè)備在受到了一些強(qiáng)烈輻射其內(nèi)存可能也會(huì)受到影響。更實(shí)際的也有類(lèi)似的事情,比如,2015年project zero曾發(fā)現(xiàn)RowHammer漏洞,在最近的安卓上也出現(xiàn)了利用方法,雖然這個(gè)是由于硬件上設(shè)計(jì)的缺陷導(dǎo)致的,通過(guò)頻繁訪問(wèn)內(nèi)存中的 一行數(shù)據(jù),會(huì)導(dǎo)致臨近行的數(shù)據(jù)發(fā)生反轉(zhuǎn),加以巧妙利用可導(dǎo)致權(quán)限提升等問(wèn)題。
所以思科所說(shuō)的這些事情在硬件設(shè)計(jì)有缺陷或者其他特殊的情況下完全也是可能存在的。但是就我們所更關(guān)注的安全問(wèn)題來(lái)講,通常我們把可以利用的bug才叫做漏洞,不可利用的bug可能更多的只是會(huì)給用戶(hù)或者管理人員帶來(lái)使用上的不便。對(duì)于這種宇宙射線導(dǎo)致bug的事情其實(shí)我們普通民眾并不需要過(guò)多的去擔(dān)心,第一個(gè)我個(gè)人認(rèn)為碰到這種事情的概率蠻小的。第二,就算可以觸發(fā)bug其利用難度也許比較大。所以對(duì)于我們普通民眾來(lái)說(shuō)不需要擔(dān)心,當(dāng)成好玩的事情了解就可以了。
Q14
雷鋒網(wǎng):除了破解路由器,你們之前還朝什么下手了?之后又打算朝著什么下手?為什么?
趙漢青:我們之前對(duì)一些例如POS機(jī)等支付設(shè)備,智能攝像頭,甚至現(xiàn)在越來(lái)越普及的平衡車(chē)、各種藍(lán)牙設(shè)備都有過(guò)一定研究。
在此次geekpwn1024大家可能已經(jīng)看到了我們對(duì)客戶(hù)端漏洞的一些研究成果,在之后的日子里,我們更會(huì)不光局限于智能設(shè)備、linux kernel、windows kernel、Android kernel、瀏覽器、安卓系統(tǒng)服務(wù)、以及IOS都有可能是我們的下一個(gè)目標(biāo),所以大家敬請(qǐng)期待我們以后的消息吧。
那之所以會(huì)把注意力轉(zhuǎn)移到其他地方主要還是因?yàn)閳F(tuán)隊(duì)風(fēng)格和我們個(gè)人的興趣吧,我們大多數(shù)人的興趣其實(shí)還是在客戶(hù)端上,還是更渴望去玩一些更加有趣、更加有挑戰(zhàn)性的東西。
Q15
雷鋒網(wǎng):聽(tīng)說(shuō)你們?cè)?016極棒大會(huì)上又搞了一個(gè)項(xiàng)目?可否詳細(xì)介紹?
趙漢青:在今年1024的geekpwn上,我們團(tuán)隊(duì)的slipper通過(guò)對(duì)PS4瀏覽器引擎與操作系統(tǒng)內(nèi)核的攻擊,實(shí)現(xiàn)和演示了對(duì)最新版本4.01的遠(yuǎn)程越獄。大家可能知道geohot是世界上第一個(gè)越獄ps3的人。國(guó)外團(tuán)隊(duì)fail0verflow也曾實(shí)現(xiàn)過(guò)PS4較老版本的破解。算起來(lái)這應(yīng)該算是世界上第二次公開(kāi)破解PS4。據(jù)我對(duì)攻擊細(xì)節(jié)的了解,索尼對(duì)PS4的內(nèi)核做了非常多復(fù)雜的mitigation(攻擊緩解措施),整個(gè)利用過(guò)程非常的復(fù)雜和巧妙,所以完成這件事情其實(shí)是非常令人激動(dòng)和佩服的。在楊博士和slipper演示了越獄之后,也引起了國(guó)內(nèi)外的瘋狂討論,twitter、fb、以及國(guó)內(nèi)各大游戲網(wǎng)站、媒體都對(duì)這個(gè)事情非常的關(guān)注。也請(qǐng)大家繼續(xù)在近期繼續(xù)關(guān)注我們的twitterCchaitinTech,我們會(huì)有更多新消息放出。
另外我們還在今年的的geekpwn 1024上利用手機(jī)驅(qū)動(dòng)中存在的漏洞,演示了一款安卓智能手機(jī)的root,演示了在手機(jī)裝了我們的app并運(yùn)行后,即可替換掉開(kāi)機(jī)畫(huà)面(只有手機(jī)最高權(quán)限才能替換開(kāi)機(jī)畫(huà)面),并將手機(jī)里的照片竊取穿回我們的服務(wù)器,在之后的時(shí)間里我們也會(huì)繼續(xù)對(duì)Android或 iOS系統(tǒng)的內(nèi)核安全作出貢獻(xiàn)。
Q16
雷鋒網(wǎng):在長(zhǎng)亭科技介紹中,你是核心成員之一。你才大三,年紀(jì)輕輕,想八卦下是怎么進(jìn)長(zhǎng)亭,然后又這么酷炫的?
趙漢青:大約在16年初,當(dāng)時(shí)我適逢在北京參加一個(gè)世界大學(xué)生超級(jí)計(jì)算機(jī)競(jìng)賽的訓(xùn)練營(yíng),然后經(jīng)由我的學(xué)長(zhǎng)介紹在那個(gè)時(shí)間第一次見(jiàn)到了楊坤博士,后來(lái)我就參與到其中,開(kāi)始和大家一起玩real-world的設(shè)備和軟件了。
真正炫酷的并不是我,我們團(tuán)隊(duì)的楊坤博士、slipper、Marche、CC還有其他小伙伴都是年紀(jì)非常輕,但個(gè)人能力非常之強(qiáng)也非常炫酷的人。當(dāng)初剛過(guò)來(lái)其實(shí)什么都不會(huì),然后楊博士就教我們各種知識(shí),各種技巧,帶我們學(xué)會(huì)了非常多的東西。大家一起攻堅(jiān)克難,每天的生活充滿(mǎn)了機(jī)遇和挑戰(zhàn),十分的開(kāi)心。
自己可能比較早的接觸了一些不管是學(xué)術(shù)圈還是工業(yè)界的事情,也能體會(huì)到純研究型的實(shí)驗(yàn)室、或是組織、團(tuán)隊(duì)可謂越來(lái)越稀有和珍貴。能在這樣一個(gè)地方和大家一起折騰一起玩無(wú)疑是非常開(kāi)心的一件事情。大家每天吃飯、睡覺(jué)、膜slipper?;ハ喾窒?、共同進(jìn)步,研究最前沿的東西。有一群志同道合的人一起玩就每天非常開(kāi)心。
自己未來(lái)的話(huà)并沒(méi)有想太過(guò)遠(yuǎn),如果沒(méi)有一些重要的變數(shù)的話(huà),5~10年內(nèi)應(yīng)該不會(huì)考慮一切其他事情,因?yàn)樽约哼€欠缺的非常多,只想能把握住學(xué)習(xí)的機(jī)會(huì),每日有所提高,和大家一起做出一些比較有趣的研究成果吧。
Q17
雷鋒網(wǎng):你們是怎么花極棒的獎(jiǎng)金的?聽(tīng)說(shuō)有42萬(wàn)?
趙漢青:首先當(dāng)然是會(huì)請(qǐng)全公司的小伙伴們吃一頓大餐。然后給每人發(fā)一個(gè)大大的紅包,最后從里面抽取一部分作為后續(xù)研究的經(jīng)費(fèi),剩下的部分分給為這次比賽付出的同事們。
聽(tīng)眾:接觸式的路由器,就是手機(jī)在路由器上滑一下然后自動(dòng)鏈接的那種,容易遠(yuǎn)程被破譯嗎?
趙漢青:不管是什么有著花里胡哨功能路由器,它的身上都是有著最基本的路由器的功能的。那么不管是什么樣的路由器,那么如果我們能夠遠(yuǎn)程訪問(wèn)到這臺(tái)路由的話(huà),假設(shè)它存在一些遠(yuǎn)程服務(wù)的內(nèi)存或者其他漏洞的話(huà),我們并不一定需要知曉它的密碼,在對(duì)存在漏洞的遠(yuǎn)程服務(wù)進(jìn)行攻擊利用后,即可遠(yuǎn)程獲得路由的最高權(quán)限。即使現(xiàn)在我們依然不知道這臺(tái)路由的登入密碼到底是什么。
聽(tīng)眾:自己的路由器如何才不會(huì)暴露在公網(wǎng)上?
趙漢青:其實(shí)現(xiàn)在大多數(shù)的路由器都已經(jīng)自帶了防火墻功能并且默認(rèn)打開(kāi),對(duì)于一臺(tái)連結(jié)內(nèi)外網(wǎng)的路由,只要大家不去關(guān)掉這個(gè)防火墻,路由也就不會(huì)暴露在外網(wǎng)上。
聽(tīng)眾:針對(duì)未知聯(lián)網(wǎng)路由器怎么開(kāi)展攻擊?
趙漢青:那么在此我認(rèn)為這個(gè)問(wèn)題所說(shuō)的未知代表的是:“這臺(tái)設(shè)備是聯(lián)網(wǎng)的,你可以遠(yuǎn)程訪問(wèn)到他的服務(wù),你不知道它到底是不是路由,你不知道它到底是那個(gè)牌子,型號(hào)的路由”。對(duì)于此種情況其實(shí)是在一些實(shí)際的滲透測(cè)試中會(huì)遇到的。所以用一定的手段收集信息就顯得尤為重要,通常的方法是通過(guò)對(duì)遠(yuǎn)程服務(wù)做端口掃描,向遠(yuǎn)程服務(wù)發(fā)送數(shù)據(jù)包,從返回的信息中搜尋指紋,利用開(kāi)放的服務(wù)類(lèi)型、一些版本、型號(hào)信息確定這臺(tái)設(shè)備到底是什么。之后我們可以購(gòu)買(mǎi)這臺(tái)設(shè)備、或者下載這臺(tái)設(shè)備的固件進(jìn)行測(cè)試和研究。在本地調(diào)通以后,再對(duì)遠(yuǎn)程設(shè)備進(jìn)行攻擊。當(dāng)然這一切必須要在已授權(quán)的情況下進(jìn)行。
聽(tīng)眾:第三個(gè)問(wèn)題補(bǔ)充一下,遠(yuǎn)程可以訪問(wèn)到IP,其他情況未知,判斷是什么設(shè)備,如果是路由器怎么開(kāi)展攻擊?
趙漢青:這個(gè)在回答的第二部分已經(jīng)提過(guò)了,通常的方法是通過(guò)對(duì)遠(yuǎn)程服務(wù)做端口掃描,向遠(yuǎn)程服務(wù)發(fā)送數(shù)據(jù)包,從返回的信息中搜尋指紋,利用開(kāi)放的服務(wù)類(lèi)型、一些版本、型號(hào)信息確定這臺(tái)設(shè)備到底是什么??梢詫?shí)際購(gòu)買(mǎi)一些設(shè)備和遠(yuǎn)程的服務(wù)開(kāi)放情況,返回包信息等做一些匹配,在買(mǎi)到確定的設(shè)備或者下載到固件后,對(duì)其進(jìn)行一些逆向分析,尋找并發(fā)現(xiàn)漏洞。本地調(diào)通之后再進(jìn)行對(duì)遠(yuǎn)程的攻擊。再次強(qiáng)調(diào),必須要在已授權(quán)的情況下進(jìn)行。
聽(tīng)眾:手機(jī)4G做熱點(diǎn)共享wifi,有機(jī)會(huì)被破解嗎?
趙漢青:手機(jī)做共享熱點(diǎn)和我們平常wifi連接一臺(tái)路由的技術(shù)是不一樣的,攻擊面是也不一樣的。因?yàn)閭€(gè)人并沒(méi)有對(duì)此做過(guò)深入研究,無(wú)法過(guò)多解答這個(gè)問(wèn)題。
聽(tīng)眾:希望推薦學(xué)習(xí)這方面知識(shí)的書(shū),還有需要學(xué)習(xí)的知識(shí)。
趙漢青:其實(shí)對(duì)智能設(shè)備的安全研究最終還是要回歸到逆向工程和二進(jìn)制漏洞利用上的。首先要學(xué)好計(jì)算機(jī)基礎(chǔ)課程、打好計(jì)算機(jī)知識(shí)基礎(chǔ),這樣有助于我們更好的學(xué)習(xí)一些安全技術(shù),將技術(shù)變通的應(yīng)用于多種場(chǎng)景。路由器的固件其實(shí)大多也是一個(gè)小型的linux操作系統(tǒng),所以初學(xué)的小伙伴還是要打好操作系統(tǒng)基礎(chǔ),對(duì)linux或者VxWorks系統(tǒng)有一定的熟悉度,那么在對(duì)其中的一些binary分析起來(lái)就可以更加的得心應(yīng)手。那么對(duì)于一些漏洞利用技術(shù)的學(xué)習(xí)可以參考一些往年的CTF比賽中出的挑戰(zhàn)題,這些挑戰(zhàn)題目多小而美,可以使我們快速學(xué)習(xí)到一些有趣的漏洞利用技術(shù)。對(duì)于知識(shí)的儲(chǔ)備,可以參考0ops安全技術(shù)戰(zhàn)隊(duì)小伙伴給出的書(shū)單和練習(xí)網(wǎng)站。(《程序員的自我修養(yǎng)》、《深入理解計(jì)算機(jī)系統(tǒng)》、《算法導(dǎo)論》、《密碼學(xué)應(yīng)用》、《編譯原理(龍書(shū))》、《鳥(niǎo)哥的私房菜》、《白帽子講Web安全》)此外,還有一些在互聯(lián)網(wǎng)上具有代表性的關(guān)于CTF競(jìng)賽相關(guān)的練習(xí)資源:
逆向工程:bbs.pediy.com,www.52pojie.cn,crackmes.de,reversing.kr
漏洞挖掘與漏洞利用:smashthestack.org,pwnable.kr,overthewire.org/wargames/vortex/
網(wǎng)絡(luò)滲透:www.wechall.net,pentesterlab.com
CTF競(jìng)賽題目匯編:github.com/ctfs,shell-storm.org/repo/CTF/
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。