2019-09-09我發在CSDN,這里把我的文章copy過來。
萌新第一次分析病毒
基本信息
| FileName | FileSize | FileType | MD5 |
|---|---|---|---|
| tfukrc.exe | 240,640 Byte | 勒索病毒 | 72ccc18f3038e19273010d45ac2142ce |
簡介
該病毒感染受害主機后,會先創建COM對象來達到反沙箱的效果,刪除自己備用數據流,從自身解密出將會使用的代碼及字符串,檢查TOKEN信息,嘗試提權,然后將自己拷貝重命名為隨機字符串到”MyDocument”目錄下后再刪除自身,監控殺死部分進程CMD、Procexp、mscconfig、regedit、Taskmgr,創建一個優先級最低的線程遍歷全盤指定后綴加密文件,在所有文件夾下都會新建勒索信息的txt和png,最后會刪除卷影拷貝,然后將用戶信息加密后發送出去
流程圖
詳細分析
第一個函數先使用開始時間作為種子,生成一個隨機數,用于生成隨機字符串,這個字符串是后面病毒拷貝時的名稱
創建COM對象,使用COM庫中的DirectShow相關音頻代碼來檢測沙箱
得到自己文件的路徑,并且拼接字符串,拼接出文件的備用數據流:Zone.Identifier,并且刪除文件的備用數據流,用于關閉彈窗警告
獲取到”MyDocument”我的文檔路徑,后面拷貝文件會用到
得到Wow64DisableWow64FsRedirection,解決32位與64位重定向的問題
解密字符串
解密出病毒后面運行會使用的相關字符串
第一次申請內存,解密出病毒將要加密文件的后綴,并將后綴放在一塊申請的內存中,然后將內存的地址賦給一個變量
解密出的文件后綴
重新申請一塊內存空間,將內存地址賦值給變量
跟隨變量中的內存地址,可以再次看見后綴,后面會使用后綴判斷是否加密文件
文件后綴列表如下:
| .r3d | .forge | .wpd | .menu | .rofl | .x1k | .iwd | .hvp1 | .qic | .mrwref |
|---|---|---|---|---|---|---|---|---|---|
| .ptx | .asset | .rtf | .ncf | .dba | .ppt | .kf | .icxs | .bkp | .nrw |
| .pef | .1itemod | .wb2 | .sid | .db0 | .pptx | .mlx | .docm | .bc7 | .orf |
| .x3f | .iwi | .pfx | .sis | .kdb | .pptm | .fpk | .WpS | .bc6 | .raw |
| .srw | .das | .p12 | .ztmp | .mpqge | .mdb | .dazip | .x1s | .pkpass | .rw1 |
| .der | .upk | .p7b | .vdf | .vfs0 | .accdb | .vtf | .x1sx | .tax.gdb | .rw2 |
| .cer | .d3dbsp | .p7c | .mov | .mcmeta | .pst | .vcf | .x1sm | .qdf | .mdf |
| .crt | .csv | .txt | .fos | .m2 | .dwg’ | .esm | .x1sb | .t12 | .dbf |
| .pem | .wIV | .ipeg | .sb | .1rf | .xf | .blob | .wallet | .t13 | .psd |
| .odt | .avi | .png | .itm | .vpppc | .dxg | .drmp | .big | .bsa | .mdbackup |
| .ods | .wma | .rb | .wmo | .ff | .pdd | .layout | .pak | .1tx | .hkdb |
| .odm | .m4a | .cSS | .itm | .cfr | .dcr | .rgss3a | .sr2 | .hplg | |
| .odp | .rar | .js | .map | .snx.1vl | .eps | .ai | .epk | .bay | .sum.sie |
| .odc | .7z | .flv | .WTmO | .arch00 | .jpg | .indd | .bik | .crw | .zip |
| .odb | .mp4 | .m3u’ | .sb | .ntl | .jpe | .cdr | .slm | .cr2 | .w3x |
| .doc | .sql | .py | .svg | .fsh | .dng | .erf | .1bf | .sidd | .rim |
| .docx | .balk | .desc | .cas | .itdb | .3fr | .bar | .sav | .sidn | .psk |
| .kdc | .tiff | .xxx | .gho | .itl | .arw | .hkx | .re4 | .bkf | .tor |
| .mef | w.ibank | .litesql | .symcdb | .mddata | .srf | .raf | .apk | .vpk |
第二次申請內存,解密出創建勒索信息文本的.txt和.png相關的字符串
同樣,將揭密出的字符串放在一塊新申請的內存中,然后將內存地址放在變量中,后面執行代碼會用到這些字符串
第三次申請內存,解密出病毒執行的部分代碼字符串,包括刪除卷影拷貝、監視的進程名、修改注冊表等
第三次同樣也會將解密出的字符串放在新申請的內存中,然后將內存的地址放在一個變量中,以便后邊代碼使用
第四次申請內存,解密出與病毒上傳加密后的主機信息的HTTP相關的字符串
也會將這一部分揭密出的字符串放在一個新申請的內存中,然后將內存地址放在變量中,在后面的代碼執行時使用。
第五次申請內存,解密出勒索文本,用在后面創建勒索文件
查詢TOKEN信息
字符串解密完成后,利用GetTokenInformation獲取進程的權限級別
通過查詢GetTokenInformation中的TokenIntegrityLevel查詢程序運行的完整性級別,包、
括Untrust, Low, Medium, Hight, System等, 級別越低,權限也就越低,當權限不足時,使用RUNAS以管理員運行
查詢所在目錄
當權限足夠時,會查詢自己是否在”MyDocument”我的文檔目錄下,當自己存在于我的文檔下時,會直接返回,運行后邊的惡意代碼
拷貝自身創建新進程
當自己不存在于我的文檔目錄下時,會將自己拷貝到我的文檔目錄下一個隨機字符串的.exe,并將設為隱藏屬性,拷貝完成后會創建新線程調用拷貝后的文件,完成后再調用CMD.exe刪除原來的病毒本身
查詢操作系統信息
新的病毒進程也會重復以上檢測自己是否存在于”MyDocument”我的文檔目錄下,當存在時,直接運行后面的代碼,將一塊內存全設為0,然后用來保存獲取到的系統信息
查詢自身CheckSum
病毒會通過偏移查詢自己的CheckSum,然后保存在變量中,最后返回值的451
提權
病毒會先從解密的字符串中得到SeDebugPrivilege字符串,然后當作參數傳入提權,查詢系統的TOKEN信息,然后將自己提權SeDebugPrivilege權限
監控殺死指定進程
病毒提權后,會創建一個新線程,用來監控當前運行的進程,當出現指定進程時,就關閉指定進程,進程名來自前面解密出的字符串
監控的進程包括:

