近日,瑞星威脅情報平臺發現多起國內用戶感染“撒旦”Satan勒索病毒事件。據瑞星安全研究人員介紹,該病毒運行後會加密受害者計算機文件,加密完成後會用中英韓三國語言索取1個比特幣作為贖金,並威脅三天內不支付將不予解密。與以往常見的勒索病毒不同,“撒旦”不僅會對感染病毒的電腦下手,同時病毒還會利用多個漏洞繼續攻擊
其它電腦。目前,瑞星公司已開發出獨家解密工具,如果用戶電腦中的文件已被“撒旦”病毒加密,可嘗試下載解密。(下載地址:http://download.rising.com.cn/for_down/satan/Satan3.x_Encrypt.exe)瑞星安全研究人員對最新版本的“撒旦”Satan勒索病毒進行了分析,發現該病毒與以往勒索病毒有較大的不同,“撒旦”Satan勒索病毒不僅使用永恆之藍漏洞攻擊,還增加了其它的漏洞攻擊。包括文件上傳漏洞、tomcat弱口令漏洞、WebLogic WLS組件漏洞、JBOOS 反序列化漏洞等。
雖然永恆之藍已經過去很久,但是國內很多用戶出於各種原因依然沒有打補丁,這導致很多企業存在極大的安全隱患。“撒旦”Satan勒索病毒可通過漏洞進行傳播,所以不下載可疑程序並不能防止感染病毒,如果不打補丁,即使沒有任何操作只要聯網就有可能被攻擊,因此及時更新補丁,排查web漏洞,提高服務器安全才能最大限度的防禦此類病毒。
防範措施
- 更新永恆之藍漏洞補丁。
- 及時更新web漏洞補丁,升級web組件。
- 開啟防火牆關閉445端口。
- 安裝殺毒軟件保持監控開啟。
- 安裝瑞星之劍勒索防禦軟件。
由於“撒旦”Satan勒索病毒使用對稱加密算法加密,密鑰硬編碼在病毒程序和被加密文件中,因此可以解密。目前,瑞星已經開發出瞭解密工具,如果用戶中了此病毒可下載此工具恢復被加密文件,下載地址:
http://download.rising.com.cn/for_down/satan/Satan3.x_Encrypt.exe。
解密工具使用方法
1、查看勒索信息是否和報告中的相同。
2、判斷被加密文件名是否為[[email protected]]+原始文件名+.dbger,或者[[email protected]]+原始文件名+.satan。
3、運行解密工具
4、點擊 “文件”按鈕選中要解密的文件夾。
5、點擊“解密”後,被加密文件將會被解密。
可以看到同目錄下生成了被解密的文件,但是加密的文件將會被保留,用戶查看確定文件被完全解密後,可刪除被加密文件。在不確定解密文件是否正確的情況下,不要輕易刪除被加密文件,防止其它類型病毒變種加密的文件沒有被解密。
6、目前最新版本可以解密,如遇到此病毒的其它變種無法解密,可聯繫瑞星公司。
病毒詳細分析
病毒攻擊流程如下:
新版撒旦Satan勒索病毒運行後會創建一個互斥體 “SATAN_SCAN_APP”,如果已經存在則退出。
如果不存在則開始執行惡意功能,從資源中釋放需要用到的惡意模塊到C:\\Users\\All Users 目錄下,包括永恆之藍攻擊工具、加密模塊、密碼抓取工具Mimikatz。
釋放永恆之藍攻擊工具,其中blue.exe 是永恆之藍漏洞攻擊工具,star.exe是脈衝雙星後門植入工具,down64.dll 是漏洞攻擊成功後植入被攻擊機器的後門,功能是下載勒索病毒母體,
其它文件都是攻擊工具需要用到的依賴庫和配置文件。
釋放加密模塊,負責加密受害者計算機中的文件,針對加密模塊的分析詳見下文“加密模塊分析”部分。
判斷系統架構,釋放不同版本的密碼抓取工具Mimikatz 並運行,64位系統從資源MINI64釋放,32位系統從資源MINI32釋放,命名為mmkt.exe。
密碼抓取模塊運行後會將抓取到的用戶名保存到病毒目錄下的“uname”文件中,密碼保存到“upass”文件中。運行加密勒索模塊,加密本機文件。
創建三個線程攻擊網絡中的其它機器。
線程1,獲取本機IP地址。
循環攻擊本地局域網Local_IP/16,16位子網掩碼的網段。例如192.168.1.1——192.168.255.255,覆蓋65536臺主機,而不是僅僅攻擊255臺主機,相對而言攻擊範圍更廣。
創建線程傳入要攻擊的IP。
只攻擊指定IP的445端口。
線程2,攻擊局域網中除了445端口之外的其它硬編碼的226個端口。創建線程,傳入攻擊IP和端口,與線程1不同,線程1只傳入攻擊IP,端口固定445。線程2在創建子線程的時候 傳入了攻擊IP和端口 。
和線程1相比,線程2增加了一個判斷,如果傳入的端口是445,則執行永恆之藍漏洞攻擊,否則執行web漏洞攻擊,不過針對445端口的永恆之藍攻擊不會生效,因為硬編碼的226個端口中不包含445端口,即使包含,上層函數也不會傳遞445端口。因為線程1就可以完成局域網的445端口攻擊了,此處就不用再攻擊了。此病毒舊版本的硬編碼端口列表中包含445端口。新版本的端口列表修改了,但是這裡的代碼沒有修改,因此這裡的判斷顯得有些多餘。
此外在執行web攻擊之前會設置一個標誌位,如果端口是443或8443則將標誌位設置為1,目的是拼湊攻擊報文時,區分http還是https。https服務默認443端口,tomcat的https服務需要8443端口。
之所以沒有固定端口,對同一個IP使用不同的端口循環攻擊226次,是因為網絡中有些機器沒有打補丁,但是會將各種web服務的默認端口號修改為其它端口號,作為漏洞緩解措施。攻擊者通過這種方式繞過緩解措施。這也為我們提了個醒,緩解措施很有可能被繞過,把漏洞徹底修復才能更大限度的避免被攻擊。
硬編碼的內置端口列表:
線程3和線程2的區別主要是線程2攻擊的是局域網IP,線程3攻擊的是內置的互聯網IP,病毒內置了大量的IP段,循環隨機選取攻擊。
從內置的硬編碼的IP中,隨機選取將要攻擊的IP地址段。
線程3的攻擊函數和線程2相同,攻擊每個IP時,都會循環攻擊硬編碼的226個端口,同樣由於內置的編碼表中不含有445端口,攻擊互聯網的線程也無法對445端口發起永恆之藍攻擊,只會向指定的IP發起web攻擊。
永恆之藍攻擊,漏洞觸發後會將down64.dll植入到被攻擊機器。
down64.dll的功能是聯網下載運行病毒母體,被攻擊機器中毒後,又會循環同樣的操作,加密本機文件勒索,攻擊其它機器。
web攻擊利用了多種漏洞,文件上傳漏洞。
tomcat弱口令攻擊。
CVE-2017-10271 WebLogic WLS組件漏洞。
CVE-2017-12149 JBOOS 反序列化漏洞。
加密模塊分析,Satan勒索病毒主要針對數據文件進行加密,加密後追加文件後綴為 “.dbger”。
勒索模塊運行後,嘗試對所有驅動器遍歷文件,排除以下目錄:
最多 22 列
- 剪切
- 複製
- 粘貼
- 請使用 Ctrl+V 粘貼
- 向上插入 1 行
- 向下插入 1 行
- 向左插入 1 列
- 向右插入 1 列
- 合併單元格
- 取消合併單元格
- 刪除列
- 刪除行
- 刪除表格
Windows、python2、python3、microsoft games、boot、i386、intel、dvd maker、recycle、jdk、lib、libs、all users、360rec、360sec、360sand、favorites、common files、internet explorer、msbuild、public、360downloads、windows defen、windows mail、windows media pl、windows nt、windows photo viewer、windows sidebar、default user
表:病毒排除的目錄
當為如下後綴時,不會加密:
最多 22 列
- 剪切
- 複製
- 粘貼
- 請使用 Ctrl+V 粘貼
- 向上插入 1 行
- 向下插入 1 行
- 向左插入 1 列
- 向右插入 1 列
- 合併單元格
- 取消合併單元格
- 刪除列
- 刪除行
- 刪除表格
dbger、cab、pol、dll、msi、exe、lib、iso、bin、tmp、log、ocx、chm、dat、sys、dic、myd、sdi、lnk、gho、pbk
表格:病毒排除的後綴
然後創建線程對遍歷到的文件進行加密,病毒還會嘗試關閉SQL相關服務防止文件被佔用無法加密。
加密後文件名:[[email protected]]+原始文件名+.dbger。
把加密密鑰上傳到給遠程服務器101.99.84.136。
病毒的加密算法,加密方式:使用CryptAPI進行加密,算法為RC4,密鑰結構:[HardWareID]+k_str1+k_str2+k_str3+[PUBLIC]。
密鑰示例如下:
使用Windows自帶的CryptAPI進行加密,MD5算法哈希密鑰,加密算法為RC4。
硬編碼了三個字符串,
k_str1:"dfsa#@FGDS!dsaKJiewiu*#&*))__=22121kD()@#(*#@#@!DSKL909*(!#!@AA"
k_str2:"*@#AdJJMLDML#SXAIO98390d&th2nfd%%u2j312&&dsjdAa"
k_str3:"@!FS#@DSKkop()(290#0^^^2920-((__!#*$gf4SAddAA"。
HardWareID和PUBLIC都是是隨機生成的。首先,它會嘗試讀取保存在C:\Windows\Temp\KSession中的HardWareID值,如果失敗則隨機生成0x40大小字符串(固定的,加密過程只生成一次),然後寫入了KSession文件中。
同樣的方式生成長度為0x20大小的PUBLIC值(每加密一個文件生成一次)。
從圖中可以看到,每個文件的PUBLIC是不同的。
最終HardWareID和PUBLIC都會追加到,被加密文件的末尾。
病毒為了加快加密速度,對不同大小,不同類型的文件採取不同的加密策略,重要的文檔例如 word、excel文檔全部加密。其它文檔根據文件大小,加密文件約前二分之一 、前五分之一不等。
特殊後綴如下,主要是比較重要的辦公文檔、源代碼文檔的後綴名。
最多 22 列
- 剪切
- 複製
- 粘貼
- 請使用 Ctrl+V 粘貼
- 向上插入 1 行
- 向下插入 1 行
- 向左插入 1 列
- 向右插入 1 列
- 合併單元格
- 取消合併單元格
- 刪除列
- 刪除行
- 刪除表格
"sql" ,"zip" ,"php" ,"asp" ,"jsp" ,"cpp" ,"ini" ,"aspx" ,"cs" ,"py" ,"h" ,"vbs","bat","conf","sh","inc","e","c","pl","csv","asm","doc","docx","xls","xlsx","ppt"
表:完全加密的特殊後綴
加密方式為如下幾種:
1、小於等於100000000字節
(1)特殊後綴,完全加密。
(2)其它後綴,部分加密,加密大小的算法 CryptSize = (FileSize / 2000) *1000,約為文件的二分之一。
舉個例子,文件小於等於100000000字節時,zip格式的壓縮包就會被完全加密,而RAR格式的只會被加密大約二分之一,因為zip是病毒指定的特殊後綴,而RAR不在列表中。
2、大於100000000 字節的文件
(1)特殊後綴,完全加密。
(2)其它後綴,部分加密,加密大小的算法 CryptSize = (FileSize / 5000) *1000,約為文件的五分之一。
舉個例子,文件大於100000000字節時,zip格式的壓縮包就會被完全加密,而RAR格式的 只會被加密大約五分之一,因為zip是病毒指定的特殊後綴,而RAR不在列表中。
當加密完成後,病毒會打開勒索文本提示用戶支付贖金。勒索信息提供三種語言英文、中文和韓文,威脅受害者在三天之內向作者支付1個比特幣,否則文件無法解密,並且重要文件被公開。然而事實上文件可以解密,並且病毒作者也沒有獲取到受害者的文件。
比特幣錢包:3EbN7FP8f8x9FPQQoJKXvyoHJgSkKmAHPY
IOC
MD5
ECF5CABC81047B46977A4DF9D8D68797 病毒母體
C0150256A864E5C634380A53290C7649 加密模塊
C&C
http://101.99.84.136
http://101.99.84.136/cab/sts.exe
http://101.99.84.136/cab/st.exe
http://101.99.84.136/data/token.php?status=ST&code=
http://101.99.84.136/data/token.php?status=BK&code=
http://101.99.84.136/data/token.php?status=DB&code=
http://101.99.84.136/data/token.php?status=ALL&code=
http://101.99.84.136/count.php?url=
閱讀更多 FUN科技 的文章