銘說 | 新型勒索軟體PYSA淺析

楓子發表於2021-09-29

什麼是勒索軟體PYSA

PYSA勒索軟體是Mespinoza勒索軟體的變種。PYSA代表“Protect Your System Amigo”,於2019年12月被首次命名,也就是Mespinoza被發現兩個月後。最初被加密的檔案被Mespinoza使用 .locked作為副檔名,然後轉而使用 .pysa作為字尾,目前此勒索軟體可能會交替使用PYSA和Mespinoza 這兩個名稱來命名被加密的檔案。

PYSA與許多已知的勒索軟體系列一樣,被歸類為勒索軟體即服務(RaaS)工具。這意味著其開發人員已將這種現成的勒索軟體出租給犯罪組織,這些犯罪組織可能在技術上不夠精通,無法制作自己的勒索軟體。PYSA客戶可以根據RaaS提供的選項對其進行自定義,並根據自己的喜好進行部署。PYSA能夠在加密要勒索的檔案之前從受害者那裡竊取資料。

根據某些威脅情報提供方的說法,PYSA/Mespinoza是2級RaaS運營商,因為它在地下贏得了較高聲譽。執行此操作的操作員或工作人員有一個頁面(稱為“洩漏列表”),他們在其中點名並羞辱決定不支付贖金的受害者。受害者與附帶的附件一起列出,其中包含威脅行為者從中竊取的檔案。

image.png

圖1 PYSA資料洩露站點的主頁

PYSA特點

勒索軟體PYSA的主要特點包括:

人為操作:PYSA是一種人為操作的勒索軟體,不具備自我傳播能力。作為全面攻擊行動的一部分,威脅行為者手動部署PYSA勒索軟體。PYSA勒索軟體運營商通常透過洩露憑據或透過網路釣魚電子郵件獲得對目標系統的初始訪問許可權。在部署勒索軟體之前,惡意行為者使用公開可用和/或開源工具進行憑證盜竊、隱蔽、特權升級、橫向移動等;

混合加密方法: PYSA勒索軟體以C++ 程式語言實現,並使用開源CryptoPP C++庫進行資料加密。該勒索軟體透過結合使用高階加密標準密碼塊鏈(AES-CBC)和RSA加密演算法來加密資料。這是為了最大限度地提高加密效能和安全性;

雙重勒索:PYSA勒索軟體運營商使用雙重勒索策略——如果受害者拒絕支付資料解密費用,惡意行為者就會威脅洩露資料或出售資料以獲取利潤。

image.png

圖2 PYSA資料洩露站點的詳細內容

初步分析

PYSA勒索軟體程式首先將自身與控制檯分離,從而關閉控制檯。這允許勒索軟體在控制檯不作為勒索軟體執行的指示器的情況下執行。PYSA勒索軟體然後建立一個名為Pysa的互斥物件。如果此互斥物件已存在,勒索軟體將終止。這是為了確保一次只有一個 PYSA 勒索軟體例項執行:

image.png

圖3 PYSA建立互斥物件


然後,PYSA勒索軟體列舉帶有連線到受感染系統的固定媒體的驅動器。這些是Windows API函式GetDriveTypeW為其返回0x3 ( DRIVE_FIXED ) 的驅動器,例如硬碟。對於每個具有固定媒體的驅動器,PYSA勒索軟體都會建立一個程式執行緒,勒索軟體在該執行緒中執行檔案列舉和加密。

PYSA 勒索軟體分兩個階段執行此操作:

在第一階段,它對列入加密白名單的檔案進行加密,這些檔案具有硬編碼在實施勒索軟體的檔案中的一個副檔名。

在第二階段,PYSA加密儲存在驅動器上的其餘檔案,並在驅動器上的每個目錄中儲存一個README.README檔案。該README.README檔案包含了勒索信。贖金記錄包含以下內容:

  • 文字通知受害者惡意行為者已從受感染的系統中竊取資料,如果不付款,他們將向公眾公開這些資料或出售資料(這是一種雙重勒索策略)。 

  • 指向資料洩露網站的連結。

  • 用於與攻擊者通訊的電子郵件地址列表。 