刪除卷影拷貝
病毒會判斷當前系統的DwBuildNumber版本號,如果操作系統不是XP2600版本就會執行命令,創建新線程刪除卷影拷貝,執行的命令也是從前面解密出的字符串取得
取得桌面路徑
返回桌面路徑,用在后面創建勒索文本和圖片
修改注冊表,生成密鑰并加密
病毒會在注冊表下HKCU\Software\新建一個MSVV項,寫入用戶的ID
然后在HKCU\Software\以用戶ID命名的新項,其中寫入的值data一共分為四段,是在Mydocument下的Recover+file.txt中加密前的內容,后面病毒會將這一塊數據加密后發回服務器
這四段數據第一段是addr,第二段是dh,第三段是用戶ID,第四段是OS版本號
注冊表添加完成后,會生成一次密鑰,使用CryptGenRandom()函數獲取隨機數,經過CSP生成一個256位的密鑰
再獲取進程、線程、時間等信息,將密鑰加密
得到密鑰后,再經過Secp256k1加密一次,得到一個加密后的密鑰
自動啟動
病毒在注冊表HKCU\Software\Microsoft\Windows\CurrentVersion\Run路徑下,新建了名稱為”+++隨機四位字母”的注冊表值,數據為調用CMD /C 自啟執行“MyDocument”下的病毒
創建+recover+file.txt文件
病毒先獲得我的文檔路徑
然后將前面獲得的數據拼接在一起,這里的數據和注冊表data項中的值一樣,不過后面寫入文件的時候會加密,分別是作者自己定義的addr、dh還有被勒索的用戶ID,系統版本號
病毒會生成一個密鑰,將這段數據加密,然后寫入+recover+file.xtx中
加密
病毒會創建一個新線程,并且將線程的優先級設置到最低,然后用這個線程來加密文件
病毒會從A:\ B:\開始遍歷所有磁盤
當遍歷到軟盤、硬盤或網絡磁盤的時候,獲取到硬盤信息,然后準備加密文件
病毒先會遍歷主機上所有目錄,在每一個目錄下先創建”+REcovER+隨機字符串+”的txt和PNG文件
在每個目錄下創建完成后,才開始加密文件,病毒會先獲取文件的名稱,保存在變量中
病毒判斷文件不是.com文件,不是病毒寫入的勒索信息文本,然后將所有文件名與前面解密出的后綴匹配,加密相應文件
病毒先得到進程的堆句柄,然后用堆句柄申請一塊空間
判斷文件大小,
開始加密時,先讀取要加密文件的數據
將前面使用Secp256k1加密后的密鑰拷貝32字節到新值中
將新密鑰經過輪函數得到一個新密鑰
加密完成后將數據保存在堆空間中然后將文件指針移動到文件開頭,在開頭寫入垃圾數據
最后將堆空間加密后的內容寫入文件,然后刷新保存在硬盤
創建打開勒索文本
在病毒加密完成后,會在桌面創建勒索信息的txt和png文件,然后打開他們
發送信息到服務器
病毒會將用戶的各項信息加密后發送到指定前面解密出的URL中
加密前的數據,包括的用戶的個人ID和系統版本號等信息
將發送的信息加密
拼接出HTTP請求頭后用POST發送到指定URL
刪除自身
運行完成后會調用CMD執行/C DEL刪除自身
樣本溯源
| FileName | FileSize | MD5 |
|---|---|---|
| tfukrc.exe | 240,640 Byte | 72ccc18f3038e19273010d45ac2142ce |
| 隨機字符串.exe | 240,640Byte | 72ccc18f3038e19273010d45ac2142ce |
| +recover+file.txt | 256 Byte | 3aa3bfac733afd6311334c551f3f7c09 |
| +REcovER+隨機字符串+.txt | 2,459 Byte | 072c1e92f6f35ce4f895e337b9093490 |
| +REcovER+隨機字符串+.png | 74,272 Byte | dec3149215bd95e2abf13bea6aefc862 |
URL:
http://uideoaminproduktion.de/plugins/binstr.php
http://clubsaintandre.fr/images/binstr.php http://affiliateproductes.com/binstr.php
http://ptgp.pl/tmp/binstr.php
http://strategicdisaster.info/wordpress/wp-content/plugins/binstr.php
http://minteee.com/images/binstr.php
http://uj5nj.onanwhit.com/用戶ID
http://2gdb4.leoraorage.at/用戶ID
http://9hrds.wolfcrap.at/用戶ID
TOR URL:
k7tlx3ghr3m4n2tu.onion/16751E6C29B615
查殺方案
刪除我的文檔下隱藏的病毒文件
刪除啟動項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run下隨機字符串啟動項
刪除注冊表HKCU\Software\MSVV
刪除注冊表HKCU\Software\隨機字符串(用戶ID)項
已被加密文件暫無方法
總結
病毒在計算機中勒索所有指定后綴的文件,且制造大量無意義的勒索信息文件,加密中先使用系統信息等生成的隨機數再利用Secp256k1非對稱加密得到一個密鑰再將密鑰多次加密得到就加密文件的密鑰,這樣密鑰不易被猜解。最好的辦法是提高防范意識,不隨意點開來意不明的exe文件。
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1513/














































































暫無評論