perfctlは、Linux向けのマルウェアです。
長い期間その活動は明らかになりませんでしたが、広く展開されてしまっている脅威でした。
- マイニング
主な目的は、マイニングです。
perfctlは感染すると、Moneroをマイニングします。
Moneroは暗号資産です。 - 始まり
感染経路は一つではありません。
活動期間が長いことも関係しているのでしょうか、いくつもの始まり方が確認されています。
脆弱性を悪用して侵入する、誤った設定を悪用して侵入する、など複数の方法で侵入します。
いろいろな脆弱性を悪用しますが、例えば古いApache RocketMQの脆弱性であるCVE-2023-33246(RocketMQの脆弱性にまつわる関連記事:RocketMQを狙うMuhstik)や、 Polkitの権限昇格の脆弱性のCVE-2021-4034 (PwnKitと呼ばれるものです)などが使われます。 - 初期ファイルの投入
アクセスを開始すると外部からファイルを入手し、それを実行します。
実行されるファイルの名称は「httpd」です。
もちろん、内容はウェブサーバではありません。
ここから感染行為が開始されます。 - マルウェアの設置
動作を開始した「httpd」は「sh」ファイルを環境に設置します。
これも同じです、shといってもshellではありません。
shという名称のファイルをまずは/tmpに保存します。
そして、元のhttpdファイルは削除します。
さらに、shは永続性確保のため、いくつもの場所にコピーされます。 - perfctlの機能
C2との通信はTORを経由して行われます。
チャネルは暗号化されていますので、解析は困難です。
「libgcwrap.so」という名前のルートキットを設置します。
さまざまなシステム機能にフックを設置して認証メカニズムを変更し、必要に応じてネットワークトラフィックを傍受して回避行為を実施します。
さらに、ldd、top、crontab、lsofなどのファイルが置き替えられ、こういったコマンドでのマルウェアの存在確認ができない状態にします。
準備が整ったら、XMRIGを設置し利用開始です。
XMRIGはMoneroのマイナーです。 - 検出回避機能
perfctlにはrootkit以外にも別の検出回避機能が搭載されています。
マイニングは、誰もログインし歌状態でないときにしか行われないようになっています。
ssh接続が開始されるとマイニングは停止し、ssh接続が切断されるとマイニングは再開されます。
コンソール接続でも同じように休止します。
このマルウェアは隠れて活動するための機能がいくつも搭載されています。
このためか、存在が明らかになるまでに長い期間がかかってしまいました。
しかし、このマルウェアはマイニング動作時にはCPUをフルに利用します。
このため、感染環境が継続的にCPU負荷の監視を行っていれば、問題があることはすぐにわかったのかもしれません。
もちろん、rootkitなどがありますので何が起こっているのかの調査は簡単ではなさそうですが、調査の必要性には気がつくことができたかもしれません。
性能のわかるリソース監視は、性能の確認以外にも役立つことがあるということですね。
この脅威キャンペーンの例ではマイニングに悪用されていたというものでしたが、悪用はマイニングだけとは考えられません。
他の用途にも簡単に転用できそうです。
利用機器を正しく管理して被害にあう可能性を下げ、運用監視によって被害にあってしまってもそれに気が付くことができるようにしたいですね。
perfctl: A Stealthy Malware Targeting Millions of Linux Servers
https://www.aquasec.com/blog/perfctl-a-stealthy-malware-targeting-millions-of-linux-servers/
この記事をシェア |
---|