Contents
- イントロダクション
- 主要ターゲット。
- 影響を受ける業界。
- 地理的焦点。
- 感染連鎖。
- 初期調査結果。
- デコイ文書を調べる
- テクニカル分析
- ステージ1 – 悪意のあるLNKスクリプト
- ステージ 2 – DUPERUNNER インプラント
- ステージ 3 – AdaptixC2 ビーコン。
- インフラストラクチャの成果物。
- 結論
- SEQRITE 保護。
- IOC
- MITRE ATT&CK。
イントロダクション
SEQRITE APTチームは最近、ロシアの企業、特に人事部、給与計算部、社内管理部門を標的としたキャンペーンを発見しました。このキャンペーンでは、従業員のボーナスや社内財務方針を題材にしたリアルな囮文書が利用されています。このキャンペーンに関与するマルウェアエコシステム全体は、悪意のあるLNKファイルの使用を基盤としており、未知のインプラント(DUPERUNNERと名付けました)が最終的にAdaptixC2ビーコンをロードし、脅威アクターのインフラに接続します。
このブログでは、分析中に発見したキャンペーンの技術的な詳細を検証します。初期の感染経路の詳細な分析から、キャンペーンで使用された未知のインプラントに至るまで、キャンペーンの様々な段階を考察し、最後にキャンペーン全体を概観します。
主なターゲット
影響を受ける業界
- 企業部門の従業員。
- 人事・給与
地理的焦点
- ロシア連邦
感染連鎖

初期の調査結果
最近、2025 年 11 月 21 日に私たちのチームは、Virustotal に公開された悪意のある ZIP アーカイブを発見しました。この ZIP アーカイブは、PDF および LNK 拡張子のデコイを含むスピアフィッシング ベースの感染の初期ソースとして使用され、最終的に Adaptix C2 ビーコンを実行するインプラント DUPERUNNER をダウンロードします。
Премия 2025.zip というZIPファイル(Bonus.Zipと訳されます)には、Документ_1_О_размере_годовой_премии.pdf.lnk という悪意のあるLNKファイルが含まれており、これはDocument_1_On_the_size_of_the_annual_bonus.pdf.lnkと訳されます。これは基本的にルアー攻撃に関係する命名規則です。そして、この悪意のあるショートカット(.LNK)は、powershell.exeと呼ばれるLOLBINを使用して悪意のあるインプラントをダウンロードします。これはDUPERUNNERとして追跡されています。さらに、実行されるとAdaptix C2ビーコンがダウンロードされ、コマンドアンドコントロールサーバーに接続します。それでは、このおとり文書について詳しく見ていきましょう。
デコイ文書を調べる
まず、「文書 2 - 支払いを受け取るための条件と手順について」と呼ばれるおとり文書を調べてみると、これは当初 Документ_2_О_сроках_и_порядке_получения_выплат.pdf という名前でしたが、基本的にキャンペーンに関連するおとり文書です。

おとりの見出しには「年間ボーナスの規模について」とあり、最初の段落をさらに見てみると、文書が発行されたことが書かれています。 「従業員に対する物質的インセンティブ制度を規制する目的で、ロシア連邦労働法典および組織の内部規則の規定に従って。」 次に、年間ボーナスの額を決定する手順を概説し、この文書を社内での使用を目的とした標準的な人事ポリシーとして位置付け、さらに全体を 5 つの主要ポイントにまとめています。

