国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

如何奪回“被勒索”的文件?

2015-04-16 11:02:48田野
關(guān)鍵詞:個字符字符串勒索

■田野

被勒索軟件 “綁架”了咋辦?Cylance高級威脅研究員Derek Soeder在本文中與大家分享了如何對勒索軟件進(jìn)行逆向工程以恢復(fù)加密用戶文件的密碼。下面我們來看看Soeder都做了哪些操作,來恢復(fù)被勒索軟件“綁架”的用戶數(shù)據(jù)(由于篇幅有限,一些技術(shù)步驟在記敘中被跳過了……)。

挑戰(zhàn)勒索軟件

2013年初,有一家機(jī)構(gòu)向我們尋求幫助,請求恢復(fù)他們被勒索軟件ACCDFISA感染的服務(wù)器中的數(shù)據(jù)。這個惡意軟件已經(jīng)仔細(xì)掃描了每個驅(qū)動器上的每一個文件,并且對所有重要文件進(jìn)行了惡意加密。想要從備份恢復(fù)完全是不可能的,因?yàn)榉?wù)器上的備份驅(qū)動同樣已經(jīng)安裝了惡意軟件。這真的是一場完?。?/p>

這個惡意軟件讓每個文件變成了一個包含加密RAR的自解包程序,同時(shí)文件名帶有指令:(??!解密電子郵件id…到…@…??! ).exe。

這個變體聲稱使用了256字符隨機(jī)生成這一高級加密標(biāo)準(zhǔn).256對每個“受害者”進(jìn)行單獨(dú)加密,同時(shí)攻擊者可以遠(yuǎn)程存儲這些密碼。據(jù)稱這種加密方式可以安全地刪除所有未加密原文件以及密碼文件,來對恢復(fù)硬盤的努力進(jìn)行阻礙。

試圖找到解壓軟件加密中的一個漏洞似乎并不是最有效的解決思路;相反,我們要把注意力轉(zhuǎn)向破解密碼上。為此,我們需要找到創(chuàng)建密碼的代碼。

找到密碼生成器

在對受感染服務(wù)器的驅(qū)動副本進(jìn)行反復(fù)查看之后,我們發(fā)現(xiàn)惡意程序和一些奇怪的文件可能有關(guān)系。我們發(fā)現(xiàn)微軟Sysinternals的刪除工具、一個“NoSafeMode”庫以及一個用于自解包程序的RAR實(shí)用程序。而RAR實(shí)用程序則成為我們進(jìn)行逆向工程的起點(diǎn)。

這個實(shí)用程序接受加密秘鑰作為一個命令行參數(shù),所以我們猜測能夠通過回溯用于啟動的惡意軟件代碼,從而找到密碼生成器。

首先,我們在一次性系統(tǒng)中運(yùn)行此勒索軟件。我們用調(diào)試器來攔截生成過程的調(diào)用,啟動RAR實(shí)用程序,偽裝成svchost.exe。這樣我們就能看到勒索軟件執(zhí)行的每個命令,以及最終用于加密文件的密碼。截獲的密碼為aseT322B2XgM(mC0…有57個字符長,大小寫、數(shù)字、標(biāo)點(diǎn)符號混合通過一個點(diǎn)擊動作就隨機(jī)生成)。而以aes開始的密碼可能是巧合,或是有意而為的點(diǎn)綴。如果是故意的,那么我們期望可以找到勒索軟件代碼中的字符串。當(dāng)我們打開勒索軟件反匯編程序時(shí),我們發(fā)現(xiàn)不只是aes,而是aesT322。我們因此知道密碼實(shí)際上是aesT322以及后面大約50位隨意生成字符。

我們知道截獲的密碼不一定與加密客戶文件的密碼相同。但是我們已經(jīng)知道一些線索來指導(dǎo)我們下一步逆向工程:我們可以尋找密碼本身或者碎片,尋找可能用于生成密碼的字符表,以及尋找用于構(gòu)建命令行密碼部分的字符串。

我們使用調(diào)試器尋找勒索軟件運(yùn)行時(shí)被分配到全局變量的值,通過逆向工程,我們確認(rèn)了一個全局變量:一個是aesT322前綴字符串,另一個是50位隨機(jī)字符的字符串,以及57位的完整密碼。

搞清楚生成器工作原理

