APTグループが使用するBlueShell亜種の分析

BlueShellはGo言語で開発されたオープンソースのRAT (遠隔操作マルウェア) です。BlueShellに感染したホストはC2サーバを介して遠隔操作が可能となり、リモートシェルやSOCKS5プロキシなど、攻撃者に様々な機能へのアクセスを提供します。BlueShellは主に中国を拠点とする脅威アクターによる攻撃で使用されていることが報告されています1

我々は、BlueShellの亜種といえるLinuxマルウェアを特定のAPTグループ (BlackTech2など) が侵入後の攻撃活動で使用していることを確認しています。専用のドロッパーを介して実行される点、プロキシサーバを経由したC2通信といった独自機能が実装されている点など、このBlueShell亜種にはオリジナル版と異なる要素が複数存在します。この記事では、2026年5月に観測した3最新のBlueShell亜種を分析することで得られた知見を共有します。

ドロッパー

攻撃者はSSH等の手段で横展開したホストにドロッパーを設置、実行します。後述する通り、ドロッパーはBlueShell亜種を実行するだけでなく、設定情報の読み込みやアンチフォレンジックに関連する機能も有しています。

ドロッパーが実行されると、まず自身の .data セクションに含まれる0x21E3BAバイトのデータをXORデコード (鍵: 0x63) します。

XORデコード後のデータはFastLZ4を使用して圧縮されており、ドロッパーはこのデータを展開して、それをファイル /tmp/kthread に書き込みます5。ここで生成されるファイル /tmp/kthread はBlueShell亜種の実行ファイルです。

最終的に、環境変数 wtim に所定の文字列を設定した上で、ドロッパーはBlueShell亜種 (/tmp/kthread) を実行します。この際、コマンドライン引数 (argv[0]) に [kworker/12:12] という文字列を設定することで、BlueShell亜種のプロセスをLinuxカーネルのワーカーに偽装します6

更に、実行後に /tmp/kthread を削除することで、ファイルシステム上にBlueShell亜種を残さないよう工夫しています。実際にドロッパーを実行した環境で ps コマンドを実行したり、 /proc/PID/exe の内容を確認したりすることで、これらの解析妨害が正しく機能していることがわかります。

なお、ドロッパーはBlueShell亜種の実行後も削除されずファイルシステム上に残存するため、これを保全および解析することでBlueShell亜種も入手することが可能です。しかしながら、実際の攻撃事例においては、実行後に攻撃者がドロッパーの実行ファイルを削除するような所作を確認しています。このような場合、ファイルシステム上に存在するドロッパーを発見・解析することができません。よって、マルウェア解析を実施したり設定情報を入手したりする為には、ファイルシステムのカービングやメモリフォレンジックを実施する必要があります。

BlueShell亜種

BlueShell亜種が実行されると、まずドロッパーによって設定された環境変数 wtim 内の文字列をBase64デコードおよびXORデコード (鍵: 0x63) して設定情報を入手します。設定情報は空白文字で区切られた文字列となっていて、BlueShell亜種は各パラメータを適切にパース (数値に変換する等) してこれらを使用します。

オリジナル版のBlueShellに存在しない機能としてホスト名のチェック機能があり、設定情報内のホスト名と実行環境のホスト名が一致しない場合、BlueShell亜種は実行を終了します。今回観測したBlueShell亜種では null という文字列が設定されており、ホスト名のチェック機能が無効化されていました。

次に、設定情報内の値をもとにC2サーバに接続・通信します。オリジナル版のBlueShellと同様、C2サーバに直接接続する機能も存在しましたが、今回のBlueShell亜種は被害組織のプロキシサーバを経由して、C2サーバに接続するように設定されていました。

なお、2023年以前に観測されたBlueShell亜種には、プロキシサーバ経由でC2通信を行う機能は実装されていません。今回観測したマルウェアを含め、2024年以降に観測されているBlueShell亜種では、当該機能が実装されていることを確認しています。このことから、攻撃者は実際の攻撃活動から得られた知見をもとに、継続的にBlueShell亜種を改良・拡張している可能性があります。
接続に成功すると、C2サーバのX.509証明書のCommon Nameフィールドに microsoft, google, cloudflare, centos, ubuntu のいずれかの文字列が含まれるか確認して、含まれている場合のみC2サーバへの接続を続行します。このような機能はオリジナル版のBlueShellに存在しないため、マルウェア開発者が独自に追加した機能だと考えられます。

次に、C2サーバに感染ホストに関する以下の情報を送信します。

  • ホスト名
  • ユーザ名
  • UID
  • ローカルIPアドレス
  • BlueShell亜種のPID
  • C2サーバへの接続日時