全体として、このおとり文書の 5 つの主要ポイントは、従業員の年間ボーナスを計算するための社内規則の概要を示しており、ボーナスを KPI、職務責任、組織目標への貢献に結び付けられた業績ベースのインセンティブとして説明しています。
誘引文書では、別途規定がない限り、年間給与の 15% のデフォルトのボーナス率を設定し、最終的なボーナス額は業績評価、戦略的タスクの完了、懲戒記録、および企業基準の遵守によって決まると説明しています。
さらに、雇用主は会社の財務状況、部門業績、従業員個人の貢献度に基づいてボーナスを増額または減額できると規定されています。ボーナスの決定は最終的に雇用主の正式な指示によって確定され、従業員に通知されなければなりません。この構造は、社内の人事および給与計算ワークフローと密接に連携しています。
次のセクションでは、テクニカル分析を見ていきます。
テクニカル分析
技術分析は3段階に分かれています。まず、スピアフィッシングを狙ったZIPファイルに埋め込まれた悪意のあるショートカット(.LNK)スクリプトを検証します。次に、DUPERUNNERとして追跡している悪意のあるインプラントを分析し、最後に、DUPERUNNERインプラントによってダウンロード・実行されるAdaptix C2ベースのビーコンに焦点を当てます。
ステージ1 – 悪意のあるLNKスクリプト
ZIPファイルにはДокумент_1_О_размере_годовой_премии.pdf.lnkというLNKファイルが含まれており、調査してみると、このLNKファイルの唯一の目的は、リモートサーバーからダウンロードし、powershell.exeというWindowsユーティリティを使用して悪意のあるインプラントDUPERUNNERを実行することだけであることが明らかになりました。
![]()
コマンドライン引数を調べてみると、次のように記述されていることがはっきりと分かります。 powershell.exe 次のような旗で -NoNI, -いいえ, -w 非表示 完全にバックグラウンドで実行され、 iwr (WebRequest の呼び出し) このコマンドは、リモートサーバー46[.]149[.]71[.]230からインプラントをダウンロードし、Tempフォルダにs.exeとして保存します。その後、ダウンロードしたインプラントを直ちに実行します。
次のセクションでは、DUPERUNNER と呼ばれるインプラントの技術的機能について説明します。
ステージ 2 – DUPERUNNER インプラント
最初の分析で、s.exe ファイルが C++ でプログラムされた 2 番目のステージャーであることがわかりました。

バイナリの最初のフラグメントを分析したところ、DUPERUNNER と呼ばれる C++ インプラント内に複数の興味深い機能セットが存在することがわかりました。

ここで、これらの興味深い機能を調べ、その機能を分析します。

最初の関数である DownloadAndOpenPDF を調べたところ、この関数は2つの引数を取ることがわかりました。1つはPDFがホストされているアドレス、もう1つはポート番号(80)です。最後に、InternetOpenAなどのAPIを使用して特定のユーザーエージェントを使用し、GETリクエストを使用して、リモートサーバーから fontawesome_tld.woff としてホストされているファイルをダウンロードしようとします。また、ファイルをダウンロードするための複数のクエリを実行する前に、3秒間の短いスリープ時間も使用します。

この同じ関数の次の部分では、被害者のマシンの一時パスを列挙し、特定の API を使用してシステム時間も列挙します。列挙されると、ファイルはマシンのタイムスタンプに基づいて名前が付けられた PDF とともに Temp ディレクトリに保存され、PDF の無害性が活用されます。

さて、最後に PDF がダウンロードされると、ShellExecuteA を使用して PDF をターゲット マシンに生成します。
脅威アクター側にちょっとしたミスがあったことが分かりました。この機能の後にダウンロードされる PDF は、スピアフィッシング ZIP 内にすでにパックされているのと全く同じデコイをダウンロードするため、デコイがターゲットのマシンに 2 回存在することになりますが、残念ながら、この TA がデコイを 2 回ドロップする動機が不明なため、これが故意に行われたのか、それとも TA 側のミスなのかはまだわかりません。

次の関数 GetTargetPID は非常に単純で、従来のプロセス インジェクションのスケープ ゴート プロセスとして使用される explorer.exe、notepad.exe、および msedge.exe のプロセス セットを列挙します。これは、プロセス インジェクション前のプロセス列挙によく使用される CreateToolHelp API を使用して実行されます。

