2022年12月9日(金)
著者:カウンター・スレット・ユニット(CTU™)リサーチチーム
※本記事は、 https://www.secureworks.com/ で公開されている Drokbk Malware Uses GitHub as Dead Drop Resolver を翻訳したもので、 2022 年 12 月 9 日執筆時点の見解となります。
Secureworks® カウンター・スレット・ユニット(CTU™)のリサーチャーは現在、イラン政府を後ろ盾とする攻撃グループCOBALT MIRAGEのサブグループ(通称Cluster B)が運営するマルウェアDrokbkの調査を進めています。当該マルウェアは .NETで記述されており、ドロッパーとペイロードで構成されています。搭載されている機能は限定的で、主にコマンド&コントロール(C2)サーバーからの追加コマンドやコードを実行します。Drokbkは2022年2月に発生した米国地方自治体のネットワークへの侵入時に用いられており、この頃から出回り始めたと見られます。このインシデントの検体を入手することはできませんでしたが、当社CTUリサーチャーは後日、分析サービスのVirusTotalにアップロードされた検体を発見しました。
Drokbkは、標的環境への侵入後に永続性を確保するための補完的手段として、他のアクセスメカニズムと併せて展開されます。COBALT MIRAGEがよく使うリモート接続では、Fast Reverse Proxy(FRPC)ツールが用いられています。COBALT MIRAGE傘下のCluster AはTunnelFishという名称で知られる改変版FRPCツールを使っていますが、Cluster Bは改変せずに常用しています。Drokbk.exeが公式に言及されたのは、3月に外部組織が公表したレポートで、Cluster Bによる侵入の兆候を示す活動が解説された事例のみです。この事例ではマルウェアDrokbkがCluster Bとの関連性が確認されているC2ドメインactivate-microsoft . cfを使っていました。
当社のインシデント対応チームが調査した2月のインシデントは、Log4jに関する2件の脆弱性(CVE-2021-44228、CVE-2021-45046)を悪用したVMware Horizonサーバーの侵害が発端でした。フォレンジック調査で攻撃の痕跡を調査した結果、正規のオンラインサービスtransfer . shにホストされた圧縮アーカイブ(Drokbk.zip)からDrokbk.exeが展開されたことが判明しました。攻撃グループは対象ファイルをC:\Users\DomainAdmin\Desktop\に展開して実行していました。
Drokbkのドロッパーはc:\programdata\SoftwareDistributionディレクトリの存在をチェックし、存在しない場合は作成します。その後、ドロッパーがリソース領域のデータをすべてc:\users\public\plaに書き込みます。この一時的なステップを経た後に、作成されたファイル(pla)がc:\programdata\SoftwareDistribution\SessionService.exeにコピーされます。ドロッパーは新たに作成したファイルを使い、SessionManagerServiceという名前のサービスを追加して永続性を確保します。最後に、ドロッパーがc:\users\public\plaを削除します。図1は、Drokbkのインストールプロセスを示したものです。Cluster Bの運営組織は各種マルウェアやツールの作業ディレクトリとしてc:\users\public\を好んで使用していることが、当社CTUリサーチャーの調べで確認されています。
マルウェアDrokbkのメインペイロードSessionService.exeが、最初にC2ドメインを検索します。C2ドメインはマルウェアにあらかじめ設定されているケースが多いですが、Drokbkではインターネット上の正規サービス(GitHubなど)に接続しC2サーバー情報を取得する、デッドドロップリゾルバという手法も用います。クラウドサービスの、マルウェアにあらかじめ設定されているアカウント、またはマルウェアが特定可能なアカウント上にC2サーバー情報は保存されてます。
図2は、SessionService.exeの.NETコードを逆コンパイルしたものです。 バイナリがGitHub APIを介して「mainrepositorytogeta」というリポジトリを検索しています。
図2:DnSpyで逆コンパイルしたSessionService.exeの.NETコード(出典:Secureworks)
このコードで、GitHubアカウントを発見しマルウェアDrokbkのC2サーバー情報取得のリクエストを特定します。レスポンスとなるデータはGitHubアカウント上のREADME.mdファイルに保存されています(図3)。この攻撃キャンペーンでは、攻撃グループはShinault23というユーザー名のGitHubアカウントを使っていました。
図3:GitHubアカウント上のC2サーバー情報取得コード(出典:Secureworks)
攻撃グループは、このアプローチを用いることでGitHubのアカウントが閉鎖されても新規アカウントで同じリポジトリ名を作成できるため、ある程度の回復力を保てます。このプロセスを繰り返すことで、マルウェアが接続するC2サーバーを動的に更新することもできます。
README.mdファイルの最初のコミットは2022年6月9日に行われているため、攻撃キャンペーンはこの頃から開始されたと考えられます。攻撃グループは、6月9日~7月13日までの間にC2サーバーを何度か変更していました。GitHubに保持されている当該ファイルへのコミット履歴には、個々の変更内容が記載されています(図4)。
図4:アカウント名Shinault23のコミット履歴の例(出典:Secureworks)
図5は、6月9日~7月13日までに設定されたC2サーバーの一覧です。これらのドメイン名とURL構造は、Cluster Bによる別の活動で観測されたインフラのパターンと一致するため、技術的な帰属の一致を裏付けるさらなる証拠になります。
図5:README.mdファイルに記述されていたDrokbkのC2サーバー一覧(出典:Secureworks)
SessionService.exeはREADME.mdの情報をもとに、C2サーバーへの初回リクエストを送信します。このリクエストには感染ホスト名と現在時刻が含まれます(図6)。
図6:サンドボックス結果に出力されたDrokbkの最初のビーコン通信(出典:Secureworks)
実行中にDrokbkによって以下のファイルが作成されることが、CTUリサーチャーによって確認されました。解析中、C2サーバーからペイロードやコマンドは一切受信されませんでした。
- C:\Windows\Temp\v2ggla
- C:\Windows\Temp\vdoma434
- C:\programdata\Interop Services
インディケータ | 種類 | 内容 |
---|---|---|
372b1946907ab9897737799f3bc8c131 00519705 |
SHA1ハッシュ | Drokbk.exeマルウェア |
e26a66bfe0da89405e25a66baad95b05 | MD5ハッシュ | Drokbk.exeマルウェア |
4eb5c832ce940739d6c0eb1b4fc7a78d ef1dd15e |
SHA1ハッシュ | Drokbk.exeマルウェア |
64f39b858c1d784df1ca8eb895ac7eaf 47bf39acf008ed4ae27a796ac90f841b |
SHA256ハッシュ | Drokbk.exeマルウェア |
8c8e184c280db126e6fcfcc507aea925 | MD5ハッシュ | Drokbk.exeマルウェア |
aefab35127292cbe0e1d8a1a2fa7c39c 9d72f2ea |
SHA1ハッシュ | Drokbk.exeマルウェア |
29dc4cae5f08c215d57893483b5b42cb 00a2d0e7d8361cda9feeaf515f8b5d9e |
SHA256ハッシュ | Drokbk.exeマルウェア |
14a0e5665a95714ff4951bd35eb73606 | MD5ハッシュ | Drokbkマルウェアペイロード(SessionService.exe) |
0426f65ea5bcff9e0dc48e236bbec293 380ccc43 |
SHA1ハッシュ | Drokbkマルウェアペイロード(SessionService.exe) |
a8e18a84898f46cd88813838f5e69f05 240c4853af2aee5917dcee3a3e2a5d5a |
SHA256ハッシュ | Drokbkマルウェアペイロード(SessionService.exe) |
b90f05b5e705e0b0cb47f51b985f84db | MD5 hash | COBALT MIRAGE傘下のCluster Bが用いるFast Reverse Proxy |
5bd0690247dc1e446916800af169270f 100d089b |
SHA1ハッシュ | COBALT MIRAGE傘下のCluster Bが用いるFast Reverse Proxy |
28332bdbfaeb8333dad5ada3c10819a1 a015db9106d5e8a74beaaf03797511aa |
SHA256ハッシュ | COBALT MIRAGE傘下のCluster Bが用いるFast Reverse Proxy |
activate-microsoft.cf | ドメイン名 | DrokbkのC2サーバー |
dns-iprecords.tk | ドメイン名 | DrokbkのC2サーバー |
oracle-java.cf | ドメイン名 | DrokbkのC2サーバー |
51.89.135.154 | IPアドレス | COBALT MIRAGEドメインのホスト(oracle-java.cf) |
142.44.149.199 | IPアドレス | DrokbkのC2サーバー |
142.44.149.199/gsdi546gsja | URL | DrokbkのC2サーバー |
universityofmhealth.biz | ドメイン名 | DrokbkのC2サーバー |
142.44.198.202 |
IPアドレス | DrokbkのC2サーバー |
表1:今回の脅威に関するインディケータ
イランの攻撃グループによる脅威の詳細は、2022年サイバー脅威の実態に解説していますのでご一読ください。インシデントの緊急サポートが必要な場合はSecureworksインシデント担当チームまでご連絡ください。