先週、ユーザー インターフェイス開発、DevOps、ファイル管理などのソフトウェアとサービスを販売する Progress Software Corporation は、顧客に対し、 MOVEit転送 関連する MOVEitクラウド についての製品 重要な脆弱性 ダビングされた CVE-2023-34362.
名前が示すように、MOVEit Transfer は、チーム、部門、会社、さらにはサプライ チェーン全体でファイルを簡単に保存および共有できるシステムです。
その中で 自身の言葉, 「MOVEit は、スクリプトを使用せずに、安全なコラボレーション、機密データの自動ファイル転送、および高度なワークフロー自動化機能を提供します。」
残念ながら、MOVEit の Web ベースのフロント エンドは、Web ブラウザだけを使用してファイルの共有と管理を簡単にします (一般に、このプロセスは、電子メールで共有するよりもファイルが誤って送信されたり、「紛失」したりする可能性が低いと考えられています)、SQL を備えていることが判明しました。インジェクションの脆弱性。
SQL インジェクションの説明
Web ベースの SQL インジェクションのバグは、HTTP リクエストが送信されると発生します。 Webサーバーへ 安全でない方法でクエリ コマンドに変換され、その後発行される サーバーによって どのような HTTP 応答を構築するかを決定するために、データベース自体を検索します。
たとえば、Web ページからトリガーされたデータベース検索は、ブラウザによってリクエストされた次のような URL になる可能性があります。
https://search.example.com/?type=file&name=duck
クエリテキスト duck
その後、URL の name パラメータから抽出され、データベース クエリ構文に変換され、データベース サーバーに送信するコマンドに組み込まれます。
バックエンド データが SQL データベースに保存されている場合、Web サーバーはその URL を以下に示すような SQL コマンドに変換する可能性があります。
%
テキストに追加された文字 duck
これは、検索語が取得されたファイル名のどこにでも現れる可能性があり、各末尾の一重引用符が SQL テキスト文字列を示すマーカーとして追加されることを意味します。
SELECT ファイル名 FROM filesdb WHERE 名前 LIKE '%duck%'
クエリから返されたデータは、適切にフォーマットされて HTML に変換され、HTTP 応答としてブラウザに送り返され、おそらく、ダウンロードできる一致するファイルのクリック可能なリストが提供されます。
もちろん、悪意のあるユーザーが次のような URL を作成して要求した場合に備えて、Web サーバーは検索語として送信されるファイル名に細心の注意を払う必要があります。
https://search.example.com/?type=file&name=duck';DROP table filesdb;--
その検索語が盲目的にクエリ文字列に変換された場合、Web サーバーをだまして SQL サーバーに次のようなコマンドを送信させることができる可能性があります。
SELECT ファイル名 FROM filesdb WHERE 名 LIKE '%duck';DROP TABLE filesdb;--%'
セミコロン(;
) は SQL のステートメント区切り文字として機能します。この XNUMX 行のコマンドは、実際には XNUMX つの連続したコマンドを送信するのと同じです。
SELECT ファイル名 FROM filesdb WHERE name LIKE '%duck' -- アヒルで終わる名前と一致します。 DROP TABLE filesdb -- データベース全体を削除します --%' -- コメント、何もしません
こっそり、だってその後は毎回 --
がプログラマのコメントとして SQL によって破棄される場合、これらの XNUMX 行は次と同じです。
SELECT ファイル名 FROM filesdb WHERE 名前 LIKE '%duck' DROP TABLE filesdb
データベース内の文字列で終わるすべてのファイル名のリストが返されます。 duck
(特殊な SQL 文字 %
検索語の先頭にある は、「この時点までのすべてに一致する」という意味です)…
…しかし、そこから何か役に立つものを得るのはあなたが最後になるでしょう。 filesdb
データベース全体を削除するために、不正な検索用語が SQL コマンドで検索を実行するためです。
リトルボビーテーブル
管理者やプログラマーが冗談を言っているのを聞いたことがあるなら、 リトルボビーテーブルなぜなら、この種の SQL インジェクションは、 XKCD漫画 2007に戻る:
漫画が最後のフレームで終わるように、データベース入力をサニタイズする必要があります。つまり、検索語を送信する人が、関連するバックエンド サーバーによって検索コマンドがどのように解釈されるかを制御できないように細心の注意を払う必要があります。
この種のトリックがインジェクション攻撃として知られる理由がわかります。上記の例では、悪意のある検索用語により、リクエストの処理に追加の SQL コマンドが挿入されます。
実際、これらの例はどちらも、検索文字列を早期に終了させるためにこっそり挿入された「閉じ引用符」文字に続いて、XNUMX つの挿入された fomand を含んでいます。 最初の追加コマンドは破壊的です。 DROP TABLE
命令。 XNUMX つ目は、行の残りの部分を無視させる「コメント コマンド」で、後続の行を巧妙に食いつぶします。 %'
サーバーのコマンド ジェネレーターによって生成された文字。これがなければ構文エラーが発生し、挿入されなかった可能性があります。 DROP TABLE
作業からのコマンド。
良いニュースと悪いニュース
この場合の良いニュースは、Progress が脆弱性を認識した後、サポートされているすべての MOVEit バージョンとクラウドベースのサービスにパッチを適用したことです。
したがって、クラウド バージョンを使用している場合は、自動的に最新の状態になります。また、独自のネットワークで MOVEit を実行している場合は、すでにパッチを適用していることを願っています。
悪いニュースは、この脆弱性がゼロデイだったということです。つまり、Bad Guys が悪用方法を見つける前ではなく、すでにそれを悪用していたため、Progress がこの脆弱性を発見したということです。
言い換えれば、あなたが独自のサーバーにパッチを適用する (または Progress が自社のクラウド サービスにパッチを適用する) までに、詐欺師はすでに不正なコマンドを MOVEit SQL バックエンド データベースに挿入しており、次のようなさまざまな結果が生じる可能性があります。
- 既存のデータの削除。 上で示したように、SQL インジェクション攻撃の典型的な例は大規模なデータ破壊です。
- 既存のデータの抜き取り。 攻撃者は SQL テーブルを削除する代わりに、独自のクエリを挿入することで、内部データベースの構造を学習するだけでなく、最も重要な部分を抽出して盗むこともできます。
- 既存のデータの変更。 より巧妙な攻撃者は、データを盗む代わりに (または盗むだけでなく) データを破壊または破壊することを決定する可能性があります。
- マルウェアを含む新しいファイルの埋め込み。 攻撃者は SQL コマンドを挿入し、そのコマンドによって外部システム コマンドが起動され、ネットワーク内で任意のリモート コードが実行される可能性があります。
ある攻撃者グループは、 主張された Microsoft は、悪名高い Clop ランサムウェア ギャングになる (または関係する) と考えており、明らかにこの脆弱性を利用して、いわゆるものを埋め込んでいると思われます。 webshells 影響を受けるサーバー上で。
Web シェルに詳しくない場合は、こちらをお読みください。 平易な英語の説明者 2021 年 XNUMX 月の厄介なハフニウム攻撃の際に私たちが公開した内容は次のとおりです。
ウェブシェルの危険性
簡単に言うと、Web シェルは、攻撃者が Web サーバーに新しいファイルを追加し、後で戻ってきて好きなときに侵入し、その書き込み専用アクセスを完全なリモート制御に利用できる方法を提供します。
Web シェルが機能するのは、多くの Web サーバーが特定のファイル (通常はファイルが存在するディレクトリまたはファイルの拡張子によって決まります) を実行可能スクリプトとして扱うためです。 送り返すページを生成するために使用されます、返信で使用する実際のコンテンツとしてではなく。
たとえば、Microsoft の IIS (インターネット インフォメーション サーバー) は通常、Web ブラウザが次のようなファイルを要求すると、次のように設定されています。 hello.html
、その後、そのファイルの未加工の変更されていないコンテンツが読み込まれ、ブラウザに送り返されます。
したがって、その中にマルウェアがあった場合、 hello.html
ファイルを削除した場合、サーバー自体ではなく、サーバーを参照しているユーザーに影響します。
しかし、ファイルが呼び出されると、次のようになります。 hello.aspx
(ASP は自己記述的なフレーズの略称です) アクティブサーバーページ) の場合、そのファイルはサーバーが実行するスクリプト プログラムとして扱われます。
そのファイルを単にデータとして読み取るのではなく、プログラムとして実行すると、応答として送信される出力が生成されます。
つまり、その中にマルウェアが存在する場合、 hello.aspx
ファイルを参照している人ではなく、サーバー自体に直接影響します。
つまり、コマンド インジェクション攻撃の副作用として Web シェル ファイルがドロップされるということは、攻撃者が後で戻ってきて、その Web シェルのファイル名に対応する URL にアクセスできることを意味します…
…彼らは、日常的に Web ブラウザによって行われる控えめな HTTP リクエストほど疑わしいものを使用して、ネットワーク内でマルウェアを実行できます。
実際、一部の Web シェルは、悪意のあるスクリプトの XNUMX 行だけで構成されています。たとえば、「リクエスト内の特定の HTTP ヘッダーからテキストを取得し、システム コマンドとして実行する」という XNUMX つのコマンドです。
これにより、アクセスすべき正しい URL と、不正なコマンドの配信に使用する適切な HTTP ヘッダーを知っている攻撃者に、汎用のコマンド アンド コントロール アクセスが与えられます。
何をするか?
- MOVEit ユーザーの場合は、 ネットワーク上のソフトウェアのすべてのインスタンスにパッチが適用されていることを確認してください。
- すぐにパッチを適用できない場合は、 できるまで、MOVEit サーバーへの Web ベース (HTTP および HTTP) インターフェイスをオフにしてください。 どうやら、この脆弱性は MOVEit の Web インターフェイス経由でのみ公開されており、SFTP などの他のアクセス パス経由では公開されていないようです。
- ログを検索する 新しく追加された Web サーバー ファイル、新しく作成されたユーザー アカウント、および予期しない大規模なデータのダウンロードに対応します。 Progress には、ファイル名と検索対象の場所のリストがあります。
- プログラマーなら、 入力をサニタイズします。
- SQL プログラマーであれば、 リクエストの送信者が制御する文字を含むクエリ コマンドを生成するのではなく、パラメータ化されたクエリを使用しました。
これまでに調査された Webシェル ベースの攻撃のほとんどではないにしても、多くの場合、 進歩が示唆する おそらく、次の名前の不正な WebShell ファイルが見つかるでしょう。 human2.aspx
おそらく、新しく作成された悪意のあるファイルと一緒に、 .cmdline
拡大。
(ソフォス製品は、既知の WebShell ファイルを検出してブロックします。 Troj/WebShel-GO、呼ばれるかどうか。 human2.aspx
か否か。)
ただし、他の攻撃者がパッチが公開されるゼロデイのことを知っていた場合、別の、おそらくより巧妙なコマンドを挿入した可能性があり、現在は残されたマルウェアのスキャンや検索では検出できないことを覚えておいてください。ログに表示される可能性のある既知のファイル名については。
一般的にアクセス ログを確認することを忘れないでください。自分で確認する時間がない場合でも、遠慮せずに確認してください。 助けを求める!
詳細については、こちらから ソフォスが管理する検出と対応:
24時間年中無休の脅威のハンティング、検出、および対応 ▶
サイバーセキュリティの脅威に対応するための時間や専門知識が不足していませんか? サイバーセキュリティのせいで、やらなければならない他のすべてのことから気が散ってしまうのではないかと心配していますか?
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 未来を鋳造する w エイドリエン・アシュリー。 こちらからアクセスしてください。
- PREIPO® を使用して PRE-IPO 企業の株式を売買します。 こちらからアクセスしてください。
- 情報源: https://nakedsecurity.sophos.com/2023/06/05/moveit-zero-day-exploit-used-by-data-breach-gangs-the-how-the-why-and-what-to-do/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 視聴者の38%が
- 2021
- a
- できる
- 私たちについて
- それについて
- 上記の.
- 絶対の
- アクセス
- アカウント
- 達成する
- 使徒行伝
- 実際の
- 実際に
- 加えます
- 追加されました
- NEW
- 高度な
- 影響を及ぼす
- 恐れて
- 後
- すべて
- 許す
- 沿って
- 既に
- また
- an
- &
- どれか
- 何でも
- どこにでも
- 現れる
- です
- AS
- At
- 攻撃
- 攻撃
- 著者
- オート
- 自動化
- 自動的に
- オートメーション
- 知って
- バック
- バックエンド
- 背景画像
- 悪い
- BE
- になりました
- なぜなら
- き
- 背後に
- 以下
- やみくもに
- ブロック
- ボビー
- 国境
- 両言語で
- ボトム
- 違反
- ブレーク
- ブラウザ
- ブラウジング
- バグ
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 呼ばれます
- 来ました
- 缶
- 機能
- これ
- 注意深い
- 漫画
- 場合
- 原因となる
- 生じました
- 原因
- センター
- 一定
- チェーン
- 文字
- 文字
- クラシック
- クラウド
- コード
- 環境、テクノロジーを推奨
- カラー
- 来ます
- 来ます
- コメント
- 会社
- コンプリート
- 交流
- 連続した
- 見なさ
- 構築する
- コンテンツ
- コントロール
- 制御
- 変換
- 変換
- 株式会社
- 対応する
- 可能性
- ここから
- カバー
- 作ります
- 作成した
- クルックス
- Customers
- サイバーセキュリティ
- データ
- データ侵害
- データベース
- データベースを追加しました
- 決めます
- 配信する
- 部門
- 検出された
- 検出
- 決定
- 開発
- DevOps
- 異なります
- 直接に
- ディスプレイ
- 混乱する
- do
- ありません
- ドント
- ダウンロード
- ダウンロード
- Drop
- 落ちる
- ダビングされた
- 各
- 早い
- 簡単に
- end
- エラー
- さらに
- EVER
- 日常
- 例
- 例
- 実行します
- 実行
- 既存の
- 専門知識
- 悪用する
- 露出した
- 外部
- 余分な
- 実際
- おなじみの
- 遠く
- 考え出した
- File
- もう完成させ、ワークスペースに掲示しましたか?
- 名
- フォロー中
- 発見
- FRAME
- から
- フロント
- フロントエンド
- ギャング
- 一般的用途
- 一般に
- 生成する
- 生成された
- 生成
- ジェネレータ
- 取得する
- 与える
- 与え
- 良い
- 素晴らしい
- グループ
- 持っていました
- ハンドリング
- 持ってる
- 聞いた
- 高さ
- 希望
- ホバー
- 認定条件
- How To
- しかしながら
- HTML
- HTTP
- HTTPS
- 狩猟
- if
- イース
- in
- 含めて
- 悪名高いです
- 情報
- 注入します
- 入力
- を取得する必要がある者
- インタフェース
- インターフェース
- 内部
- インターネット
- に
- 巻き込む
- 関係する
- 発行済み
- IT
- ITS
- 自体
- ただ
- 一つだけ
- 既知の
- 大
- 大規模
- 姓
- 後で
- 起動する
- 学習
- 左
- less
- ような
- LINE
- ライン
- リスト
- LOOKS
- 検索
- 製
- make
- 作る
- 作成
- マルウェア
- 管理します
- マネージド
- 管理
- 多くの
- 3月
- マージン
- マッチング
- 最大幅
- 五月..
- 意味する
- 意味
- 手段
- Microsoft
- かもしれない
- 他には?
- 最も
- 名
- 名前付き
- 名
- 必要
- ニーズ
- ネットワーク
- 新作
- 新しく
- ニュース
- 通常の
- 何も
- 今
- of
- オフ
- on
- かつて
- ONE
- の
- or
- 注文
- その他
- さもないと
- 私たちの
- でる
- 成果
- 出力
- 自分の
- ページ
- パラメーター
- 部品
- パッチ
- Paul Cairns
- おそらく
- 人
- 場所
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 位置
- 可能
- 投稿
- 多分
- プロセス
- 製品
- 演奏曲目
- プログラマー
- 進捗
- 提供します
- は、大阪で
- 公表
- 置きます
- クエリ
- 率
- 範囲
- ランサムウェア
- むしろ
- Raw
- 読む
- リーディング
- 本当に
- 関連する
- 相対
- リモート
- 返信
- 要求
- 要求されました
- リクエスト
- 応答
- REST
- レビュー
- 右
- ラン
- ランニング
- 同じ
- 言う
- 言う
- スキャニング
- スクリプト
- を検索
- 検索
- 二番
- 安全に
- セルズ
- 送信
- 送信
- 敏感な
- 送信
- サービス
- サービス
- シェアする
- シェアリング
- ショート
- 表示する
- 示す
- 単に
- So
- これまでのところ
- ソフトウェア
- 固体
- 一部
- 特別
- 特定の
- SQL
- SQLインジェクション
- start
- ステートメント
- 店舗
- 保存され
- 文字列
- 構造
- 提出する
- 提出された
- そのような
- 提案する
- 供給
- サプライチェーン
- サポート
- 疑わしい
- SVG
- 構文
- テーブル
- 取る
- チーム
- 期間
- 条件
- より
- それ
- アプリ環境に合わせて
- それら
- その後
- そこ。
- ボーマン
- 彼ら
- 物事
- この
- 脅威
- 三
- 全体
- 時間
- 〜へ
- top
- 転送
- 転送
- 遷移
- トランスペアレント
- 治療する
- トリガ
- 順番
- オン
- 2
- まで
- 最新
- URL
- つかいます
- 中古
- ユーザー
- ユーザーインターフェース
- 通常
- バージョン
- 、
- 訪問
- 脆弱性
- ました
- 仕方..
- we
- ウェブ
- ウェブブラウザ
- ウェブサーバー
- ウェブベースの
- 週間
- WELL
- した
- この試験は
- いつ
- かどうか
- which
- 誰
- 全体
- なぜ
- 意志
- 無し
- 言葉
- 仕事
- いい結果になる
- ワークフロー
- ワークフローの自動化
- ワーキング
- 心配して
- でしょう
- 貴社
- あなたの
- あなた自身
- ゼファーネット