ここで、3 番目の関数 Download を調べてみると、前の関数と同様に、同様の User-Agent を使用しており、今回は同様のリモート Web サーバーから fontawesome.woff という別のファイルをダウンロードしており、基本的な停止-試行メカニズムを使用してファイルを照会し、 InternetReadFile という API を使用してターゲット マシンにダウンロードして、ターゲット マシンに保存していることがわかります。

さて、DUPERUNNER インプラントの最後の関数に移ると、この関数は 2 つの引数を取ります。1 つは TargetID で、もう 1 つはプロセス インジェクションを実行するために渡される次のステージャー バッファーのシェルコードです。

名前が示すように、この関数は、VirtualAllocEx を使用してメモリを割り当て、シェルコードをターゲット プロセスに書き込み、さらにターゲット プロセスに新しいスレッドを作成するという、典型的なリモート スレッド インジェクションを使用しています。4 番目のパラメータ LPTHREAD_START_ROUTINE (別名 lpBaseAddress) には、このケースでは実行される Adaptix C2 ビーコンであるシェルコードのアドレスが含まれています。
最後に、最後のステージャーがターゲット マシン上で実行され、DUPERUNNER インプラントが正常に終了します。次のセクションでは、Adaptix C2 ビーコンについて説明します。
ステージ3 – AdaptixC2ビーコン
まず、このファイルを調べてみると、fontawesome.woff という名前のこのファイルは基本的にステージャー ファイルであり、特定の不正行為を実行するための疑似ブートストラップ ローダーとして機能し、最終的に基本的に C2 ビーコンであるシェルコードをメモリにロードすることがわかりました。

また、このステージャーベースのペイロードにはいくつかの関数しか含まれていないこともわかりました。

sub_12D の処理を進めるにあたり、まず巧妙なトリックを使って自身の隠されたペイロードを見つけ出します。現在の位置から自身のメモリをスキャンし、マジックバイト 0x5A45(「EZ」を逆から読むとこのようになります)を探します。このマーカーを見つけると、ちょうど60バイト後に格納されている数値を読み取ります。この数値は、シェルコードの末尾に貼り付けられた実際のDLLへのオフセットです。次に、その数値にジャンプし、簡単なサニティチェックを行い、データが「PE\0\0」で始まっていることを確認します。
![]()
次に、次の関数セットを見てみましょう。sub_69 は基本的に、解決する DLL 名のハッシュを取得します。

DLL ベース アドレス全体は、従来の PEB->Ldr->InMemoryOrderModuleList トラバーサルによって解決されます。このトラバーサルでは、マルウェアがロードされたモジュール リストを調べ、カスタム シード 1572 を使用して大文字と小文字を区別しないカスタムの djb2 スタイルのハッシュ ルーチンを各モジュール名に適用し、ターゲット ハッシュ (この場合は、ntdll.dll の場合は 0x19A59EC) と一致するものが見つかるまで続けます。もう 1 つの 0x7B348614 は kernel32.dll です。

DLL 名の ASCII 名をチェックするために使用できる簡単な Python スクリプトを作成しました。

![]()
次に、DLL のベース アドレスが解決されると、エクスポート テーブルを調べてエクスポートされた各関数名をカスタム ハッシュ値と照合することで API も解決され、マルウェアは VirtualAlloc、GetProcAddress などの関数や、シェルコード実行用のその他の API を動的に検索できるようになりました。

さて、シェルコードが実行されると、構成を抽出し、インプラントのビーコン ID などのいくつかの重要なアーティファクトを発見しました。

それ以外にも、ビーコンが C2 リモート ホストに接続し、POST メソッドを使用していたことも判明しました。また、それに関連する User-Agent も見つかりました。

