Fezboxという悪意のあるnpmパッケージが、有害なコードを隠すための異例の手法を使用していることが判明しました。

このパッケージは、難読化戦略の一環としてQRコードを利用しており、最終的にはウェブクッキーからユーザー名やパスワードを盗み出すことを目的としています。

この発見はSocket脅威リサーチチームによって行われました。

新たな難読化手法

攻撃者は通常、マルウェアを隠すために文字列の反転やエンコード、暗号化などの手法に頼りますが、Fezboxはさらに進んでペイロードをQRコード内に埋め込んでいます。起動されると、このコードはブラウザのクッキーからユーザー認証情報を抽出し、リモートサーバーに送信しようとします。

SocketはAIベースのマルウェアスキャナーを通じてこのパッケージを検出し、一見無害なユーティリティ関数の裏に隠された不審な挙動を特定しました。少なくとも327回ダウンロードされていたこのパッケージは、Socketがnpmセキュリティチームに削除を要請した後、削除され、関連アカウントも停止されました。

サプライチェーン攻撃の詳細はこちら:GhostActionサプライチェーン攻撃で3000以上の秘密情報が漏洩

ペイロードの仕組み

Fezboxは、QRコード生成などの機能を持つJavaScript/TypeScriptのヘルパーライブラリとして装っています。

しかし、ドキュメントにはこのライブラリがリモートURLからQRコードを取得し、その中のコードを実行することは記載されていません。120秒の遅延の後、悪意のあるスクリプトが読み込まれ、QRコードを解析し、隠されたペイロードを実行します。

デコードされると、ペイロードは以下を試みます:

  • ブラウザのクッキーから保存されたユーザー名とパスワードを取得する

  • 意図を隠すために「drowssap」という文字列を反転する

  • 盗んだ認証情報をHTTPS POSTでRailway上のサーバーに送信する

Socketによると、文字列反転、QRコードステガノグラフィー、ペイロードの暗号化など複数の難読化層を使用することで、攻撃者の隠密性へのこだわりが示されています。

防御側への教訓

多くの現代的なアプリケーションでは、もはやクッキーに平文のパスワードを保存していませんが、この攻撃はマルウェア設計の創造性が高まっていることを浮き彫りにしています。

「QRコードをステガノグラフィーの難読化手法として使うのは非常に巧妙です」とSocketチームは指摘し、「脅威アクターは利用可能なあらゆる手段を使い続けることを改めて示しています」と述べています。

同社はまた、悪意のあるパッケージがソフトウェアプロジェクトに導入される前に検出できるよう、自動依存関係スキャンの重要性も強調しました。

翻訳元: https://www.infosecurity-magazine.com/news/npm-uses-qr-code-steganography/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です