Perfctl Ransomware
脅威となるソフトウェアの系統が、何千もの Linux ベースのシステムに感染しました。この系統は、ステルス的なアプローチ、悪用可能な広範な設定ミス、実行可能なさまざまな有害なアクションで際立っています。
2021 年に初めて検出されたこの脅威は、20,000 を超える一般的な設定ミスを利用してシステムに侵入し、インターネットに接続された何百万台ものデバイスにリスクをもたらします。さらに、Linux システムで広く使用されているメッセージングおよびストリーミング プラットフォームである Apache RocketMQ で昨年修正された、最大深刻度スコア 10 の重大な脆弱性である CVE-2023-33426 を悪用します。
目次
Perfctlマルウェアは、さまざまな悪意ある機能を備えている
Perfctl の名前は、暗号通貨を密かに採掘する悪質なコンポーネントに由来しています。身元が不明な開発者は、Linux パフォーマンス監視ツールの名前「perf」と、コマンドライン ユーティリティでよく使われる略語「ctl」を組み合わせました。Perfctl の注目すべき特徴は、Linux 環境でよく見られるプロセス名とファイル名によく似た名前を使用していることです。これにより、影響を受けるユーザーによる検出を回避できます。
Perfctl は、その存在をさらに隠すために、さまざまなステルス戦術を採用しています。その 1 つが、多くのコンポーネントをルートキットとしてインストールすることです。ルートキットは、オペレーティング システムや管理ツールから隠れるように設計されたマルウェアの特定のカテゴリです。その他の回避戦略には、次のものがあります。
- 新規ユーザーのログイン時に簡単に検出できるアクティビティを停止する
- 外部通信にTOR経由のUnixソケットを利用する
- 実行後にインストールバイナリを削除し、その後バックグラウンドサービスとして実行する
- フックと呼ばれる手法を使用してLinuxプロセスpcap_loopを操作し、管理ツールが悪意のあるトラフィックを記録するのを防ぐ
- 実行中に表示されるアラートを回避するために、メッセージ エラーを抑制します。
Perfctl は永続性を重視して設計されており、再起動後やコア コンポーネントの削除を試みた後でも、感染したマシンに残ります。これは、ユーザー ログイン時に環境を初期化し、正当なサーバー プロセスの前にマルウェアをロードできるようにする ~/.profile スクリプトを変更するなどの手法によって実現されます。また、メモリから複数のディスク ロケーションに自分自身をコピーします。pcap_loop のフックにより、プライマリ ペイロードが検出され削除された後でも危険なアクティビティを継続できるため、永続性がさらに高まります。
Perfctl は、システム リソースを利用して暗号通貨を採掘するだけでなく、感染したマシンを利益を生み出すプロキシに変換し、有料の顧客がインターネット トラフィックを中継できるようにします。サイバー セキュリティの研究者は、このマルウェアが他のマルウェア ファミリをインストールするためのバックドアとして機能することも指摘しています。
Perfctlマルウェア感染の攻撃フロー
脆弱性や設定ミスを悪用した後、エクスプロイト コードは、マルウェアの匿名配布チャネルになっている侵害されたサーバーから主要なペイロードをダウンロードします。調査された攻撃では、ペイロードは httpd と名付けられていました。実行されると、ファイルはメモリから /temp ディレクトリの新しい場所に複製され、コピーされたバージョンが実行され、元のプロセスが終了し、ダウンロードされたバイナリが削除されます。
/tmp ディレクトリに再配置されると、ファイルは既知の Linux プロセスを模倣した別の名前 (この場合は sh という名前) で実行されます。その後、ローカルのコマンド アンド コントロール (C2) プロセスを確立します。このプロセスは、人気の高いオープンソースのマルチメディア フレームワークである Gpac 内で 2021 年に修正された権限昇格の脆弱性である CVE-2021-4043 を悪用して、ルート システム権限を取得しようとします。
その後、マルウェアはメモリから他のいくつかのディスクの場所に自分自身をコピーしますが、ここでも通常のシステム ファイルに似た名前を使用します。また、ルートキットと、ルートキットとして機能するように変更された一般的な Linux ユーティリティ スイート、およびマイニング コンポーネントを展開します。場合によっては、マルウェアは「プロキシ ジャッキング」用のソフトウェアをインストールします。プロキシ ジャッキングとは、感染したマシンを介してトラフィックを秘密裏にルーティングし、データの実際の出所を隠すことです。
C2 操作の一環として、マルウェアは Unix ソケットを開き、/tmp ディレクトリ内に 2 つのディレクトリを作成し、そこに操作データを保存します。このデータには、ホスト イベント、コピーの場所、プロセス名、通信ログ、トークン、その他のログ情報が含まれます。さらに、環境変数を利用して、実行と動作に影響を与えるデータを保存します。
すべてのバイナリはパックされ、ストリップされ、暗号化されており、セキュリティ対策を回避し、リバース エンジニアリング作業を複雑にする確固たる決意を示しています。マルウェアは、btmp ファイルまたは utmp ファイルで新しいユーザーを検出すると活動を一時停止し、競合するマルウェアを終了して感染したシステムに対する優位性を維持するなど、高度な回避戦術を採用しています。
Perfctl が数万台のデバイスを危険にさらす
研究者らは、さまざまなサービスやアプリケーションでインターネットに接続されている Linux サーバーの数に関するデータを分析した結果、数千台のマシンが Perfctl に感染していると推定しています。調査結果によると、脆弱なマシン (CVE-2023-33426 のパッチをまだ適用していないマシンや設定ミスのあるマシン) の数は数百万台に上ります。ただし、研究者らは、有害なマイナーによって生成された暗号通貨の総額をまだ評価していません。
自分のデバイスが Perfctl の標的になっているか感染しているかを確認するには、特定された侵害の兆候を探す必要があります。また、特にアイドル期間中の CPU 使用率の異常な急上昇や予期しないシステム速度低下にも注意する必要があります。