PyPI に “NP6” を冠した悪意のパッケージ:DLL サイド・ローディングで攻めてくる

New Malicious PyPI Packages Caught Using Covert Side-Loading Tactics

2024/02/20 TheHackerNews — Python Package Index (PyPI) リポジトリに、2つの悪意のパッケージが存在することが、サイバーセキュリティ研究者たちにより発見/確認された。それらの悪意のパッケージは、DLL サイド・ローディングと呼ばれるテクニックを用いて、セキュリティ・ソフトウェアによる検出を回避し、悪意のコードを実行するものだ。それらのパッケージは NP6HelperHttptest と NP6HelperHttper と名付けられ、削除されるまでに、それぞれが 537回/166回ダウンロードされている。

ReversingLabs の研究者である Petar Kirhmajer は、「新たな悪意のパッケージの発見は、オープンソース・パッケージにより実行される、DLL サイドローディングの一例である。つまり、ソフトウェア・サプライチェーンの脅威の範囲が、拡大していることが示唆されている」と、The Hacker News と共有したレポートの中で述べている。

特筆すべきは、”NP6” という名前が、ChapsVision 製の正規のマーケティング・オートメーション・ソリューションを指す点だ。

ChapsVision の従業員が PyPI で公開したヘルパー・ツール NP6HelperHttp/NP6HelperConfig のタイポスクワット版が、偽パッケージ NP6HelperHttptest/NP6HelperHttper である。つまり、正規のパッケージである NP6HelperHttp と NP6HelperConfig を検索している開発者たちを騙して、悪意のパッケージをダウンロードさせようとしているのだ。

Malicious PyPI Packages


それらの悪意のライブラリに含まれる setup.py スクリプトは、2つのファイルをダウンロードするよう設計されている。1つ目は、DLL のサイドローディングに脆弱な、北京に本拠を置く Kingsoft Corporation の実際の実行ファイルである “ComServer.exe” であり、2つ目は、サイドローディングされる悪意の DLL である “dgdeskband64.dll” だ。

DLL をサイドロードする目的は、悪意のコードの検出を回避することにある。過去において、aabquerys と呼ばれる npm パッケージのケースで確認されているように、このパッケージも、リモートアクセス型トロイの木馬を展開するコードを実行するために、同じ手法を利用している。

この DLL は、攻撃者が管理するドメイン “us.archive-ubuntu[.]top” にアクセスして GIF ファイルを取得する。しかし、その実体は、レッドチーム活動に使用されるポスト・エクスプロイト・ツールキット Cobalt Strike Beacon 用の、シェルコードの一部である。

また、このパッケージは DLL のサイドローディングの影響を受けやすい、類似の実行ファイルを配布している。それは、より広範なキャンペーンの一部であることを示唆する証拠となる。

セキュリティ研究者の Karlo Zanki は、「開発組織が認識すべきは、サプライチェーン・セキュリティとオープンソース・パッケージ・リポジトリにおける脅威の実態である。たとえオープンソースのパッケージ・リポジトリを使用していないとしても、それを悪用する脅威アクターは、悪意のソフトウェアやツールを巧妙に配布している。したがって、それらに騙されないとは断定できないのだ」と述べている。