cftunnelを使うpoweRAT

ほぼこもセキュリティニュース By Terilogy Worx

poweRATという新しいマルウェアの活動が観測されています。
どんなものでしょう。

  • Pythonで実装
    poweRATはPythonで実装されています。
    Pythonの動作する環境で動作することができます。
  • 操作しやすい
    poweRATはWebUIを搭載しています。
    WebUIは侵害先の環境で動作します。
    PythonにはFlaskという軽量なウェブアプリケーションフレームワークが用意されていますが、このFlaskを使ったアプリケーションとなっています。
    攻撃者は侵害環境をこのWebUIで操作することができます。
  • 高機能
    poweRATは名前が示すようにRATです。
    いろいろな機能が搭載されています。
    情報抜き抜き取り機能、キーストローク取得機能、画面保存機能などを使用することができます。
    Google Chrome、Mozilla Firefox、Microsoft Edge、Brave、Opera、Opera
    GX、VivaldiなどのブラウザーからCookie、保存されたパスワード、暗号通貨ウォレットデータを収集します。
  • 安全な接続
    このマルウェアは感染すると外部と通信を行います。
    この通信はCloudflare Tunnelを使って実施されます。
    Cloudflare Tunnelはインフラストラクチャの種類を問わず、アプリケーショントラフィックをすばやく安全にし暗号化できるトンネリングソフトウェアです。
    行われる通信は暗号化されていますので、ネットワーク上を流れるパケットを解析するだけではその通信内容は確認できません。
    このCloudflare Tunnelを使う機能の部分もPythonで実装されたものを読み込んで使用します。
    cftunnel.pyです。
  • 簡単に感染
    Pythonのライブラリは簡単に利用開始することができます。
    PyPIというパッケージ管理システムのおかげです。
    PyPIでは使いたいパッケージの名前だけを知っていればそのパッケージを利用開始することができます。
    利用環境で「pip install xxxxxx」などとパッケージ名を指定してパッケージのインストールを実行することができます。
    そうすると指定されたパッケージのアーカイブが取得され、中に含まれるsetup.pyが自動的に実行されます。
    通常のパッケージではこのsetup.pyでそのパッケージを利用開始するための準備が実行されるようになっています。
    このマルウェアはこの仕様を悪用します。
    setup.pyでマルウェアの動作環境を自動構築します。
    poweRATを設置し、cftunnel.pyを設置します。

poweRATという名前の由来はPowerShellを悪用することにあるようです。
感染活動の中でPowerShellを使用します。
また同じようにWscriptも使用します。

こういったマルウェアを展開する悪意あるsetup.pyを含むことがわかっているPyPIパッケージがいくつもPyPIから削除されています。
pyrologin、easytimestamp、discorder、discord-dev、pythonstylesなどです。
これらのパッケージを手元にインストールすると指定したパッケージと一緒にマルウェアが設置されます。
これらの確認済みのパッケージの公開は停止されていますが、別の名前のパッケージのsetup.pyとして公開することは難しくないでしょう。
いくらでも新しい活動として展開することができそうです。

また、その悪意あるsetup.pyを含むパッケージは、最初から悪意ある状態にする必要はありません。
PyPIのパッケージは更新機能を使用することができますので、そのパッケージが十分にダウンロードされた後で新バージョンとして問題のあるsetup.pyを含んだ状態に変更するだけで感染を広げることができるようになってしまうのです。

インストールしようとしているパッケージがtypoなく正しい名前なのかというような注意だけでなく、継続的に自分の環境が意図した状態であることを確認する必要がありそうです。
XXXXをやっておけば大丈夫というような便利な方法はないようです。
いろいろな運用の中で自身の安全を確保していく必要があります。

参考記事(外部リンク):A Deep Dive Into poweRAT: a Newly Discovered Stealer/RAT
Combo Polluting PyPI

blog.phylum.io/a-deep-dive-into-powerat-a-newly-discovered-stealer/rat-combo-polluting-pypi