あなたはここにいます: ホーム / データベースハッキング / MSSQLand – ラテラルムーブメントとポストエクスプロイテーション用の軽量MS-SQL対話ツール
MSSQLandは、レッドチーム運用とセキュリティ監査中にMicrosoft SQL Server データベース管理システムと対話するために設計された.NET Framework 4.8ユーティリティです。アセンブリ実行を使用してビーコンを通じて直接操作を実行する必要がある制約のある環境向けに構築されたこのツールは、オペレータがリンクされたSQL Serverインスタンスをトラバースし、ユーザーになりすまし、複雑なTransact-SQL(T-SQL)クエリを必要とせずにアクションを実行することを可能にします。このプロジェクトは2026年3月にリリースされ、従来のデータベースツールが利用できないか実用的でないSQL Serverポストエクスプロイテーションワークフローの重大なギャップを埋めています。

SQL Server Management Studio(SSMS)やmssqlclient-ngなどのPythonベースのツールとは異なり、MSSQLandはオペレータがすでにSQL Serverへの初期アクセスを持っているが、リンクされたインスタンスをピボットする必要があるか、偽装によって権限をエスカレートする必要があるラテラルムーブメントシナリオ向けに最適化されています。このツールは、リンクされたサーバーチェーン全体でリモートプロシージャコール(RPC)とOPENQUERYステートメントを手動で作成するテディアスなプロセスを自動化し、レッドチームがシンタックスデバッグではなく実行に焦点を当てることを可能にします。
機能
- マルチホップSQL Serverシナリオ用の自動
OPENQUERYおよびRPC Out処理によるリンクされたサーバーチェーンのトラバーサル - システムレベルの権限を必要とせずにデータベースコンテキスト内で権限をエスカレートするための
EXECUTE AS USERによる偽装 - Microsoft Configuration Manager展開の悪用と列挙をサポートする構成マネージャー(ConfigMgr)サポート(旧名SCCM/MECM)
- 認証情報を検証し、クエリを実行しない接続テストモード。偵察中の最小限のOPSEC足跡に理想的
- エンゲージメントレポートとドキュメントに直接貼り付けるのに適したMarkdown互換の出力テーブル
- 自動化処理と他のツールチェーンとの統合のためのCSVエクスポート形式オプション
- Cobalt Strike、Havoc、Sliver、その他のC2フレームワークを念頭に置いて構築されたアセンブリ実行対応
- Windows認証、SQL Server認証、Kerberosチケット(外部ツール経由)を含む複数の認証方法
インストール
MSSQLandは、事前にコンパイルされたWindows実行可能ファイルとして配布されています。GitHubリリースページから最新リリースをダウンロードして、実行可能ファイルをターゲット環境またはビーコン作業ディレクトリに転送してください。
# GitHubリリースからダウンロード
# https://github.com/n3rada/MSSQLand/releases
# ソースからコンパイルするオペレータ向け
# Visual Studio(.NET Framework 4.8 SDK付き)が必要
git clone https://github.com/n3rada/MSSQLand.git
cd MSSQLand
# Visual StudioでMSSQLand.slnを開いてx64 Releaseでビルド
このツールは、C2フレームワークからのアセンブリ実行向けに設計されています。ターゲットシステムでのインストールや登録は必要なく、制限されたまたは監視された環境での操作に適しています。
使用方法
このリポジトリは、従来の意味で--helpフラグをグローバルに提供していません。以下の使用情報は、READMEとGitHubドキュメントから逐語的に再現されています。
MSSQLand.exe <host> [options] <action> [action-options]
# 接続テストのみ(アクション実行なし)
MSSQLand.exe localhost -c token
# 特定のアクションを実行
MSSQLand.exe localhost -c token info
MSSQLand.exe localhost:1434@db03 -c token info
# リンクされたサーバーチェーンのトラバーサル
# 形式: server:port/user@database またはこれらの組み合わせ
# セミコロン(;)はサーバーを分離し、スラッシュ(/)は偽装を指定
MSSQLand.exe localhost -c token -l SQL01;SQL02/admin;SQL03@clients info
# Configuration Managerアクション(cm-プレフィックス)
MSSQLand.exe sccm-db.corp -c token cm-devices
MSSQLand.exe sccm-db.corp -c token cm-scripts
# 自動化用のCSV出力
MSSQLand.exe localhost -c token --format csv --silent procedures > procedures.csv
このツールは、オプションのポート番号(デフォルト1433)、ユーザー偽装コンテキスト、データベースコンテキストを含む柔軟なホスト指定をサポートしています。リンクされたサーバーチェーンはセミコロン区切り文字を使用し、デリミタ文字を含むサーバー名のブラケット記法をサポートしています。ポート指定は初期ホスト接続にのみ適用されます。リンクされたサーバーはsys.serversから構成された名前を使用します。
アクション固有のヘルプについては、検索用語で-hフラグを使用するか、アクション名に-hを追加してください。たとえば、MSSQLand.exe -h adsiはすべてのActive Directory Services Interface関連アクションを表示し、MSSQLand.exe localhost -c token createuser -hはcreateuserアクションの詳細なヘルプを表示します。
攻撃シナリオ
レッドチームオペレータが想定された侵害エンゲージメント中にWindowsシステムへのアクセスを取得します。オペレータは、侵害されたユーザーアカウントがConfigurationファイルに保存されたSQL Server認証認証情報を持っていることを発見します。ターゲット環境は、信頼関係が構成されている複数の階層(Webデータベースサーバー、アプリケーションデータベースサーバー、レポートデータベースサーバー)にわたってリンクされたSQL Serverインスタンスを使用しています。SMBやWinRMを介した従来のラテラルムーブメントパスは厳密に監視されていますが、データベース接続は通常の管理アクティビティと見なされ、最小限のアラートを生成します。
オペレータはCobalt Strikeビーコンアセンブリ実行を介してMSSQLandを読み込み、データベース監査ログをトリガーすることなく認証情報を検証するための接続テストを実行します。このテストはWebティアデータベースサーバーへのアクセスを確認します。infoアクションを使用して、オペレータはリンクされたサーバーを列挙し、Webティアサーバーがアプリケーションティアサーバーに構成されたRPC Out信頼を持っており、その順番に昇格された権限を持つレポートサーバーにリンクしていることを発見します。オペレータは-lフラグを使用してリンクされたサーバーチェーンを構築し、SQL01;SQL02;SQL03を指定し、ネストされたOPENQUERYステートメントを手動で作成する必要なく、チェーン全体でコマンドを実行します。
レポートサーバーコンテキストから、オペレータはConfiguration Managerデータベースを発見します。MSSQLandのcm-プレフィックス付きアクションを使用して、オペレータは管理されたデバイス、スクリプト、および展開パッケージを列挙します。cm-devicesアクションは、ドメインコントローラおよび経営幹部ワークステーションを含む高価値ターゲットを明らかにします。オペレータはデバイスレコードを抽出し、最近のチェックイン時刻を持つターゲットを特定し、次段階のゴールの優先順位をつけるための情報を使用します。偵察フェーズとラテラルムーブメントフェーズ全体は、すべてのアクティビティが正規のSQL Serverプロトコルを通じて流れるため、疑わしいPowerShellまたはWMIイベントを生成することなく完了します。
レッドチームの関連性
SQL Serverラテラルムーブメントは、企業環境での普及にもかかわらず、多くのレッドチームエンゲージメントで過剰に活用されていません。リンクされたサーバー信頼関係は頻繁にセキュリティ境界をまたぎ、オペレータが低権限Webアプリケーションデータベースから高度に権限を持つレポートまたはConfiguration Managerインスタンスにピボットすることを可能にします。MSSQLandは、SQL Serverポストエクスプロイテーションの主要な摩擦ポイントを削除します。それは、ビーコンまたは制約されたシェル経由で操作しながら、ネストされた複雑なT-SQLクエリを手動で構築およびデバッグする必要があります。
このツールのアセンブリ実行設計は、対話的なコンソールセッションが制限されているか監視されているC2フレームワークにとって特に価値があります。オペレータは、単一行のコマンドで複雑なマルチホップデータベーストラバーサルを実行でき、エンゲージメント時間を短縮し、検出サーフェスを最小化できます。Configuration Managerサポートは、SCCM/MECMデータベースが権限エスカレーション およびインフラストラクチャマッピングの高価値ターゲットであるという点で特に関連性がありますが、Active Directory またはエンドポイント管理システムに適用されるハードニングが不足していることがよくあります。
MSSQLandはまた、従来のデータベースツールに悩まされているOPSEC考慮事項に対処します。クエリ実行なしの接続テストにより、監査ログされたテーブルに触れることなく認証情報を検証できます。クリーン出力形式はレポートワークフローに直接統合され、エンゲージメント後の労力を削減してデータベースアクセスパスをドキュメント化します。エンゲージメント中にSQL Serverインスタンスを定期的に遭遇するオペレータの場合、MSSQLandはBlockEDRTrafficがEDR回避のために提供するもの、SmbCrawlerがSMB共有列挙のために提供するもの、またはCredNinjaが認証情報検証のために提供するものと同様の機能を提供します。特定の運用上の問題を解決し、広範なT-SQL知識を必要としないフォーカスされた実用的なツール。
検出と緩和
SQL Server監査ログは、接続試行、EXECUTE AS USERを介した権限の変更、およびリンクされたサーバーを使用したクロスサーバークエリをキャプチャするために構成される必要があります。組織は、特にWebに向かったデータベースサーバーから開始し、権限のあるインフラストラクチャデータベースで終了するチェーンを含む異常なリンクされたサーバートラバーサルパターンを監視する必要があります。非管理アカウントによるConfiguration Managerデータベースへのアクセスは、これらのデータベースに機密デバイスインベントリと展開情報が含まれているため、直ちに調査に値します。
ネットワークセグメンテーションは、データベースサーバー通信を正当なアプリケーション階層に制限する必要があります。Webティアデータベースは、レポートまたは管理データベースに直接RPC Out信頼関係を持つべきではありません。リンクされたサーバーがビジネス機能に必要な場合、リンクされたサーバーログインマッピングを最小限の権限を持つ特定のサービスアカウントに制限することにより、最小権限の原則を実装します。明示的に必要で監査された場合を除き、xp_cmdshellおよびその他の拡張ストアドプロシージャを無効化します。
ブルーチームは、通常のアプリケーション動作と矛盾するOPENQUERYおよびEXECUTE AT使用パターンを検出するデータベースアクティビティ監視ソリューションをデプロイする必要があります。異常なログイン時間、予期された範囲外のソースIPアドレス、およびリンクされたインスタンス全体の急速な連続クエリは、ポストエクスプロイテーションアクティビティの信頼性の高い指標です。Configuration Manager環境の場合、データベースアクセスを指定されたSCCMインフラストラクチャサーバーに制限し、ワークステーションまたは非管理ホストからの接続をアラートします。
よくある質問
MSSQLandとは何か、またはそれはSQLReconとどう違うのか?
MSSQLandは、レッドチーム運用中にMicrosoft SQL Serverインスタンスと対話するための.NET Framework 4.8ツールです。SQLReconとは異なり、MSSQLandは拡張性の向上とモジュラーアクション開発を容易にするためにオブジェクト指向プログラミングの原則を念頭に置いてゼロから構築されました。これは、複雑なT-SQLクエリを手動で作成することなく、リンクされたサーバーチェーンのトラバーサルとユーザー偽装を簡素化します。
MSSQLandはCobalt Strikeおよびその他のC2フレームワークで機能しますか?
はい。MSSQLandは、Cobalt Strike、Havoc、Sliver、および同様のプラットフォームなどのC2フレームワークからのアセンブリ実行用に特別に設計されています。このツールはターゲットシステムでのインストールまたは登録を必要とせず、従来のデータベースツールが利用できないか実用的でない制約されたまたは監視された環境での操作に理想的です。
MSSQLandは複数のリンクされたSQL Serverインスタンスをトラバースできますか?
はい。MSSQLandは、セミコロン区切りのサーバー名で-lフラグを使用してリンクされたサーバーチェーンのトラバーサルを自動化します。このツールは必要なOPENQUERYおよびRPC Outステートメントを自動的に生成し、ネストされた複雑なT-SQLクエリを手動で作成することなく、オペレータが複数のSQL Serverインスタンスをピボットすることを可能にします。たとえば、MSSQLand.exe localhost -c token -l SQL01;SQL02;SQL03 infoは単一のコマンドで3つのサーバーをチェーン化します。
MSSQLandはどのような認証方法をサポートしていますか?
MSSQLandはWindows認証およびSQL Server認証をサポートし、外部チケット注入ツールで使用する場合はKerberosチケットと連携できます。このツールはまた、EXECUTE AS USERを介したユーザー偽装をサポートして、ターゲットサーバーのシステムレベルの権限を必要とせずにデータベースコンテキスト内で権限をエスカレートします。
MSSQLandはMicrosoft Configuration Manager(SCCM)悪用をサポートしていますか?
はい。MSSQLandには、Microsoftの公式PowerShell cmdlet命名規則に合致したcm-プレフィックス付きアクションを含む包括的なConfiguration Managerサポートが含まれています。オペレータは、管理されたデバイス(cm-devices)、スクリプト(cm-scripts)、パッケージ、およびその他のConfigMgrインフラストラクチャを列挙して、エンゲージメント中に高価値ターゲットを特定し、次段階のゴールの優先順位をつけることができます。
MSSQLandはデータベース偵察中のOPSECをどのように維持しますか?
MSSQLandには、クエリを実行せずに認証情報を検証する接続テストモードが含まれており、オペレータは監査ログされたテーブルに触れることなくアクセスを検証できます。このツールはまた、自動化処理のためのCSVエクスポートオプションを提供し、疑わしいアクティビティログを生成する可能性のある対話的なコンソールセッションの必要性を減らします。すべての操作は、監視された環境での検出サーフェスを最小化して、PowerShellまたはWMIではなく正当なSQL Serverプロトコルを通じて流れます。
結論
MSSQLandは、SQL Serverポストエクスプロイテーション用のレッドチームツーリングの実用的なギャップに対処します。リンクされたサーバートラバーサル、ユーザー偽装、およびConfiguration Manager列挙に焦点を当てることは、データベースアクセスが存在するが従来のラテラルムーブメントパスがブロックされているか監視されている実世界のエンゲージメントに直接適用できます。アセンブリ実行のためのツールの設計とその最小限のOPSEC足跡は、最新のC2ワークフローと整合しており、その洗浄出力形式は運用フェーズと報告フェーズの両方のフリクションを削減します。Windows企業環境で運用するレッドチームの場合、MSSQLandは、広範なデータベース専門知識を必要とせずに、より広範なフレームワークを補足するラテラルムーブメントツールキットへの焦点を絞った追加です。
MSSQLandについて詳しく知るか、ダウンロードしてください。https://github.com/n3rada/MSSQLand