はじめに
クラウドセキュリティのスペシャリストとして、私はHackTheBoxの「Ouija」チャレンジの分析を皆さんにお伝えできることを嬉しく思います。この記事では、HTTP Smuggling攻撃からHash Length Extension攻撃に至るまで、さまざまな脆弱性について探っていきます。この実践的なシナリオを深掘りすることで、包括的なクラウドセキュリティ対策と最善の実践方法の重要性について、貴重な洞察を得ることができます。
初期調査と列挙
このビデオはtargetマシンの開いているポートとサービスを列挙するnmapスキャンから始まります。SSH、ポート80のHTTP、ポート3000のNode.jsフレームワークの3つのオープンポートが特定されています。その後、ポート3000のサービスに焦点を当て、追加のエンドポイントを発見するためにffufでファジングが行われます。
Giteaドメインの発見とHA Proxyの脆弱性
ファジングの過程で、Giteaドメインが発見されます。これにより、HA Proxy 2.2.16が使用されていることが明らかになります。この発見は、CVE-2021-40346と呼ばれるHA Proxyの整数オーバーフロー脆弱性、すなわちHTTP Smuggling攻撃につながります。ビデオでは、HA Proxyのアクセス制御リスト(ACL)チェックを回避する方法を示しています。
Hash Length Extension脆弱性の悪用
ビデオでは、ファイル開示の脆弱性から得られたapp.jsソースコードを分析し、Hash Length Extension攻撃を発見しています。Hash Length Extension攻撃の概念と、認証トークンを偽造する方法について説明しています。また、Hash Length Extension攻撃を実行してシークレットの長さを特定する手順も示されています。
複数の脆弱性を連鎖させてシェルアクセスを得る
ビデオでは、ファイル開示の脆弱性と/procシンボリックリンクを組み合わせて、SSH鍵を読み取り、boxにシェルアクセスを得る方法を示しています。そして、ポート9999を探索し、整数オーバーフローの脆弱性を持つPHPライブラリを発見します。PHPライブラリのデバッグ手順と、整数オーバーフローを悪用するCプログラムの作成過程が説明されています。
PHPライブラリの整数オーバーフローの悪用
ビデオでは、PHPライブラリのテスト環境を設定し、その動作を理解しています。整数オーバーフローを悪用してコード実行を達成するペイロードの作成方法が示されています。また、悪用の過程で遭遇した問題とその解決方法についても取り上げられています。
まとめ
この記事では、HackTheBox「Ouija」チャレンジで遭遇したさまざまなクラウドセキュリティの脆弱性を探ってきました。これらの脆弱性とその悪用手法を理解することで、クラウドインフラストラクチャを同様の攻撃から守る方法を学ぶことができます。クラウドセキュリティは継続的なプロセスであり、警戒を怠らないことが私たちのデータとシステムを守るうえで不可欠です。
キーポイント:
- 潜在的な脆弱性を特定するには、徹底的な調査と列挙が不可欠です。
- HTTP Smuggling攻撃やHash Length Extension攻撃などの脆弱性を理解し、対策することがクラウドセキュリティには重要です。
- 複数の脆弱性を連鎖させることで、より深刻な影響が生じる可能性があるため、階層型のセキュリティアプローチが重要です。
- 徹底的なテストとデバッグは、PHPライブラリの整数オーバーフローのような複雑な脆弱性の発見と解決に役立ちます。