編集者注:『知っておきたいこと』は、Talos がお届けする新連載です。広範な脅威の調査で用いられるサイバーセキュリティの用語や、調査対象の脅威、ツール、戦術を重点的に取り上げます。セキュリティの用語や動向に関する最新の百科事典とお考えください。
Talos インシデント対応チームは先ごろ、『四半期レポート:インシデント対応の動向(2023 年第 1 四半期)』をリリースしました。その最も注目すべき動向の 1 つが、サイバー攻撃で多用される Web シェルでした。
実際のところ、Web シェルは全体として最も多く観測された脅威というだけでなく、全インシデントの約 4 分の 1 で Web シェルの使用が確認されています。これは、前回(2022 年第 4 四半期)のレポートからすると著しい増加です(Web シェルが使用された割合が 6% から 25% に増加)。
増加した理由が気になるのではないでしょうか。あるいは、Web シェルとは何だろうと思っていらっしゃるかもしれません。なぜ Web シェルが攻撃に使用されるのでしょうか。では、詳細を見ていきましょう。
Web シェルとは何か?
Web シェルは、最初の不正アクセスの後、攻撃者がシステムとの通信を行いアクセスを維持するために使用する可能性があるツールです。Web スクリプト(コードの一部)という形を取って脆弱なシステムにアップロードされた後、基盤となるオペレーティングシステムとの通信に使用されます。
現代のシステムは複雑で、特に Web サイトには、サードパーティのソフトウェアやライブラリが使用されていることがある(そして、それらが頻繁にアウトバウンド接続を行う)ため、攻撃者が初期アクセスに使用する悪意のあるスクリプトが見過ごされがちです。
そうして初期アクセスが行われた後に、悪意のある Web スクリプトを使用したエクスプロイトの手法が可能になります。つまり、その後の攻撃の実行に Web スクリプトが使用されるということです。
Web シェルは一般的にどのように攻撃に使用されるのか?
攻撃者はシステムの脆弱性を探し、(あくまで攻撃者にとって)最適な場所を見つけて Web シェルを(多くの場合は複数)ドロップします。システムの脆弱性とは、たとえば Web サイトのコンテンツ管理システムや、パッチが未適用の Web サーバーです。
ここで注意すべき点は、Web シェルが足がかりを作り、システムへの持続的なアクセスを確保することです。他の誰も知らない秘密のドアを作ったと想像してみてください。その鍵を持っているので、何回でも自由に戻ることができます。
攻撃者にはいくつか選択肢があり、どれを選ぶかは攻撃者の最終的な目的が何かによります。Talos が確認したところでは、攻撃者はリモートで任意のコードやコマンドを実行したり、ネットワーク内で侵入拡大を図ったり、悪意のあるペイロードをさらに送り込んだりします。
Talos の『四半期レポート:インシデント対応の動向(2023 年第 1 四半期)』にあるとおり、観測された初期アクセスの手法としては、公開アプリケーションのエクスプロイトが最多でした。Web シェルが攻撃に多用されるようになったため、これほど多く観測されたと考えられます。
注目すべき事例:China Chopper
China Chopper は Web シェルです。攻撃者は標的のコントロールに必要な情報をすべて含むクライアント側のアプリケーションを使用して、感染したシステムへのアクセスを維持できます。
2019 年に、Talos の研究者 2 名が China Chopper という Web シェルを詳細に調査しました。それまでの 2 年間、スパイ活動などにかなり使用されたからです。China Chopper が使用された複数の事例が調査されました。
どうすれば Web シェルを検出できるか?
Web シェルは、現場に侵入の痕跡を残すことがよくあります。攻撃者が Web シェルのようなツールを使用してリモートアクセスを確保している場合は、Snort などの侵入防御システムが検出に役立ちます。
不正な接続を検出するには Cisco Secure Network Analytics を活用でき、Cisco Umbrella によって DNS レベルで悪意のある接続をブロックすることができます。
Cisco Secure Endpoint のようなエンドポイントにおける検出と対応(EDR)ツールの導入が待たれます。EDR ツールを使用すれば、プロセスの起動を追跡し、検査を行えるようになります。
推奨する予防策
Web シェルへの対応業務が増えたことで、被害を防ぐためには、意識を高めて防御を強化する必要があることが明らかになりました。以下に、Talos が推奨する対策をご紹介します。
・Web アプリケーションと Web サーバーの脆弱性や設定不備を特定して修復するために、定期的にすべてのソフトウェアとオペレーティングシステムを更新し、パッチを適用する。
・パッチを適用するほか、一般的なシステム強化を実施する(不要になったサービスやプロトコルを削除する、インターネットに直接さらされているすべてのシステムを把握しておく、など)。
・「php.ini」に含まれている PHP 関数(eval()、exec()、peopen()、proc_open()、passthru() など)のうち不要なものを無効にする。
・普段とは異なる動きや異常な動きがないか、Web サーバーのログを頻繁に監査し、確認する。
Talos の『四半期レポート:インシデント対応の動向(2023 年第 1 四半期)』の全文をご覧ください。
本稿は 2023 年 05 月 26 日に Talos Group のブログに投稿された「What is a web shell?」の抄訳です。