さて、最後に発見した興味深いアーティファクトは、脅威アクターがインフラをホストしていたC2 URLです。AdaptixC2はオープンソースプロジェクトであるため、既にWeb上で公開されている他のコードフラグメントについては深く掘り下げませんが、ビーコンID、ユーザーエージェント、C2ホストといった重要なアーティファクトは上記で抽出しました。
次のセクションでは、このキャンペーンのインフラストラクチャの詳細に焦点を当てます。
インフラストラクチャの遺物
当初、これらの悪意のあるキャンペーンには、ネットワーク関連のアーティファクトが 2 つ接続されていたことが判明しました。1 つは、悪意のある LNK が DUPERUNNER インプラントをダウンロードするために使用したものであり、もう 1 つは AdaptixC2 がホストされていたリモート ホストです。

さて、ネットワークベースの検索を少し行ったところ、IPアドレス46[.]149[.]71[.]230の最新アップデートが、デフォルトのポート構成であるポート443で提供されていたことがわかりました。 アダプティックスC2 HTTP ビーコン、デフォルトの Apache Web サーバーも実行されており、デフォルトのページが表示されます。


DUPERUNNERインプラントでは、このリモートホストはポート80でホストされていた後段のダウンロードのみを担当していたことが確認されています。そのため、TAがポート443の設定を変更し、後にAdaptixC2をホストするサーバーとして使用していたことは、非常に特異なケースであると考えられます。さらに、同様のインフラストラクチャの重複を持つ複数の興味深いドメインが、この類似のアドレスを指していることも確認しました。


