banner
言心吾

言心吾のBlog

吾言为心声

参加某市攻防演習の小さなまとめ

イベントの振り返り#

私自身が非常に下手だったため、今回のイベントでは重要な目標範囲内での成果はほとんどありませんでした。
まず、主催者が提供した目標について少し文句を言わせてください。内部ネットワークアドレスやアクセスできないアドレスが多数含まれていることは置いておいて(違反の可能性がある)、正常にアクセスできる場合でも、急遽青盾が追加されたため、どうやってテストすればいいのか分かりません😁。また、奇妙なルールがあり、データの価値が一気に低下することになりましたが、やはり権限の割り当てが重要です(たとえ多くのデータを取得できなかったとしても)。
Web 側では、ターゲットに制約があるため、基本的には弱いパスワードをテストし、いくつかのインターフェースを組み合わせて、ようやくサイドステーションでシェルを取得できましたが、実際にはエッジアセットであり、内部ネットワークは存在しませんでした /(ㄒ o ㄒ)/~~。最後に、アセットマッピングエンジンを使用して、某 OA の弱いパスワードを見つけることができました......
小プログラムの面では、ほとんどの場合に保護されており、お気に入りの権限の乱用の脆弱性を見つけることができませんでした。ログインインターフェースの総当たり攻撃ができることはわかりましたが、成功しませんでした......

データ分析#

1719215521723
図のように、有効な攻撃の中で:

web - 弱いパスワード 34 個
権限乱用の脆弱性 11 個
情報漏洩 10 個
ログインバイパス 9 個
ファイルのアップロード 7 個
SQL インジェクション 5 個
権限昇格 2 個
ファイルの読み取り 1 個
その他 8 個

弱いパスワードはまだ注目すべきポイントであることがわかります。逆に考えると、弱いパスワードがなければ、システムへの侵入リスクは一気に低下します。

ケーススタディ#

ケース 1:弱いパスワード#

xx システムには弱いパスワードの脆弱性があり、攻撃チームは管理者の弱いパスワードを使用してすべてのユーザーアカウントを取得し、ユーザーアカウントの弱いパスワードを使用してバックエンドにアクセスし、ファイルのアップロードを行いシステムの権限を取得し、バックアップファイルからデータベースのアカウントとパスワードを取得し、50 台以上のクラウドホストを制御することができました。

これは最も一般的な操作であり、レッドチームが熟練した操作を行う必要があります。

ケース 2:権限乱用の脆弱性#

image
上の図は DevTools を使用して権限乱用の脆弱性を発見したものであり、アイデアは学ぶ価値があります。

ケース 3:情報漏洩#

フロントエンドの JS ファイルからスーパー管理者のアカウントとパスワードが漏洩し、15 台のカメラを表示および制御することができ、音声ファイルをアップロードして外部に配布することができます。

細かいですね!

ケース 4:小プログラムのリスク#

APPID とキーが漏洩すると、WeChat デバッグツールを使用して直接小プログラムを制御することができます。

なぜ私は見つけられなかったのでしょうか?やはり細かいところです!

経験と収穫#

情報収集#

周知の通り、情報収集は侵入プロセスで最も重要なステップです。私たちのアセット収集プロセスは次のようになっています:ターゲットのアセットをフィルタリングして、すべてのアセットを一度にライトハウスで実行し、個々のウェブサイトをテストする際には、プラグインを使用して情報漏洩や他のポートサービスなどを探します。
今回の活動を通じて、自分の情報収集作業には大きな不足があることに気付きました。例えば、あるスマートグリッドシステムでは、インターネットアクセスアドレス xx.xx.gov.cn が既知です。
私はそれをライトハウスや他のツールに入れて実行し、露出面があまり多くないことに気づいて諦めました。しかし、IP を調べてから実行すると、攻撃面が広がります。図のように、geoserver サービスが見つかり、弱いパスワード admin/geoserver でログインできます。その後、できることはたくさんあります......
image

攻撃手法#

今回、多くのエキスパートが F12 で JS ファイルを監査しているのを見ましたが、私は何度も見たことがありますが、試したことはありません。以前は、JS については、パンダヘッドに頼って情報を抽出していましたし、時々インターフェースを簡単に探していました。(JS のリバースエンジニアリングは初心者にはできませんから。)しかし、今では、脆弱性を見つけるためには、細かいところにこだわる必要があるとわかりました。派手なデバッグは必要ありません。エキスパートであっても、JS コードを正直に見て、最終的には漏洩した管理者のアカウントとパスワードを見つけることができます。

以前は、小プログラムについては、適当に機能をクリックして、Burp でデータパケットを一つずつ見ていましたが、最後まで忍耐がなくなって諦めてしまいました。しかし、エキスパートはそれは遅すぎると言って、小プログラムも DevTools を使用して分析できると教えてくれました。また、経験を積みました。

終わりに#

今回の攻防演習は刑務所に入ることになりましたが、多くの収穫がありました。技術は一朝一夕には身につけられません。進歩は継続的な実践によってのみ得られます。

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