ਐਕਟੋਪਲਾਜ਼ਮ npm ਇੰਸਟਾਲ ਕਰੋ Hooks ਉਹ AWS ਪ੍ਰਮਾਣ ਪੱਤਰ ਚੋਰੀ ਕਰਦੇ ਹਨ

ਐਕਟੋਪਲਾਜ਼ਮ: npm ਇੰਸਟਾਲ hooks ਜੋ ਕਿ ਇੱਕ ਕੰਟੇਨਰ-ਓਨਲੀ ਟਰਿੱਗਰ ਦੇ ਪਿੱਛੇ AWS ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਦੀ ਕਟਾਈ ਕਰਦੇ ਹਨ

ਵਿਸ਼ਾ - ਸੂਚੀ

ਪੜ੍ਹਨਯੋਗ ਪੋਸਟਾਂ

ਦਿਲਚਸਪੀ ਵਾਲੀਆਂ ਨਵੀਨਤਮ ਪੋਸਟਾਂ

TL; ਡਾ

ਦਾ ਇੱਕ ਸਮੂਹ ਪੰਜ ਐਨਪੀਐਮ ਪੈਕੇਜ, ਦੋ ਖਾਤਾ ਹੈਂਡਲਾਂ ਵਿੱਚ ਪ੍ਰਕਾਸ਼ਿਤ, ਭੇਜਿਆ ਗਿਆ ਇੱਕ postinstall ਹੁੱਕ ਜੋ ਹੋਸਟ ਤੋਂ ਕਲਾਉਡ ਪ੍ਰਮਾਣ ਪੱਤਰ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਬਾਕਸ ਤੋਂ ਬਾਹਰ ਭੇਜਦਾ ਹੈ। ਪੈਕੇਜਾਂ 'ਤੇ ਭੂਤ-ਅਤੇ-ਸਮੁੰਦਰੀ ਡਾਕੂ ਨਾਮ ਹਨ — coral-wraith, ecto-corsair-whisper-6f3b9, ecto-corsair-flag-x9m4, ecto-rust-read-f3a9c1, ecto-nightly-spirit — ਅਤੇ ਜੋ ਵੀ ਉਹ ਇਕੱਠਾ ਕਰਦੇ ਹਨ ਉਸਨੂੰ ਨਕਲੀ ਵਿੱਚ ਸੀਰੀਅਲਾਈਜ਼ ਕਰੋ ecto_module: ਇਸਨੂੰ ਸੰਚਾਰਿਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ YAML ਮੈਨੀਫੈਸਟ। ਅਸੀਂ ਕਲੱਸਟਰ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਟਰੈਕ ਕਰਦੇ ਹਾਂ ਐਕਟੋਪਲਾਜ਼ਮ.

ਪੇਲੋਡ ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਚੱਲਦਾ ਹੈ ਜਦੋਂ ਇਹ ਕਿਸੇ ਖਾਸ ਵਾਤਾਵਰਣ ਦਾ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ: ਇੱਕ ਹੋਸਟ ਜਿਸਦਾ ਨਾਮ a ਹੈ 12-ਅੱਖਰਾਂ ਵਾਲੀ ਹੈਕਸ ਸਟ੍ਰਿੰਗ ਅਤੇ ਇੱਕ ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ ਦੇ ਅਧੀਨ /app/node_modules — ਇੱਕ ਕੰਟੇਨਰਾਈਜ਼ਡ ਬਿਲਡ ਜਾਂ CI ਵਰਕਰ ਦੀ ਸ਼ਕਲ। ਜਦੋਂ ਉਹ ਗੇਟ ਲੰਘਦਾ ਹੈ, ਤਾਂ ਹੁੱਕ ਪੁੱਛਗਿੱਛ ਕਰਦਾ ਹੈ AWS ਇੰਸਟੈਂਸ ਮੈਟਾਡੇਟਾ ਸੇਵਾ (IMDSv2) IAM ਭੂਮਿਕਾ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਲਈ, ਗਿਣਦਾ ਹੈ AWS ਸੀਕਰੇਟਸ ਮੈਨੇਜਰ ਤਿੰਨ ਖੇਤਰਾਂ ਵਿੱਚ, ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਡੰਪ ਕਰਦਾ ਹੈ, ਫਾਈਲਾਂ ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ /app, ਅਤੇ ਕੈਪਚਰ-ਦ-ਫਲੈਗ ਸਟ੍ਰਿੰਗਾਂ ਲਈ ਸਕ੍ਰੈਪ। ਇਹ ਫਿਰ ਨਤੀਜੇ ਨੂੰ ਦੋ ਤਰੀਕਿਆਂ ਨਾਲ ਬਾਹਰ ਕੱਢਦਾ ਹੈ: ਇੱਕ ਬੀਕਨ ਨੂੰ a webhook.site ਕੁਲੈਕਟਰ ਅਤੇ ਇੱਕ ਮੈਨੀਫੈਸਟ PUT ਨੂੰ ਇੱਕ raw-IP ਐਂਡਪੁਆਇੰਟ ਤੇ, ਲੋਕਲਹੋਸਟ-ਫਸਟ ਫਾਲਬੈਕਾਂ ਦੀ ਸੂਚੀ ਦੇ ਨਾਲ।

ਬਾਅਦ ਦੇ ਪੈਕੇਜ ਵਰਣਨਾਂ ਵਿੱਚ "ਵਰਡੈਕਸੀਓ ਸਪਲਾਈ-ਚੇਨ ਟੈਸਟਿੰਗ ਲਈ CTF ਪੇਲੋਡ" ਲਿਖਿਆ ਹੈ। ਅਸੀਂ ਉਸ ਸਵੈ-ਵਰਣਨ ਨੂੰ ਇੱਕ ਦੇਖਣਯੋਗ ਤੱਥ ਵਜੋਂ ਰਿਪੋਰਟ ਕਰਦੇ ਹਾਂ। ਵਿਵਹਾਰ ਖੁਦ - ਇੱਕ ਜਨਤਕ IP ਤੇ ਲਾਈਵ ਨਿਕਾਸ, ਅਸਲ IMDS ਪ੍ਰਮਾਣ ਪੱਤਰ ਪੜ੍ਹਦਾ ਹੈ, ਅਸਲ ਸੀਕਰੇਟਸ ਮੈਨੇਜਰ ਕਾਲ ਕਰਦਾ ਹੈ - ਇਹ ਉਹੀ ਹੈ ਜੋ ਲੇਬਲ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਹੈ, ਅਤੇ ਇਹੀ ਕਾਰਨ ਹੈ ਕਿ ਇਹਨਾਂ ਸੰਸਕਰਣਾਂ ਨੂੰ ਖਤਰਨਾਕ ਸ਼੍ਰੇਣੀਬੱਧ ਕੀਤਾ ਗਿਆ ਸੀ।

ਸਮੂਹ ਵਿੱਚ ਇੱਕ ਨਾਮ, coral-wraith, ਇੱਕ ਵੀ ਰੀਲੀਜ਼ 'ਤੇ ਨਹੀਂ ਰੁਕਿਆ। ਇਹ ਕੁਝ ਘੰਟਿਆਂ ਵਿੱਚ ਦਰਜਨਾਂ ਸੰਸਕਰਣਾਂ ਰਾਹੀਂ ਤੇਜ਼ੀ ਨਾਲ ਲਗਾਤਾਰ ਦੁਬਾਰਾ ਪ੍ਰਕਾਸ਼ਿਤ ਹੋਇਆ — 1.0.0 ਤੱਕ ਚੜ੍ਹਨਾ 6.0.0 — ਅਤੇ ਇਸੇ ਨਾਮ ਦੇ ਇੱਕ ਪੁਰਾਣੇ ਰਨ ਵਿੱਚ ਫੁੱਲਿਆ ਹੋਇਆ ਵਰਤਿਆ ਗਿਆ ਸੀ 9999.0.x ਵਰਜਨ ਨੰਬਰ, ਇੱਕ ਦੀ ਕਲਾਸਿਕ ਸ਼ਕਲ ਨਿਰਭਰਤਾ-ਉਲਝਣ ਦੀ ਕੋਸ਼ਿਸ਼. ਉਸ ਮੰਥਨ ਦੇ ਪਾਰ, ਪ੍ਰਤੱਖ ਤੌਰ 'ਤੇ ਪਰਿਪੱਕ ਪੇਲੋਡ: ਇੱਕ-ਸ਼ਾਟ ਹੋਸਟ-ਐਨੂਮਰੇਸ਼ਨ ਬੀਕਨ ਤੋਂ ਇੱਕ ਪੂਰੇ AWS ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਪਿਵੋਟ ਵਿੱਚ ਜੋ ਵਾਤਾਵਰਣ ਜਾਂਚਾਂ ਵਿੱਚ ਲਪੇਟਿਆ ਹੋਇਆ ਹੈ ਜੋ ਇਸਨੂੰ ਇਸਦੇ ਨਿਸ਼ਚਤ ਟੀਚੇ ਤੋਂ ਬਾਹਰ ਸ਼ਾਂਤ ਰੱਖਦਾ ਹੈ।