次に、次の IP アドレスに進むと、ビーコンが接続していたこの C2 ホストの最新の応答に、AdaptixC2 HTTP ビーコンの同様のポート構成があることがわかりました。
悪意のあるインフラストラクチャはASNの下でホストされています 48282 AS の三脚と 9123 AS VDSINA-ASおよびTIMEWEB-ASの組織の下で.
結論
私たちは2025年11月からクラスタUNG0902でこのキャンペーンを追跡しており、DUPERUNNERやAdaptixC2といった複数の悪意あるインフラストラクチャとインプラントを使用していることを発見しました。調査の結果、脅威アクターは複数の組織の従業員を標的にしていることが示唆されています。私たちは今後もこのキャンペーンを同じクラスタで追跡するとともに、この進行中のキャンペーンは国家主導の活動によるものだと考えています。
SEQRITE保護
- トロイの木馬.50169.SL
- トロイの木馬.50168.GC
- ローダー.S38592683
IOC
| ハッシュ(SHA-256) | ファイルタイプ |
| 87db5cbd76e7adeb6932c4ae14f3d3bb736d631460d65e067fb2a0083b675399 | エグゼ |
| d9e2b6341f6de5c95dd02cf3350c07cd2be3b0a78b82c073229396b6d4c8d3c1 | エグゼ |
| 3ce5ab897b7f33bc1b9036abc8e7d2812b385fbab404dad686afaf9fb83fe07a | エグゼ |
| 48b9f78899b8a3daaeb9cbf7245350a6222cbf0468cd5c2bab954c8dbbce3995 | エグゼ |
| 7157be86c6612c59e5120ae00260f4268b19560fa5a6fa52ed54d72868070d50 | 7zip |
| 432974205e1ce4c1d2c0e6bf6ebfafd90f6c19451eec0485ac46beaf65247763 | エグゼ |
| 1e0c5129ac74989754b7c27be9e12b1ebf90fa5f81db6d7fe5f1aa050a914cf9 | エグゼ |
| 3a52c13d00af0486095ee4007fd72dae646d3c7384754744507e33537b3fdf2a | エグゼ |
| 8c075d89eee37a58f1f3a8bf0cbd97e0c8f00e73179a36eb2cd8745024c1c4ee | エグゼ |
| 2cd715d0702fd70fda45c0569a38b3d983de1a8cf23b559293a7c0623da69c90 | エグゼ |
| ba6902efd3771a564785bdae68fa5f5ac12b7ebd828e8975459fff0136e2efdb | DLL |
MITER ATT&CK
| 戦略 | テクニックID | 技名 | Operation DupeHikeへの適用 |
| 初期アクセス | T1566.001 | スピアフィッシング添付ファイル | 被害者は、悪意のある PDF をテーマにした LNK ルアー (従業員ボーナス ポリシー) を含む ZIP ファイルを受け取ります。 |
| 実行 | T1204.002 | ユーザーの実行:悪意のあるファイル | ユーザーが LNK ファイルを PDF だと思い込んで開くと、実行がトリガーされます。 |
| 実行 | T1059.001 | PowerShellの | LNK は -NoNI -nop -w 隠しコマンドで PowerShell を起動し、C2 から DUPERUNNER をダウンロードして実行します。 |
| 実行 | T1218.011 | システムバイナリプロキシ実行: Rundll32 / LOLBIN実行 | PowerShell やその他の LOLBIN は、悪意のあるコンポーネントの実行を代理するために使用されます。 |
| 実行 | T1105 | 入力ツール転送 | PowerShell Invoke-WebRequest (iwr) は、s.exe (DUPERUNNER) をダウンロードし、その後 fontawesome.woff (AdaptixC2 ステージャー) をダウンロードします。 |
| 防衛回避 | T1036 | 仮装 | LNK は PDF を装い、DLL は ZIP を装い、WOFF はフォント ファイルを装います。 |
| 防衛回避 | T1027 | 難読化/暗号化されたファイル | AdaptixC2 は、マジック バイト (EZ) の後ろに追加されたパックされたシェルコードを使用します。 |
| 防衛回避 | T1027.007 | 動的API解決 | AdaptixC2 は、djb2 スタイルのハッシュと PEB トラバーサルを使用して API を解決します。 |
| 防衛回避 | T1055.003 | スレッド実行ハイジャック | DUPERUNNER は、正当なプロセス (explorer.exe、notepad.exe、msedge.exe) にシェルコードを挿入します。 |
| 防衛回避 | T1620 | リフレクションコードの読み込み | AdaptixC2 は、リフレクション ローディング技術を使用して、追加されたシェルコードからペイロードをロードします。 |
| プーケットの魅力 | T1082 | システム情報の発見 | DUPERUNNER はホスト名、ドメイン、システム時間、Temp ディレクトリを収集し、被害者の GUID を作成します。 |
| プーケットの魅力 | T1057 | プロセスディスカバリー | DUPERUNNER は、CreateToolHelp API を使用してプロセス (explorer.exe、notepad.exe、msedge.exe) を列挙します。 |
| コマンド&コントロール | T1071.001 | アプリケーション層プロトコル: HTTP | DUPERUNNER は HTTP GET を使用して、46.149.71.230 からデコイとビーコンをダウンロードします。 |
| コマンド&コントロール | T1132 | データエンコーディング | ビーコンの結果と通信は内部ルーチンによってエンコードされます。 |
| コマンド&コントロール | T1095 | 非アプリケーション層プロトコル | AdaptixC2 は、ビーコンに生の TCP を使用する場合があります (C2 設計から暗黙的に想定されています)。 |
| コマンド&コントロール | T1573 | 暗号化された通信 | AdaptixC2 ビーコンは、C2 通信中に暗号化を使用します。 |
| 権限昇格/防御回避 | T1055 | プロセス射出 | DUPERUNNER は、リモート スレッド インジェクションを介して AdaptixC2 シェルコードを正当なプロセスに挿入します。 |
| 収集 | T1113 / T1005 | ローカルデータ収集 | TA の指示に従ってシステム ファイルを取得できるビーコン。 |
| exfiltration | T1041 | C2チャネルを介した浸透 | ビーコンは、エンコードされた結果/出力を POST 経由で /result C2 エンドポイントに送信します。 |
| 影響 | T1537 | データ漏洩 | ロシアの企業環境からシステムデータとファイルを盗みます。 |
著者
- スバジート・シンハ
- プリヤ・パテル
- ナンディニ・セス



