ハッカーがSonicWall SMAのゼロデイ脆弱性を悪用してroot権限を取得、ORANGETAILウェブシェルを展開

SonicWall Secure Mobile Access(SMA)デバイスにおける2つのゼロデイ脆弱性が、現在進行形で悪用されています。これらの脆弱性により、UTA0533として識別された脅威アクターは、root権限レベルのアクセスを取得し、永続的なマルウェアをインストールした上で、脆弱なVPNアプライアンスにORANGETAILというJavaウェブシェルを展開できるようになっていました。

パッチ管理ソリューション

影響を受けるSonicWall SMAモデルには、1000シリーズに属するモデル6210、7210、8200が含まれます。最も早い時点で記録された侵害は2022年6月に発生していました。SonicWallはこれらの脆弱性を7月14日に公表し、SMAバージョン12.4.3-03453および12.5.0-02835で修正パッチをリリースしました。

ハッカーがSonicWall SMAのゼロデイ脆弱性を悪用

脅威アクターは、CVE-2022-15409(サーバーサイドリクエストフォージェリの欠陥)とCVE-2022-15410(コマンドインジェクションの脆弱性)という2つの脆弱性を連鎖させた攻撃を仕掛けていました。

UTA0533はこれらの欠陥を利用して認証をバイパスし、本来localhost専用のサービスにアクセスし、root権限でコマンドを実行し、ネットワーク内での横展開のための隠密なアクセス経路を確立していました。

侵入はSMAの/wsproxyエンドポイントを悪用することから始まりました。攻撃者は、-3389から始まるbmID値を持つリクエストを送信し、SMA Connect Agentのユーザーエージェントを使用することで、内部サービスへの未認証WebSocketトンネルを作成できていました。

Volexityは、ポート1050上のローカルCouchDBおよびポート8181上のSMA制御サービスへのアクセスを観測しました。悪用に成功すると、通常はアプライアンス側のログにHTTP 101 Switching Protocolsという応答が記録されていました。

報告によれば、攻撃者はCouchDBへのアクセス権限を悪用し、権限の低いcouchdbアカウント配下で悪意あるスクリプトを作成していました。このスクリプトはシステムのproduct_uuidを読み取り、それをローカルでホストされているXML-RPC制御サービスへの認証に利用していました。

その後、脅威アクターは脆弱なsysCtrl.execRemoveHotfixメソッドを呼び出し、remove_hotfixヘルパーに存在するパストラバーサルの脆弱性を悪用して、/tmp配下のファイルをroot権限で実行していました。

Volexityが発見した証拠によると、攻撃者は../../../../../tmp/1234.shのようなトラバーサルペイロードを使い、/tmp/1234.shといったステージング済みスクリプトを実行していました。

脆弱なヘルパーは、指定されたパスを本来想定されているロールバックディレクトリに制限できておらず、攻撃者が制御するファイルが実行可能とマークされ、昇格した権限で起動できてしまう状態にありました。

root権限の取得後、UTA0533はアプライアンス専用のツールをいくつか展開していました。その一つが、xzfindという名前のsetuid ELFバイナリで、内部ではROOTRUNと呼ばれており、root権限による任意コマンド実行を可能にするものでした。

また、このアクターはKNUCKLEBALLとして追跡されているdeploy_new.pyというPython製インプラントも投下し、正規の/etc/init.d/workplace起動スクリプトから永続的に実行されるよう設定していました。

KNUCKLEBALLは、Java Attach APIを使って、SonicWallのworkplace.startup.CommandStartupプロセスに2つのJavaアーカイブペイロードを注入していました。このうちの一つには、HTTPプロキシ転送ツールであるSuo5の改造版が含まれていました。

もう一つのORANGETAILは、Behinderフレームワークの挙動を模倣したカスタムJavaウェブシェルです。ORANGETAILは特定のHTTP POSTパラメータを通じて暗号化されたペイロードを受け取り、攻撃者から提供されたJavaクラスを動的に読み込み、暗号化された応答を返す仕組みになっていました。

これらのペイロードへのアクセスを隠蔽するため、マルウェアは/var/lib/unit/conf.jsonを改変し、/__api__/loginと/__api__/logoutを127.0.0.1:8085にプロキシされる悪意あるエンドポイントへリダイレクトするNGINX書き換えルールを追加していました。

両方のインプラントとも、通常とは異なる、あるいは不正なブラウザのユーザーエージェント文字列がなければ応答しない仕組みになっており、これにより通常のリクエストやパッシブスキャンに対する露出を抑えていました。

侵害後の活動には、被害者のネットワーク内での横展開の試みや、tcpdumpを使用した暗号化されていないLDAPトラフィックのキャプチャが含まれていました。Volexityはまた、感染したSMAアプライアンスから内部システムへの認証試行も観測しています。

200を超える送信元IPアドレスが、この悪用およびウェブシェル運用に関連付けられており、その中にはExpressVPNやMullvadVPNのインフラに紐づくアドレスも含まれていました。

管理者に対しては、SonicWallの修正パッチを直ちに適用し、/var/log/aventail/extraweb_access.log、access_servers.log、ctrl-service.logといったログを確認して不審な/wsproxyの活動がないか調べ、/tmpや/var/tmp内の想定外のファイルを調査するよう強く呼びかけられています。

防御側はさらに、/var/lib/unit/conf.jsonに不正なルートが追加されていないか確認し、承認されていないsetuidバイナリを探索し、SMAアプライアンスに不審な発信通信や横方向の接続がないか監視すべきです。

 脅威検知と迅速な調査を加速し、SOCを強化しましょう。 -> ANY.RUNをSOCに統合する今すぐ

ネットワークセキュリティ

翻訳元: https://gbhackers.com/hackers-exploit-sonicwall-sma-zero-days-to-gain-root-access/

ソース: gbhackers.com