2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
Abusing Webapp Reports for RCE(全1記事)
リンクをコピー
記事をブックマーク
gameshack_氏:こんにちは、gameshack_と申します。このプレゼンテーションは英語のみになります。残念ながらまだ日本語は話せません。今日はWebアプリケーションレポートを使用したリモートコード実行に関するプレゼンテーションを行います。「基本的には、ユーザー入力を絶対に信頼してはいけない」というレッスンです。
自己紹介ですが、私はgameshack_です。実際の名前はパトリックなので、gameshack_またはパトリックと呼んでください。ドイツにあるDRACOONのQAエンジニア兼セキュリティリサーチャーです。
おそらくここにいる誰もがDRACOONのことを聞いたことがないでしょう。主にヨーロッパ、ドイツ、オーストリア、スイスで事業を展開しており、少しずつ拡大しています。
当社はセキュアなファイルサービスソリューションを提供しています。主な特徴はエンドツーエンドの暗号化で、ファイルは常にサービス上で暗号化されています。企業は簡単なファイル共有が可能です。
役割の設定、監査、およびイベントログの取得ができます。マイクロサービスアーキテクチャを採用しており、ほぼすべてのプラットフォームに対応したアプリがあります。
では、DRACOONのレポートとは何でしょうか? 各イベントは基本的にログに記録され、トレースされ、DRACOONインスタンス上でアクションを実行します。
例えば、ユーザーがルームを作成したり、フォルダを作成したり、ファイルにコメントを作成したり、共有リンクを作成したりするといったことが、ウェブサーバーでの通常のログ記録と同様に、すべてログに記録されます。
その後、管理者はレポートを作成し、それをCSVファイルやPDFファイルとしてエクスポートすることができます。
さて、エクスプロイトについてですが、このエクスプロイトは非常にシンプルで簡単です。したがって、ファイルが安全ではないなど、DRACOON自体でエクスプロイトは発生せず、すべてが安全です。
共有リンクからファイルをダウンロードすると、ユーザーエージェントがログに記録されます。
ユーザーエージェントが適切にサニタイズされていなかったため、実際にはどんな種類のAPIエンドポイントにリクエストを送信し、悪意のある文字列をユーザーエージェントとして送信することが可能でした。今回私が使用した悪意のある文字列は、Windowsコンピューター上のコマンドラインを呼び出すものでした。
管理者がレポートを作成し、CSVとしてエクスポートした場合、CSVファイルには修正されずに表示されます。しかし、管理者がそれをExcelまたはGoogleスプレッドシートで開くと、PC上で完全なリモートコード実行が可能になり、悪用される可能性があります。
なぜこれが問題なのでしょうか? Excelには他のプログラムを実行するための古いレガシーな機能があります。この場合、私はCMDを使用し、概念実証として計算機アプリを呼び出していました。
というのも、企業のセキュリティ・ポリシーが正しく設定されていないことがあるからです。もし誰かが自分のオフィスのインスタンスにセキュリティ・ポリシーを正しく設定しなかった場合、そのオフィスは脆弱な状態になり、DRACOONを介して生成されたCSVを通じて悪用される可能性があります。
そろそろデモの時間ですね。ビデオを用意しました。ライブデモは常に少しトリッキーなので、事前に録画しました。これは基本的にDRACOONです。ここでは共有リンクを作成します。
では、ここでDRACOONが表示されます。ファイルがありますね。共有リンクを作成します。この共有リンクをコピーして誰かに送信します。この場合、悪意のある攻撃者ということになります。
悪意のある攻撃者がサイトを訪れ、リクエストをBurp Suiteまたは使用しているツールに記録します。だから私はこれを用意しました。このポストリクエストを取り出します。これは何も必要としませんよね? これは単なるリクエストです。
他のすべてを削除してユーザーエージェントだけを残したので、このユーザーエージェントを送信するだけです。
送信ボタンをクリックします。次に何が起こるのでしょうか? ある時点で、管理者はレポートをチェックしたいと思うでしょう。DRACOONに入り、必要な時間のレポートを作成します。この場合、私は1つのルームに対してレポートを作成します。
デモのためだけにリストがいっぱいになることはありません。レポートを実行し、しばらく待つと、各人のサイトが生成されます。これがレポートです。
ただし、ユーザーエージェントの文字列があるため、このログにもユーザーエージェントが表示され、そしてExcelはあなたに「本当に実行しますか? このデータを信用しますか?」と聞いてくるでしょう。
このレポートを作成したあなたは、もちろん信頼しているでしょう。おそらくこれを読まずに、ただ「はい」をクリックするでしょう。それでは、「はい」をクリックした時に何が起こるか見てみましょう。
電卓が開きます。これは何でもあります。電卓かもしれませんし、文字どおりウイルスかもしれません。これがエクスプロイトが動作する仕組みです。さて、プレゼンテーションの続きに戻りましょう。
さて、まとめです。これを防ぐにはどうすればよいでしょうか? 非常にシンプルですが、ユーザー入力をきちんとサニタイズすることです。ユーザーがテキストフィールドに入力する内容だけでなく、ユーザー入力全般に注意を払うべきです。ユーザーが提出できるものは文字どおりすべてが悪意を持っている可能性があるため、注意が必要です。
非常に単純なものであれば、正規表現を使って数文字を削除するだけでよいので、それほど難しくありません。もう1つできることは、セキュリティポリシーが正しく設定されているか確認することです。
ExcelやGoogleスプレッドシートなど、使用しているものに対してセキュリティポリシーを適切に設定してください。なぜなら、これらのものは危険だからです。私自身は、この種の脆弱性をブログ記事から学びました。これは2017年のかなり古いブログ投稿で、基本的にCSVインジェクションの危険性について書かれています。
OWASPのCSVインジェクションに関する記事へのリンクや、Microsoft 365のセキュリティ設定に関する情報も含まれています。プレゼンテーションをダウンロードして後でリンクを確認したい場合は、QRコードを用意したので、ご活用ください。
誰でもスキャンできます。冗談です、冗談です(笑)。心配いりません、今回はCSVインジェクションはありません。
だいたいこれで終わりです。ありがとうございます。こちらが私の「Twitter(現X)」と「Mastodon」です。もうあまりTwitterは使っていないので、連絡を取りたい場合はMastodonかメールをご利用ください。では、お招きいただきありがとうございました。
関連タグ:
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略