悪意のあるnpmパッケージがWhatsAppアカウントとメッセージを盗む

Image

Node Package Manager(NPM)レジストリ内の悪意あるパッケージが、正規のWhatsApp Web APIライブラリを装い、WhatsAppメッセージの窃取、連絡先の収集、アカウントへのアクセス取得を行います。

人気プロジェクト「WhiskeySockets Baileys」のフォークであるこの悪意あるパッケージは、正規の機能も提供します。少なくとも6か月間、lotusbailという名称でnpmに公開されており、ダウンロード数は56,000回を超えています。

The 

Image
NPM上のlotusbailパッケージ
出典: BleepingComputer

サプライチェーンセキュリティ企業Koi Securityの研究者は、この悪意あるパッケージを発見し、WhatsAppの認証トークンとセッションキーを盗み、送受信されるすべてのメッセージを傍受して記録し、連絡先リスト、メディアファイル、ドキュメントを流出させられることを突き止めました。

「このパッケージは、WhatsAppと通信する正規のWebSocketクライアントをラップしています。アプリケーションを流れるすべてのメッセージは、まずマルウェアのソケットラッパーを通過します」と研究者は説明しています。

「認証時にはラッパーが認証情報を取得します。メッセージが届くと傍受します。メッセージを送信すると記録します。」

Captured data
データを取得するためのコード
出典: Koi Security

取得された情報は、独自のRSA実装と、Unicodeのトリック、LZString圧縮、AES暗号化など複数層の難読化によって暗号化されたうえで、流出(送信)されます。

データ窃取活動に加え、この悪意あるパッケージには、デバイスのペアリング手順を通じて攻撃者のデバイスを被害者のWhatsAppアカウントにリンクするコードも含まれています。

これにより、悪意あるNPMパッケージを削除した後でも、攻撃者はアカウントへ継続的にアクセスできます。被害者がWhatsAppの設定からリンク済みデバイスを手動で削除するまで、アクセスは維持されます。

The device pairing function
デバイスのペアリング機能
出典: Koi Security

Koi Securityによると、lotusbailはデバッグや解析を困難にするために27個の無限ループトラップを使用しており、これが長期間発見されずに済んだ理由である可能性が高いとのことです。

このパッケージを使用した開発者には、システムから削除し、WhatsAppアカウントに不審なリンク済みデバイスがないか確認することが推奨されます。

Koi Securityは、ソースコードを見て悪意ある行を見つけるだけでは不十分だと強調しています。開発者は、新しい依存関係を導入する際に、想定外の外向き接続や認証フロー中の不審な動作がないか、実行時の挙動を監視して安全性を検証すべきです。

翻訳元: https://www.bleepingcomputer.com/news/security/malicious-npm-package-steals-whatsapp-accounts-and-messages/

ソース: bleepingcomputer.com