買以太坊 買以太坊
Ctrl+D 買以太坊
ads

LEC:首發 | 干貨分享:加密錢包漏洞利用與分析_TOR

Author:

Time:1900/1/1 0:00:00

區塊鏈技術的迅速發展,使得加密資產逐漸成為大眾的投資方式之一。全球加密資產規模的高速增長使得錢包成為每一個加密資產擁有者不可或缺的資產管理工具。

加密領域里,數字錢包和資金息息相關,越來越多的人意識到了數字錢包安全的至關重要性。

2020年8月9日,CertiK的安全工程師王沛宇與何敏之在DEFCON區塊鏈安全大會上發表了演講主題為:ExploitInsecureCryptoWallet的主題報告。

加密錢包是一種存儲私鑰和/或公鑰的設備、程序或服務。因為加密貨幣是虛擬的,所以加密錢包不能用來存放現實中的錢幣。但當我們進行交易時,加密錢包可以使用用戶的私鑰來為交易簽名,并在區塊鏈上進行廣播。

加密錢包有不同的種類,比如軟件錢包和硬件錢包。本次演講將重點關注網頁錢包和桌面錢包。

網頁錢包

這是一個典型的網頁錢包界面,它就是我們CertiK的Deepwallet錢包。用戶可以在這個界面中看到賬戶余額以及發送貨幣的選項,因為這是一個基于COSMOS的錢包,所以具有委托功能。

當談論到網頁應用安全問題時,我們最先想到的就是“開放式Web應用程序安全項目”的十大安全漏洞。

以下是CertiK安全工程師調查的27款網頁錢包中“OWASPTop10”的十大安全漏洞的一些統計數據。CertiK安全工程師在3款錢包中發現了跨站腳本攻擊,在此選取2例進行案例研究。

我們在一個去中心化錢包里發現了一個SqI注入漏洞。但是它的數據庫只包含了交易數據,由于區塊鏈中的交易數據已經公開,利用Sql注入來偷取數據并沒有什么意義。由于也沒有辦法利用SqI注入實現后臺代碼執行,在這種情況下,這個SqI注入攻擊是沒有多少實際影響的。

LBank藍貝殼于4月9日16:50首發 BOSON:據官方公告,4月9日16:50,LBank藍貝殼首發BOSON(Boson Protocol),開放USDT交易,4月9日16:00開放充值,4月12日16:00開放提現。上線同一時間開啟充值交易BOSON瓜分10,000 USDT。

LBank藍貝殼于4月9日16:50開啟充值交易BOSON瓜分10,000 USDT。用戶凈充值數量不少于1枚BOSON ,可按凈充值量獲得等值1%的BOSON的USDT空投獎勵;交易賽將根據用戶的BOSON交易量進行排名,前30名可按個人交易量占比瓜分USDT。詳情請點擊官方公告。[2021/4/9 20:02:26]

此外,這個去中心化錢包內的某個API的訪問權限存在漏洞,未經授權的用戶可以篡改其他人的2FA設置,但是沒辦法利用這個漏洞去盜取別人的賬戶里面的資產。

有很多網頁錢包都缺少安全標頭(header),例如ContentSecurityPolicy(CSP)和“X-Frame-Options”的標頭,這會使得錢包容易遭到點擊劫持攻擊。

一些錢包還在用早已過時的JavaScript庫和存在CVE的Nginx/Apache服務器,這些漏洞同樣無法直接被利用。

CertiK安全工程師暫未發現任何處理XML格式數據的錢包,也沒有發現有錢包進行了任何反序列化操作,所以沒有發現XXE以及反序列相關的漏洞。關于日志和監控方面,也暫時沒有更多信息。

案例一:去中心化網頁錢包的DOMXSS漏洞

LBANK藍貝殼于3月22日18:00首發 DORA,開放USDT交易:據官方公告,3月22日18:00,LBANK藍貝殼首發DORA(Dora Factory),開放USDT交易,現已開放充值。

資料顯示,Dora Factory 是基于波卡的 DAO 即服務基礎設施,基于 Substrate 的開放、可編程的鏈上治理協議平臺,為新一代去中心化組織和開發者提供二次方投票、曲線拍賣、Bounty 激勵、跨鏈資產管理等可插拔的治理功能。同時,開發者可以向這個 DAO 即服務平臺提交新的治理模塊,并獲得持續的激勵。[2021/3/22 19:07:06]

這是一個去中心化的網頁錢包的DOMXSS漏洞案例。這個錢包支持單一協議,并擁有網頁錢包的所有基本功能。

