Web シェル「WSO-NG」への対抗
Web 管理者やセキュリティ専門家は、Web シェルに対する警戒を強めています。この悪性スクリプトにより、攻撃者は、侵害された Web サーバーをリモートで制御できるためです。
このブログ記事では、WSO-NG という Web シェルについて説明します。この記事は Web シェルの世界を解明するシリーズの第 1 弾です。
Web シェルとは何か?
WSO-NG の詳細に入る前に、Web シェルの概要を簡単に見てみましょう。Web シェルとは PHP、ASP、JSP などの Web 対応言語で記述されたスクリプトであり、侵害されたサーバーをリモート制御します。これがアップロードされると、攻撃者は、データ窃盗、サーバー監視、ネットワーク内のラテラルムーブメント(横方向の移動)など、さまざまな悪性のアクティビティを実行できるようになります。
MITRE ATT&CKによると、Web シェルの展開は、攻撃者が被害者のシステムに永続的な足場を確立するために使用する戦術です。
WSO の歴史概要
WSO は「web shell by oRb」の略であり、14 年以上存在している定番の Web シェルです。「oRb」という名前のユーザーによってロシアのハッキングフォーラムで紹介されたのが、WSO の起源です(図 1)。
WSO の広範な Web シェル機能により、ハッカーは合理的にターゲットサーバーから情報を収集し、ファイルを効率的に処理し、データベースに不正アクセスし、シェルコマンドを実行できます。
WSO の初期開発者は協力者とともに、徐々に、着実に、機能の改善とバグの修正を行いました(図 2)。
2021 年に、「0xbadad」という名前の GitHub ユーザーが WSO シェルの更新版を公開しました。最初は「step.php」と呼ばれていましたが、後に「wso-ng.php」に名称が変更されました。作成者によると、この名称は「有名な Web シェルである WSO の新世代(new generation)」であることを表しています。
WSO-NG:新世代
Web シェルを使ってサーバーを監視する攻撃者には、China Chopper、B374K、R57 など、さまざまな強力な選択肢があります。その中でも注目すべきなのが、WSO とその進化版である WSO-NG です(図 3)。WSO-NG は、今日のセキュリティ重視のデジタル環境をナビゲートするために欠かせない 現代的なツール をサイバー攻撃者に提供します。
ログインページの隠蔽
ユーザーが WSO-NG のログインインターフェースにアクセスしようとすると、 404 エラーページ が表示されます。これにより、WSO-NG のステルス機能を強化してアクセスを制限しています。
しかし、このような「エラー」ページに隠れて、Web シェルはパスワードがキーボードで入力されるのを密かに待っています。ログインフォームは、1,000 ピクセル左側にずらす巧妙な CSS テクニックによって隠され、ユーザーには見えないようになっています。この操作により、フォームは画面の表示領域の外に効果的に配置されます(図 4)。
サードパーティーによる脅威インテリジェンスの収集
隠れたログインフォームを使用してアクセスした後、攻撃者は次のステップとして、侵害された環境の偵察を行います。 WSO-NG を使用することで、攻撃者は、組織がサイバー脅威を防ぐために使用しているのと同様の戦術やツールを用いて、システムに影響を与えている脅威に関するインテリジェンスを収集できます。
WSO-NG は VirusTotal と呼ばれる脅威インテリジェンスサービスとシームレスに統合されているため、侵害されたサーバーの IP レピュテーションを分析して、悪性アクティビティのフラグが立っているかどうかを見極めることができます。攻撃者がこのサーバーをその後のオンライン攻撃に利用しようとしている場合、VirusTotal を使用することで、攻撃が標的によってブロックされる可能性を評価できます。特に、IP がすでに拒否レコードに登録されている場合は、この VirusTotal の統合が非常に重要です(図 5)。
また、この機能により、そのサーバーが過去に他の攻撃者による侵害を受けたことがあるかどうかを把握できるため、攻撃者は慎重に攻撃を進めることができます。
さらに、WSO-NG には SecurityTrails サービスも統合されているため、攻撃者は侵害されたサーバーを介して、ホストされているその他のドメインを特定し、ターゲットのプロファイリングを実行できます。
現代の環境への適応
クラウド環境 や最先端のテクノロジーが広く普及し、それに伴って重要な技術情報や運用上の機密情報を保存してアクセスするための新しい方法が登場しました。
Web シェルには、AWS メタデータを取得する重要な偵察機能があります。これは、アクティブなクラウドインスタンスに関連付けられた AWS 認証情報を取得するための手法として広く利用されています。これにより、クラウドアカウント内でのその後の ラテラルムーブメント が容易になります。
他にも、Web シェルには潜在的な Redis データベース接続を検索する偵察機能があります。これは、より広範なアプリケーションデータにアクセスすることを目的としています。Redis はメモリー内のキー・バリュー・データベースであり、特にクラウド環境において、現代のアプリケーションで広く使用されています。
攻撃性の強化
WSO-NG は最上位の Web シェルであり、当初から広範な攻撃機能を備えています。
多くのホスティングプロバイダーが提供する一般的な共有 Web ホスティング環境では、Web サイト所有者が同一サーバー上の他のサイトにアクセスしたり、権限を昇格したりするのを防ぐための対策が講じられています。ホスティングプロバイダーは、危険な PHP 関数(PHP のフィルター追加機能を使用したシェルコマンドの直接実行など)の使用を制限するなど、さまざまなメカニズムを取り入れています。
WSO-NG には、これらのセキュリティ対策を回避するために特別に設計されたエクスプロイトが組み込まれています。さらに、Web ホスティングの一般的な設定である FastCGI 環境で任意のコードを実行するための既存のエクスプロイトも悪用します。これにより、権限を昇格させ、「ルート」レベルで足がかりを確立できます。
ユーザー体験の向上
WSO-NG は、攻撃者が効率的に目標を達成できるよう、ユーザー体験の強化にも力を入れています。
この Web シェルには、さまざまなユーザーインターフェースの改善が導入されています。たとえば、新しいブレッドクラム・ナビゲーション・パネル、キーボードショートカット、構文のハイライト、整然とした PHP コード編集(図 6)、単純なクリック操作によるクリップボードへのすばやいコピーなどです。
WSO-NG への対抗
被害者のサーバーに Web シェルを展開するためには、まず、そのサーバーにアクセスする必要があります。この最初のアクセスのために一般的に使用されるのが、Web の脆弱性です。この最初のサーバーアクセスを防止するためには、セキュリティ担当者が常に最新のパッチを適用することが重要です。しかし、企業は最新のパッチやセキュリティ対策を適用することに苦労しています。そこで、高度な Web アプリケーションファイアウォール(WAF)を使用して、Web シェルに対抗することができます。たとえば、 Akamai App & API Protectorなどです。
Adaptive Security Engineを搭載した Akamai の WAF により、最初の Web 脆弱性の悪用を特定し、Web シェルの展開と持続的なアクセスを阻止できます。また、コマンドインジェクション攻撃グループを使用してターゲットサーバーに Web シェルをアップロードしようとする攻撃者の試みを検知できます(図 7)。
具体的には、次の Adaptive Security Engine ルールによって WSO-NG を検知できる場合があります。
3000171 — Webshell/Backdoor ファイルのアップロード試行
結論
ダイナミックに進歩するデジタルの世界では、WSO-NG などの Web シェルが攻撃者に悪用され得る強力なツールとして出現します。このような悪性スクリプトは攻撃者に幅広い機能を提供するため、セキュリティ専門家と Web 管理者の両方にとって大きな懸念となっています。WSO-NG の起源と高度な機能を徹底的に調査した結果、 サイバーセキュリティ 意識が高まっている現代において、WSO-NG は脅威になり得ることが明らかになりました。
幸いなことに、脅威が拡大するにつれ、防御も強化されます。Akamai の WAF である App & API Protector は、このような隠れたスクリプトに対する強力な防御手段として、私たちが利用するデジタル領域を保護します。
高度な Web シェルがもたらす脅威に対処するためには、常に最新のパッチを適用すること、App & API Protector などの革新的なセキュリティツールを活用すること、プロアクティブなセキュリティスタンスを維持することが有効です。これにより、すべてのユーザーにとってより安全な Web 環境を確保できます。