Telstra-Cybersecurity-Virtual-Experience-Program
私は、Telstraのセキュリティアナリストの日常的なタスクと責任を実際に体験するため、情報セキュリティアナリストとしてTelstraのセキュリティオペレーションセンターに参加しました。実施したタスクは以下のとおりです。
- nbnサービスに対するマルウェア攻撃(CVE-2022-22965)をトリアージし、適切なチームに連絡してマルウェア攻撃に対応しました。
- マルウェアのデータを分析し、その拡散方法を特定しました。
- 特定したパターンを利用して、Pythonプログラミング言語でファイアウォールルールを作成し、マルウェアの拡散を防止しました。
- 前のタスクで収集した詳細をまとめ、マルウェア攻撃に関するインシデント事後分析レポートを作成しました。
ファイアウォールルール
これは、ForageによるTelstraバーチャル体験プログラムの参加者として私が実施するよう指示されたシンプルなPythonプロジェクトです。私のタスクは、Pythonを利用して、Spring4Shellとして知られるゼロデイ脆弱性マルウェア攻撃(CVE-2022-22965)を軽減するファイアウォールルールを開発することでした。そこで、Telstraが提供するfirewall_server.pyスクリプト内にファイアウォールルールを開発し、nbnサービスへの攻撃を軽減しました。このルールは以下をブロックします。
- クライアントのリクエストパス
/tomcatwar.jsp への受信トラフィック
- このPoCに記載されている、悪意のあるSpring4Shellペイロードで使用されるすべてのリクエスト: https://github.com/craig/SpringCore0day/blob/main/exp.py
前提条件
インストールとセットアップ
- プロジェクトリポジトリをデバイスにクローンまたはダウンロードします。
- ターミナルまたはコマンドプロンプトを開き、プロジェクトディレクトリに移動します。
使用方法
python firewall_server.py
Ctrl + c # to stop the server
スクリプトを実行すると、サーバーは受信リクエストを待ち受け、上記の規定ルールに一致する受信GETリクエストまたはPOSTリクエストはブロックされ、クライアントに403レスポンスコードが送信されます。私は、Telstraが提供した"test_resquests.py"スクリプトに対して、firewall_server.pyスクリプトをテストしました。
PoC

参考情報
- https://github.com/craig/SpringCore0day/blob/main/exp.py
- https://docs.python.org/3/library/http.server.html
- https://spring.io/security/cve-2022-22965
- https://www.cisa.gov/news-events/alerts/2022/04/01/spring-releases-security-updates-addressing-spring4shell-and-spring
免責事項
このプロジェクトは教育目的のみを対象としています。Telstra、Forage、および作者は、このコードを使用して行われたいかなる不正使用や違法行為についても責任を負いません。このプロジェクトの誤用または不正使用から生じるいかなる結果も、すべてユーザーの責任となります。