存在漏洞的功能

此應用程序會保存上次的訪問位置:用戶用密碼解鎖錢包后,會重新跳轉到解鎖之前的頁面,下圖是實現此功能的代碼。如果你有測試網頁應用程序的經驗,就知道這種情況很有可能存在DOMXSS漏洞,本案例就是如此。

DOMXSS

DOMXSS需要Source和Sink。Source是應用程序收到非可信數據的位置,然后會將其傳遞給Sink。當用戶訪問此鏈接時,“window.location.search”將返回?"?returnTo=/validators",然后“{returnTo}”會包含"/validators"。

Sink是處理來自Source的非可信數據的地方,因此Sink在這里是:“window.location.href”,如果用戶輸入“returnTo=/validators”。錢包返回到“/validators”,即轉到驗證者頁面。如果輸入“returnTo=javascript:alert(1)”,將在瀏覽器中彈出alert窗口。

首發 | imKey正式支持Filecoin,成為首批Filecoin硬件錢包:12月1日,隨著imToken2.7.2版本上線,imKey同步支持Filecoin,成為業內首批正式支持FIL的硬件錢包。Filecoin作為imKey多鏈支持的優先級項目之一,成為繼BTC、ETH、EOS和COSMOS四條公鏈后的第五條公鏈。

據悉,imKey團隊已在Q4全面啟動多鏈支持計劃,計劃實現imToken已經支持的所有公鏈項目,本次imKey升級更新,無需更換硬件,不涉及固件升級,通過應用(Applet)自動升級,即可實現imKey對Filecoin的支持及FIL的代幣管理。[2020/12/2 22:52:32]

Keystore和Password

這個錢包屬于去中心化的網頁錢包。用戶創建帳戶或導入帳戶后,Keystore和Password都存儲在本地存儲中。

使用JavaScript讀取本地存儲

JavaScript能夠讀取本地存儲中的信息。在本案例中,鍵值數據顯示為存儲在本地存儲中的“HelloWorld”。JavaScript就可以執行LocalStorage.getItem獲取“World”。

利用DOMXSS

那如何利用所發現的DOMXSS漏洞來竊取本地存儲中的Keystore和Password呢?

在下面的這個URL中,它可以讀取Keystore和Password的內容,并將其發送到黑客的服務器。在黑客的服務器日志中,可以直接看到Keystore內容和Password。一旦掌握了這些信息,就相當于控制了用戶的賬戶,可以登錄到他們的錢包并將錢轉出。

動態 | 可信教育數字身份在廣州白云區首發 采用區塊鏈等技術:12月25日,可信教育數字身份(教育卡)廣東省應用試點首發儀式與應用研討在廣州市白云區舉行。

據介紹,可信教育數字身份融合采用國產密碼、區塊鏈等核心技術,創新簽發“云計算、邊緣計算、移動計算”網絡環境下的一體化數字身份,實現一體化密鑰管理,構建“可信教育身份鏈”。(中國新聞網)[2019/12/25]

修復方法

該網頁錢包廠商的修復方法為,每當用戶解鎖錢包,網頁錢包總會重定向到個人主頁,從而不給攻擊者任何插入惡意代碼的機會。

案例二:托管網頁錢包中的反射型XSS漏洞

第二個案例研究是關于某個托管網頁錢包中的反射型XSS漏洞。托管網頁錢包是由服務器管理所有私鑰。如果要登錄錢包應用,用戶要通過電子郵件接收一次性密碼。此案例中的錢包支持16種不同貨幣,具備所有錢包的基礎功能以及一個附加功能,稱作“推特贈送”。

API操作

API的URL格式類似于“/API/{endpoint}”,例如獲取用戶交易信息的API即為“/apiUser/cloudTrans”。

如果訪問一個不存在的API端點,如“/api/test”,服務器將返回帶有錯誤消息的頁面,如下圖“無法解析請求”。此外,我們發現鏈接中的內容出現在了服務器返回的頁面中。

這代表著一個信號:如果后臺不對用戶輸入進行任何處理或編碼,就有可能遭到反射型跨站點腳本(ReflectedXSS)攻擊。

alert(document.domain)

首發 | 劉堯:百度區塊鏈推出天鏈平臺賦能鏈上業務:12月20日,由CSDN主辦的“2019中國區塊鏈開發者大會”12月20日在北京舉行。百度智能云區塊鏈產品負責人劉堯以《企業區塊鏈賦能產業創新落地》為主題進行了演講,他指出:2020年將是區塊鏈企業落地的元年,為了支持中國區塊鏈的產業落地,百度將區塊鏈進行平臺化戰略升級,依托百度智能云推出天鏈平臺,就是要賦能360行的鏈上業務創新落地。[2019/12/20]

