Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
swarmer — Windowsレジストリのエクスポートファイルを、NTUSER.MANの置き換えに使用できるWindowsハイブファイルに変換するツール | Kitploit
ツール/GitHubGitHub/praetorian-inc/swarmer
特権昇格永続化メカニズムポストエクスプロイトレッドチーミング
GitHubpraetorian-inc/swarmer

swarmer

Windowsレジストリのエクスポートファイルを、NTUSER.MANの置き換えに使用できるWindowsハイブファイルに変換するツール

リポジトリを見る
161186ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

swarmer

EDR/AVから隠れてHKCUにレジストリキーを追加するためのツールです。管理者権限がなくても動作します。

使用方法

注意: この操作は一度だけ実行できます。NTUSER.MANが新しいレジストリハイブになった後は、管理者でなければ変更できません。最初の実行で必要な変更をすべて確実に行ってください。

reg_query BOFの結果を使用する場合

  1. 適切な req_query BOFを https://github.com/trustedsec/CS-Situational-Awareness-BOF/tree/master/SA/reg_query から入手します。
  2. execute-bof --opsec Z:\path\to\reg_query.x64.o go z"" i1 z"" z"" i1 を実行します。
  3. そのコマンドの出力を自分のマシンのファイルにコピーします。この例では output.txt と呼びます。すべてのタイムスタンプを含め、次のような HKEY_CURRENT_USER キーで始める必要があることに注意してください。
root@kitploit:~
03/18/2025 14:19:51      HKEY_CURRENT_USER\
  1. リリースセクションから swarmer.exe バイナリを入手し、swarmer.exe --bof --startup-key "WhateverKeyNameYouWant" --startup-value "C:\Path\To\Your\target.exe" output.txt NTUSER.MAN を実行します。
  2. NTUSER.MAN ファイルをターゲットマシンにアップロードします。OPSECを意識する場合は別の名前にしても構いません。
  3. 手順5でアップロードしたファイルを %USERPROFILE% にコピーします。つまり、C:\Users\MyUserName\NTUSER.MAN のようなファイルができるはずです。
  4. 次回そのアカウントがログインしたときに、レジストリの変更が読み込まれます。

.regファイルのエクスポートを使用する場合

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run にレジストリキーを追加して、起動時に電卓を起動したいとします。

まず、使用したい HKCU キーのレジストリダンプが必要です。理想的には、変更対象のマシンから取得する必要があります。reg export HKCU hkcu.reg を実行して生成できます。

次に、.regファイルに希望する変更を加えます。この例では、メモ帳でファイルを開き、次のように行を追加するだけです。

起動時に電卓を起動するエントリを追加

注意: HKEY_CURRENT_USER への変更のみが適用されます。HKLMには影響しません。

次に、このツール swarmer.exe を使用して、変更したregファイルをバイナリのレジストリハイブに変換する必要があります。呼び出し例は次のとおりです。

swarmer.exe hkcu.reg NTUSER.MAN

または、PowerShellスクリプト内で実行する場合は、リリースセクションから swarmer.dll バイナリを入手し、次のコマンドを使用して実行することもできます。

root@kitploit:~
Import-Module '.\swarmer.dll'
Convert-RegToHive -InputPath '.\hkcu.reg' '.\NTUSER.MAN'

最後に、NTUSER.MAN(名前はこれでなければなりません)を %USERPROFILE% ディレクトリ(C:\Users\MyUserName など)に配置するだけです。

次回そのアカウントがログインしたときに、レジストリの変更が読み込まれます。

なぜ機能するのか?

Windowsには古い遺産が多数あり、これは Windows 必須ユーザープロファイル を悪用しています。通常、ユーザーの NTUSER.DAT を NTUSER.MAN にリネームするには管理者権限が必要ですが、同じ名前のファイルをそこにドロップするだけで代わりに使用されるのを防ぐ保護はないようです。

バイナリのWindowsハイブをマシン上で生成するには管理者アクセスが必要という「期待される」セキュリティ境界がありますが、実際には緩く運用されています。swarmer は Offline Registry API を(悪)用して、エクスポートされた .reg ファイルを解析しながらバイナリレジストリハイブを操作します。説明を引用します。

アプリケーションは、システムレジストリのセキュリティ要件を回避するためにオフラインレジストリ関数を使用するべきではありません。ハイブをロードするには、RegLoadKey関数に必要な特別な権限を持たないアプリケーションは、RegLoadAppKey関数を使用できます。

明らかにそれには従いません。そこで、低権限のレジストリエクスポートと自作の swarmer ツールを組み合わせて、「特権的な」レジストリバイナリオブジェクトを作成し、適切な場所にドロップして既存の NTUSER.DAT レジストリハイブを上書きできます。

このプロセスでは従来のレジストリ読み取り/書き込みAPIを一切使用しないため、理想的にはEDRはこのプロセスを把握できません。SysinternalsのProcmonによれば、これは実際のレジストリ書き込みとして表示されません。特に paranoid な場合は、.regファイルを自分が管理するマシンに持ち込み、このツールでハイブバイナリファイルを作成し、ホストに戻すこともできます。レジストリをエクスポートした後は、NTUSER.MANファイルをドロップするまでホストとやり取りする必要はありません。

厳密に言えば、レジストリをエクスポートする必要すらありませんが、Windows環境と完全に一致しない別のマシンのレジストリでアカウントのレジストリを置き換えるのは危険であり、保証が難しいでしょう。

クレジット

  • この手法は、チームメイトの Rad から教えてもらいました。彼は Jonas Lykkegård から聞いたとのことです。
  • HiveSwarming プロジェクトは、Offline Registry APIを使用した変換プロセスの実装の良い基盤を提供してくれました。

ライセンス

このツールは Apache License の下でオープンソース化されています。

ツールをダウンロード