ਪੈਕੇਜ 5 ਨਾਮ; coral-wraith ਇਕੱਲੇ ਦਰਜਨਾਂ ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਪ੍ਰਕਾਸ਼ਿਤ
ਜਾਲ npm
ਵੈਕਟਰ ਸਥਾਪਤ ਕਰੋ postinstall ਜੀਵਨਚੱਕਰ ਸਕ੍ਰਿਪਟ
ਮੁੱਖ ਟੀਚਾ AWS IAM ਰੋਲ ਕ੍ਰੇਡੇੰਸ਼ਿਅਲ + ਸੀਕਰੇਟਸ ਮੈਨੇਜਰ ਸੀਕਰੇਟ ਵੈਲਯੂਜ, ਐਨਵਾਇਰਮੈਂਟ ਵੇਰੀਏਬਲ, /app ਫਾਇਲ
ਐਕਸਫਿਲ webhook.site ਬੀਕਨ + ਕੱਚਾ-ਆਈਪੀ C2 ਪੁਟ
ਟਰਿੱਗਰ ਗੇਟ 12-ਹੈਕਸ ਹੋਸਟਨੇਮ + /app/node_modules cwd, ਨਾਲ ਹੀ ਇੱਕ ਵਾਤਾਵਰਣ ਜਾਂਚ ਜੋ ਉਸ ਸੰਦਰਭ ਤੋਂ ਬਾਹਰ ਪੇਲੋਡ ਨੂੰ ਦਬਾਉਂਦੀ ਹੈ
ਤੀਬਰਤਾ ਉੱਚ — ਕਲਾਉਡ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਅਤੇ ਪ੍ਰਬੰਧਿਤ-ਗੁਪਤ ਖੁਲਾਸਾ ਕੰਟੇਨਰਾਈਜ਼ਡ ਬਿਲਡ ਅਤੇ ਰਨਟਾਈਮ ਵਾਤਾਵਰਣ

ਹਮਲੇ ਦੀ ਸਰੀਰ ਵਿਗਿਆਨ

ਕਲੱਸਟਰ ਵਿੱਚ ਹਰੇਕ ਪੈਕੇਜ ਉਸੇ ਤਰ੍ਹਾਂ ਬਣਾਇਆ ਗਿਆ ਹੈ: ਇੱਕ ਲਗਭਗ ਖਾਲੀ index.js (ਮੋਡੀਊਲ.ਐਕਸਪੋਰਟ = {}), ਇੱਕ-ਲਾਈਨ ਪੈਕੇਜ.ਜਸਨ ਸਕ੍ਰਿਪਟ - “ਪੋਸਟਇੰਸਟਾਲ”: “ਨੋਡ ਪੋਸਟਇੰਸਟਾਲ.ਜੇਐਸ” — ਅਤੇ ਪੇਲੋਡ ਵਿੱਚ ਪੋਸਟਇੰਸਟਾਲ.ਜੇਐਸ. ਹੁੱਕ ਚਲਾਉਣ ਲਈ ਪੈਕੇਜ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨਾ ਕਾਫ਼ੀ ਹੈ; ਕਿਸੇ ਆਯਾਤ ਜਾਂ ਕਾਲ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।

ਨਿਸ਼ਾਨਾ ਬਣਾਉਣ ਵਾਲਾ ਗੇਟ। ਕੁਝ ਵੀ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਐਕਟੋ-ਫੈਮਿਲੀ ਪੇਲੋਡ ਆਪਣੇ ਆਲੇ ਦੁਆਲੇ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ:

function isAppWorker():   host = os.hostname()   if host does NOT match /^[0-9a-f]{12}$/  -> exit   if cwd does NOT contain "/app/node_modules" -> exit   if cwd contains "/tmp/npm-safe"            -> exit   otherwise -> proceed

ਇੱਕ 12-ਹੈਕਸਾ ਹੋਸਟਨੇਮ ਡਿਫਾਲਟ ਆਕਾਰ ਹੈ ਜੋ ਡੌਕਰ ਇੱਕ ਕੰਟੇਨਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ, ਅਤੇ /ਐਪ/ਨੋਡ_ਮੋਡੀਊਲ ਇੱਕ ਰਵਾਇਤੀ ਇਨ-ਕੰਟੇਨਰ ਇੰਸਟਾਲ ਮਾਰਗ ਹੈ। ਤੀਜਾ ਧਾਰਾ ਬੇਲ ਆਊਟ ਕਰਦਾ ਹੈ ਜੇਕਰ ਮਾਰਗ ਇੱਕ ਸੈਂਡਬੌਕਸਡ ਐਕਸਟਰੈਕਸ਼ਨ ਡਾਇਰੈਕਟਰੀ ਵਰਗਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇਸਦਾ ਸ਼ੁੱਧ ਪ੍ਰਭਾਵ ਇਹ ਹੈ ਕਿ ਪੇਲੋਡ ਇੱਕ ਡਿਵੈਲਪਰ ਲੈਪਟਾਪ ਜਾਂ ਇੱਕ ਵਿਸ਼ਲੇਸ਼ਣ ਸੈਂਡਬੌਕਸ 'ਤੇ ਸੁਸਤ ਰਹਿੰਦਾ ਹੈ ਅਤੇ ਸਿਰਫ ਇੱਕ ਕੰਟੇਨਰਾਈਜ਼ਡ ਬਿਲਡ ਜਾਂ ਰਨਟਾਈਮ ਵਰਕਰ ਦੇ ਅੰਦਰ ਕਿਰਿਆਸ਼ੀਲ ਹੁੰਦਾ ਹੈ - ਜਿਸ ਕਿਸਮ ਦਾ ਵਾਤਾਵਰਣ ਲਾਈਵ ਕਲਾਉਡ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ ਲੈ ਕੇ ਜਾਣ ਦੀ ਸੰਭਾਵਨਾ ਰੱਖਦਾ ਹੈ। ਕਲੱਸਟਰ ਵਿੱਚ ਸਭ ਤੋਂ ਪੁਰਾਣਾ ਪੈਕੇਜ, ਕੋਰਲ-ਵਰੈਥ, ਕੋਲ ਅਜਿਹਾ ਕੋਈ ਗੇਟ ਨਹੀਂ ਹੈ ਅਤੇ ਇਹ ਆਪਣਾ (ਸਧਾਰਨ) ਸੰਗ੍ਰਹਿ ਬਿਨਾਂ ਸ਼ਰਤ ਚਲਾਉਂਦਾ ਹੈ।

ਭੰਡਾਰ. ਜਦੋਂ ਗੇਟ ਲੰਘਦਾ ਹੈ, ਤਾਂ ਹੁੱਕ ਬਾਹਰ ਨਿਕਲ ਜਾਂਦਾ ਹੈ ਐਗਜ਼ੀਕਿਊਟਫਾਈਲਸਿੰਕ(“/bin/sh”, [“-c”, …]) ਅਤੇ ਇੱਕ ਸਿੰਗਲ ਕੰਪਾਉਂਡ ਕਮਾਂਡ ਚਲਾਉਂਦਾ ਹੈ ਜੋ, ਕ੍ਰਮ ਵਿੱਚ:

