私は次の問題に関するヘルプを探してウェブを閲覧しています。私は現在Webアプリケーションの侵入テストを行っており、美しいブラインドSQLインジェクションに遭遇しました。
Sqlmapを使用して、データベース全体を取得できます。現在データベースで無効になっているxp_cmdshell機能を使用して、OSレベルにジャンプしたいと思います。アプリケーションは「sa」アカウントで実行されているため、技術的に可能であるはずです。しかし、sql mapを使用して有効にしようとすると、次のメッセージが表示されます。
[12:14:22] [INFO] checking if xp_cmdshell extended procedure is available, please wait..
xp_cmdshell extended procedure does not seem to be available. Do you want sqlmap to try to re-enable it? [Y/n]
[12:14:23] [WARNING] xp_cmdshell re-enabling failed
[12:14:23] [INFO] creating xp_cmdshell with sp_OACreate
[12:14:23] [WARNING] xp_cmdshell creation failed, probably because sp_OACreate is disabled
[12:14:23] [CRITICAL] unable to proceed without xp_cmdshell
一部のシステム情報:
web server operating system: Windows 2012
web application technology: ASP.NET 4.0.30319, ASP.NET, Microsoft IIS 8.0
back-end DBMS: Microsoft SQL Server 2008
誰かがこれを解決する方法を知っていますか?
--priv-esc
をsqlmapに渡してみると、特権が上がる可能性がありますが、これは私にとってはうまくいきませんでした。 sqlmapのファイルシステムアクセス関数は、より大きな妥協につながる可能性があります。
SQLNinja は特権の昇格に優れています。それがサポートする1つの攻撃は、SQLインジェクションを使用してSAパスワードをブルートフォースで強制することであり、これは非常に効果的であることがわかりました。 SQLNinjaには、CVE-2010-0232などの他の既知の権限昇格エクスプロイトも含まれています。
あなたが使っているツールがわかりません。しかし、xp_cmdshellを有効にするには、次のようにします。
EXEC sp_configure
現在構成されているすべての値をリストできます。ファーストラン
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
すべての値を表示します。次に実行します
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO
それを有効にします。私はSQL 2008サーバーでこれを試しました。新しいバージョンにさらに制限があるかどうかはわかりませんが、私は知りません。
また、正しく構成されている場合は、CMDコマンドをSQLアカウントで実行することにも注意してください。SQLアカウントは通常、制限付きアカウントであり、マシンに対する管理者権限を持っていません。実際には、データベースフォルダーにのみアクセスでき、他には何もアクセスできません。