はじめに
ランサムウェア攻撃は、今や、闇市場でのサービスとしてのランサムウェア(Ransomware-as-a-service、RaaS)の増加により、組織間で最も一般的なサイバー攻撃のひとつになりました。RaaSは、サイバー犯罪者にすぐに利用できるランサムウェアを提供し、攻撃者がさまざまなランサムウェアを短期間で展開するための効果的な方法です。
通常、RaaSモデルの開発者は、闇市場で洗練されたランサムウェアフレームワークを販売またはレンタルします。攻撃者は、ランサムウェア開発者からライセンスを購入した後、ランサムウェアを他のユーザーに拡散し、感染させ、ファイルを暗号化し、ビットコインで多額の身代金の支払いを要求します。また、犠牲者からの身代金の恐喝が成功するたびに、支払われた身代金が開発者と購入者の間で共有されるランサムウェアフレームワークの闇市場で利用可能な割引があります。これらのフレームワークは、最新の高度なプログラミング言語を使用して、新しいランサムウェアを最初から作成する時間と労力を削減します。
REvilは、最も有名なサービスとしてのランサムウェア(RaaS)プロバイダーのひとつです。グループは2019年にSodinokibiランサムウェアをリリースし、その後、当社はDLLサイドローディング技術を使用してランサムウェアコードを実行するREvilを確認しました。実際のランサムウェアは、リソースセクションに2つの埋め込みPEファイルを含むドロッパーです。正常に実行されると、MsMpEng.exeおよびMpSvc.dllという名前の2つの追加ファイルがtempフォルダーにドロップされます。ファイルMsMpEng.exeは、タイムスタンプが2014年3月のMicrosoftのデジタル署名ファイルです(図1)。今回はその流れを紹介します。
DLLサイドローディング
このマルウェアは、DLL側の読み込みを使用して、ランサムウェアコードを実行します。この手法により、攻撃者は正当なDLLを偽装する悪意のあるDLLを実行できます。この手法は、検出を回避するために多くのAPTで使用されています。この攻撃では、MsMpEng.exeが実行時にMpSvc.dllの機能をロードします。ただし、攻撃者はクリーンなMpSvc.dllを同じ名前のランサムウェアバイナリに置き換えました。悪意のあるDLLファイルにはServiceCrtMainという名前のエクスポート関数があり、MicrosoftDefenderファイルによってさらに呼び出されて実行されます。これは、攻撃者がMicrosoftのデジタル署名されたバイナリを使用して悪意のあるファイルを実行するために使用する巧妙な手法です。
ペイロード分析
ランサムウェアはRC4アルゴリズムを使用して、暗号化プロセスをサポートするすべての情報を含む構成ファイルを復号化します。
次に、GetSystemDefaultUILanguage/GetUserDefaultUILanguage関数を使用してUI言語チェックを実行し、下の画像に示すように、いくつかの国の言語IDを含むハードコードされたリストと比較します。
このランサムウェア攻撃から除外された国は以下のとおりです。
GetUserDefaultUILanguage | 国の名前 |
0x419 | ロシア |
0x422 | ウクライナ語 |
0x423 | ベラルーシ語 |
0x428 | タジク語(タジキスタンのキリル文字) |
0x42B | アルメニア語 |
0x42C | アゼルバイジャン語(アゼルバイジャン語のラテン語) |
0x437 | ジョージア語 |
0x43F | カザフスタンのカザフ人 |
0x440 | キルギスタン |
0x442 | トルクメニスタン |
0x443 | ウズベキスタンのラテン語 |
0x444 | ロシア連邦のタタール |
0x818 | モルドバ出身のルーマニア語 |
0x819 | モルドバ出身のロシア語 |
0x82C | アゼルバイジャンのキリル文字 |
0x843 | ウズベキスタンのキリル文字 |
0x45A | シリア語 |
0x281A | セルビアのキリル文字 |
さらに、ランサムウェアはユーザーのキーボードレイアウトをチェックし、上記の国リストにあるマシンのランサムウェア感染をスキップします。
ランサムウェアは、感染したマシンにグローバルミューテックスを作成して、その存在をマークします。
ミューテックスを作成した後、ランサムウェアはSHEmptyRecycleBinW関数を使用してごみ箱内のファイルを削除し、暗号化後にファイルが復元されないようにします。
次に、EnumServicesStatusExW関数を使用してすべてのアクティブなサービスを列挙し、サービス名が構成ファイルに存在するリストと一致する場合はサービスを削除します。以下の画像は、ランサムウェアによってチェックされたサービスのリストを示しています。
CreateToolhelp32Snapshot、Process32FirstW、およびProcess32NextW関数を呼び出して、実行中のプロセスを列挙し、構成ファイルに存在するリストに一致するプロセスを終了します。以下の処理は終了します。
・allegro
・steam
・xtop
・ocssd
・xfssvccon
・onenote
・isqlplussvc
・msaccess
・powerpnt
・cad
・sqbcoreservic
・thunderbird
・oracle
・infopath
・dbeng50
・pro_comm_msg
・agntsvc
・thebat
・firefox
・ocautoupds
・winword
・synctime
・tbirdconfig
・mspub
・visio
・sql
・ocomm
・orcad
・mydesktopserv
・dbsnmp
・outlook
・cadence
・excel
・wordpad
・creoagent
・encsvc
・mydesktopqos
次に、Salsa20アルゴリズムを使用してファイルを暗号化し、マルチスレッドを使用してファイルを高速に暗号化します。後で、背景の壁紙は身代金メッセージで設定されます。
最後に、ランサムウェアは被害者のマシンに身代金メモを表示します。以下は、感染したマシンにドロップされたreadme.txtの画像です。
IOCとカバレッジ
タイプ | 値 | 検出名 | 検出パッケージバージョン(V3) |
Loader | 5a97a50e45e64db41049fd88a75f2dd2 | REvil.f | 4493 |
Dropped DLL | 78066a1c4e075941272a86d4a8e49471 | REvil.e | 4493 |
エキスパートルールにより、マカフィーのお客様は対象範囲を拡大できます。このルールは、このREvilランサムウェアの動作を対象としています。
MITRE
Technique ID | Tactic | Technique Details |
T1059.003 | Execution | Command and Scripting Interpreter |
T1574.002 | DLL Side-Loading | Hijack Execution Flow |
T1486 | Impact | Data Encrypted for Impact |
T1036.005 | Defense Evasion | Masquerading |
T1057 | Discovery | Process Discovery |
T1082 | Discovery | System Information Discovery |
結論
マカフィーは、REvilグループが昨年オラクルWebロジックの脆弱性(CVE-2019-2725)を利用してランサムウェアを拡散したことを確認しました。またREvilグループは最近、DLLサイドローディングを悪用し、ランサムウェアの実行にkaseyaのVSAアプリケーションを使用していることも確認しています。 REvilはランサムウェア感染に多くの脆弱性アプリケーションを使用していますが、暗号化技術は同じものを用いています。
ファイルの定期的なバックアップを作成し、それらをネットワークから分離して、常に更新されるウイルス対策を実施することをお勧めします。
※本ページの内容は2021年7月16日(US時間)更新の以下のMcAfee Blogの内容です。
原文:REvil Ransomware Uses DLL Sideloading
著者:McAfee Labs
※このブログは、Varadharajan Krishnasamy、Karthick Kumar、Sakshi Jaiswalによって執筆されています。