1. PUT /latest/api/token to 169.254.169.254          (IMDSv2 token request) 2. GET .../iam/security-credentials/                  (IAM role name) 3. GET .../iam/security-credentials/<role>            (temporary credentials) 4. dump env | sort                                    (environment variables) 5. list /app (excl. node_modules) + cat first 15      (application files) 6. aws secretsmanager list-secrets                    (us-east-1, eu-west-1, eu-central-1) 7. scrape readable files for HTB{...}                 (capture-the-flag strings)

ਕਦਮ 1–3 ਇੱਕ ਪਾਠ ਪੁਸਤਕ IMDSv2 ਪ੍ਰਾਪਤੀ ਹਨ: ਇੱਕ ਸੈਸ਼ਨ ਟੋਕਨ ਦੀ ਬੇਨਤੀ ਕਰੋ, ਫਿਰ ਇਸਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਨੱਥੀ ਕਰੋ X-aws-ec2-ਮੈਟਾਡੇਟਾ-ਟੋਕਨ ਹੈਡਰ ਨੂੰ ਇੰਸਟੈਂਸ ਦੇ IAM ਰੋਲ ਅਤੇ ਉਸ ਰੋਲ ਦੀਆਂ ਅਸਥਾਈ ਪਹੁੰਚ ਕੁੰਜੀਆਂ ਨੂੰ ਖਿੱਚਣ ਲਈ। ਸਧਾਰਨ ਅਣ-ਪ੍ਰਮਾਣਿਤ IMDSv1 ਦੀ ਬਜਾਏ IMDSv2 ਨੂੰ ਲਾਗੂ ਕਰਨ ਦਾ ਵਿਕਲਪ GET ਧਿਆਨ ਦੇਣ ਯੋਗ ਹੈ — ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਪੇਲੋਡ ਟੋਕਨ-ਅਧਾਰਿਤ ਮੈਟਾਡੇਟਾ ਪਹੁੰਚ ਦੀ ਲੋੜ ਲਈ ਕੌਂਫਿਗਰ ਕੀਤੇ ਗਏ ਮਾਮਲਿਆਂ 'ਤੇ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ AWS-ਸਿਫਾਰਸ਼ੀ ਸਖ਼ਤੀਕਰਨ ਹੈ। ਕਦਮ 3 ਦੁਆਰਾ ਵਾਪਸ ਕੀਤੇ ਗਏ ਪ੍ਰਮਾਣ ਪੱਤਰ ਥੋੜ੍ਹੇ ਸਮੇਂ ਲਈ ਹਨ। ਐਕਸੈਸਕੀ ਆਈਡੀ/ਸੀਕ੍ਰੇਟਐਕਸੈਸਕੀ/ਟੋਕਨ ਤਿੰਨ ਗੁਣਾ ਉਦਾਹਰਣ ਦੀ ਭੂਮਿਕਾ ਲਈ ਦਾਇਰਾਬੱਧ; ਉਹ ਭੂਮਿਕਾ ਜੋ ਵੀ ਕਰ ਸਕਦੀ ਹੈ, ਉਹਨਾਂ ਕੁੰਜੀਆਂ ਦਾ ਧਾਰਕ ਪ੍ਰਮਾਣ ਪੱਤਰ ਦੇ ਜੀਵਨ ਕਾਲ ਲਈ ਕਰ ਸਕਦਾ ਹੈ।

ਕਦਮ 4-6 ਲੈਣ-ਦੇਣ ਨੂੰ ਵਧਾਉਂਦੇ ਹਨ। ਭੇਜੋ ਡੰਪ ਬਿਲਡ ਜਾਂ ਰਨਟਾਈਮ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਵਿਰਾਸਤ ਵਿੱਚ ਪ੍ਰਾਪਤ ਹੋਈ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਨੂੰ ਕੈਪਚਰ ਕਰਦਾ ਹੈ — ਅਭਿਆਸ ਵਿੱਚ ਇਹ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਰਜਿਸਟਰੀ ਟੋਕਨ, ਡੇਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਸਟ੍ਰਿੰਗ, ਅਤੇ API ਕੁੰਜੀਆਂ ਅਕਸਰ ਰਹਿੰਦੀਆਂ ਹਨ। / ਐਪ ਫਾਈਲ ਵਾਕ ਬਾਹਰ ਪੰਦਰਾਂ ਐਪਲੀਕੇਸ਼ਨ ਫਾਈਲਾਂ ਤੱਕ ਪੜ੍ਹਦਾ ਹੈ ਨੋਡ_ਮੌਡਿ .ਲਜ਼, ਜੋ ਸਤ੍ਹਾ ਸੰਰਚਨਾ ਕਰ ਸਕਦਾ ਹੈ, .env ਫਾਈਲਾਂ, ਜਾਂ ਸਰੋਤ। ਕਦਮ 6 ਕਾਲਾਂ aws ਸੀਕਰੇਟਸਮੈਨੇਜਰ ਲਿਸਟ-ਸੀਕਰੇਟਸ ਤਿੰਨ ਖੇਤਰਾਂ ਵਿੱਚ; ਕਦਮ 1-3 ਵਿੱਚ ਖਿੱਚੇ ਗਏ ਪ੍ਰਮਾਣ ਪੱਤਰ ਬਿਲਕੁਲ ਉਹੀ ਹਨ ਜੋ ਉਹਨਾਂ ਕਾਲਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦੇ ਹਨ, ਇਸ ਲਈ IMDS ਰੀਡ ਅਤੇ ਸੀਕਰੇਟਸ ਮੈਨੇਜਰ ਗਣਨਾ ਚੇਨ ਨੂੰ ਇੱਕ ਸਿੰਗਲ ਐਸਕੇਲੇਸ਼ਨ ਵਿੱਚ ਇਕੱਠਾ ਕਰਦੇ ਹਨ: ਉਦਾਹਰਣ ਭੂਮਿਕਾ → ਪ੍ਰਬੰਧਿਤ-ਸੀਕਰੇਟ ਇਨਵੈਂਟਰੀ। ਕਦਮ 7 ਕੈਪਚਰ-ਦ-ਫਲੈਗ ਫਰੇਮਿੰਗ ਲਈ ਇੱਕ ਸੰਕੇਤ ਹੈ — ਜਦੋਂ ਇੱਕ ਐੱਚਟੀਬੀ{…} ਜੇਕਰ ਝੰਡਾ ਮਿਲ ਜਾਂਦਾ ਹੈ ਤਾਂ ਇਸਨੂੰ ਆਪਣੇ ਆਪ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ, ਨਹੀਂ ਤਾਂ ਕੱਚੇ ਇਕੱਠੇ ਕੀਤੇ ਬਲੌਬ ਨੂੰ ਚਾਰ ਟੁਕੜਿਆਂ ਵਿੱਚ ਕੱਟ ਕੇ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ।

ਕਲੱਸਟਰ ਵਿੱਚ ਬਾਅਦ ਵਾਲੇ ਸੰਸਕਰਣ ਵਾਧੇ ਨੂੰ ਹੋਰ ਅੱਗੇ ਲੈ ਜਾਂਦੇ ਹਨ। ਇੱਕ ਵਸਤੂ ਸੂਚੀ 'ਤੇ ਰੁਕਣ ਦੀ ਬਜਾਏ, ਉਹ IMDS ਜਵਾਬ ਨੂੰ ਪਾਰਸ ਕਰਦੇ ਹਨ, ਅਸਥਾਈ ਕੁੰਜੀਆਂ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਨਿਰਯਾਤ ਕਰਦੇ ਹਨ AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_SESSION_ਟੋਕਨ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ, ਨਾਲ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ aws sts get-caller-identity - ਵਰਜਨ 1.0.0, ਅਤੇ ਫਿਰ ਦੁਆਰਾ ਵਾਪਸ ਕੀਤੇ ਗਏ ਹਰੇਕ ਰਾਜ਼ ਉੱਤੇ ਲੂਪ ਕਰੋ ਸੂਚੀ-ਭੇਦ ਕਾਲ ਕਰਨ aws ਸੀਕ੍ਰੇਟਸਮੈਨੇਜਰ ਨੂੰ ਸੀਕ੍ਰੇਟ-ਮੁੱਲ-ਪ੍ਰਾਪਤ ਕਰੋ ਹਰੇਕ 'ਤੇ — ਗੁਪਤ ਸਮੱਗਰੀ ਪ੍ਰਾਪਤ ਕਰਨਾ, ਨਾ ਕਿ ਸਿਰਫ਼ ਉਹਨਾਂ ਦੇ ਨਾਮ। ਉਹੀ ਸੰਸਕਰਣ ਪ੍ਰਕਿਰਿਆ-ਬਦਲਵੇਂ ਫਲੈਗ ਬਾਈਨਰੀਆਂ ਨੂੰ ਵੀ ਪੜ੍ਹਦੇ ਹਨ (/ਫਲੈਗ ਪੜ੍ਹੋ ਅਤੇ ਦੋਸਤ) ਅਤੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਕਿ ਚਾਰਜ ਰਨ ਦੇ ਤਹਿਤ ਪਾਏ ਜਾਣ ਵਾਲੇ ਕਿਸੇ ਵੀ Rust ਪ੍ਰੋਜੈਕਟ ਦੇ ਵਿਰੁੱਧ / ਐਪ, ਕਲਾਉਡ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਤੋਂ ਪਰੇ ਵਾਢੀ ਨੂੰ ਉਸ ਚੀਜ਼ ਤੱਕ ਵਧਾਉਣਾ ਜੋ ਬਿਲਡ ਵਾਤਾਵਰਣ ਪ੍ਰਗਟ ਕਰਦਾ ਹੈ।

ਇਹ ਬਾਅਦ ਵਾਲੇ ਸੰਸਕਰਣ ਆਪਣੇ ਆਪ ਨੂੰ ਹੋਰ ਵੀ ਹਮਲਾਵਰ ਢੰਗ ਨਾਲ ਦਰਸਾਉਂਦੇ ਹਨ। 12-ਹੈਕਸ-ਹੋਸਟਨੇਮ ਤੋਂ ਇਲਾਵਾ ਅਤੇ /ਐਪ/ਨੋਡ_ਮੋਡੀਊਲ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਪੇਲੋਡ ਸਰਗਰਮ ਪੈਕੇਜ-ਰਜਿਸਟਰੀ ਸੰਰਚਨਾ ਅਤੇ ਵਰਕਿੰਗ-ਡਾਇਰੈਕਟਰੀ ਮਾਰਗ ਦਾ ਨਿਰੀਖਣ ਕਰਦਾ ਹੈ ਅਤੇ ਚੁੱਪਚਾਪ ਬਾਹਰ ਨਿਕਲ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਉਹ ਲਾਈਵ ਟਾਰਗੇਟ ਦੀ ਬਜਾਏ ਵਿਸ਼ਲੇਸ਼ਣ ਜਾਂ ਮਿਰਰ ਸੰਦਰਭ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ। ਸੰਯੁਕਤ ਪ੍ਰਭਾਵ ਇੱਕ ਪੇਲੋਡ ਹੈ ਜੋ ਜ਼ਿਆਦਾਤਰ ਨਿਰੀਖਣ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਦੇਖਣਯੋਗ ਕੁਝ ਨਹੀਂ ਕਰਦਾ ਅਤੇ ਆਪਣੇ ਪੂਰੇ ਸੰਗ੍ਰਹਿ ਨੂੰ ਸਿਰਫ਼ ਉੱਥੇ ਚਲਾਉਂਦਾ ਹੈ ਜਿੱਥੇ ਇਹ ਆਪਣੇ ਆਪ ਨੂੰ ਇੱਕ ਅਸਲੀ ਕੰਟੇਨਰਾਈਜ਼ਡ ਹੋਸਟ 'ਤੇ ਹੋਣ ਦਾ ਨਿਰਣਾ ਕਰਦਾ ਹੈ।

ਬਾਹਰ ਕੱਢਣਾ. ਇਕੱਠਾ ਕੀਤਾ ਗਿਆ ਡੇਟਾ ਹੋਸਟ ਨੂੰ ਦੋ ਚੈਨਲਾਂ 'ਤੇ ਛੱਡਦਾ ਹੈ। ਪਹਿਲਾਂ, ਇੱਕ ਬੀਕਨ ਪੋਸਟ ਇੱਕ ਨਿਸ਼ਚਿਤ ਤੱਕ ਵੈੱਬਹੁੱਕ.ਸਾਈਟ ਕੁਲੈਕਟਰ, ਜਿਸ ਵਿੱਚ ਹੋਸਟਨੇਮ, ਸੰਖਿਆਤਮਕ UID, ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ, ਅਤੇ 120 KB ਤੱਕ ਇਕੱਠਾ ਕੀਤਾ ਡੇਟਾ ਹੁੰਦਾ ਹੈ। ਦੂਜਾ, ਡੇਟਾ ਨੂੰ ਇੱਕ ਨਕਲੀ YAML "ਮੋਡਿਊਲ ਮੈਨੀਫੈਸਟ" ਵਿੱਚ ਫੋਲਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਪਾ ਨੂੰ /api/ਮੋਡਿਊਲ/ ਇੱਕ ਟਾਰਗੇਟ ਸਰਵਰ ਤੇ:

ecto_module:   name: "<flag-or-chunk-0>"   version: "1.0.0"   power_level: "<chunk-1>"   ship_deck: "<chunk-2>"   cargo_hold: "<chunk-3>"

ਮੈਨੀਫੈਸਟ ਫੀਲਡ ਨਾਮ (ਪਾਵਰ_ਲੈਵਲ, ਜਹਾਜ਼_ਡੈੱਕ, ਕਾਰਗੋ_ਹੋਲਡ) ਸਜਾਵਟ ਹਨ — ਚੋਰੀ ਕੀਤਾ ਡੇਟਾ ਸਟ੍ਰਿੰਗ ਮੁੱਲਾਂ ਦੇ ਅੰਦਰ ਘੁੰਮਦਾ ਹੈ, ਇਸੇ ਕਰਕੇ ਇੱਕ ਨੈੱਟਵਰਕ ਮਾਨੀਟਰ ਇੱਕ ਸਪੱਸ਼ਟ ਡੇਟਾ ਡੰਪ ਦੀ ਬਜਾਏ ਇੱਕ ਸੁਭਾਵਕ ਪੈਕੇਜ-ਰਜਿਸਟਰੀ ਮੈਨੀਫੈਸਟ ਅਪਲੋਡ ਵਰਗਾ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਬੀਕਨ ਚੈਨਲ ਹੋਰ ਵੀ ਰੱਖਦਾ ਹੈ: ਪੋਸਟ ਸਰੀਰ ਨੂੰ ਵੈੱਬਹੁੱਕ.ਸਾਈਟ ਇਸ ਵਿੱਚ ਹੋਸਟਨੇਮ, ਸੰਖਿਆਤਮਕ UID, ਵਰਕਿੰਗ ਡਾਇਰੈਕਟਰੀ, ਅਤੇ ਇਕੱਠੇ ਕੀਤੇ ਬਲੌਬ ਦਾ 120 KB ਤੱਕ ਸ਼ਾਮਲ ਹੈ, ਇਸ ਲਈ ਇੱਕ ਸਫਲ ਬੀਕਨ ਵੀ ਪੂਰਾ ਵੇਰਵਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਵੈੱਬਹੁੱਕ.ਸਾਈਟ ਇਹ ਇੱਕ ਮੁਫ਼ਤ ਬੇਨਤੀ-ਨਿਰੀਖਣ ਸੇਵਾ ਹੈ; ਇਸਨੂੰ ਇੱਕ ਕੁਲੈਕਟਰ ਵਜੋਂ ਵਰਤਣ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਆਪਰੇਟਰ ਨੂੰ ਉਸ ਚੈਨਲ ਲਈ ਆਪਣਾ ਬੁਨਿਆਦੀ ਢਾਂਚਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕਦੇ ਵੀ ਖੜ੍ਹੇ ਨਹੀਂ ਹੋਣਾ ਪੈਂਦਾ, ਅਤੇ ਰਿਕਾਰਡ ਕੀਤੀਆਂ ਬੇਨਤੀਆਂ ਸੇਵਾ ਦੇ ਕੂੜੇਦਾਨ ਵਿੱਚ ਰਹਿੰਦੀਆਂ ਹਨ।

ਮੈਨੀਫੈਸਟ ਪਾ ਇੱਕ ਫਾਲਬੈਕ ਸੂਚੀ ਚਲਾਉਂਦੀ ਹੈ ਜੋ ਕਈਆਂ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ 127.0.0.1/ਲੋਕਲਹੋਸਟ ਪੋਰਟ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ` ਵਿੱਚ ਤਿੰਨ ਜਨਤਕ ਪਤਿਆਂ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ154.57.164.0/24` ਰੇਂਜ, ਪਹਿਲੇ ਐਂਡਪੁਆਇੰਟ 'ਤੇ ਰੁਕਦਾ ਹੈ ਜੋ 2xx ਸਥਿਤੀ ਦੇ ਨਾਲ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਲੋਕਲਹੋਸਟ-ਪਹਿਲਾ ਆਰਡਰਿੰਗ "ਵਰਡੈਕਸੀਓ ਟੈਸਟਿੰਗ" ਸਵੈ-ਵਰਣਨ (ਲੂਪਬੈਕ 'ਤੇ ਇੱਕ ਸਥਾਨਕ ਰਜਿਸਟਰੀ) ਦੇ ਅਨੁਕੂਲ ਹੈ, ਪਰ ਪਬਲਿਕ-ਆਈਪੀ ਫਾਲਬੈਕ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਜਦੋਂ ਵੀ ਲੂਪਬੈਕ ਸੁਣ ਨਹੀਂ ਰਿਹਾ ਹੁੰਦਾ ਤਾਂ ਡੇਟਾ ਹੋਸਟ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ - ਯਾਨੀ ਕਿ ਕਿਸੇ ਵੀ ਮਸ਼ੀਨ 'ਤੇ ਜੋ ਲੇਖਕ ਦਾ ਆਪਣਾ ਟੈਸਟ ਰਿਗ ਨਹੀਂ ਹੈ।

ਟਾਈਮਲਾਈਨ

ਇਹ ਕਲੱਸਟਰ ਇੱਕ ਬੂੰਦ ਦੀ ਬਜਾਏ ਵਧਦੀ ਸਮਰੱਥਾ ਵਾਧਾ ਦਰਸਾਉਂਦਾ ਹੈ। ਅਸੀਂ ਇਸਨੂੰ ਨਿਰੀਖਣ ਕੀਤੇ ਵਿਵਹਾਰ ਦੁਆਰਾ ਕ੍ਰਮਬੱਧ ਕਰਦੇ ਹਾਂ, ਪ੍ਰਕਾਸ਼ਨ ਵਾਲ-ਘੜੀ ਦੁਆਰਾ ਨਹੀਂ:

ਸਟੇਜ ਪੈਕੇਜ / ਸੰਸਕਰਣ ਰਵੱਈਆ
ਸ਼ੁਰੂਆਤੀ ਦੌੜ coral-wraith 9999.0.x ਨਿਰਭਰਤਾ-ਉਲਝਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਦੇ ਅਨੁਕੂਲ ਵਧੇ ਹੋਏ ਸੰਸਕਰਣ ਨੰਬਰ; ਇੰਸਟਾਲ-ਸਮਾਂ ਗਣਨਾ ਅਤੇ ਐਕਸਫਿਲ
ਬੀਜ coral-wraith 1.0.0 ਪੋਸਟਇੰਸਟਾਲ ਆਈਡੀ/ਐਨਵੀ/ਫਲੈਗ ਫਾਈਲਾਂ ਇਕੱਠੀਆਂ ਕਰਦਾ ਹੈ; ਸਿੰਗਲ PUT ਤੋਂ 154[.]57[.]164[.]71:30782, ਮਾਰਕਰ ECT-472839
ਤੇਜ਼ ਦੁਹਰਾਓ coral-wraith 1.0.1 → 6.0.0 ਘੰਟਿਆਂ ਵਿੱਚ ਦਰਜਨਾਂ ਰੀਲੀਜ਼; ਪੇਲੋਡ ਵਧਦਾ ਹੈ isAppWorker() ਗੇਟ, IMDSv2 ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਪੁੱਲ, ਪੂਰਾ get-secret-value ਪਿਵੋਟ, ਰਜਿਸਟਰੀ/ਪਾਥ ਵਾਤਾਵਰਣ ਜਾਂਚ, ਅਤੇ ਦੋਹਰੇ ਸਿੰਕ ਮਾਰਕਰ
ਸਮਾਨਾਂਤਰ ਨਾਮ ecto-corsair-whisper-6f3b9 1.0.14–1.0.18 ਉਹੀ ਗੇਟਡ ਪੇਲੋਡ; webhook.site ਬੀਕਨ ਅਤੇ ਮਲਟੀ-ਐਂਡਪੁਆਇੰਟ ਫਾਲਬੈਕ ਸੂਚੀ
ਰੂਪ ecto-rust-read-f3a9c1 1.0.1–1.0.2 ਵਾਧੂ ਸਿੰਕ ਮਾਰਕਰ ਜੋੜਦਾ ਹੈ ECT-987654, ECT-654321, ECT-839201
ਰੂਪ ecto-corsair-flag-x9m4 1.0.0, ecto-nightly-spirit 1.1.0 ਉਹੀ ਗੇਟਡ ਪੇਲੋਡ, ਉਹੀ C2 ਅਤੇ ਬੀਕਨ

ਇਸ ਕਲੱਸਟਰ ਦੀ ਪਰਿਭਾਸ਼ਿਤ ਵਿਸ਼ੇਸ਼ਤਾ ਇਸਦੀ ਪ੍ਰਕਾਸ਼ਨ ਗਤੀ ਹੈ: ਇੱਕ ਪੈਕੇਜ ਅਤੇ ਇੱਕ ਸੰਸਕਰਣ ਦੀ ਬਜਾਏ, ਇੱਕੋ ਨਾਮ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਵਾਰ-ਵਾਰ ਦੁਬਾਰਾ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਹਰੇਕ ਆਖਰੀ 'ਤੇ ਇੱਕ ਛੋਟੀ ਜਿਹੀ ਭਿੰਨਤਾ ਜਾਰੀ ਕਰਦਾ ਹੈ, ਨਾਲ ਹੀ ਕੁਝ ਵੱਖ-ਵੱਖ ਨਾਮ ਵਾਲੇ ਭੈਣ-ਭਰਾ ਇੱਕੋ ਪੇਲੋਡ ਰੱਖਦੇ ਹਨ। ਫੁੱਫੜ ਕੋਡ ਨੂੰ ਦੋ ਨਜ਼ਦੀਕੀ ਫਿੰਗਰਪ੍ਰਿੰਟਸ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ - ਇੱਕ ਸੈੱਟ ਦੋ ਨਾਜ਼ੁਕ ਖੋਜਾਂ ਨੂੰ ਟ੍ਰਿਪ ਕਰਦਾ ਹੈ, ਦੂਜਾ ਤਿੰਨ (ਇੱਕ ਵਾਧੂ ਫਾਈਲ-ਰੀਡ ਸਿੰਕ) - ਪਰ ਦੋਵੇਂ ਇੱਕੋ ਪੇਲੋਡ ਲਈ ਹੱਲ ਕਰਦੇ ਹਨ; ਫਰਕ ਕੋਡ ਡ੍ਰਿਫਟ ਹੈ, ਇੱਕ ਵਿਵਹਾਰਕ ਫੋਰਕ ਨਹੀਂ। ਦੇ ਸੰਸਕਰਣ ਫੁੱਫੜ ਵਿਸ਼ਲੇਸ਼ਣ ਕੀਤੀ ਸੀਮਾ ਤੋਂ ਪਰੇ (ਲਿਖਣ ਦੇ ਸਮੇਂ ਘੱਟੋ ਘੱਟ 1.0.25 ਤੱਕ) ਰਜਿਸਟਰੀ 'ਤੇ ਲਾਈਵ ਦੇਖੇ ਗਏ ਸਨ, ਅਤੇ ਕੋਰਲ-ਵਰੈਥ ਨਾਮ ਉਸੇ ਖਿੜਕੀ ਉੱਤੇ ਆਪਣੀ ਹੀ ਵਰਜਨ ਪੌੜੀ ਚੜ੍ਹਦਾ ਰਿਹਾ।