オリジナル版のBlueShellでは、OS名 (windows, linux など) を送信するだけなので、この機能もBlueShell亜種の独自の実装だといえます。
ホスト情報の送信後、BlueShell亜種はC2サーバからコマンドを受信して実行するループ処理に突入します。今回観測したBlueShell亜種に実装されていたコマンドは以下の通りです。

コマンド名オリジナル版のBlueShellにおけるコマンド名説明
x0指定された秒数スリープする。オリジナル版のBlueShellには存在しないコマンド。
x1upload感染ホストにファイルをアップロードする。
x2download感染ホストからファイルをダウンロードする。
x3shellリモートシェルを実行する。
x4socksSOCKS5プロキシを実行する。

コマンド名を直感的でないものに改変することで、マルウェア解析を妨害していると考えられます。なお、Goバイナリに含まれる pclntab (Program Counter Line Table) に関数名などのメタデータが残存していた為、コマンド名が変更されていて尚、 main_GetInteractiveShell といった関数名からコマンドの機能が推測可能な状態でした。

設定情報

先述した通り、ドロッパーによって環境変数内にBase64エンコードおよびXORエンコードされた設定情報が格納され、BlueShell亜種はそれをデコードして使用します。

パラメータ名備考
C2サーバ アドレス48.216.210[.]91Microsoft Corporation (AS8075)
C2サーバ ポート番号443
スリープ時間666C2サーバとの接続に失敗した際に再試行するまでの秒数
ホスト名nullnull でない場合、ホスト名のチェックに使用する
プロキシサーバ アドレス10.210.20.254被害組織のプロキシサーバと思われる
プロキシサーバ ポート番号3128Squid7のデフォルトポート番号
プロキシサーバ ユーザ名test
プロキシサーバ パスワードtest
プロキシサーバ 使用フラグ11 の場合、プロキシサーバ経由でC2サーバに接続する
プロキシサーバ 認証フラグ01 の場合、設定情報内の認証情報を使用してプロキシサーバに接続する

なお、2023年以前に観測されたBlueShell亜種も同様に環境変数 (lgdt, wtim など) 内のBase64エンコードされた設定情報を参照しますが、今回観測したBlueShell亜種のようにXORエンコードされるようになったのは2024年以降に観測された検体に限ります。また、2023年以前に観測されたBlueShell亜種はプロキシサーバを介したC2通信に対応していなかった為、設定情報内にプロキシサーバに関連するパラメータが存在しませんでした。

さいごに

過去にASECが公開したレポート8内で、本稿で取り上げたBlueShell亜種が韓国とタイを標的とするAPT攻撃で用いられた可能性があることが報告されています。しかし、我々はBlackTechによる日本国内の組織を標的としたAPT攻撃においてもBlueShell亜種を観測しています。同種のマルウェアが継続して観測され続けていることから、今後も警戒が必要だといえるでしょう。

Appendix: IoCs

ファイル

SHA256説明
944b774d592f5e7fe2c34ac6c3abb2a77bfa96707c4f3c33ac77b8d54800244fapid (BlueShell亜種ドロッパー)
3228da011423853efd3d94ce3a28046b5ca19e921861ea5aee2700bc90fc1d55/tmp/kthread (BlueShell亜種)

ネットワーク

  • 48.216.210[.]91:443
  1. BlueShell Backdoor: Cross-Platform Malware in Go – Hunt.io
    https://hunt.io/malware-families/blueshell-backdoor ↩︎
  2. 中国を背景とするサイバー攻撃グループBlackTechによるサイバー攻撃について – 警察庁
    https://www.npa.go.jp/bureau/cyber/koho/caution/caution20230927.html ↩︎
  3. 当該ファイルは2026年5月にインドネシアおよびシンガポールからVirusTotalにアップロードされていた。 ↩︎
  4. ariya/FastLZ – GitHub
    https://github.com/ariya/FastLZ ↩︎
  5. 書き込み先のファイルパスはドロッパー (攻撃キャンペーン) によって異なる。過去の攻撃では、 /tmp/.ICECache などにファイルを書き込むBlueShell亜種も確認されている。 ↩︎
  6. 偽装先のプロセスはドロッパー (攻撃キャンペーン) によって異なる。過去の攻撃では、カーネルワーカー以外のプロセス (/usr/sbin/cron -f など) に偽装しているBlueShell亜種も確認されている。 ↩︎
  7. オープンソースのWebプロキシサーバー。
    https://www.squid-cache.org/ ↩︎
  8. 韓国国内とタイを対象とする APT 攻撃に使用された BlueShell マルウェア – ASEC
    https://asec.ahnlab.com/jp/56951/ ↩︎

シェアする