OpenSesame:一个能够攻击fixed-pin设备的工具
OpenSesame是一種設(shè)備,這種設(shè)備可以通過(guò)無(wú)線技術(shù)來(lái)打開(kāi)任何一個(gè)設(shè)有固定密碼的車庫(kù)門,我從中發(fā)現(xiàn)了一個(gè)攻擊無(wú)線固定pin碼設(shè)備的新方法。
演示視頻以及詳細(xì)信息:
opensesame源代碼:https://github.com/samyk/opensesame
防御措施:如果你所使用的大門或車庫(kù)門帶有“固定密碼”,那么為了防范這種類型的攻擊,你需要確保你的系統(tǒng)已升級(jí)至最新版本,并且使用的是滾動(dòng)碼,跳轉(zhuǎn)碼,Security+或者智能碼。這些措施雖然不能保證萬(wàn)無(wú)一失,但確實(shí)可以防止OpenSesame所發(fā)起的傳統(tǒng)暴力破解攻擊。
犯罪分子:為了防止代碼被濫用,我所披露的代碼是經(jīng)過(guò)修改的。如果你是RF和微控制器方面的專家,你也許可以對(duì)這些代碼進(jìn)行修復(fù),但你也許從一開(kāi)始就不需要我所提供的這些幫助了,對(duì)嗎?
???性能
OpenSesame不僅會(huì)利用無(wú)線車庫(kù)和大門中固定pin碼的有限密鑰空間,而且我發(fā)現(xiàn),它還會(huì)通過(guò)這種新型的攻擊方式將打開(kāi)車庫(kù)大門的時(shí)間縮短95%。這就意味著,你只需要幾秒鐘便可以打開(kāi)大多數(shù)的車庫(kù)大門了。
OpenSesame采用的是Mattel公司的短信工具Radica Girltech IM-ME,這個(gè)工具支持所有我們發(fā)動(dòng)攻擊所需要的設(shè)備,這些設(shè)備包括一個(gè)高效的TI CC1110 sub-GHz RF芯片,一臺(tái)LCD顯示器,鍵盤,背光照明裝置等等。
這個(gè)工具是在巨人的肩膀上開(kāi)發(fā)出來(lái)的,其中包括由Michael Ossmann開(kāi)發(fā)的原始版本的opensesame,IM-ME代碼,Dave開(kāi)發(fā)出的IM-ME LCD逆向工程技術(shù),還有Mike Ryan提出的高效思想。在文章結(jié)尾提供了參考鏈接以及參考資源。
注意,通過(guò)使用滾動(dòng)碼是無(wú)法打開(kāi)車庫(kù)門的。帶有滾動(dòng)碼技術(shù)(通常稱之為“智能碼”,“Security+”,“跳轉(zhuǎn)碼”等等)的車庫(kù)會(huì)比那些使用固定pin碼的車庫(kù)更加的安全,但也有可能受到其他種類攻擊的影響。
主要的問(wèn)題
查看OpenSesame攻擊的會(huì)話信息。固定碼系統(tǒng)中顯而易見(jiàn)的漏洞就是這種系統(tǒng)的密鑰空間是十分有限的。比如說(shuō),一個(gè)支持12位碼值的車庫(kù)可能會(huì)包含12位的可能組合。這是一個(gè)固定密碼能夠打開(kāi)你的車庫(kù)大門的關(guān)鍵。既然它的二進(jìn)制代碼的長(zhǎng)度為12位,那么就存在有4096種可能的組合。
就暴力破解而言,破解網(wǎng)站中一個(gè)含有兩個(gè)字符的密碼要比破解12位長(zhǎng)度的二進(jìn)制車庫(kù)開(kāi)關(guān)要難上兩倍或者更多。這是我們?cè)贠penSesame攻擊的攻擊會(huì)話中發(fā)現(xiàn)的一個(gè)最基本的問(wèn)題。
在常見(jiàn)的車庫(kù)和遙控器中,我們準(zhǔn)備使用長(zhǎng)度在8-12位之間的碼值進(jìn)行研究,然后我們發(fā)現(xiàn),一個(gè)遙控器發(fā)送了五次同樣的代碼,并且我們發(fā)現(xiàn)每一位數(shù)值的發(fā)送時(shí)間需要2毫秒,然后在所有數(shù)值發(fā)送完成之后,會(huì)有一個(gè)2毫秒的等待周期。所以,一個(gè)12位的密碼組合可能會(huì)需要(12位 * 2毫秒傳輸時(shí)間 * 2毫秒等待時(shí)間 * 5次 = 240毫秒)。如果對(duì)所有的8,9,10,11和12位密鑰空間執(zhí)行暴力破解,那么情況就會(huì)是下面這樣:
(((2 ** 12)*12) + ((2 ** 11)*11) + ((2 ** 10)*10) + ((2 ** 9)*9) + ((2 ** 8)*8)) = 88576位
88576位* 4毫秒 * 5傳輸時(shí)間 = 1771.52秒 = 29分鐘
所以,打開(kāi)一個(gè)8-12位密碼的車庫(kù)大門會(huì)需要29分鐘(假設(shè)你已經(jīng)知道了遙控的頻率和波特率,這兩個(gè)參數(shù)都是很常見(jiàn)的)。如果你已經(jīng)嘗試了幾種不同的頻率和波特率,那么你所需要的時(shí)間可能會(huì)是很多個(gè)29分鐘。
雖然這算不上很糟糕,但我們可以做得更好。
初始還原
我們?cè)谶€原操作中最先嘗試的就是移除轉(zhuǎn)發(fā)機(jī)制。代碼我們只傳輸一次,而不是同原先一樣每次傳輸都要發(fā)送5次信號(hào)。傳輸多次數(shù)值信號(hào)能夠幫助遙控器檢測(cè)信號(hào),防止干擾。
1771.52秒 / 5 = 354.304秒 = ~6分鐘
干的漂亮!
現(xiàn)在,當(dāng)我們?cè)趯?duì)車庫(kù)進(jìn)行暴力破解測(cè)試時(shí),我與某人進(jìn)行了交談,Mike Ryan建議我將代碼傳輸期間的等待周期移除掉,然后看看我是否還能夠連續(xù)傳輸每一個(gè)代碼。
這樣是可以實(shí)現(xiàn)的,而且將傳輸所有代碼所耗的時(shí)間縮短了將近50%!這簡(jiǎn)直難以置信。
1771.52秒 / 5 / 2 = 177.152 秒 = ~3 分鐘
雖然這算不上很糟糕,但我們可以做得更好。
OpenSesame攻擊
當(dāng)我們查看我們所發(fā)送的數(shù)據(jù)之后,我們現(xiàn)在將發(fā)送連續(xù)的比特流。例如:
-
(code #1) 000000000000
-
(code #2) 000000000001
-
(code #3) 000000000010
-
(code #4) 000000000011 等等, 外觀看起來(lái)如下:000000000000000000000001000000000010000000000011
硬件
Im-ME
Mattel公司的IM-ME工具已經(jīng)停產(chǎn)了,但還是可以在亞馬遜或者eBay網(wǎng)站上購(gòu)買到,價(jià)格從12$到100$不等。
這種工具最初是用于好友間通訊的。它使用了CC1110,一種sub-GHz RF SoC,以及LCD顯示器,背光照明設(shè)備以及電源裝置等等,這些對(duì)于黑客來(lái)說(shuō)都是極其有用的,他們可以用這個(gè)設(shè)備來(lái)向他們的好友發(fā)送信息,或者攻擊他們的好友。
現(xiàn)在,我們便可以制作我們自己的設(shè)備了,但令人欣慰的是,這些所有我們所需要的東西已經(jīng)全部打包好了。
GoodFET
我使用了Travis Goodspeed的GoodFET設(shè)備來(lái)為IM-ME進(jìn)行編程。
GIMME
軟件
OpenSesame
OpenSesame完整的源代碼可以從我的github上獲取得到:
https://github.com/samyk/opensesame
這個(gè)工程完全基于Michael Ossmann的opensesame項(xiàng)目,該項(xiàng)目上專用于破解車庫(kù)的固定碼的,而且它是OOK/ASK傳輸器的一個(gè)很好的樣板。同樣的,這個(gè)名字是如此漂亮,以至于我不得不使用它,我希望Mike不要介意。
goodfet.cc
正如我在硬件篇中所說(shuō)的,我們使用GoodFET來(lái)加載代碼,然后使用goodfet.cc來(lái)加載Chipcon設(shè)備。
頻率,調(diào)制,解碼器
頻率
目前,我們的假設(shè)是,這些固定pin碼的車庫(kù)和大門的頻率范圍跨度很寬。例如,根據(jù)維基百科的描述,這種無(wú)線設(shè)備的頻率為300MHz至400MHz,這就要求我們發(fā)送100個(gè)額外的相同頻率信號(hào)。然而,經(jīng)過(guò)研究,我們發(fā)現(xiàn)只有下列這些頻率是設(shè)備主要使用的:300MHz, 310MHz, 315MHz, 318MHz和390MHz。
調(diào)制
你可以發(fā)現(xiàn),實(shí)際上所有的這些傳輸器都使用了ASK/OOK來(lái)傳輸數(shù)據(jù)。除此之外,很多信號(hào)接收器都支持使用OOK信號(hào)。這些可以通過(guò)對(duì)幾款車庫(kù)門的控制器進(jìn)行測(cè)試而得到證實(shí)。
編碼器
下面是一個(gè)名單列表,名單中列出了在此類系統(tǒng)中使用的最多的編碼器名稱:
?PT2262, PT2264, SC2260, CS5211, PT2282, PT2240, eV1527, RT1527, FP527, HS527, SCL1527, MC145026, AX5326, VD5026, SMC926, SMC918, PLC168, HCS300, HCS301, HCS201
資源
下面列出了一些可用資源和工具,我所學(xué)習(xí)到的東西大多數(shù)都是從下面這些資源中得到的,我相信你也可以從中學(xué)到很多東西。建議閱讀或使用的工具如下:
-
我在RF中的其他項(xiàng)目:?KeySweeper?(2.4GHz) 和?Digital Ding Dong Ditch?(sub-GHz)
-
Michael Ossmann的IM-ME頻譜分析儀
-
Travis Goodspeed的?goodfet.cc/IM-ME線路
-
Mike Ryan的?思想
-
Michael Ossmann的?RF攻擊
-
Osmocom的?RTL-SDR
-
atlas 0f d00m的?rfcat for IM-ME
-
Michael Ossmann的cc11xx 工具
-
Dave的?IM-ME LCD 攻擊
-
Andrew Nohawk的遠(yuǎn)程攻擊固定密鑰
-
Adam Laurie的You can ring my bell
-
Vegard Haugland的遠(yuǎn)程攻擊車庫(kù)控制器
-
TI的CC111x數(shù)據(jù)表
-
Sdcc的?8051微控制器的編譯器使用指南
聯(lián)系我們
點(diǎn)擊聯(lián)系:@SamyKamkar
你可以在http://samy.pl中查看我更多的項(xiàng)目和工程,或者通過(guò)code@samy.pl與我聯(lián)系。
謝謝大家!
?
本文轉(zhuǎn)自 K1two2 博客園博客,原文鏈接:http://www.cnblogs.com/k1two2/p/4555503.html??,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的OpenSesame:一个能够攻击fixed-pin设备的工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于D-S证据理论的数据融合研究与应用
- 下一篇: 经济数学线性代数第三版课后习题答案