North Korean hackers behind malicious VMConnect PyPI campaign

北朝鮮国家支援のハッカーが悪意のあるパッケージを PyPI (Python Package Index) リポジトリにアップロードし、そのうちの 1 つを vConnector という名前の VMware vSphere コネクタ モジュールとして偽装しました。

パッケージは 8 月初めにアップロードされ、 VMConnect という名前のパッケージは、仮想化ツールを求める IT プロフェッショナルをターゲットとしています。

PyPI プラットフォームから削除された時点で、VMConnect のダウンロード数は 237 件でした。同じコードを特徴とするさらに 2 つのパッケージは、「ethter」と「quantiumbase」という名前で公開され、人気のソフトウェア プロジェクトになりすましたもので、それぞれ 253 回と 216 回ダウンロードされました。

ソフトウェアサプライチェーンのセキュリティ会社であるReversingLabsが本日発表した報告書では、このキャンペーンは北朝鮮のLazarusハッカーのサブグループであるLabyrinth Chollimaによるものだとされている。

研究者らは、同じ VMConnect 操作の一部であるさらに多くのパッケージ、つまり「tablediter」(ダウンロード 736 件)、「request-plus」(ダウンロード 43 件)、「requestspro」(ダウンロード 341 件) を発見しました。

新しく発見された 3 つのパッケージのうちの 1 つ目は、テーブルの編集を支援するツールとして渡そうとしているようですが、他の 2 つは、HTTP リクエストを作成するために使用される一般的な「リクエスト」Python ライブラリを偽装しています。

ハッカーは、名前に「plus」および「pro」という接尾辞を追加することで、追加機能を備えた標準の正規パッケージのバージョンのようにエントリを作成します。

悪意のあるパッケージは、元のパッケージと同じ説明を特徴としており、ファイル構造とコンテンツの違いは最小限であり、主に「__init__.py」ファイルに関する変更が加えられています。このファイルは、「cookies.py」からデータ収集をトリガーする悪意のある関数を実行します。感染したマシン。

悪意のあるコード スニペット
tableditor の悪意のあるコード スニペット(ReversingLabs)

情報は、POST HTTP リクエストを介して攻撃者のコマンド アンド コントロール (C2) サーバーに配信されます。

サーバーは、Base64 と XOR を使用して難読化された Python モジュールと実行パラメータで応答します。このモジュールには、研究者が取得できなかった次の段階のペイロードのダウンロード URL も含まれています。

「以前の VMConnect キャンペーンの場合と同様、キャンペーンに関連付けられた C2 サーバーはデフォルトで追加のコマンドを提供せず、適切なターゲットを待機していたため、キャンペーンの全範囲を評価することが困難でした。」 – ReversingLabs
ペイロード復号化コード
ペイロード復号化コード(ReversingLabs)

帰属の信頼度

最終的なペイロードは分析しなかったものの、ReversingLabs の研究者らは、VMConnect キャンペーンと悪名高い北朝鮮の Lazarus APT グループを結び付けるのに十分な証拠を収集したと述べています。

議論の 1 つは、悪意のあるパッケージ内で「builder.py」ファイルが発見されたことです。このファイルには、JPCERT、日本のコンピュータ セキュリティ インシデント対応チーム (CSIRT) が「py_Qrcode」という別のファイルで発見したのと同じペイロード デコード ルーチンが含まれています。

JPCERT は、このコードは DangerousPassword として追跡している別の Lazarus サブグループによるものであると考えています。

このファイルの機能は、「QRLog」という名前の 3 番目のファイルと同一です。このファイルは、Crowdstrike が Labyrinth Chollima によるものであると高い信頼性を持って判断している Java ベースのマルウェアです。