在此錢包的API請求后面加上以下內容:”

應用程序會彈出窗口。這是一個托管的的網頁錢包,私鑰歸服務器管理,因此無法像第一個案例那樣直接竊取用戶信息。在這個案例中,我們的計劃是嘗試利用這個漏洞來劫持用戶賬戶。

Cookie

用戶登錄后,其會話令牌存儲在“PHPSESSID”cookie中,而這個錢包的特殊之處在于這個令牌并沒有“HttpOnly”。如果Cookie設置了HttpOnly,瀏覽器將阻止JavaScript訪問這個cookie。換句話說,它可以抵御攻擊者通過跨站點腳本攻擊(XSS)竊取cookie中的會話令牌。

獲取會話令牌

由于本案例的會話令牌中沒有HttpOnly,所以可以通過跨站腳本攻擊,讀取cookie內容并且發送到自己的服務器。獲取會話令牌后,就可以用它來登錄受害者的帳戶。既然有了會話令牌,就是時候來一波洗劫一空了。

入侵錢包的最終目標大部分情況下是竊取用戶資金,但還存在一個問題,因為在進行貨幣交易時還需要2FA驗證。在這一點上,黑客既不能重置2FA,也不能禁用2FA,因此,攻擊者需要想辦法繞過2FA驗證。

繞過2FA驗證

前面提到,這個錢包有一個推特贈送功能:當用戶進入此功能界面時,它會詢問用戶想要贈送什么類型的貨幣、贈送多少貨幣以及贈送多少人。

通過這個截圖可以看到,用戶最多可以贈送2個比特幣。

當用戶設置好了贈送活動,其他人需要先點擊關注,艾特3個朋友并轉發此贈送推文,只要完成這些步驟,就可以去領獎了。

但問題就出在這個功能不需要2FA!攻擊者可以通過反射型XSS,盜取受害者會話,登錄受害者賬戶,創建很多贈送活動,然后自己去申領獎勵。這樣就可以把受害者的賬戶余額全部取出。

修復方法

廠商對輸出進行HTML編碼,這樣解決了XSS漏洞。同時為含有會話令牌的“PHPSESSID”Cookie設置“HttpOnly”。

這樣一來,即便應用程序受到跨站點腳本攻擊,攻擊者也無法直接竊取賬戶的會話令牌。

桌面錢包

桌面錢包是一種在蘋果操作系統、Windows和Linux上運行的應用程序。桌面錢包都使用了什么框架呢?

CertiK安全工程師研究了18款桌面錢包,其中QT、DotNet,Java各一個,其余15個使用了Electron框架。這部分的案例研究將探討DotNet桌面錢包的服務器遠程代碼執行漏洞,以及Electron錢包的客戶端遠程代碼執行漏洞。

案例一:DotNet桌面錢包的服務器遠程代碼執行漏洞

下文分析在桌面錢包中發現的一個遠程代碼執行漏洞。

首先介紹一下背景:這個錢包是一個去中心化的單一協議錢包,用C#語言編寫,使用了DotNet框架。它包含許多常見的錢包功能,如帳戶管理、交易轉賬和部署/調用智能合約等。

比較有趣的是,它還允許用戶上傳文件到服務器。這功能在錢包中并不常見,所以我們決定進一步研究這個功能。如前所述,這個錢包是基于DotNet的,如果沒有對代碼進行混淆,就很容易通過反編譯來獲取源代碼。此案例錢包正是這種情況,因此我們能夠恢復其源代碼來進行進一步的分析。

靜態源碼分析

在對可執行文件進行反編譯之后,我們找到了實現文件上傳的源代碼,如下面的代碼片段所示。

錢包向服務器發送一個HTTPPOST請求并返回文件上傳URL,“upload.php”是服務器上的處理文件上傳的代碼。現在我們知道服務器后臺使用了PHP,因此,如果可以上傳一個PHPWebshell到服務器并在瀏覽器中打開它,我們可能就能夠在服務器上遠程執行代碼。

文件上傳

在成功地用錢包上傳了一個PHPwebshell文件之后,CertiK安全工程師嘗試著在瀏覽器訪問上傳的文件。成功的訪問了上傳的Webshell,并能在Webshell中執行命令。

