BPFDoor マルウェアは Solaris の脆弱性 CVE-2019-3010 を悪用して root を奪う

BPFDoor malware uses Solaris vulnerability to get root privileges

2022/05/25 BleepingComputer — Linux および Solaris 向けのステルス型マルウェア BPFdoor の、内部構造に関する新たな研究により、このマルウェアの背後にいる脅威アクターは、標的システム上で持続性を得るために、古い脆弱性を利用していることが明らかになった。BPFDoor はカスタム・バックドアであり、少なくとも5年間において、通信/政府/教育/物流などの組織への攻撃で、ほとんど検出されずに使用されてきた。

この BPFdoor が、PricewaterhouseCoopers (PwC) の研究者たちにより発見/報告されたのは最近のことである。そして、このマルウェアは、彼らが Red Menshen として追跡している、中国ベースの脅威アクターに起因するものだとされる。PwC は、2021年に行ったインシデント・レスポンス活動において、BPFDoor を発見している。このマルウェアを詳しく調査した研究者たちは、台湾で侵害されたルーターを介して制御される、VPS からコマンドを受け取っていることに気づいた。

その後に、Sandfly Security の創設者である Craig Rowland と Kevin Beaumont による包括的な調査により、ほとんどの検知システムを事実上回避できる、このマルウェアが有する狡猾な性質が明らかになった。BPFDoor はファイアウォールで止めることができず、ポートを開くことなく機能し、Web 上のあらゆる IP アドレスからコマンドを受信できるため、Command and Control (C2) サーバを必要としない。

公開されたエクスプロイトの利用

サイバー・セキュリティ企業である CrowdStrike は、Linux と Solaris を主要ターゲットとする脅威アクターが、カスタム・ビルドされた BPFDoor インプラントを、通信プロバイダに対して使用し、個人ユーザー情報 (通話明細記録、電話番号に関するデータなど) を盗み出していることを観測している。

CrowdStrike は、JustForFunという名前で、このバックドアを追跡しており、DecisiveArchitect と呼ばれる敵対者に起因するものだと考えているようだ。2019年以降、研究者たちは、この敵対者の活動を数回にわたって分析してきた。CrowdStrike は、「DecisiveArchitect は、さまざまな防御回避技術を活用し、防御者による悪意の活動の特定/調査を困難にするための戦術として、高度な運用セキュリティを保持している」と述べている。

今日のレポートの中で研究者たちは、BPFDoor インプラントを防衛者が検出する方法についての詳細を提供し、Solaris システム全体で使用されるテクニックを浮き彫りにしている。彼らは、「DecisiveArchitect が Solaris システムへのアクセスを獲得すると、CVE-2019-3010 (Solaris Ver11.x における XScreenSaver コンポーネントの脆弱性) を悪用し、root レベルのパーミッションを取得する」と述べている。この脆弱性のエクスプロイト・コードは3年前から公開されており、DecisiveArchitect は何の努力もせずに、それを悪用しているようだ。

BPFDoor malware - Solaris exploitation files for CVE-2019-3010
source: CrowdStrike

研究者たちの観察によると、脅威アクターは JustForFun インプラントの展開から数分以内に、このバグの活用を開始するのが通常とのことだ。CrowdStrike の研究者は、Solarisシステムにおいて、脅威アクター は LD_PRELOAD 環境変数を用いて、Linux ホストで見られるコマンドライン・スプーフィングと同様の機能を実現すると指摘している。

しかし、2022年4月以降において、DecisiveArchitect はその TTP を更新し、Linux マシン上でも LD_PRELOAD 環境変数を使用し、正規のプロセス /sbin/agetty で BPFDoor/JustForFun インプラントをロードし始めている。CrowdStrike は、「偽装されたコマンドラインは、ホスト上の疑わしい活動を調査するために使用される、ps などのコマンドの中に表示される」と述べている。

手動による検出

研究者たちは、脅威アクターが永続性を達成するために、ホスト上の既存の SysVinit スクリプトを変更するため、Linux システム上の BPFDoor/JustForFun インプラントを検出することは、困難な作業になるかもしれないと強調している。そのため、SysVinit スクリプトのコード行をレビューすることで、インプラントへの参照を発見できる可能性は低く、すべてのファイル参照を分析する必要性が生じる。

さらに発見を難しくしているのは、インプラントや、それに関連する永続化スクリプトのファイル名やパスが、システムごとに異なることだ。CrowdStrike は、Raw ソケットを開いている実行中のプロセスを特定することで、ネットワーク上での BPFDoor の有無を調べるコマンド群を、防御者に提供している。

Linux


Solaris


Linux 用の lsof コマンドは、偽装されたコマンドラインを報告し、プロセス ID に関連するオープン・ファイルのリストを解析するのにも役立つ。

Solaris 用のコマンドは、パケットフィルタと一緒に実行されているプロセスを示す文字列を検索し、libpcap ライブラリをロードしたプロセスを探すために、すべてのプロセスをループする。

これらのコマンドだけでは、必ずしもインプラントを明らかにできないが、疑わしい活動を、さらに調査する必要性を判断するのに有効である。今日の CrowdStrike のレポートには、Linux と Solaris に対する侵害の指標のリストと、現時点では目的が不明な2つの Windows スクリプトが含まれている。研究者たちによると、BFPDoor の背後にいる脅威アクターは、侵入の初期段階で Windows マシンとやり取りしているが、Windows 用のカスタム・インプラントは確認されなかったとのことだ。

BPFdoor に関しては、5月12日の「BPFdoor バックドアの脅威:ファイアウォールをすり抜ける Linux マルウェアの詳細」でも説明されていますが、今回のものも BleepingComputer からであり、続報という位置づけの記事になっています。前回の記事と同様に、BPFDoor はファイアウォールで止めることができ無いと指摘されています。そして、怖いのは「Web 上のあらゆる IP アドレスからコマンドを受信できるため Command and Control (C2) サーバを必要としない」という、その後の研究で明らかにされた特質です。CrowdStrike のレポートは、ココから参照できます。今後も、BPFdoor の情報がありましたら、ポストしていくようにします。

%d bloggers like this: