概要
- LinkedIn経由のリクルーター から高額案件のDMを受信
- 課題プロジェクトにマルウェア が仕込まれていることを発見
- Git hooksやVSCode設定 を悪用した感染手法
- 攻撃者の手口や痕跡 の詳細な調査
- 安全なコード受け渡しの重要性 を再認識
リクルーターからのDMと最初の違和感
- LinkedInのDM でPython開発者向けの 高額案件 を紹介される
- 月額$10,000~$15,000、リモート・契約社員から正社員化前提の条件提示
- 初回連絡で給与額を提示 する点に違和感、通常は後出しが多い
- Y Combinator系スタートアップ 名義だが、選考フローが雑
- 履歴書提出後、即座に課題送付 という流れに警戒感
課題プロジェクトの解析とマルウェア発見
- Google Drive経由でzipファイルとPDF課題 を受け取る
- FastAPI+SQLAlchemy の標準的な構成、requirements.txtも問題なし
- tree -aコマンドで隠しディレクトリを確認、.git/hooksに多数のフックスクリプト
- pre-commitフック でOS判定後、外部IPからスクリプトをダウンロードし実行
- curl/wget経由で二次ペイロードを取得、nohupでバックグラウンド実行
二次・三次ペイロードの挙動
- tokenlinux.npl→tokenlinux.sh として~/Documentsに配置し、実行権限付与
- Node.js環境を自動セットアップ、npm installで依存パッケージ導入
- clipboardy, fs, hardhat等の怪しい依存 を含むpackage.json
- parser.jsは難読化済み、idパラメータで個別に異なるスクリプト配布
- crypto資産やクリップボード情報狙い の可能性
他のバリエーションと攻撃者の手口
- VSCodeの.vscodeフォルダを悪用 し、エディタ起動時に感染するパターンも確認
- Zavopay等の実在企業名を騙る手口、実際は無関係
- プロジェクトのcommit履歴を解析、GitHubの公開リポジトリを流用
- 攻撃者は既存コードにマルウェアを上乗せ、痕跡を最小限に
攻撃インフラと痕跡調査
- 攻撃者のIPアドレスでNmapスキャン、SSH等のサービスのみ開放
- 最新バージョンのOpenSSHでOPSEC意識高め
- 攻撃者アカウントは指摘後に削除
まとめ・教訓
- 不審な課題やプロジェクトは必ず中身を確認
- Git hooksやエディタ設定ファイルもチェック
- 「高額・即決」案件は特に警戒
- 攻撃者は日々手口を進化、油断禁物
- 安全なやり取りのためには慎重な行動が必須
参考リンク・追加情報
- 元リポジトリ: https://github.com/Bgogoi123/personal-finance-service
- 課題ファイル例: Google Driveコピー
- 攻撃者IP: 45.61.164.38
おわりに
- LinkedIn等SNS経由のリクルーター案件には特に注意
- 怪しい課題やファイルは安易に実行しない
- 興味深いマルウェアサンプルがあれば情報共有歓迎(ただし自己責任で)
- セキュリティ意識を高く持ち、被害拡大防止に努めることが重要