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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PySQLRecon — SQLReconをベースにした、Python製の攻撃用MSSQLツールキット | Kitploit
ツール/GitHubGitHub/tw1sm/pysqlrecon
エクスプロイトポストエクスプロイトペネトレーションテストコマンド&コントロールレッドチーミングデータベースセキュリティ
GitHubtw1sm/pysqlrecon

PySQLRecon

SQLReconをベースにした、Python製の攻撃用MSSQLツールキット

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

人気

すべて見る →

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

すべてのツールを探索

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

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

PySQLRecon

Python PyPi

PySQLRecon は、@sanjivkawa 氏による素晴らしい SQLRecon プロジェクトの Python 移植版です。機能一覧は commands セクションを参照してください。

PySQLRecon を使用した SCCM TAKEOVER-1 のデモンストレーション 記事 もご覧ください。

Install

PySQLRecon は pip3 install pysqlrecon でインストールするか、このリポジトリをクローンして pip3 install . を実行することでインストールできます。

Commands

SQLRecon の主要モジュールはすべて同等のコマンドを備えています。[PRIV] と記載されたコマンドは、昇格された権限または sysadmin 権限が必要です。一方、[NORM] とマークされたコマンドは、通常のユーザーでも実行できる可能性が高く、昇格された権限は必要ありません。

権限借用 ([I]) またはリンクサーバー上での実行 ([L]) のサポートは、コマンド説明の末尾に示されています。

root@kitploit:~
adsi                 [PRIV] Obtain ADSI creds from ADSI linked server [I,L]
agentcmd             [PRIV] Execute a system command using agent jobs [I,L]
agentstatus          [PRIV] Enumerate SQL agent status and jobs [I,L]
checkrpc             [NORM] Enumerate RPC status of linked servers [I,L]
clr                  [PRIV] Load and execute .NET assembly in a stored procedure [I,L]
columns              [NORM] Enumerate columns within a table [I,L]
databases            [NORM] Enumerate databases on a server [I,L]
disableclr           [PRIV] Disable CLR integration [I,L]
disableole           [PRIV] Disable OLE automation procedures [I,L]
disablerpc           [PRIV] Disable RPC and RPC Out on linked server [I]
disablexp            [PRIV] Disable xp_cmdshell [I,L]
enableclr            [PRIV] Enable CLR integration [I,L]
enableole            [PRIV] Enable OLE automation procedures [I,L]
enablerpc            [PRIV] Enable RPC and RPC Out on linked server [I]
enablexp             [PRIV] Enable xp_cmdshell [I,L]
impersonate          [NORM] Enumerate users that can be impersonated
info                 [NORM] Gather information about the SQL server
links                [NORM] Enumerate linked servers [I,L]
olecmd               [PRIV] Execute a system command using OLE automation procedures [I,L]
query                [NORM] Execute a custom SQL query [I,L]
rows                 [NORM] Get the count of rows in a table [I,L]
sample               [NORM] Query a sample of table data [I,L]
sccm                 [SUBM] Submodule for SCCM specific commands   
search               [NORM] Search a table for a column name [I,L]
smb                  [NORM] Coerce NetNTLM auth via xp_dirtree [I,L]
tables               [NORM] Enumerate tables within a database [I,L]
users                [NORM] Enumerate users with database access [I,L]
whoami               [NORM] Gather logged in user, mapped user and roles [I,L]
xpcmd                [PRIV] Execute a system command using xp_cmdshell [I,L]     

SCCM Commands

SCCM コマンドは pysqlrecon [OPTIONS] sccm -h で確認できます(これにはグローバルフラグの指定が必要です。usage を参照)。

root@kitploit:~
addadmin             [PRIV] Elevate an account to Full Administrator [I]
credentials          [NORM] Display encrypted credentials [I]
logons               [NORM] Display SCCM clients and last logged on user [I]
removeadmin          [PRIV] Remove elevated account or elevated privileges [I]
sites                [NORM] Gather SCCM site info [I]
taskdata             [NORM] Decrypt task sequences [I]
tasklist             [NORM] Display task sequences [I]
users                [NORM] Enumerate SCCM users [I]   

Usage

PySQLRecon にはグローバルオプション(任意のコマンドで利用可能)があり、一部のコマンドでは追加のフラグが導入されます。すべてのグローバルオプションはコマンド名 より前に 指定する必要があります:

root@kitploit:~
pysqlrecon [GLOBAL_OPTS] COMMAND [COMMAND_OPTS]

グローバルオプションの表示:

root@kitploit:~
pysqlrecon --help

コマンド固有のオプションの表示:

root@kitploit:~
pysqlrecon [GLOBAL_OPTS] COMMAND --help

認証先データベース、または特定の PySQLRecon コマンド(query、tables、columns、rows)で使用するデータベースを変更するには、--database フラグを使用します。

PySQLRecon コマンドの実行対象を(認証先の SQL サーバーではなく)リンクサーバーにするには、--link フラグを使用します。

PySQLRecon コマンド実行時にユーザーアカウントを権限借用するには、--impersonate フラグを使用します。

--link と --impersonate は互換性がありません。

Usage with ntlmrelayx

PySQLRecon は proxychains と組み合わせて、mssql:// サービスを対象としたリレー認証を利用できます。ntlmrelayx セッションの動作上、PySQLRecon 実行時に --database パラメータは尊重されません(リレーセッションは常に master データベースに接続されます)。これは特に SCCM モジュールを使用する際に問題となる可能性があります。SCCM モジュールではサイトデータベースの指定が必要です。これを修正するには、最初に query モジュールを使用してデータベースコンテキストを変更します(これにより、同じリレーセッション内での後続の PySQLRecon 使用全体にわたって変更が保持されます)。例:

root@kitploit:~
proxychains4 pysqlrecon -t <target> -d <DOMAIN> -u <username> -p FAKE query --query 'use new_db_name'

これで、同じ ntlmrelayx セッションから、--database を指定しなくても、その特定のデータベース内のリソースを対象としたモジュール/クエリを実行できます。

Development

pysqlrecon は依存関係の管理に uv を使用しています。ソースからインストールし、開発用にセットアップするには:

root@kitploit:~
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install pysqlrecon
git clone https://github.com/tw1sm/pysqlrecon
cd pysqlrecon
uv sync
uv run pysqlrecon --help

Adding a Command

PySQLRecon は簡単に拡張可能です。resources 内のテンプレートと手順を参照してください。

TODO

  • SQLRecon SCCM コマンドの追加
  • Azure SQL DB のサポート追加?

References and Credits

  • Impacket
  • @sanjivkawa 氏の SQLRecon プロジェクト
  • https://securityintelligence.com/x-force/databases-beware-abusing-microsoft-sql-server-with-sqlrecon/
  • https://gist.github.com/skahwah/a585e176e4a5cf319b0c759637f5c410
  • その他の Python で書かれた攻撃的な MSSQL 機能については、MSSqlPwner もご確認ください。
  • PXEThief
ツールをダウンロード