在這兩個階段中,PYSA 勒索軟體加密的物件有如下特點:

  • 僅加密大小大於 1 KB 的檔案。

  • 不加密列入加密黑名單的檔案,包括: 

    • 系統關鍵檔案,例如pagefile.sys,Windows啟動管理器和儲存在系統關鍵目錄中的檔案,例如,Windows、Boot和System Volume Information; 

    • 具有以下副檔名的檔案:.exe,.dll,.SYS,.README,或.pysa。 

    PYSA不會加密上述檔案,因為加密系統關鍵檔案和具有可執行檔案(.exe、.dll和.sys)典型副檔名的檔案會使受感染的系統無法啟動和無法使用。

在加密檔案之前,PYSA勒索軟體首先透過將副檔名.pysa附加到檔名來重新命名檔案,例如,test.txt變為test.txt.pysa。PYSA然後透過應用混合加密方法來加密檔案。這種方法結合了AES-CBC和RSA加密演算法的使用。這是為了最大限度地提高加密效能和安全性。

PYSA勒索軟體首先使用對稱加密演算法AES-CBC對檔案進行加密。AES-CBC在設計上比RSA加密演算法效能更高,但安全性更低。該演算法依賴於對稱加密金鑰和用於加密安全的初始化向量 (Initial Vector,簡寫為IV)。為了彌補AES-CBC的這一缺點,勒索軟體隨後使用RSA加密演算法對AES-CBC對稱金鑰和IV進行加密。PYSA勒索軟體使用CryptoPP C++庫進行加密。

對於每個被加密的檔案,PYSA首先生成兩個16位元組的隨機陣列。第一個位元組陣列是AES-CBC對稱加密金鑰,第二個是初始化向量 (IV)。PYSA 然後使用4096位RSA公鑰加密AES-CBC 金鑰和初始化向量。此公鑰是ASN.1編碼的,並以DER格式儲存在PYSA勒索軟體的檔案中:

image.png

圖4 PYSA用於加密的公鑰


PYSA勒索軟體然後從檔案的開頭開始加密檔案的100個相同大小的資料塊。為了加密資料塊,勒索軟體使用AES-CBC加密演算法和之前生成的AES-CBC金鑰和IV。勒索軟體透過以下公式來計來計算用於加密的單個資料塊的大小(以位元組為單位):

image.png

其中   是floor函式,filesize是檔案的大小(以位元組為單位)。

在對所有指定用於加密的檔案進行加密後,PYSA 勒索軟體會將值PYSA儲存在登錄檔項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\legalnoticecaption中,並將贖金說明儲存在登錄檔項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\legalnoticetext

這會在系統啟動時向使用者顯示贖金通知,有效地引起了使用者的注意。

PYSA勒索軟體隨後釋放互斥鎖Pysa並將Windows批處理指令碼程式碼寫入名為update.bat的檔案中。PYSA首先將此檔案放在勒索軟體在其上下文中執行的使用者的臨時目錄中(例如C:\Users\user\AppData\Local\Temp),然後執行它。update.bat會刪除實現PYSA勒索軟體的檔案以及儲存該檔案的目錄,update.bat也會刪除自己。

image.png

圖5 檔案資料塊的未加密和加密形式


如何防範

我們建議使用如下方式對勒索軟體PYSA進行防範:

1. 確保及時修補您的系統,以最大程度地降低因漏洞利用而感染勒索軟體的風險;

2. 使用安全密碼,定期修改密碼,並在可能的情況下使用多因素身份驗證;

3. 禁用未使用的RDP服務,正確保護已使用的RDP服務,並定期監控RDP日誌資料以防止暴力嘗試和其他不規則活動;

4. 定期將檔案備份到安全的遠端位置並實施資料恢復計劃。定期資料備份確保您可以在勒索軟體攻擊後恢復資料;

5. 安全地處理源自外部來源的電子郵件。這包括禁用超連結和調查電子郵件的內容以識別網路釣魚企圖。



相關文章