イベントの振り返り#
私自身が非常に未熟であるため、今回のイベントでは重要な目標範囲内での成果はほとんどありませんでした。
まず、主催者が提供したターゲットについて文句を言わせてください。内部ネットワークアドレスやアクセスできないアドレスが多数含まれていることは置いておいて(違反の疑いがあります)、正常にアクセスできる場合でも、都度创宇盾が追加されているため、どうやってテストすればいいのか分かりません😁。さらに奇妙なルールがあり、データの価値が一気に低下し、結局は権限の割り当てが重要になります(もちろん、多くのデータを取得することはできませんでしたが)。
Web の場合、ターゲットに制約があるため、基本的には弱いパスワードをテストし、いくつかのインターフェースを組み合わせて接続し、最終的にはサイドステーションでシェルを取得することができましたが、実際にはエッジアセットであり、内部ネットワークは存在しませんでした /(ㄒ o ㄒ)/~~。最後に、アセットマッピングエンジンを使用して某 OA の弱いパスワードを見つけることができました......
小プログラムの場合、ほとんどの場合、保護されており、お気に入りの権限の乱用の脆弱性を見つけることはできませんでした。ログインインターフェースの総当たり攻撃ができることはわかりましたが、成功しませんでした......
データ分析#
図のように、有効な攻撃の中で:
web - 弱口令 34 個
権限乱用の脆弱性 11 個
情報漏洩 10 個
ログインバイパス 9 個
ファイルのアップロード 7 個
SQL インジェクション 5 個
権限昇格 2 個
ファイルの読み取り 1 個
その他 8 個
弱いパスワードはまだ最も注目すべきポイントであることがわかります。逆の視点から見ると、弱いパスワードがなければ、システムへの侵入リスクは一気に低下します。
ケーススタディ#
ケース 1:弱いパスワード#
xx システムには弱いパスワードの脆弱性が存在し、攻撃チームは管理者の弱いパスワードを使用してすべてのユーザーアカウントを取得し、ユーザーアカウントの弱いパスワードを使用してバックエンドにアクセスし、ファイルのアップロードを行い、システムの権限を取得し、バックアップファイルからデータベースのアカウントとパスワードを取得し、50 台以上のクラウドホストを制御することができました。
これは最も一般的な操作であり、レッドチームの熟練した技術が必要です。
ケース 2:権限乱用の脆弱性#
上の図は DevTools のデバッグを使用して権限乱用の脆弱性を発見したものであり、アイデアは学ぶ価値があります。
ケース 3:情報漏洩#
フロントエンドの JS ファイルからスーパー管理者のアカウントとパスワードが漏洩し、15 台のカメラを表示および制御でき、音声ファイルをアップロードして外部に公開することができます。
細かいですね!
ケース 4:小プログラムのリスク#
APPID とキーが漏洩すると、WeChat デバッグツールを使用して小プログラムを直接制御することができます。
なぜ私は見つけられなかったのでしょうか?やはり細部です!
経験と収穫#
情報収集#
周知の通り、情報収集は侵入プロセスで最も重要なステップです。私たちのアセット収集プロセスは次のようになっています:ターゲットのアセットをフィルタリングしてすべてのアセットをスキャンし、単一のウェブサイトのテストにはプラグインを使用してインターフェースの漏洩や他のポートサービスなどを探します。
今回の活動を通じて、自分の情報収集作業には非常に大きな欠点があることに気付きました。例えば、あるスマートグリッドシステムでは、インターネットアクセス可能なアドレス xx.xx.gov.cn が既知です。
私はそれを単にランプや他のツールに入れてスキャンし、多くの露出面を見つけることはできませんでしたので、諦めました。しかし、IP アドレスを調べてからスキャンすると、攻撃面が広がります。図のように、geoserver サービスが見つかり、弱いパスワード admin/geoserver でログインできます。その後、できることはたくさんあります......
攻撃手法#
今回、多くのエキスパートが F12 で JS ファイルを監査しているのを見ましたが、私は何度も見たことがありますが、試したことはありません。以前は、JS については、パンダヘッドを使って情報を自動的に抽出していましたし、時々インターフェースを簡単に探していました。(JS のリバースエンジニアリングは初心者にはできないと思ったので。)しかし、今では、脆弱性の発見には細かさが必要であることがわかりました。派手なデバッグは必要ありません。エキスパートであっても、JS コードを正直に見て、最終的には漏洩した管理者のアカウントとパスワードを見つけることができました。
以前は、小プログラムについては、適当に機能をクリックして、Burp でデータパケットを 1 つずつ見ていましたが、最後まで忍耐がなくなり諦めてしまいました。しかし、エキスパートは私に言いました、これは遅すぎる、小プログラムも DevTools を使用してデバッグおよび分析できると。また、経験を積みました。
終わりに#
今回の攻撃と防御の演習は、刑務所に入るという意味ではありますが、多くの収穫がありました。技術は一朝一夕に習得できるものではありません。進歩は継続的な実践によってのみ得られます。