ਸਮਝੌਤੇ ਦੇ ਸੰਕੇਤ

ਹੇਠਾਂ ਦਿੱਤੇ ਸਾਰੇ ਸੂਚਕ ਡਿਸਕ 'ਤੇ ਪੈਕੇਜ ਸਰੋਤ ਤੋਂ ਕੱਢੇ ਗਏ ਸਨ। ਨੈੱਟਵਰਕ ਸੂਚਕ ਡਿਫੈਂਜਡ ਹਨ।

ਨੈੱਟਵਰਕ

ਸੂਚਕ ਭੂਮਿਕਾ
hxxp://154[.]57[.]164[.]71:30782 C2 PUT ਟੀਚਾ (coral-wraith)
hxxp://154[.]57[.]164[.]80:30543 C2 PUT ਫਾਲਬੈਕ (ecto-*)
hxxp://154[.]57[.]164[.]82:31250 C2 PUT ਫਾਲਬੈਕ (ecto-*)
hxxp://154[.]57[.]164[.]71:31289 C2 PUT ਫਾਲਬੈਕ (ecto-*)
hxxps://webhook[.]site/602a4c72-7033-4e28-92ea-dc66e59206e5 ਬੀਕਨ ਕੁਲੈਕਟਰ
169[.]254[.]169[.]254/latest/... IMDSv2 ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਰੀਡ (ਟਾਰਗੇਟ-ਸਾਈਡ, AWS ਮੈਟਾਡੇਟਾ)

ਵਿਵਹਾਰਕ/ਫਾਈਲ

ਸੂਚਕ ਭੂਮਿਕਾ
"postinstall": "node postinstall.js" ਵੈਕਟਰ ਸਥਾਪਤ ਕਰੋ
ecto_module: YAML ਨਾਲ power_level / ship_deck / cargo_hold ਕੁੰਜੀ ਐਕਸਫਿਲ ਮੈਨੀਫੈਸਟ ਸਕੀਮਾ
ਸਿੰਕ ਮਾਰਕਰ ECT-472839, ECT-987654, ECT-654321, ECT-839201 C2 ਮਾਰਗ ਖੰਡ /api/modules/<marker>
isAppWorker() ਗੇਟ: ਮੇਜ਼ਬਾਨ /^[0-9a-f]{12}$/, cwd ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ /app/node_modules ਕਿਰਿਆਸ਼ੀਲਤਾ ਸਥਿਤੀ
aws secretsmanager list-secrets ਵੱਧ us-east-1, eu-west-1, eu-central-1 ਭੇਦਾਂ ਦੀ ਗਿਣਤੀ
HTB{...} ਰੇਜੈਕਸ ਸਕ੍ਰੈਪ ਝੰਡੇ ਦੀ ਫ਼ਸਲ ਨੂੰ ਕੈਪਚਰ ਕਰੋ

ਫਾਈਲ ਹੈਸ਼ (sha256, ਵਿਸ਼ਲੇਸ਼ਣ ਸਮੇਂ ਕੈਪਚਰ ਕੀਤੇ ਗਏ)

ਫਾਇਲ sha256
coral-wraith/postinstall.js ce5ff035cfdfed1d0015446424b352c27b66bcb77e9fdb0a51e4245199146824
ecto-corsair-whisper-6f3b9 1.0.18/postinstall.js b58432acba376aa6976f0490d9a1c04257ccdbc856d8390260c50322d63e31c3

ਵਿਸ਼ੇਸ਼ਤਾ ਅਤੇ ਦੇਖਿਆ ਗਿਆ ਵਿਵਹਾਰ

ਪੰਜ ਪੈਕੇਜ ਨਾਮ ਦੋ npm ਖਾਤਾ ਹੈਂਡਲਾਂ ਦੇ ਅਧੀਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੇ ਗਏ ਸਨ, ਪਰ ਉਹ ਇੱਕ ਕਲੱਸਟਰ ਦੇ ਰੂਪ ਵਿੱਚ ਉਹਨਾਂ ਨੂੰ ਮੰਨਣ ਲਈ ਕਾਫ਼ੀ ਬੁਨਿਆਦੀ ਢਾਂਚਾ ਸਾਂਝਾ ਕਰਦੇ ਹਨ: ਉਹੀ ਐਕਟੋ_ਮੋਡੀਊਲ ਮੈਨੀਫੈਸਟ ਸਕੀਮਾ, ਉਹੀ ਈਸੀਟੀ-472839 ਪ੍ਰਾਇਮਰੀ ਸਿੰਕ ਮਾਰਕਰ, ਉਹੀ ਵੈੱਬਹੁੱਕ.ਸਾਈਟ ਕੁਲੈਕਟਰ ਆਈਡੀ, ਅਤੇ ਉਸੇ ਵਿੱਚ C2 ਅੰਤਮ ਬਿੰਦੂ 154.57.164.0/24` ਬਲਾਕ। ਬੀਜ ਪੈਕੇਜ (`coral-wraith, ਸਰਲ ਅਤੇ ਅਣਗਿਣਤ) ਅਤੇ ਗੇਟਡ ਐਕਟੋ-ਫੈਮਿਲੀ ਇਸ ਤਰ੍ਹਾਂ ਸੁਤੰਤਰ ਯਤਨਾਂ ਦੀ ਬਜਾਏ ਇੱਕ ਟੂਲਕਿੱਟ 'ਤੇ ਦੁਹਰਾਓ ਵਜੋਂ ਪੜ੍ਹੀ ਜਾਂਦੀ ਹੈ।

ਪੈਕੇਜ ਆਪਣੇ ਆਪ ਨੂੰ, ਬਾਅਦ ਦੇ ਸੰਸਕਰਣਾਂ ਵਿੱਚ, ਇਸ ਤਰ੍ਹਾਂ ਦਰਸਾਉਂਦੇ ਹਨ "ਵਰਡਾਸੀਓ ਸਪਲਾਈ-ਚੇਨ ਟੈਸਟਿੰਗ ਲਈ CTF ਪੇਲੋਡ।" ਅਸੀਂ ਉਸ ਲੇਬਲ ਨੂੰ ਇੱਕ ਦੇਖਣਯੋਗ ਤੱਥ ਵਜੋਂ ਪੇਸ਼ ਕਰਦੇ ਹਾਂ ਅਤੇ ਇਸਨੂੰ ਉਦੇਸ਼ ਬਾਰੇ ਇੱਕ ਖੋਜ ਵਜੋਂ ਦੁਬਾਰਾ ਨਹੀਂ ਦੱਸਦੇ। ਕੋਡ ਜੋ ਕਰਦਾ ਹੈ ਉਹ ਸਪੱਸ਼ਟ ਹੈ ਅਤੇ ਇਸ ਤੋਂ ਸੁਤੰਤਰ ਹੈ ਕਿ ਇਸਨੂੰ ਕਿਵੇਂ ਲੇਬਲ ਕੀਤਾ ਗਿਆ ਹੈ: ਇਹ ਇੰਸਟੈਂਸ ਮੈਟਾਡੇਟਾ ਸੇਵਾ ਤੋਂ IAM ਰੋਲ ਕ੍ਰੇਡੇੰਸ਼ਿਅਲ ਪੜ੍ਹਦਾ ਹੈ, ਤਿੰਨ AWS ਖੇਤਰਾਂ ਵਿੱਚ ਪ੍ਰਬੰਧਿਤ ਰਾਜ਼ਾਂ ਦੀ ਗਿਣਤੀ ਕਰਦਾ ਹੈ, ਅਤੇ ਨਤੀਜਿਆਂ ਨੂੰ ਇੱਕ ਜਨਤਕ IP ਅਤੇ ਇੱਕ ਤੀਜੀ-ਧਿਰ ਵੈੱਬਹੁੱਕ ਕੁਲੈਕਟਰ ਨੂੰ ਸੰਚਾਰਿਤ ਕਰਦਾ ਹੈ। ਇੱਕ ਸੱਚਮੁੱਚ ਲੂਪਬੈਕ-ਓਨਲੀ ਟੈਸਟ ਹਾਰਨੈੱਸ ਨੂੰ ਜਨਤਕ-IP ਫਾਲਬੈਕ ਸੂਚੀ, IMDS ਕ੍ਰੇਡੇੰਸ਼ਿਅਲ ਰੀਡਜ਼, ਜਾਂ ਕਰਾਸ-ਰੀਜਨ ਸੀਕਰੇਟਸ ਮੈਨੇਜਰ ਕਾਲਾਂ ਦੀ ਲੋੜ ਨਹੀਂ ਹੋਵੇਗੀ। ਕਿਉਂਕਿ ਐਗਰੈਸ ਅਤੇ ਕ੍ਰੇਡੇੰਸ਼ਿਅਲ ਪਹੁੰਚ ਅਸਲ ਹਨ, ਗੇਟ ਕੀਤੇ ਸੰਸਕਰਣਾਂ ਨੂੰ ਖਤਰਨਾਕ ਸ਼੍ਰੇਣੀਬੱਧ ਕੀਤਾ ਗਿਆ ਸੀ।

