マルウェア
偽のGitHubページを悪用し新種の情報窃取型マルウェア「BoryptGrab」を配信、Windowsユーザが標的に
攻撃者は、SEO対策で検索上位に表示させた偽のGitHubリポジトリにダウンロードページを設置してWindowsユーザに情報窃取型マルウェアファミリ「BoryptGrab」をダウンロードさせた後、異なるペイロード(リバースSSHバックドアを含む)を展開しました。
- 新たに確認された情報窃取型マルウェア「BoryptGrab」は、ブラウザや暗号資産(仮想通貨)ウォレットのデータ、システム情報などを収集します。さらにスクリーンショットの撮影、共通ディレクトリ配下のファイル収集、Telegram情報、Discordトークン、パスワードなどの抽出も可能とわかりました。
- BoryptGrabは、数多くのGitHubリポジトリ経由で配信されています。攻撃者は、訪問者を誘い込むためにSEO対策で検索上位に表示させたこれらのGitHubリポジトリを無料ツールの提供元と偽っていました。感染チェーンは、偽のGitHubダウンロードページからZIPファイルがダウンロードされると開始されます。
- 攻撃チェーンの異なる段階で見つかったマルウェアコードには、ロシア語のコメントやログメッセージが含まれていました。本攻撃キャンペーンに関わるIPアドレスもロシアに位置しており、攻撃者の起源を示唆しています。さらに本攻撃キャンペーンでは、マルウェアの様々なビルドも確認されました。
- TunnesshClientは、攻撃チェーン中にダウンロードされた新種のバックドア型マルウェアです。PyInstallerで作成された実行ファイルであり、リバースSSHトンネル経由で攻撃者との通信経路を確立するほか、SOCKS5プロキシとして機能します。本攻撃キャンペーンでは、コードが難読化された既存のスティーラ「Vidar」も配信される可能性があります。
はじめに
TrendAI™ Researchは最近の調査で、ブラウザや暗号資産ウォレットのデータ、システム情報、共通ディレクトリ配下のファイルなどを収集する新種のインフォスティーラ(バイナリ)の存在を確認しました(TrendAIでは、このスティーラを「BoryptGrab」と命名)。BoryptGrabの特定の亜種は、PyInstallerで作成されたバックドア(TrendAIでは、「TunnesshClient」と命名)をダウンロードする場合があります。攻撃者は、TunnesshClientにリバースSSHトンネルを確立させて通信のやり取りを可能にします。
感染チェーンを追跡調査した結果、実環境において複数のZIPアーカイブファイル(全てで似た命名規則を確認)を観測しました。これらのZIPファイルは、一般的なソフトウェアツール(ゲーム用チート/ハックツールなどを含む)に偽装されていました。一部のZIPファイル名には「github-io」というファイル名パターンが用いられており、同パターンをWeb上で検索すると、マルウェアの配信元と考えられるGitHubリポジトリが100以上公開されていました。TrendAI™ Researchは、2025年末に初めてこれらに類するZIPファイルを特定しましたが、一番古いGitHubリポジトリアカウントのコミットは、2025年4月に初めて作成されていました。
以下に、ファイル名パターン「github-io」を含まないZIPファイルの具体例を示します。
- valorant performance boost fps booster 5.4.9.zip
- voicemod pro download tool 8.2.1 1 .zip
- wondershare info feel 8.4.3.zip
- sk1nchangerforcs24pc 5.8.0.zip
- cod black ops 6 aimbot with esp tool 4.2.4.zip
- abi free esp tool download 9.0.0.zip
- arenabreakoutcheat 8.6.2.zip
- git deployer app 7.7.2.zip
- valorant skin tool 4.1.3.zip
- filmora watermark remover 8.6.7.zip
- sk1nchangerforcs24pc 2.9.5.zip
- r6siege free esp tool 1.8.9.zip
以下には、ファイル名パターン「github-io」を含むZIPファイルの具体例を示します。
- vmware-download-github-io-4.83.4.zip
- passathook-cs2-github-io-1.96.4.zip
- meta-skins-github-io-6.98.9.zip
- cs2-skin-changer-premium-github-io-1.88.9.zip
- passathook-cs2-github-io-2.56.2.zip
- cs2-skin-changer-premium-github-io-1.88.9.zip
- passathook-cs2-github-io-2.56.2.zip
以下のセクションでは、本攻撃キャンペーンで配信されたマルウェア(スティーラ「BoryptGrab」やバックドア「TunnesshClient」など)に関する詳細な分析結果を解説します。加えて、マルウェアに採用された攻撃チェーンや配信経路などの深堀調査結果もお伝えします。攻撃チェーンの各段階で見つかったロシア語のコメント、ログメッセージ、IPアドレスは、攻撃者がロシアに関連していることを示唆しています。
初期配信手口
マルウェアは当初、無料の正規ツール提供元に偽装されたGitHubリポジトリを通じて配信されました。これらのGitHubリポジトリの中には、検索エンジンの検索結果順位を上げる目的でSEOキーワードがREADMEファイルに記述されているものもあります。具体例として以下のGitHubリポジトリ上で攻撃者は、正規ボイスチェンジアプリ「Voicemod Pro」と偽ってマルウェアを配信していました(図2)。
hxxps://github[.]com/Voicemod-Pro-Download-Tool
さらに同リポジトリの情報は、Googleの検索順位結果でVoicemod Proの正規サイトのすぐ下に表示されるようにSEO対策されていました。
同リポジトリのREADMEには、以下のダウンロードページへと誘導するリンクが埋め込まれていました。
hxxps://voicemod-pro-download-tool.github[.]io/.github/
同ページのソースコードは以下に存在し、GitHubの正規ディレクトリ「.github」が悪用されていることが見て取れます(図3)。
hxxps://github[.]com/Voicemod-Pro-Download-Tool/.github
index.htm(Webページ)に埋め込まれたロシア語のコメントをクリックした場合、home.htmlページへと誘導されます。このhome.htmlページは、本調査時では以下のソースコードにハードコードされたリンクからBase64でエンコードされたURLを取得してデコードします(図4)。
hxxps://kiamatka[.]com/kaiok.kakman
その後、デコードされたURLへと誘導します。
最終的に中間URLは以下のWebページへと誘導します(図5)。
hxxps://best-tinted[.]com/github-download.html
同ページの[ Download ZIP ]ボタンがクリックされた場合、マルウェアを配信するためにZIPファイルが生成されます(図5)。
ソースコードにハードコードされたリンクや取得される中間ページのURLは、本調査で特定したGitHubリポジトリ間で異なりました。ところが、本攻撃キャンペーンで確認された別のGitHubリポジトリにも似たコメント(ロシア語)やURLを取得する仕組みが存在しました。これらのリポジトリの多くは、正規ツールの配信元に偽装されているほか、訪問者がダウンロードリンクをクリックした場合には、不正ZIPファイルを生成する同一ダウンロードページへと誘導します。これらのGitHubリポジトリの中には、以下のようにindex.htmlファイルが攻撃者のC&Cサーバに追跡情報を送信するものもあります。
hxxps://github[.]com/PassFab-4WinKey-Windows-Password-Reset
また、以下のようないくつかのGitHubリポジトリのコミット履歴から、script.jsファイルが削除されていたことが判明しました。削除されたscript.jsファイルは、中間ページから取得したURLに誘導するために用いられていたと考えられます。
hxxps://github[.]com/Yim-Mod-Menu/.github
別のGitHubリポジトリの中には、以下のような誘導先で、scripts.jsファイルがURLの取得手口やAESを用いた復号処理、URLへの誘導手口に用いられていました。
hxxps://github[.]com/Arena-Breakout-Infinite-ESP/.github
このscripts.jsファイルは、Base64でエンコードされたリンクを用いて暗号化されたURLを取得します。
また、ダウンロードプロセスをシミュレートするPythonスクリプトが最近コミットに追加された以下のようなGitHubリポジトリも複数存在していました。
hxxps://github[.]com/Graphic-Editor-Krita/.github
本調査時に確認された不正リポジトリの一覧は、こちらをご参照ください(本記事末尾のIoC情報と同一)
配信経路1:DLLサイドローディングと暗号化されたペイロード(ランチャー)
配信されたZIPファイルの亜種には、以下をサイドロードする実行ファイルが含まれていることがあります。
libcurl.dllファイル(SHA256: fa767391b99865f8533efc1fe6dfa6175215718679fb00ca85fc13c3bd4ae4b7)
これは、自身のresourceセクションから以下のペイロードを読み込みます(図6)。
SHA256: d295720bc0c1111ce1c3d8b1bc1b36ba840f103b3ca7e95a5a8bf03e2cc44fe5
その後、XOR演算とAES-256のCBCモードを用いて、自身のresourceセクションからペイロード(ランチャー)を復号します(図7)。
このlibcurl.dllファイルは、復号したペイロード(ランチャー)から以下のエクスポート関数を実行します。
EntryWrapper
復号されたペイロード(ランチャー)は、配信元URLを難読化させるためにXOR演算を用いて復号処理を実施します。難読化されたURLにアクセスした場合、以下のスティーラがダウンロードされます。
BoryptGrab(:5466/api/chromelevator)
ランチャー(ペイロード)の亜種には、ビルド名が含まれています(個々で異なる場合あり)。ランチャー(ペイロード)は、自身がダウンロードしたスティーラ「BoryptGrab」を実行する際、ビルド名を引数「-b」として渡します(図8の例では、ビルド名は「Shrek」です)。
ランチャー亜種は、ハードコードされたビルド名を含む以下のリクエストを送信して、別のファイルをダウンロードする場合があります。
:5466/api/custom_exe?build={BUILD_NAME}
これらのファイルは、スティーラ「Vidar」の亜種です(詳細は後述)。
実環境では、ランチャーがVidar亜種をダウンロードするために送信した以下のリクエストにおいて複数のビルド名が観測されました。
/api/custom_exe?build={BUILD_NAME}
- CryptoByte
- Kassay
- Leon
- NeoWho
- Shrek
- Sonic
- Yaropolk
- Yarostnick
さらにランチャー(ペイロード)は、攻撃者の以下のC&CサーバからPyInstallerで作成された実行ファイル(弊社ではTunnesshClientと命名)をダウンロードします。
:5466/api/client
ランチャー(ペイロード)は、ダウンロードしたTunnesshClientを実行するために以下のいずれかに存在するファイル(.xml)を用いてタスクをスケジュールします(図10)。
%TEMP%\client_task_system.xml
%TEMP%\client_task_user.xml
そしてランチャーは、「:5466/api/lodik」から実行ファイル(Go言語で作成されたバイナリ:弊社ではHeaconLoadと命名)をダウンロードするほか、別の実行ファイルをさらにダウンロードして実行します(図11)。
配信経路2: ランチャー(.exe)をダウンロードするVBScript
一部のZIPファイル亜種には、別のマルウェアをさらにダウンロードするダウンローダ(.vbs)が含まれていることがあります。本調査の実証時には、未使用変数をジャンクコードとして難読化に用いる以下のダウンローダを使用しました。
VBScript、SHA256: 1bd605ef84b6767df74bd6290f1468eed5a88264df23fcf70b6a75d5bdcf7d76
このVBScriptでは、文字列を表現するために整数型配列が採用されています。さらに整数型配列を対応する文字列に変換する関数「A」や権限を昇格させるための以下の関数も含まれています。
EnsureElevatedPrivileges
整数型配列から変換された文字列は、エンコードされたペイロード(PowerShell)です。最終的にデコードされたコマンド(VBScript内)は、以下からバイナリ(実行ファイル)をダウンロードしてBase64でデコードします(図12)。
hxxps://botshield[.]vu/kFcjld
最終的に難読化が解除されたコマンド(VBScript内)は、Microsoft Defenderの除外設定を可能にするため、Cドライブに対するマルウェアスキャンが阻止されるおそれがあります(図13)。
VBScriptによってダウンロード・デコードされたファイルは、C言語/C++で作成されたバイナリ(ランチャー)であり、ビルド名を含む以下のHTTPリクエストを送信することで、スティーラ(BoryptGrab)をさらにダウンロードします。
/api/{BUILD_NAME}
図14では、ビルド名「CryptoByte」を含む以下のC言語/C++のバイナリから送信されたHTTPリクエストを示します。
ランチャーの亜種:SHA256:15de71073f44c657c23f5f97caa11f1b12e654d4d17684bfc628cc1e5b6bcdd5
なお、ランチャーの亜種ごとに異なるビルド名が確認されました。これらのビルド名は、この検体(BoryptGrab)にハードコードされたビルド名の値に対応しています(詳細は後述)。
この攻撃チェーンでは、ランチャー(バイナリ)ではなく、ダウンロードされた以下のスティーラ(BoryptGrab)の亜種自身がバックドア(TunnesshClient)をダウンロードしていました。
SHA256: 4e90d386c1c7d3d1fd4176975795a2f432d95685690778e09313b4a1dbab9997
その他のダウンロード経路
.NETで作成された一部の以下のような亜種は、
実行ファイル: SHA256: 4264a88035aa0b63e9aef96daa78a58114d60a344ea10168a8ef5ef36bf8edbd
Base64でエンコードされた以下のダウンローダをデコード・実行するために用いられました。
.vbs:SHA256: 433a13cc70396f80dc29d1150c050339d78964fdc91bcdc3f40c67a77add1476
本調査で分析した検体においては、ダウンローダ(.vbs)が以下からバイナリ(実行ファイル)をダウンロードして実行しました。
hxxps://botshield[.]vu/KKRkm9
以下ようなランチャーの亜種は、
SHA256: 7f2315b89fb9a47e1516def136844d617bfcdce19000a1b0436706692dbe166c
自身の権限に基づいて以下のいずれかからファイルをダウンロードする可能性があります。
:5466/api/app
:5466/api/app.zip
また、別の以下のようなランチャー亜種は、
SHA256: 449f528f5ceae8c3f8336d0d8e3e3ec9031d1ad67c31ee7311b67e01d5fdf225
以下からペイロードをダウンロードすることができます。
:5466/api/payload
本調査で分析した3体目の以下の亜種においては、
SHA256: c40b9913e79c5dd09751b1afb03aaa98658bab61bacf27a299abd84fd44fe707
以下からバックドア「TunnesshClient」をダウンロードする場合があります。
:5466/api/client2
一方、一部のZIPファイル亜種には、マルウェアをダウンロードするために直接ダウンローダ(HeaconLoad)が含まれている場合があります。
HeaconLoad: Go言語で書かれたダウンローダ
以下のようなHeaconLoadの検体は、Runキー配下に値を追加する、または、スケジュールされたタスクを作成することで自身の不正活動を永続化させます(図16)。
SHA256: 2abe0ef88ba92db79d82cde4c0ed1f382bb347517a54ea82084c841d0f955518
HeaconLoadは以下に該当するHTTP POSTリクエストを介して攻撃者のC&CサーバにBeaconメッセージを送信します。
:8088/healthcheck
各Beaconメッセージには、収集されたシステム情報や検体(HeaconLoad)にハードコードされたビルドタグ値が含まれています(図17)。
以下にHeaconLoad亜種で確認されたハードコードされたビルドタグ値の例を列挙します。
- kylka
- leon
- shrek
- sonic
- voblya
- yaropolk
- yarostnick
- yasno
次にHeaconLoadは、自身のHTTP POSTリクエストに対する攻撃者の応答に含まれるフィールド(「bundle_available」や「bundle_hash」など)を確認します。これら2つのフィールドはそれぞれ、バンドルがダウンロード可能かどうかを示しているほか、検証のためにダウンロードするバンドルのハッシュ値を提供します(図18)。
バンドルファイルが利用可能な場合、HeaconLoadは攻撃者のC&Cサーバからバンドルアーカイブをダウンロードして展開します。そして展開されたアーカイブ内で最初に見つかった実行ファイルを実行します。
本調査ではHeaconLoadの検体において、ロシア語のログメッセージが確認されました(図19)。
Custom build exe:コードが難読化されたVidar亜種
以下からダウンロードされたバイナリ(実行ファイル)は、コードが難読化された既存のスティーラ「Vidar」の亜種とわかりました。
/api/custom_exe?build={BUILD_NAME}
以下の検体は、Vidarが用いたトラフィックパターンに基づいてHTTP POSTリクエストを送信する機能を備えています。
SHA256: 2050468744e44554fac17fb83f1515c95f2f2236716e2b5267a81c2b94205e6a
さらにXOR演算で暗号化された文字列を用いるほか、コードを難読化させるために不透明述語(冗長コードを含む)を含んでいます。
このVidar亜種は、難読化のために自身のAPIを動的に名前解決するほか、コードインジェクションや非同期プロシージャコール(APC)インジェクションも実行可能とわかりました。
BoryptGrab: C言語/C++で書かれたスティーラ(情報窃取型マルウェア)
BoryptGrabは、収集したデータを格納する出力ディレクトリを指定するオプション引数を受け取ります。
--output-path / -o
以下のような一部のBoryptGrab亜種は、
SHA256: fe4e5fb28d2c2b3a640112b6b125ce8c4afa8be28342e3bfda097ad9dd2ef9ee
ビルドに応じて、オプションの以下のようなコマンドライン引数を入力情報として受け取ります。
--build-name / -b
入力された引数は、BoryptGrabがユーザ情報を以下のようなテキストファイルに出力する際に「BUILD NAME」フィールドの値として用いられます。
UserInformation.txt
以下のような引数の指定がない場合、BoryptGrabの亜種は、既定のビルド名「NO_NAME」を用います。
--build-name
一方、一部のBoryptGrab亜種は、以下のような引数を構文解析する代わりに、
--build-name / -b
以下のテキストファイル内の「BUILD NAME」フィールドにハードコードされた値を用います。
UserInformation.txt
なお、BoryptGrab亜種の中には、ハードコードされた「BUILD NAME」の値がなく、以下のコマンドライン引数を構文解析しないものも存在します。
--build-name / -b
さらにこれらの亜種は、以下のテキストファイルの「BUILD NAME」フィールドに値を書き込めない点も共通しています。
UserInformation.txt
以下に実環境で確認されたBoryptGrab亜種にハードコードされたビルド名の値の一覧を示します。
- CryptoByte
- Crypto_Byte
- Data
- Kassay
- Leon
- Pisechka
- Shrek
- Sonic
- Sonic2
- Sonic_new1
- Sonic_new2
- Yaropolk
- Yarostnick
- Yasno
- bigdick
- wm_detect
スティーラ「BoryptGrab」は、レジストリエントリの検索や仮想マシンに関わるファイルの確認を通じて、自身が仮想マシン内で実行されているかどうかを検知します。
さらに解析回避策の一環として、BoryptGrabは、実行中のプロセスの名前を事前定義された一覧と照合します。また、昇格された権限での実行も試みます。
以下のような引数の指定がない場合、BoryptGrabは現在の時刻、パブリックIPアドレス、国別コードを用いて、既定の出力パス名をフォーマットします。そしてフォーマットした出力パス名を持つディレクトリを作成した後、収集したデータを一時保存します。
--output-path / -o
BoryptGrabは、下記リストにあるブラウザから情報を収集します。また、Google Chromeの保護機能「App Bound Encryption」を悪用するために、以下のGitHubリポジトリに公開されているコードを用います。
https://github[.]com/00nx/Chrome-App-Bound-Encryption-Bypass
https://github[.]com/xaitax/Chrome-App-Bound-Encryption-Decryption
以下にBoryptGrabが情報を収集するブラウザのリストを示します。
- Brave Browser
- CentBrowser
- Chromium
- Google Chrome
- Microsoft Edge
- Mozilla Firefox
- Opera
- Vivaldi
- Yandex Browser
BoryptGrabは、以下のURLに
https://github[.]com/00nx/Chrome-App-Bound-Encryption-Bypass
次のような関数に似たコードを用います。
loadAndDecryptPayload
また、同GitHubリポジトリに用いられた暗号化された以下のリソースを含むバイナリも確認されました。
PAYLOAD_DLL
BoryptGrab内の復号されたこのリソースには、上記GitHubリポジトリで公開されている以下のようなロジックが含まれています。
Chrome-App-Bound-Encryption-Bypass
さらにBoryptGrab内の復号されたリソース(ペイロード)には、YandexやFirefoxなどのブラウザからデータを収集する機能も確認されました。
復号されたこのペイロードには、ハードコードされたタイムスタンプ情報も含まれています。
このペイロードは、タイムスタンプ情報と感染端末内にインストールされているアプリ情報を以下のテキストファイルに書き込みます(図24)。
installed_applications.txt
ブラウザデータの収集を達成させるためにBoryptGrabは以下からChromiumヘルパーをダウンロードし、
hxxp://45.93.20[.]61:5466/api/x32_chromium
以下に保存します。
%TEMP%\ x32_chromium.exe
BoryptGrabは、ブラウザデータに加え、デスクトップ上の暗号資産ウォレットアプリとブラウザ拡張機能の両方から情報を収集します。その後、スクリーンショットを撮影し、システム情報を収集します。
以下にBoryptGrabが標的とする暗号資産ウォレットのディレクトリを列挙します。
- Armory Wallet
- Atomic
- AtomicDEX
- Binance
- Bitcoin Core
- BitPay
- Blockstream Green
- Chia Wallet
- Coinomi
- Copay
- Daedalus Mainnet
- Dash Core
- Dogecoin
- Electron Cash
- Electrum
- ElectrumLTC
- Ethereum
- Exodus
- GreenAddress
- Guarda
- Jaxx Desktop
- Komodo Wallet
- Ledger Live
- Ledger Wallet
- Litecoin Core
- MEW Desktop
- MultiDoge
- MyEtherWallet
- NOW Wallet
- Raven Core
- StakeCube
- Trezor Suite
- Wasabi Wallet
BoryptGrabには「File Grabber」機能も備わっており、指定された拡張子を持つファイルを共通ディレクトリ配下から収集します(図26)。同コードには誤字「Filegraber」が含まれていました。
最後にBoryptGrabは、Telegramファイルやブラウザのパスワードを収集します。さらにBoryptGrabの新たな亜種は、Discordトークンも収集可能と判明しました。
データ収集後、BoryptGrabは、収集したデータをアーカイブ化し、攻撃者のC&Cサーバにアップロードします。
一部のBoryptGrab亜種は、攻撃者のC&CサーバからTunnesshClientをダウンロードして実行します。ただし、すべてのBoryptGrab亜種がこの機能を備えているわけではなく、一部の攻撃チェーンでは、TunnesshClientが別のダウンローダによってダウンロードされました。
TunnesshClient: リバースSSHトンネルを備えたバックドア(PyInstallerで作成された実行ファイル)
TunnesshClientは、トラフィックを転送し、リバースSSHトンネル経由で攻撃者のコマンドを実行するバックドア(PyInstallerで作成された実行ファイル)です。ロシア語のコメントやメッセージを含んでおり、その起源を示唆しています(図28)。本実証時に用いたTunnesshClientの以下の検体は、
SHA256: 576692df4bf1c7d8927d3a183f5219a81c3bff3dd22971691f8af6889f80c5a0
攻撃者の以下のC&Cサーバに接続します。
193.143.1[.]104
TunnesshClientはまず、以下に対して
hxxp://193.143.1[.]104:5000
次のようなHTTP POSTリクエストを送信し、SSH認証情報を取得します(図28)。
/api/get_challenge, /api/get_credentials
そして、攻撃者がChallengeと名付けた応答内容を解決するためにSHA-256(ハッシュ値)を計算して暗号化された応答を取得します。その後、応答内容を復号し、JSON形式のSSH認証情報を取得します。
そしてTunnesshClientは、攻撃者の以下のC&Cサーバにシステム情報を送信します。
/api/get_port
攻撃者の応答からリモートポート転送用ポート番号を取得し、事前に取得したSSH認証情報とトラフィック転送用ポート番号を用いてリバースSSHトンネルを構築し、攻撃者のC&Cサーバと通信します。
TunnesshClientは、攻撃者が提供したコマンドを実行するために攻撃者の応答から整数値を受け取ります(図29)。これらの整数値は、実行するコマンドの操作タイプを表しています(表1)。
表1に、TunnesshClient(検体)が対応する操作タイプと実行するコマンド(動作)の一覧を示します。
以下のような検体のTunnesshClientの別の亜種は、感染端末(ローカル)上にSSHサーバを設定します。
SHA256: 0434437a073a3f3a49e84d5ecb20c99dd551bacc32bf100fbb8cf67a50642181
この亜種は、ローカルからSSH接続する際のユーザ名とパスワードをHTTP POSTリクエストを介して攻撃者の以下のC&Cサーバに送信します。
hxxp://45.93.20[.]195:5000
操作タイプが83の場合(表1)、このTunnesshClient亜種は、攻撃者からの通信をローカルのSSHサーバに転送します。なお、この亜種は、操作タイプ5と83のみを受け付け、既述の亜種のように攻撃者のコマンドを実行しないことがわかりました。
まとめ
スティーラ「BoryptGrab」を含む攻撃キャンペーンは、脅威エコシステムの巧妙化を示唆しています。事実、本攻撃キャンペーンで攻撃者は、正規ソフトと偽ってマルウェアをGitHubリポジトリに設置し、訪問者にダウンロードさせていました。BoryptGrab亜種の多くで、広範なデータ収集機能が確認されています。さらにペイロードによる多段階攻撃、仮想マシン検知機能や解析妨害機能による分析回避、暗号化されたペイロードによる機密情報の収集・外部送出機能なども備わっています。これらは、攻撃者側の開発技術レベルが継続的に高度化していることを示しています。
攻撃者が本攻撃キャンペーンでSEO対策したGitHubリポジトリや「無料の正規ツール提供元」と偽ったダウンロードサイトに依存している事実は、重要な傾向を示しています。攻撃者は、正規の開発者プラットフォームやオープンソースエコシステムが持つ信頼性を以前にも増して悪用しています。実環境で確認された数十のリポジトリ、異なるペイロード、多くのビルド名は、本攻撃キャンペーンが現在も脅威をもたらし続けていることを示しています。
TrendAI Vision One™によるプロアクティブセキュリティ
TrendAI Vision One™は、CREM(Cyber Risk Exposure Management)やセキュリティオペレーションを一元化し、オンプレミス、ハイブリッド、マルチクラウド環境にまたがる堅牢な多層防御を提供する、唯一のAI駆動型統合セキュリティ基盤です。
TrendAI Vision One™ Threat Intelligence Hub
TrendAI Vision One™ Threat Intelligence Hubでは、新たな脅威や攻撃者に関する最新の知見やTrendAI™ Research独自の戦略レポート、Threat Intelligence Feed(脅威インテリジェンスを用いた保護機能)を提供しています。
新たな脅威:From Fake GitHub Download Repositories to Reverse SSH Backdoors: Examining the BoryptGrab Stealer
Trend Vision Oneのアプリ「Intelligence Report」(IoC Sweeping)
From Fake GitHub Download Repositories to Reverse SSH Backdoors: Examining the BoryptGrab Stealer
スレットハンティングクエリ
Trend Vision Oneの検索機能「Search」アプリ
Trend Vision Oneをご利用のお客様は、検索アプリにお客様の環境内のデータを用いることで、本ブログ記事で言及されている悪意のある指標をマッチングまたはハントすることができます。
スティーラ「BORYPTGRAB」の検出
malName: *BORYPTGRAB* AND eventName: MALWARE_DETECTION AND LogType: detection
TrendAI Vision Oneをご利用中で、「Threat Intelligence Hub」が有効となっている場合、より多くの脅威ハンティングクエリをご確認いただけます。
TrendAI Vision One™ Network Security
- 46934: HTTP: Trojan.Win64.BoryptGrab.A Runtime Detection(HTTPにおける「Trojan.Win64.BoryptGrab.A」のランタイムを検出する)
- 46935: HTTP: Trojan-Downloader.Win64.HeaconLoad.A Runtime Detection(HTTPにおける「Trojan-Downloader.Win64.HeaconLoad.A」のランタイムを検出する)
- 46937: HTTP: Backdoor.Python.TunnesshClient.A Runtime Detection(HTTPにおける「Backdoor.Python.TunnesshClient.A」のランタイムを検出する)
侵入の痕跡(IoC: Indicators Of Compromise)
本ブログ記事に関する侵入の痕跡は、こちらをご参照ください。
参考記事
New BoryptGrab Stealer Targets Windows Users via Deceptive GitHub Pages
By: Mingyue Shirley Yang
翻訳:益見 和宏(Platform Marketing, TrendAI™ Research)