好的,稍早之前,我們曾經報導過「支援Windows XP的勒索病毒 Wannacry解密 工具 但是有使用條件限制」,裡面提到了,勒索病毒 WannaCry 在加密的過程中,會遺留加密金鑰在記憶體中,就有資安人員找到了從記憶體中挖掘金鑰的方式,進而找到製作 WannaCry解密 工具的方式,但是當時他推出的程式僅支援 Win XP,不過隨即就有其他高手以此為概念,製作了大多數 Windows 版本可用的WannaCry解密 工具- WannaKiki 。
WannaCry解密 工具 WannaKiki 問世
法國廠商 Quarkslab 研究人員 Adrien Guinet 發現,Wannacry 使用 兩組質數來產生金鑰,接著讓Windows 的 API 此用金鑰來進行 RSA 加密,但是在產生金鑰的過程中,Wannacry 會將用來產生金鑰的「質數」留存在電腦的記憶體中,所以他透過從記憶體中挖掘這個金鑰的質數,進而反推取得解密用的金鑰。不過由於每個版本的作業系統對於記憶體的控管並不相同,所以他的方法僅限於在 Windows XP 上使用,而且你的電腦還不能重開機。
什麼是質數?其實就是我們以前數學學過的,它的特色就是不能被因式分解,而且產生是沒有一定的規則,現行通常都是把質數拿來當作產新金鑰的元素(或是拿質數直接當作金鑰,看作者高興。)如果我們把加密的方式當作是一種數學公式的話,當你的電腦在運算加密過程的時候,其實也就是把檔案/訊息丟入加密的公式中,搭配「質數」產生出來的金鑰,來計算出一個亂數的結果,接著要解密時,就是把這個亂數跟金鑰丟入加密的公式中,反推回尚未加密的檔案/訊息。
簡單來說,只要取得「質數」,知道產生金鑰的方式,還有加密的方式,就可以把被加密的東西還原。而當 Adrien Guinet 發現這個方法後,就有世界各地的高手們接手研究,把他提出來的概念做得更加完善,並且是用於許多版本的 Windows 作業系統中。目前的成果就是今天要介紹的 WannaKiki。
WannaKiki 的運作原理,就是找到勒索病毒 WannaCry 加密的過程中,遺留在電腦的記憶體中的「質數」,進而透過這個方式來產生解密金鑰。不過由於是要從電腦記憶體中撈取資料,所以要使用 WannaKiki 的話有以下兩個條件:
1.電腦不能重開機,因為重開機後,記憶體內所有的資料會被全部清除。
2.記憶體內的檔案不能被覆蓋,我們在電腦上每做一件事情,都會使用記憶體來進行資料的快取,所以記憶體內的資料很容易被新的檔案給覆蓋掉。
WannaKiki 目前已經確認在 Windows 7、Windows XP、Windows Vista,Windows Server 2003 和 2008 上可以正常使用。使用者要使用的話,可以從 Github 上下載他製作好的 WannaKiki 壓縮包,解壓縮後執行裡面的「wanakiwi.exe」,接著你會看到一個 DOS 視窗,它就會自動開使搜尋你記憶體內的質數。如果有找到的話,WannaKiki 就會幫你進行解密的動作。
↑下載這兩個其中一個,然後解壓縮後執行裡面的執行檔。
以上,希望被加密的人都可以用此方式來還原自己的檔案,如果你擔心你的電腦中獎的話,請閱讀這篇「趨勢科技推出WannaCry檢查漏洞工具 還不放心的請快點下載檢查吧」,來幫你的電腦檢查吧。
相關連結
WannaKiki下載網頁