ਕੰਟੇਨਰ-ਓਨਲੀ ਗੇਟ ਸਭ ਤੋਂ ਵੱਧ ਕਾਰਜਸ਼ੀਲ ਤੌਰ 'ਤੇ ਧਿਆਨ ਦੇਣ ਯੋਗ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ। ਇਹ ਇੱਕ ਚੋਰੀ ਦਾ ਮਾਪ ਹੈ - ਲੈਪਟਾਪਾਂ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਸੈਂਡਬੌਕਸਾਂ ਵਿੱਚ ਚੁੱਪ ਰਹਿਣਾ - ਅਤੇ ਇੱਕ ਨਿਸ਼ਾਨਾ ਮਾਪ, ਸਿਰਫ ਉੱਥੇ ਫਾਇਰਿੰਗ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਇੱਕ ਅਸਲ IAM ਭੂਮਿਕਾ ਅਤੇ ਲਾਈਵ ਰਾਜ਼ ਮੌਜੂਦ ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਹੁੰਦੀ ਹੈ। ਇਹਨਾਂ ਪੈਕੇਜਾਂ ਨੂੰ ਇੱਕ ਆਮ ਸੈਂਡਬੌਕਸ ਵਿੱਚ ਚਲਾਉਣ ਵਾਲੇ ਵਿਸ਼ਲੇਸ਼ਕ ਕੁਝ ਵੀ ਨਹੀਂ ਦੇਖਣਗੇ; ਵਿਵਹਾਰ ਸਿਰਫ ਇੱਕ ਡੌਕਰ-ਸ਼ੈਲੀ ਦੇ ਹੋਸਟਨੇਮ ਅਤੇ ਇੱਕ ਇਨ-ਕੰਟੇਨਰ ਇੰਸਟਾਲ ਮਾਰਗ ਦੇ ਅਧੀਨ ਪ੍ਰਗਟ ਹੁੰਦਾ ਹੈ।

ਡਿਫੈਂਡਰਾਂ ਲਈ ਪ੍ਰਭਾਵ, ਰੁਝਾਨ ਅਤੇ ਮਾਰਗਦਰਸ਼ਨ

ਇੱਥੇ ਐਕਸਪੋਜ਼ਰ ਬਿਲਡ ਅਤੇ ਰਨਟਾਈਮ ਕੰਟੇਨਰਾਂ ਦੇ ਅੰਦਰ ਕਲਾਉਡ-ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਅਤੇ ਗੁਪਤ ਖੁਲਾਸਾ ਹੈ। IMDS ਤੋਂ ਲਿਆ ਗਿਆ ਇੱਕ IAM ਰੋਲ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਉਸ ਰੋਲ ਕੋਲ ਜੋ ਵੀ ਅਨੁਮਤੀਆਂ ਹਨ, ਰੱਖਦਾ ਹੈ; ਸੀਕ੍ਰੇਟਸਮੈਨੇਜਰ:ਲਿਸਟਸੀਕ੍ਰੇਟਸ (ਅਤੇ ਕੋਈ ਵੀ ਫਾਲੋ-ਆਨ GetSecretValue) ਇਸਨੂੰ ਸਟੋਰ ਕੀਤੇ ਐਪਲੀਕੇਸ਼ਨ ਸੀਕਰੇਟਸ ਤੱਕ ਫੈਲਾਉਂਦਾ ਹੈ। ਵਾਤਾਵਰਣ-ਵੇਰੀਏਬਲ ਡੰਪ ਅਕਸਰ ਰਜਿਸਟਰੀ ਟੋਕਨ, ਡੇਟਾਬੇਸ URL, ਅਤੇ API ਕੁੰਜੀਆਂ ਰੱਖਦੇ ਹਨ। ਇੱਕ CI ਜਾਂ ਕੰਟੇਨਰ ਸੰਦਰਭ ਵਿੱਚ - ਬਿਲਕੁਲ ਉਹੀ ਜਿਸ ਲਈ ਗੇਟ ਚੁਣਦਾ ਹੈ - ਇਹਨਾਂ ਪੈਕੇਜਾਂ ਵਿੱਚੋਂ ਇੱਕ ਦੀ ਇੱਕ ਸਿੰਗਲ ਟ੍ਰਾਂਜਿਟਿਵ ਇੰਸਟਾਲੇਸ਼ਨ ਉਸ ਸਮੱਗਰੀ ਨੂੰ ਲੀਕ ਕਰਨ ਲਈ ਕਾਫ਼ੀ ਹੈ।

