GitHub を悪用する高度なマルウェア:LNK ファイル経由で韓国組織を標的化

GitHub-Backed Malware Spread via LNK Files in South Korea

2026/04/06 gbhackers — Windows ショートカット・ファイル (LNK) と GitHub を悪用する攻撃者が、韓国の組織を標的とするステルス性の高い多段階マルウェア攻撃を展開している。 この攻撃は LNK ファイル/PowerShell/GitHub API を連携させ、通常の企業トラフィックに紛れ込みながら監視ツールを配布するものだ。武器化されたスクリプトを取り込む LNK ファイルにより、この攻撃は開始される。 

初期サンプルで確認されたのは、繰り返し使用されるファイル名/サイズ/Hangul Document (ハングル文書)/ラベルなどの豊富なメタデータである。このパターンは、Kimsuky/APT37/Lazarus といった北朝鮮関連グループの関連性を示していた。 

しかし、その後の攻撃者は、簡易的な復号機能の追加と、LNK 引数内へのペイロードのハードコードという方式へと、ツールを改良した。被害者がファイルを開くと、正規の PDF に見える韓国語の偽ビジネス文書が表示される一方で、バックグラウンドでは PowerShell コードが静かに実行される。 

2024年以降に観測された初期段階では、GitHub の C2 URL およびアクセストークンを隠蔽するための、単純な文字列連結が使用されていたと、FortiGuard Labs は指摘している。

GitHub ベース・マルウェア

デコードされた PowerShell スクリプトが最初に実行するのは、仮想化/デバッグ/フォレンジック・ツールなどのプロセスの検査であり、分析環境であるかどうかの判定である。具体的には、VMware/VirtualBox/IDA/dnSpy/Wireshark/Fiddler/x64dbg/Process Hacker などが検出される。

いずれかが検出された場合には、スクリプトは即時終了し、後続段階の解析を妨害する。 

LNK file with PowerShell script (Source : FortiGuard Labs).
 LNK file with PowerShell script (Source : FortiGuard Labs).

分析環境が検出されない場合には、Base64 エンコード文字列が再構築され、VBScript ペイロードが %Temp% 配下のランダムなディレクトリへと書き込まれる。 

永続化を確保するために、このマルウェアは非表示の Scheduled Task を登録し、wscript.exe を用いて 30 分ごとに VBScript を実行する。このタスク名は、文書風の長い名称に偽装され、正規エントリに紛れ込むよう設計されている。 

最新のバリアントでは、識別可能なメタデータの大半が削除され、p1 と呼ばれるデコーダのみが残されている。このデコーダは、ファイルパス/長さ/XOR キーを用いてデコイ PDF および次段階の PowerShell スクリプトを復号する。 

LNK file with encoded data (Source : FortiGuard Labs).
 LNK file with encoded data (Source : FortiGuard Labs).

その後に、VBScript により PowerShell ペイロードが非表示ウィンドウで再実行され、ユーザーに気付かれない状態で継続的な活動が維持される。 

このスクリプトにより収集されるホスト情報は、OS バージョン/ビルド番号/最終起動時刻/プロセス一覧などであり、<timestamp>-<IP>-BEGIN.log 形式のファイルへ記録された後に、ハードコードされたアクセストークンを用いて GitHub API 経由でアップロードされる。 

これらのアップロードについて、研究者たちは GitHub ユーザー “motoralis” と関連付けている。その非公開リポジトリと活動履歴は、2025年以降に観測された LNK フィッシング活動の増加と一致している。 さらに God0808RAMA/Pigresy80/entire73/pandora0009/brandonleeodd93-blip など複数のアカウントが、関連インフラとして使用されている。

これらのインフラには、長期間にわたり非活動のものと、短期間のみ稼働するものが混在しており、バックアップ・チャネルとして機能することで、C2 インフラの耐障害性を高めていると推測される。

Attacker's GitHub  (Source : FortiGuard Labs).
Attacker’s GitHub (Source : FortiGuard Labs).

すべてのペイロードおよびログは、GitHub の非公開リポジトリに保存されるため、防御側による直接の確認は不可能である。その一方で、通信自体は通常の暗号化された GitHub トラフィックに見えるため、企業ネットワークで許可されやすい。 

この手法は、URL やドメインベースのブロックを回避しながら、開発者サービスやファイル共有ツールなどの信頼された公開プラットフォームを悪用し、マルウェア配布とデータ流出を隠蔽するという、近年の傾向と一致する。

最終段階:GitHub による継続制御

第 3 段階では、より単純な PowerShell コンポーネントが、GitHub 上の C2 との常時通信を維持する。事前に作成された Scheduled Task をハートビートとして使用し、motoralis リポジトリ内の raw ファイルパスから、コマンドや追加モジュールを定期的に取得する。 

専用の keep-alive スクリプトにより、ネットワーク構成情報を収集し、PUT メソッドを介して GitHub へ送信する。そのログは、<Date>_<Time>-<IP>-Real.log 形式で保存される。 

Attack chain (Source : FortiGuard Labs).
Attack chain (Source : FortiGuard Labs).

LNK ショートカット/PowerShell/VBScript といったネイティブ Windows スクリプト/Scheduled Task/GitHub API を組み合わせることで、この攻撃者は、従来の実行ファイル・ドロッパを回避し、ディスク上の痕跡を最小化している。 

防御側に対して推奨されるのは、不審な LNK および文書ファイルを慎重に扱うことだ。さらに、PowerShell および VBScript の挙動監視を強化し、GitHub 利用パターンをベースライン化することで、異常な API 呼び出しやアクセスを検出すべきである。