通過在程序中跟蹤每個實(shí)例中的三個變量,我們發(fā)現(xiàn)一個循環(huán),就是隨機(jī)選擇的50個字符來自一個由26個小寫字符、26個大寫字母、10個數(shù)字以及16個標(biāo)點(diǎn)構(gòu)成的78個字符表,其中有重復(fù)。計(jì)算機(jī)很難實(shí)現(xiàn)真正的隨機(jī)。想要打敗加密的一個方法便是攻擊“偽隨機(jī)數(shù)生成器”(PRNG),而這就是我們真正要做的。

最終我們發(fā)現(xiàn)了初始化的PRNG,或說是去了“種子”的,這是一段帶有來自執(zhí)行此代碼線程標(biāo)識符的32字節(jié)數(shù)字,以及以毫秒為單位系統(tǒng)運(yùn)行的時(shí)長。這些都是可以預(yù)測的值。由于32字節(jié)的種子,我們現(xiàn)在了解到最多可能有40億種不同密碼,而非真正從78個字符中隨機(jī)產(chǎn)生出50個字符而存在的天文數(shù)字般可能性。

原因是之前提到的,即使在隨機(jī)行為中計(jì)算機(jī)也通常運(yùn)用了僵化的決定方式。而對于任意給定的種子值,PRNG可以在任何時(shí)間從初始值以相同順序、相同方式、產(chǎn)生相同的數(shù)字。而種子是32字節(jié)的數(shù)字,那么就存在0到10億的可能性,因此相同初始狀態(tài)存在的可能領(lǐng)域是大大受限的。

猜密碼

一個包含40億個密碼的列表是恐怖的。但我們知道了種子是依賴于一個線性ID的(它是四的倍數(shù)),通常少于10000和系統(tǒng)正常運(yùn)行周期。在49.7天的進(jìn)程中,正常運(yùn)行時(shí)間將從0數(shù)到40億,然后環(huán)繞一圈再次回到0。我們需要了解服務(wù)器在被攻擊之前運(yùn)行了多久——可能通過一個文件時(shí)間戳或一個時(shí)間日志條目——來縮小可能性的范圍。但是我們發(fā)現(xiàn)了一些更好的情況。

在所有奇怪的文件中,我們發(fā)現(xiàn)一個在ProgramData目錄下的stppthmainfv.dll,帶有21行每行含有8個隨機(jī)字母。我們決定逆向操作,用“暴力”破解所有存在可能的種子值,找出哪個可能讓PRNG產(chǎn)生出這21行的。由于這是一個32位的字符串,我們知道在一臺正常電腦上搜索應(yīng)該不會超過幾個鐘頭。這樣就會比使用所有潛在密碼破解RAR實(shí)用程序速度快得多。

一個單核CPU4秒鐘便可測試31956209種存在的可能性,同時(shí)找到stppthmainfv.dll中相同順序的字母生成的31956208個種子值。我們生成了大約12MB的密碼列表與種子值進(jìn)行測試 (比測試236GB大小的40億中可能要強(qiáng)太多了)。我們通宵運(yùn)行了一批程序,針對RAR實(shí)用程序進(jìn)行密碼逐個測試。

當(dāng)清晨降臨,我們已經(jīng)獲得了那個我們一直在等待的——正確密碼。實(shí)驗(yàn)成功了!最終,我們成功從勒索軟件中奪回了用戶的數(shù)據(jù)。

猜你喜歡
個字符字符串勒索
情緒勒索:警惕以愛之名的傷害
看世界(2021年11期)2021-06-08 11:29:44
遭遇勒索
勒索
獲獎產(chǎn)品介紹:對勒索病毒說不
——美創(chuàng)科技“諾亞”防勒索系統(tǒng)向勒索病毒“宣戰(zhàn)”
不讓長文件名成為“絆腳石”
電腦迷(2014年8期)2014-04-29 07:37:40
一種新的基于對稱性的字符串相似性處理算法
依據(jù)字符串匹配的中文分詞模型研究
一種針對Java中字符串的內(nèi)存管理方案
工資報(bào)表計(jì)算機(jī)軟件論述
卷宗(2011年9期)2011-05-14 17:51:19
小改字符串讓殺毒軟件閉嘴
莱阳市| 安庆市| 肥乡县| 江华| 健康| 金乡县| 堆龙德庆县| 新绛县| 马关县| 辛集市| 邵武市| 海南省| 淳化县| 宁夏| 竹山县| 贺兰县| 台北市| 区。| 民乐县| 石林| 丁青县| 云阳县| 永德县| 平利县| 浮梁县| 天津市| 禹州市| 依安县| 甘谷县| 双辽市| 咸丰县| 丘北县| 兰坪| 上犹县| 新密市| 株洲县| 离岛区| 彰化县| 普格县| 海晏县| 汽车|