我們同時發現該錢包的服務器是在“administrator”用戶下運行的,因此能夠以“administrator”權限執行命令。在這種情況下攻擊者能夠完全地控制這臺服務器,并且能夠操縱其他用戶上傳的文件。但是,由于這是一個去中心化的錢包,服務器不會存儲任何用戶私鑰,所以此漏洞無法被利用來直接危害用戶帳戶。

修復方法

修復是非常簡單的,開發人員直接刪除了文件上傳功能,這樣就不必再擔心這個安全問題了。這是一個很好的辦法,因為加密錢包應該盡可能地保持功能上的簡潔,以此來避免安全問題。接下來,再來談談Electron錢包的安全問題。

案例二:桌面錢包客戶端遠程代碼執行漏洞

Electron是什么?為什么要用Electron?

Electron是一個開源軟件框架,它讓開發人員能夠使用HTML、CSS和JavaScrip來構建跨平臺的桌面應用程序。

使用Electron的好處是開發人員可以重復利用網頁應用程序代碼來構建桌面應用程序,也就是說不需要找另外的代碼庫,也不需要學習新的編程語言。

在調試Electron應用程序時,使用谷歌瀏覽器的DevTools會非常容易。Electron應用程序可直接在操作系統上運行,因為它可以訪問Node.js模塊,所以也就可以構建比網頁應用程序更強大的桌面應用程序。

今年六月,CertiK安全團隊在Symbol桌面錢包中發現了一個遠程執行代碼漏洞,并將該漏洞提交到了Symbol漏洞賞金計劃。詳情請點擊https://mp.weixin.qq.com/s?__biz=MzU5OTg4MTIxMw==&mid=2247486715&idx=1&sn=6b2eae1a0caa2613123ebae9fe53938b&chksm=feaf6869c9d8e17f3424a6188824b330f7be29f31b710e377f23a1386226097a364e8e0a3e78&scene=21&token=890409175&lang=zh_CN#wechat_redirect

總結

無論是由內部安全團隊還是第三方公司執行安全審計和滲透測試,對于確保系統的安全性都是至關重要的。專業的安全人員會試圖從“惡意黑客”的角度來破壞系統,幫助在真正的黑客利用漏洞之前識別和補救漏洞。

Tags:LECTOR區塊鏈ECTElectroneumtorn幣未來價格預測區塊鏈專業好找工作嗎electronicmedia

火必下載
DEFI:8.15以太坊的持續破位新高,趨勢像泡沫行情,近期的瀑布插針爆發_ggbtc

做投資不論什么品種都是做大局觀,股票、期貨、現貨等等,我們可以不去做大局觀但至少要有大局觀,每天像蒼蠅式的操作能盈利才見鬼了,不要總是漲了就看多,跌了就看空,這是很沒道理的事情.

1900/1/1 0:00:00
USD:金生論幣:8.17大餅早間操作思路_TrustUSD

?日線圖上看,K線連續呈陽,價格上行已經在逼近布林帶上軌附近,但是多次向上試探止步于12000下方,由此可見11900區域存在較強拋壓.

1900/1/1 0:00:00
TER:金幣天下:再次走出V字形態,震蕩格局重現,迎來破位良機_以太坊

周一早上好!金幣天下謹代表幣達人分析團隊:給各位朋友帶來清晨的一聲問候!沒有永久的單邊,也沒有永遠的震蕩,投資市場沒有一成不變的行情,如同沒有一帆風順的投資者一樣.

1900/1/1 0:00:00
Aptos:曉風:8.16 本周總結!比特幣到達關鍵點位,蓄力后將再次爆發!_比特幣

長期關注的朋友會發現,曉風老師平均每天都會更新一篇分析建議貼,來幫助一些操作迷茫的朋友。不過因為時間精力有限,最短周期也只能壓縮到每日一更的周期,介于此,曉風是以長線為主、短線為輔的的思路來分析.

1900/1/1 0:00:00
AUR:幣圈啟明燈:啟明老師不睡覺,大晚上躲在窗邊究竟在干啥_Dragon Crypto Aurum

啟明老師不睡覺,大晚上究竟在干啥,昨天以太坊行情又引爆了一波數字貨幣市場,多少人徹夜難眠,輾轉反側,但是對于對的老師來說,又是一波吃肉的行情.

1900/1/1 0:00:00
1INCH:DEX聚合交易平臺總結與展望_INC

隨著DeFi的火熱,去中心交易所的數量急速攀升,DEX聚合交易平臺的重要性也隨之增加。DEX聚合平臺(1inch,?0xAPI,?DEX.AG,?Paraswap,?Totle)將各個dex的分.

1900/1/1 0:00:00
ads