ਐਕਟੋਪਲਾਜ਼ਮ ਇੱਕ ਪੈਟਰਨ ਵਿੱਚ ਫਿੱਟ ਬੈਠਦਾ ਹੈ ਜੋ ਅਸੀਂ ਦੇਖਦੇ ਰਹਿੰਦੇ ਹਾਂ: ਇੰਸਟਾਲ-ਟਾਈਮ ਪੇਲੋਡ ਜੋ ਸਥਾਨਕ ਫਾਈਲਾਂ ਦੀ ਬਜਾਏ ਕਲਾਉਡ ਮੈਟਾਡੇਟਾ ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਰਾਜ਼ਾਂ ਤੱਕ ਪਹੁੰਚਦੇ ਹਨ, ਅਤੇ ਇਹ ਆਪਣੇ ਆਪ ਨੂੰ ਸਿਰਫ ਉੱਚ-ਮੁੱਲ ਵਾਲੇ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਫਾਇਰ ਕਰਨ ਲਈ ਗੇਟ ਕਰਦੇ ਹਨ। ਦੋ ਰੱਖਿਆਤਮਕ ਨਿਰੀਖਣ ਇਸ ਤੋਂ ਬਾਅਦ ਹਨ।

  • ਸ਼ਕਲ ਖੋਜਣਯੋਗ ਹੈ. ਇੱਕ npm/PyPI ਇੰਸਟਾਲ ਹੁੱਕ ਜਿਸਦਾ ਕਾਲ ਗ੍ਰਾਫ਼ ਇੱਕ ਕਲਾਉਡ ਸੀਕ੍ਰੇਟ API ਦੋਵਾਂ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ (aws ਸੀਕਰੇਟਸਮੈਨੇਜਰ, ਜੀਕਲਾਉਡ ਰਾਜ਼, ਕੀਵਾਲਟ) ਜਾਂ IMDS ਐਡਰੈੱਸ ਅਤੇ ਇੱਕ ਨੈੱਟਵਰਕ ਐਗ੍ਰੇਸ ਸਿੰਕ ਇੱਕ ਤੰਗ, ਉੱਚ-ਸਿਗਨਲ ਪੈਟਰਨ ਹੈ — ਇਹ ਲਗਭਗ ਕਦੇ ਵੀ ਇੱਕ ਜਾਇਜ਼ ਜੀਵਨਚੱਕਰ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਨਹੀਂ ਹੁੰਦਾ। ਸਥਿਰ ਪ੍ਰਵਾਹ ਵਿਸ਼ਲੇਸ਼ਣ ਕਿਸੇ ਖਾਸ ਡੋਮੇਨ ਜਾਂ IP 'ਤੇ ਨਿਰਭਰ ਕੀਤੇ ਬਿਨਾਂ ਇਸਨੂੰ ਫਲੈਗ ਕਰ ਸਕਦਾ ਹੈ।
  • ਵਾਤਾਵਰਣ ਦਾ ਸਖ਼ਤ ਹੋਣਾ ਇਸਨੂੰ ਧੁੰਦਲਾ ਕਰ ਦਿੰਦਾ ਹੈ। IMDSv2 ਨੂੰ 1 ਦੀ ਹੌਪ ਸੀਮਾ ਨਾਲ ਲਾਗੂ ਕਰਨ ਨਾਲ ਕੰਟੇਨਰ ਵਰਕਲੋਡ ਨੂੰ ਇੰਸਟੈਂਸ ਮੈਟਾਡੇਟਾ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਰੋਕਿਆ ਜਾਂਦਾ ਹੈ; IAM ਭੂਮਿਕਾਵਾਂ ਨੂੰ ਘੱਟੋ-ਘੱਟ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਤੱਕ ਸਕੋਪ ਕਰਨ ਨਾਲ ਕਿਸੇ ਵੀ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਦੇ ਬਲਾਸਟ ਰੇਡੀਅਸ ਨੂੰ ਸੀਮਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜੋ ਲੀਕ ਹੁੰਦਾ ਹੈ; ਅਤੇ ਨਾਲ ਇੰਸਟਾਲ ਚਲਾਉਣਾ - ਅਣਡਿੱਠ-ਸਕ੍ਰਿਪਟਾਂ CI ਵਿੱਚ ਉਹਨਾਂ ਪੈਕੇਜਾਂ ਲਈ ਇੰਸਟਾਲ-ਹੁੱਕ ਵੈਕਟਰ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਹਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਇਸਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ।

ਡਿਫੈਂਡਰਾਂ ਲਈ, ਵਿਹਾਰਕ ਜਾਂਚਾਂ ਹਨ: ਬਿਲਡ/ਸੀਆਈ ਕੰਟੇਨਰਾਂ ਤੋਂ ਗੈਰ-ਅਨੁਕੂਲਿਤ ਜਨਤਕ ਆਈਪੀ ਤੱਕ ਆਊਟਬਾਊਂਡ ਕਨੈਕਸ਼ਨਾਂ ਬਾਰੇ ਚੇਤਾਵਨੀ npm ਇੰਸਟਾਲ; ਪੈਕੇਜ ਲਾਈਫਸਾਈਕਲ ਸਕ੍ਰਿਪਟਾਂ ਤੋਂ ਉਤਪੰਨ ਹੋਣ ਵਾਲੇ IMDS ਐਕਸੈਸ 'ਤੇ ਨਜ਼ਰ ਰੱਖੋ; ਅਤੇ ਕਿਸੇ ਵੀ ਇੰਸਟਾਲ ਹੁੱਕ ਨੂੰ ਸ਼ੱਕੀ ਸਮਝੋ ਜੋ ਕਲਾਉਡ CLI ਨਾਲ ਜੁੜਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਇਹ ਸਾਬਤ ਨਹੀਂ ਹੁੰਦਾ।

ਇਸ ਕਲੱਸਟਰ ਲਈ ਖਾਸ ਦੋ ਹੋਰ ਨੋਟ। ਪਹਿਲਾ, ਕਿਉਂਕਿ ਐਕਟੀਵੇਸ਼ਨ ਕੰਟੇਨਰਾਈਜ਼ਡ ਵਾਤਾਵਰਣਾਂ ਲਈ ਗੇਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਇੱਕ ਪੈਕੇਜ ਜੋ ਵਰਕਸਟੇਸ਼ਨ 'ਤੇ ਜਾਂਚ ਕੀਤੇ ਜਾਣ 'ਤੇ ਅਕਿਰਿਆਸ਼ੀਲ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ, ਅਜੇ ਵੀ ਉਤਪਾਦਨ ਵਿੱਚ ਲਾਈਵ ਹੋ ਸਕਦਾ ਹੈ - ਜਾਂਚ ਨੂੰ ਕੰਟੇਨਰ ਹੋਸਟਨੇਮ ਅਤੇ ਮਾਰਗ ਦੀਆਂ ਸਥਿਤੀਆਂ ਨੂੰ ਦੁਬਾਰਾ ਪੈਦਾ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਾਂ ਸਰੋਤ ਨੂੰ ਸਿੱਧਾ ਪੜ੍ਹਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, "ਮੈਂ ਇਸਨੂੰ ਸਥਾਪਿਤ ਕੀਤਾ ਅਤੇ ਕੁਝ ਨਹੀਂ ਹੋਇਆ।" ਦੂਜਾ, ਇੱਕ ਜਨਤਕ ਬੇਨਤੀ-ਨਿਰੀਖਣ ਸੇਵਾ ਨੂੰ ਇੱਕ ਬੀਕਨ ਕੁਲੈਕਟਰ ਵਜੋਂ ਵਰਤਣ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕੁਝ ਐਕਸਫਿਲਟਰੇਟਡ ਡੇਟਾ ਘਟਨਾ ਪ੍ਰਤੀਕਿਰਿਆ ਲਈ ਮੁੜ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ: ਇੱਕ ਸੰਗਠਨ ਜੋ ਇਹਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਪੈਕੇਜ ਨੂੰ ਆਪਣੇ ਨਿਰਭਰਤਾ ਟ੍ਰੀ ਵਿੱਚ ਲੱਭਦਾ ਹੈ, ਇਸ ਬਾਰੇ ਤਰਕ ਕਰ ਸਕਦਾ ਹੈ ਕਿ ਇੱਕ ਸਫਲ ਬੀਕਨ ਵਿੱਚ ਪੇਲੋਡ ਦੇ ਸੰਗ੍ਰਹਿ ਤਰਕ ਤੋਂ ਕੀ ਸ਼ਾਮਲ ਹੋਵੇਗਾ, ਅਤੇ ਕਿਸੇ ਵੀ IAM ਰੋਲ ਪ੍ਰਮਾਣ ਪੱਤਰ, ਰਜਿਸਟਰੀ ਟੋਕਨ, ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਰਾਜ਼ਾਂ ਨੂੰ ਘੁੰਮਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਪ੍ਰਭਾਵਿਤ ਬਿਲਡ ਜਾਂ ਰਨਟਾਈਮ ਵਾਤਾਵਰਣ ਤੋਂ ਪਹੁੰਚਯੋਗ ਸਨ। ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਰੋਟੇਸ਼ਨ, ਪੈਕੇਜ ਹਟਾਉਣਾ ਨਹੀਂ, ਇੱਕ ਵਾਰ ਇੰਸਟਾਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਆਪਰੇਟਿਵ ਰਿਮੀਡੀਏਸ਼ਨ ਹੈ।

sca-ਟੂਲਜ਼-ਸਾਫਟਵੇਅਰ-ਰਚਨਾ-ਵਿਸ਼ਲੇਸ਼ਣ-ਟੂਲਜ਼
ਆਪਣੇ ਸਾਫਟਵੇਅਰ ਜੋਖਮਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿਓ, ਸੁਧਾਰੋ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰੋ
ਆਪਣਾ ਮੁਫ਼ਤ ਖਾਤਾ ਪ੍ਰਾਪਤ ਕਰੋ।
ਕੋਈ ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ

ਆਪਣੇ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਅਤੇ ਡਿਲੀਵਰੀ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰੋ

ਜ਼ਾਇਜੇਨੀ ਪ੍ਰੋਡਕਟ ਸੂਟ ਦੇ ਨਾਲ