2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
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.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05