https://www.facebook.com/photo.php?fbid=10216019118603397
分享資安前輩 Kuon大大文
剛好上禮拜收到了一座 WD DUO 3TB*2 Raid 1
用戶說沒有設定密碼
就算沒有設定用戶密碼 一樣有eDEK密鑰
預設就是全扇區AES硬體加密
拿起昂貴資料救援設備來分析.
PC3000 跟MRT,從韌體Module 25,38讀出來
WTF?Keyblock (eDEK不正確)解密錯誤...
好 OSSLab Geek Lab還算看得懂論文跟原始碼
eDEK除了韌體外,在硬碟Lba也有備份
https://github.com/andlabs/reallymine/issues/45…
不同晶片的 Keyblock LBA位置
3 TB 5860528160
3 TB 5860529539
3 TB 5860533120
都翻過了 都是00 都沒有eDEK...
學前文Kuon大大查簽名
57 44 76 31
53 59 4D 57
53 49 6E 45
57 44 01 14 都失敗.
https://github.com/andlabs/reallymine/issues/15…
這案子搞到頭有點痛..看起來是都沒有人對WD DUO JMS561做過完整加解密分析.如果如同前文只是主控版損壞那就簡單..晚點再從與Usb to Bridge EEPROM內找看看eDEK
看不懂前文請先看這篇
https://www.osslab.com.tw/wd-usb-aes-recovery/
資料救援真的不一定會100%成功,只是我們會盡力研究與處理.
#OSSLab
咚!
#資料救援
這兩天剛好有朋友資料掉了,也是 WD 外接硬碟系列,來分享我今年的處理過程。
這篇會是個長篇,各位看倌要有心理準備 XD
也因為早就預期是個長篇,所以想了很久卻一直沒有開動。
====
[為什麼需要救援]
7 月份辦公室事故,樓下的高溫粒子沿著 1) 管道間 或 2)玻璃帷幕與牆壁中間的夾縫 亂竄,管道間旁,除了窗戶冷氣外,還堆了一堆易燃雜物 (紙 & 塑膠包材),這些雜物熔點一到自燃,所以我在路邊吃冰淇淋的時候,可以看到火苗從窗戶冒出。
吃冰淇淋的同時,我念茲在茲的只有硬碟(裡面的資料),因為備份用的幾十 TB 硬碟平常是離線儲存,擺在鐵櫃裡,而鐵櫃離火源非常接近....
幸好火源在窗戶旁邊,所以很快被發現並被撲滅。
到我可以進入現場,第一件事情就是開鐵櫃,手摸到鐵櫃的第一感覺,更,鐵櫃是溫熱的 :(
最重要的那顆 16TB 硬碟,是鐵櫃內最靠近火源的角落,連外包裝的紙盒都是燙的...,而且紙盒的底部,黏在鐵櫃上,我用力拔出來...
熔化了 :( 心都涼了!(拍一下驚堂木)
由於 1) 當時已經晚上 6 點左右,雖是夏日但天色已晚,室內當然因為事故無光源 2) 事故中間,開放進入現場不到 5 分鐘又撤離,二次燃燒
所以,為了避免可能的三次燃燒(?),當下我就把 16TB 隨手一扔,連放進可以上鎖的鐵櫃都沒有,先搶救其他設備,逃離現場。
因為我以為沒救了。物理毀損ㄟ...
====
[取出硬碟]
事後回想,把那顆硬碟隨便一丟,是個 #潛在的錯誤,因為如果後來建築物又發生什麼狀況,那硬碟可能就真的找不回來了。
我使用的外接硬碟,是 WD My Book Duo 16TB,USB 3.0,外觀可以參考 [1],是亮銀色的外觀。
事故第一晚,我想來想去,都覺得我太心急了,雖然那個外接盒,看起來快要 1/6 的比例熔掉,像是面積用 3x2 六等份排列時缺了一個角,是真的熔了一些東西。
硬碟外接盒,外包裝是紙盒,紙盒內還有一組保麗龍用來固定硬碟外接盒,紙盒在鐵櫃內,鐵櫃還在,紙盒和鐵櫃接觸面僅有焦掉,代表熔點低於這兩者,Google 查了一下保麗龍和塑膠熔點,研判是保麗龍和塑膠被(鐵櫃傳導熱度)熔掉,溫度僅需要 50C~60C,也查了硬碟工作時溫度,大概還撐得住 70C 高溫。
覺得應該慎重點,隔天就去把那顆熔掉的外接盒帶出來研究。
這個外接盒是自帶 2 顆硬碟的,買來插電就可以使用,所以原本也不知道裡面長什麼樣。
前面所提到的,亮銀色部分,研判是熱塑型塑膠,遇熱整個都軟化變形了,變形完一冷,就又固定住了,也就變得很難拆。
我在拆解的時候,很怕塑膠去黏到硬碟的軟板或是堵住氣孔,那就麻煩了,幸好沒有。原來,塑膠裡面是一個(有各種小孔呈網狀的)鐵盒子,硬碟和控制電路板,都在鐵盒子裡面,變形過的塑膠只有黏在鐵盒子外圍。
鐵盒子打開後,硬碟除了有碳粒附著和焦味外,外觀看起來都沒有受損。硬碟拆下來,我就把鐵盒子和塑膠丟掉了。
====
[資料救援前置作業]
事後回想,那個鐵盒子上面還有控制電路版,我在沒有確認電路板(或上面的 ROM)是壞掉的狀況下,就把它丟掉(因為塑膠碎片整個卡在上面,不想聞那個味道),是個 #潛在的嚴重錯誤。萬一外接盒的 1)控制晶片 2) I/O 演算法 3) 金鑰產生方式,依賴硬體,那我就真的救不回來了!!
獲得硬碟之後,因為外接盒(殘骸和那個鐵盒子)被我丟了,所以要再買一組新的。
當我上去 PCHome 看時 (原本的也是 PCHome 買的),我找到的是 [2],同樣都是 WD My Book Duo 16TB,[1] 和 [2] 的區別在一個是 USB 3.0,新的是 USB 3.1。
舊款 USB 3.0 的在別的購物平台有賣,牌價要 2 萬多,新款 3.1 的只要 1 萬 6。
#第一個抉擇來了,要買新款還是舊款?新款便宜個好幾千元,I/O 傳輸速度還比較快 ...
後來我決定打電話,問 WD 的代理商聯強,我還記得是在高鐵接駁車回台南市區的路上。舊款各種容量它們庫存都還有貨,但 16TB 的只剩一台。
#第二個抉擇來了,如果控制晶片都一樣,要買最小容量 6TB 就好,還是要跟原本一樣,買到 16TB?這關乎到 $$$$$$ 啊 ...
我後來決定買舊款,因為我怕新款的控制晶片不同顆,而且買了一樣容量 16 TB,因為在跟聯強工程師通話過程中,得知一個資訊,我覺得我得 Sector-by-Sector 複製了 ....
聯強:「WD 這個系列有 AES 加密」
我 :「我知道,但我沒有開啟,我也沒設過密碼」
聯強:「#就算你沒有設密碼_它還是有一組預設金鑰_而且是硬體加密」
我 :「...」(我瞬間知道這代表的意義,以及對救援難度的增加!!)
SATA-to-USB 轉接線,由於我手上原本的線材也在辦公室,當然得重買新的,跑去北門路買了 2 條。
====
[第一次救援]
在真的討論救援前,讓大家瞭解一下目前的資料架構。
軟體 -- USB -- 硬體
軟體: Data -- Linux EXT4 -- Linux LUKS -- USB
硬體: USB -- Firmware -- HDD
其中,LUKS 作了一次加密,Firmware 層又作了一次加密。也就是將硬碟拔出外接盒的時候,是 2 層加密,LUKS 的密碼是我設的,外接盒 Firmware 設的密碼,#我不知道!!
舊的外接盒中的硬碟,稱為舊硬碟,新的類推。
由於不知道新的控制晶片,會不會偷偷寫入 metadata 到舊硬碟,我不敢貿然的將舊硬碟插入新的外接盒,所以,我直接用 2 條 USB-to-SATA 傳輸線,採用 Linux dd 整顆對拷。
對了,我在拆舊硬碟的時候,有特別注意硬碟的順序。
每一次 copy 前,我都會檢查 3 次命令列參數和磁碟資訊,看看 if 和 of 有沒有設反 (設反就會把舊硬碟資料覆蓋過去....)
#三十小時過去,16 TB 總算拷完
拷完將新硬碟插回新的外接盒 (儘量不使用舊硬碟),這樣就搞定收工了。
.
.
.
.
.
.
.
.
.
.
.
.
.
(USB 接上電腦) WTF!!!Linux 認不到 LUKS Header,這樣代表在 Firmware 那層的解密就有問題了!我可是 Sector-by-Sector 對拷,怎麼會這樣?
#啟動備案,透過 USB-to-SATA 傳輸線直接對新硬碟 I/O,直接在這層就先破密,不使用外接盒。
為什麼會有備案呢,因為我以前讀過 "got HW crypto? On the (in)security of a Self-Encrypting Drive series" 這系列文件 (參考附圖一),知道 WD 外接盒系列加密演算法有漏洞,想說趁這個機會練習一下。
找了一些 GitHub 專案,要來對 WD 外接盒加密過的硬碟,進行破密,結果一直出現錯誤訊息,回去看 Source Code,發現是 Signature 找不到。
回去對照簡報檔 和 Source Code,發現外接盒 Firmware 會將 Metadata 存到硬碟的尾部,為了識別 Metadata,有一組固定的常數 Signature。
沒有找到 Signature,當然就意味著無法讀取正確的 Metadata。仔細讀過工具的 Source Code,發現沒有支援 8TB 的 offset (用來定位硬碟尾部位置),新增了一組我自己算的 offset,還是沒有找到。
有可能是我算錯,所以我改寫了工具,直接在一個比尾部更大許多的範圍,開始暴力搜尋 Signature,還是沒有找到。
囧了,只好直接拿起 Linux hd 指令,看 hexdump 結果,在我搜尋許多位置後,在 4TB 位置,觀察到一件事,就是 4TB 之後的內容都是 0x00!!
不對啊,我記得我這組外接硬碟使用超過 2/3 了,在有加密的情況下 (而且這個情況是雙重加密),不可能大量的 0x00 啊 ...
我重新思考了所有可能性,最後,發現了一件事情,我新買的 USB-to-SATA 傳輸線,外包裝盒寫著 "支援 4TB",它又沒說是 "最大支援 4TB" 阿 @@ TMD 採到雷!!!
我要找的 signature 會配置在硬碟的尾部,也就是 4TB~8TB 之間,傳輸線讀不到,當然找不到。
====
[第二次救援]
第一次救援的時候,我們家三寶還沒出生,中間那個禮拜特別忙,忙完三寶就出來 "Hello World!!\n" 了,所以,第二次救援已經是在月子中心處理的 XD
這次不用(雷雷的) USB-to-SATA 傳輸線了,請家裡人從光華帶了一台 4bay 的外接盒,有確認支援到單顆 8TB,而且故意挑沒有 RAID 功能。
#RAID!各位看完前面的描述,都沒有人注意到這件事情。WD My Book Duo 的 16TB,是由 2 顆 8TB WD 紅標組成。
當外接盒 WD My Book Duo 插進電腦時,預設只會出現一顆外接硬碟。也就是說,這個外接盒的預設模式,要麼是 JBOD 要麼是 RAID 0 (以下通通簡稱 RAID-like)。這也是我前面提到,我必須特別注意,2 顆 8TB 硬碟順序的原因。
#六十小時過去,真 16 TB 總算拷完
.
.
.
.
.
.
.
.
.
.
.
.
.
(USB 接上電腦) WTF!!!Linux 認不到 LUKS Header,這樣代表在 Firmware 那層的解密就有問題了!我可是 Sector-by-Sector 對拷,怎麼會這樣?
#啟動備案的備案,不對,我沒有備案的備案了阿...
我用前面提到的改寫過的工具,直接在一個比尾部更大許多的範圍,開始暴力搜尋 Signature,還是沒有找到。但硬碟尾部是有亂碼資料沒錯。
重新翻閱文件 "got HW crypto? On the (in)security of a Self-Encrypting Drive series" ,你會發現文件是針對 WD 的 My Book 和 My Passport 系列的外接盒,這些都是單顆硬碟的外接盒。我的是 My Book Duo,多了個 Duo 也就多了個 RAID-like 的行為。
很好,我的情況 no prior art .... 那麼現在的硬體處理資料的流程將會是:
#第一種可能,USB -- AES -- RAID-like -- HDD
#第二種可能,USB -- RAID-like -- AES -- HDD
#第三種可能,USB -- 我不知道 -- HDD
而韌體面,Signature 也有可能換一個未知的,但這點和上面的資料流程,都非得對韌體逆向工程才會知道。
我甚至都已經想過,寫 Linux 上的 FUSE 或 dm-* module,自己疊 RAID-like + AES 的透明轉換層 ... 如果我知道 AES 的 Key 的話,#可是我不知道阿。
坦白說,這個時候,我心都涼了,#我真的覺得救回來的機率很渺茫了。
要特別注意,這時候無論是新硬碟在 WD My Book Duo 裡面或是 4bay 外接盒,都無法正確判斷是 LUKS。
我可是 dd 的說,雖然不是 ddrescue,但拷貝過程就算有 bit error,對解密的錯誤擴散過程,也相當有限阿,除非好死不死,bit error 剛好發生在 Metadata 結構吧。
====
[第三次救援]
#這時候有馬比無馬好,有馬才能當活馬醫 XDD
我想說,好,至少我已經有一份 1:1 的備份了,把舊的硬碟按順序,插上新的 WD My Book Duo。
視窗彈出來了,不是小算盤,是 GNOME Disk 彈出來要求我輸入 LUKS 密碼的輸入框,嘿嘿,輸入密碼,16TB Get Back :)
這次前面有一些錯誤,資料能 100% 救回來,真的是運氣好。另外,也是 WD 的演算法有考慮到一些東西,至少沒有完全依賴控制電路板。
#我都已經準備好要逆向韌體了,雖然好玩,但還是資料救回來比較重要!
====
#自己的硬碟自己救
收工。
[1] https://support.wdc.com/product.aspx?ID=134&lang=en
[2] https://24h.pchome.com.tw/prod/DRAA6H-A9008G9W6?fq=/S/DRAA6H
#牆壁文
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
冷氣 晶片 壞 掉 在 amarylliss。艾瑪[隨處走走] Facebook 的精選貼文
沒錯!哀鳳這種東西真的是奢侈品不是必需品,但台灣人過度喜歡比較價格,而不理性看待產品中的差異。包含看不到的「品質」用「服務」。
#適用台灣各行各業
#機長理想國
台灣人是盤子?史上最貴?
我們需要宏觀公正的媒體報導
新聞媒體缺乏教育責任,還瞎起鬨,造成人民觀念偏差,一個產品經由設計製造行銷都有花費成本,其定價策略取決於該國經濟特性,國內基本工資無法上揚,有部分原因來自於過度的報導價格差異,影響了價量經濟發展,造成比較用心的設計、服務、飲食....無法用自己的想法做出價位區隔,只能負擔得起一般薪資給予用心的員工。
媒體應該不能報導價位,只需提供官網連結,讓民眾自行去查,像是iPhone Xs 這種東西,不是必需品,也不是獨佔品,說難聽一點是一種奢侈品,對於一個奢侈品一直嫌貴,只會挑起人民因為慾望而產生的仇恨罷了(忘記自己過度消費的反省),舉凡汽車,名牌包,到飛機的頭等艙.....一直到食品(一蘭拉麵)這些東西的價位一定要回歸一個基本的市場機制,媒體要避嫌的去報導這種破壞自然價格供需的平衡,尤其是參入自己主觀意識(不代表全數人民)像是衛生紙之亂和麥當勞之亂就是媒體過度報導而產生的亂象,油價上漲也不該去報導(引發排隊加油潮),因為貴到負擔不起的時候,就會少人開車而坐大眾運輸,這都是多餘的而且破壞人民價量觀念,進而對自己的過度消費行為找到轉嫁的對象(嫌政府沒作為&或是製造商賺太多),而沒有幫助建立消費者評估自己消費能力後來減低過度消費行為的機制!
在此舉例用故事報導價格有什麼缺乏公正的地方,小李在鬍鬚張工作了兩三年,對於公司開發新產品及良好的服務維繫了部份忠實的客人,他跟老闆反應薪水有點不夠用,老闆也如此覺得,房租扣掉營運成本,實在沒有空間來獎勵用心的員工,所以他覺得利用魯肉飯漲價5元,應該可以提高公司員工的底薪,有三家賣魯肉飯的連鎖企業,每一家都有自己的模式跟企業CI,分別是魯肉飯大王,嘉義滷肉飯,鬍鬚張(舉例),媒體某日發現鬍鬚張魯肉飯漲價5元,就去報導了,但是事實上魯肉飯大王跟嘉義魯肉飯已經比他早漲了半年但是沒有被報導,然後新聞一報導之後鬍鬚張的生意下滑了10%,另外兩家的生意反而提高了一些百分比,哪請問報導的公正性在哪裡?
缺乏全面性的公正客觀條件,就不能去報導價格的變動,不是嗎?
巷口的小吃也有漲五元,沒有被報導,但是民眾吃了無感的時候,就是一個市場價格平衡啊!
#解決方案
政府相關單位要嚴格明定新聞媒體對於市場價格的報導,公正客觀化,甚至禁止浪費篇幅與時間來做價格分化分析,這樣才能維持市場價格的健全,『我不買它,它根本不貴!』
『當你一直嫌一個奢侈品太貴的時候,就是你的慾望超過你的能力了,頭等艙坐不起可以去坐經濟艙,坐不起經濟艙時可以待在家裡跟家人看電視也是很開心的一件事,買不起電視可以出去跑步,買不起跑鞋,就是自己該拚命工作賺錢了!』
#我思故我在
#投資3600億成本製造出來的A12晶片怎麼沒有提是價格提高的因素
#拉麵一碗388元還是有人排隊吃
#賓利新車報價1299萬怎麼不去分析原產地售價
#電費漲價你可以不用開冷氣
#產品的價格比別人貴是因為比別人用心開發產品那有錯了嗎
#HTC也有發表新機怎麼不公平的去報導
#奢侈品VS必需品
#市場價格機制
#嫌貴不是一個媒體該下筆的標題
#定價多少請不要拿來當新聞
#衛生紙之亂
#麥當勞之亂
#鬍鬚張滷肉飯漲5元的報導用意在哪
#報導小7咖啡漲5元以利號召民眾抵制
#新聞媒體絕對是幫兇因為過度報導行銷策略
#如果有台灣人然後也去買了那不就變成了盤子了
#整個新聞只是以嫌貴為出發點
#如果有人不嫌貴的時候不就失去了文章的公正性
https://tw.news.yahoo.com/台灣人是盤子-新iphone台灣與日本差價可買來回機票-01562…
冷氣 晶片 壞 掉 在 貓你兩拳 Facebook 的最佳解答
再看一次菲菲❤
【這是po在社團的原文】
皇天不負苦心狗 #米克斯驚喜包
一年九個月前,我們第一次相遇
那時候的她看起來糟糕透頂…
當時戴著項圈的她直接跳上我們摩托車!
推也推不下去XD
於是我們先帶她去動物醫院掃晶片、體外除蟲
因為家裡有很多貓,加上她會追門口的浪貓…
求助無門的情況下我們只好再將她帶回原處
趁著她到路邊吃草時,我和媽媽把車牽走
躲在一旁看她在幹嘛
當她找不到我們的時候,開始在路上著急尋找
我們蹲在一旁哭
但那時候我們真的覺得不行養狗…
半夜,我們偷偷騎著UBIKE來偷看她
但她已經不見了~
我們想,或許有項圈的她只是出來散步!
或許,她已經回家了。
雖然覺得她可能回家了
但每天我和媽媽出門、回家總是特別繞路
想說能不能再遇見她?
十天,一天都沒能再看到她…
第十天,媽媽告訴我…
「我們放下吧…她可能真的回家了」
就在我們放棄的那天,一回到家打開電腦
我的螢幕第一個畫面竟然就是她!
在流浪動物社團有人PO文說她在大雨中追車追到跌倒
我指著電腦畫面問媽媽「這是她對不對!」
晚上十一點多我們立刻騎車出去找
找到半夜還是沒有看到她
天一亮再去找~
詢問店家、警衛、消防隊「有沒有看到一隻黃色的狗?」
大家都說沒有!
我再問「是一隻看起來皮膚病很嚴重的狗」
大家都有說!
但怎麼找就是找不到她…
下午出發再找,還是沒有。
怎麼這麼大的一隻狗都找不到?!
當時請新莊附近的網友下班時幫忙注意路邊~
有看到請趕快聯絡我們!
沒多久傳來消息,狗狗已經被帶到八里收容所了。
原來…就在我們看到PO文的那個晚上
她已經被送到派出所去了。
隔天早上我們立刻去收容所接她回來~
從她看到我們的那天開始,她有了笑容 !
她從一個完全沒有自信的小女孩變成現在這樣
以前的她不敢抬起頭看人,很自卑…
但現在的她總是自信滿滿抬起頭笑著看著我們
告訴我們她想要什麼😃
後來我們看了她出沒的路線
以及我們找她時詢問的每一個人
原來她循著我們遇到她的地方、到動物醫院的路
十天,每天一直走一直走,來來回回在找我們…
因為就在她大雨中跌倒的那天~
有個住在一樓的婆婆看她可憐要收留她
她停不到兩分鐘就低著頭繼續向前走…
回來後我們先帶她去美容除蚤,健康檢查
將身上看起來糟糕透頂的毛剃掉~
至少,先讓人們看她的眼神友善一點。
帶她去看了好幾位獸醫,想醫治她皮膚的問題
也吃過中藥調理身體
除了讓她吃營養一點(雞肉、牛肉)
能夠爆毛的我都買回來試~
鱉丹、海藻粉、魚油、膠原蛋白、卵磷脂、鱉蛋粉
洗毛精、飼料也都特別挑過
總之能試的我們都試了~
菲菲也努力長出這些毛!
經過了幾個月~身上的毛開始長出來了!
還是有部份看起來一片一片沒毛
不過這都還好~
脖子、屁股這兩個部位毛完全長不出來
我們也有了最壞的打算~
反正她一開始最糟的時候我們就愛她了
現在這個樣子,我們怎麼可能嫌棄她呢?
就在一年半後~菲菲屁股的毛不知不覺長出來了!
只剩下尾巴和大腿後側的毛正在努力中~
去年夏天很熱~我和媽媽自己動手幫她剃毛~
結果爸爸回家臉臭死了!
很生氣一直唸我們幹嘛給她剃毛😤
將近一年的時間,他一看到菲菲的毛就唸我們!
剃毛後,原本長出來的毛又長得很慢
他不准我們再幫她剃毛了!
因為菲菲的毛實在很珍貴阿!
我說「可是夏天很熱欸!剃毛舒服一點啊~」
爸爸竟然說!
「很熱我開冷氣給她吹就好了!不準給我剃!」
那個… 我記得沒錯的話…
當初第一個反對菲菲進門的是爸爸阿🙄