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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
SecretsStalker — تقييم قراءة فقط لبيانات اعتماد التطبيقات في Entra ID: يُعدّ أذونات Graph وAzure RBAC والبيانات السحابية القابلة للوصول، ثم يربط النتائج بمسارات تصعيد الامتيازات والحركة الجانبية. | Kitploit
أدوات/GitHubGitHub/rootsecdev/secretsstalker
المصادقة والترخيصأمن البنية التحتية السحابيةتصعيد الامتيازاتالاستطلاعالحركة الجانبيةما بعد الاستغلالاختبار الاختراقأمن السحابةإدارة الهوية والوصول (IAM)الفريق الأحمر
GitHub
34124منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
rootsecdev/secretsstalker

SecretsStalker

تقييم قراءة فقط لبيانات اعتماد التطبيقات في Entra ID: يُعدّ أذونات Graph وAzure RBAC والبيانات السحابية القابلة للوصول، ثم يربط النتائج بمسارات تصعيد الامتيازات والحركة الجانبية.

عرض المستودع

secret_stalker```


/ / ______ ___ ___ / /_ / / / /__ _ / / /_____ ____ \ / -) / -) -)/ / \ \ / __/ _ `// / '/ -) / //_/_/_/_/ _/ // _/_,////_\__/_/

     ╔╦╦╬╬╬╬╬╬╦╦╗
 ╔╬╬╬╝╝┘      ╚╝╝╬╬╬┐
╬╬╝╚╩╬╗╔          ╚╬╬╬

╬╝ ╚╬╬╗╗ ╔ ╚╬╗ ╬╬ ╔╗ ╚╬╬╬╬╬╬╦ ╬╬ we found your secret... ╔╬┤ ╬╬╬ ╬╬╬╬╬╬╬╬╝╝╝╬╬╗ ...now let's see what it ╬╬┤ ╚╩┘ ╚╬╬╬╬╬╩ ╠╬╬ can REALLY do. ( o_o)>=|= ╬╬┤ ╠╬╬ ╬╬ ╦╗ ╗╗ ╬╬ [ client_id + secret -> total recall ] └╬┐ ╚╬╗╗ ╔╬╬╝ ╔╬┘ └╬╗ ╚╩╩╬╬╬╩╩╝╝ ╔╬╬ ╚╬╬╬╗ ┌╗╬╬╝┘ ╚╩╬╬╬╦╦╦╦╦╦╬╬╬╝╝ ╚╚╝╝╝╝ // pst... that app registration talks too much. \

**ما الذي يمكن أن يفعله معرّف عميل Entra ID + السرّ فعليًا؟**

لقد عثرت على بيانات اعتماد تطبيق Entra ID (Azure AD) — معرّف عميل وسرّ —
ضمن مهمة مرخَّصة، والمستأجر (tenant) الذي تنتمي إليه ضمن النطاق المخوَّل.
يأخذ `secret_stalker` هاتين القيمتين ويخبرك، من نقطة البداية الباردة:

1. **هل هو صالح، ومتى تنتهي صلاحية السرّ؟** — وإذا لم يكن صالحًا، *ما السبب*
   (سرّ خاطئ، سرّ منتهي الصلاحية، التطبيق غير موجود في المستأجر…). بالنسبة لسرّ صالح،
   يقرأ `passwordCredentials` لتسجيل التطبيق ويُبلّغ عن تاريخ الانتهاء
   + الأيام المتبقية (يتطلب قراءة الدليل؛ انظر الملاحظة أدناه).
2. **ما صلاحيات Microsoft Graph التي يحملها؟** — أذونات التطبيق تُقرأ
   مباشرةً من الرمز المصدَر، بالإضافة إلى **أدوار دليل Entra** التي يمتلكها (حتى
   يتم اكتشافها سلبيًا من مطالبة `wids` في الرمز) و**الكائنات التي يملكها**
   (تطبيقات/كائنات خدمة (SPs) يمكنك إضافة بيانات اعتماد إليها).
3. **ما التحكم الذي يملكه على Azure؟** — تعيينات أدوار RBAC على نطاق
   مجموعة الإدارة والاشتراك.
4. **هل يمكنه الوصول إلى بيانات حقيقية؟** — فحوصات اختيارية لقابلية الوصول إلى
   Key Vault (الأسرار / المفاتيح / الشهادات)، وStorage (blob / file / queue / table)،
   وCosmos DB على مستوى البيانات.
5. **ما الأثر؟** — الأذونات والخطيرة والأدوار والملكية والبيانات التي يمكن الوصول إليها
   مرتبطة بأساليب معروفة لتصعيد الامتيازات / الحركة الجانبية، مقيَّمة حسب الخطورة،
   مع سرديات ملموسة **لمسارات الهجوم**.

يُصادق باستخدام إما **سرّ عميل** أو **شهادة** (`--cert`)،
ويعمل مع **السحب التجارية والسيادية** (`--cloud`).

إنه **سلبي افتراضيًا** و**لا يعدّل أي شيء مطلقًا** — تعداد للقراءة فقط.

> ⚠️ **للاستخدام المصرَّح به فقط.** شغّله فقط على المستأجرين الذين هم
> ضمن النطاق صراحةً لمهمة مخوَّل لك تنفيذها.

---

## التثبيت```bash
pip install -r requirements.txt        # just runs it from source
#   — or —
pip install .                          # installs the `secret_stalker` command
pip install '.[cert]'                  # + certificate (--cert) auth support
pip install '.[dev]'                   # + pytest for the test suite

الاعتماد الوحيد في وقت التشغيل هو requests. يتم فك تشفير الرموز محليًا (base64 + JSON) — بدون التحقق من التوقيع، بدون مكتبة تشفير، بدون Microsoft SDK. الاستثناء الوحيد هو مصادقة الشهادة (--cert)، والتي تتطلب حزمة cryptography الاختيارية لتوقيع تأكيد عميل JWT. يتطلب Python 3.7+.

بعد pip install . يمكنك استدعاؤه كـ secret_stalker … بدلاً من python -m secret_stalker ….


بداية سريعة

أسرع طريقة لمعرفة ما يمكن أن تفعله بيانات الاعتماد:```bash python -m secret_stalker
--tenant contoso.onmicrosoft.com
--client-id 11111111-2222-3333-4444-555555555555
--secret ''

`--tenant` يقبل إما GUID لمعرّف مستأجر (tenant) أو نطاقًا (domain) — ويُحلّ النطاق إلى معرّف المستأجر الخاص به تلقائيًا عبر نقطة نهاية تكوين OpenID العامة.

### أبقِ السرّ خارج سجلّ محفوظات الصدفة (shell history)

مرّر بيانات الاعتماد عبر متغيرات البيئة بدلاً من الخيارات (flags):```bash
export SS_TENANT=contoso.onmicrosoft.com
export SS_CLIENT_ID=11111111-2222-3333-4444-555555555555
export SS_SECRET='<client-secret>'

python -m secret_stalker

أي من --tenant / --client-id / --secret يمكن أن يأتي من SS_TENANT / SS_CLIENT_ID / SS_SECRET. الخيارات (Flags) لها الأولوية على البيئة.

لا يقتصر الأمر على محفوظات الصدفة فقط: قيمة argv قابلة للقراءة من قبل أي مستخدم محلي طوال عمر العملية (ps, /proc/<pid>/cmdline). إذا تم تمرير --secret أو --cert-password كخيار، تطبع الأداة تذكيرًا من سطر واحد إلى stderr — ولا يظهر أبدًا في مخرجات --json أو --export.

المصادقة بشهادة بدلاً من سرّ

غالبًا ما تستخدم تسجيلات التطبيقات شهادة بدلاً من سرّ. مرّر --cert (PEM يحتوي على المفتاح الخاص و الشهادة، أو .pfx/.p12) وستقوم الأداة بالمصادقة عبر تأكيد عميل JWT موقّع:```bash python -m secret_stalker --tenant contoso.onmicrosoft.com
--client-id --cert ./app.pem # or app.pfx

encrypted key / PFX:

python -m secret_stalker ... --cert app.pfx --cert-password ''

يتطلب مصادقة الشهادة حزمة `cryptography` الاختيارية (`pip install '.[cert]'`).
يُبلغ الأداة عن تاريخ انتهاء صلاحية الشهادة نفسها (المطابقة عبر بصمة الإبهام في
`keyCredentials` الخاصة بالتطبيق)، تمامًا كما يفعل للسر. يقرأ `--cert`/`--cert-password`
أيضًا من `SS_CERT` / `SS_CERT_PASSWORD`.

### السحابات السيادية والحكومية

بشكل افتراضي، يستهدف secret_stalker السحابة **التجارية**. بالنسبة للمستأجرين السياديين،
مرر `--cloud` (أو `SS_CLOUD`) بحيث تتطابق سلطة Entra ونقاط نهاية Graph / ARM / Key
Vault — وإلا ستبدو بيانات الاعتماد الصالحة كما لو أنها لا تملك أي وصول:```bash
# US Government (GCC High)
python -m secret_stalker --cloud usgov  --tenant contoso.onmicrosoft.us ...

# US DoD (L5)
python -m secret_stalker --cloud usdod  ...

# Azure operated by 21Vianet (China)
python -m secret_stalker --cloud china  --tenant contoso.partner.onmschina.cn ...
--cloudسلطة EntraMicrosoft GraphARMKey Vault
public (الافتراضي)login.microsoftonline.comgraph.microsoft.commanagement.azure.comvault.azure.net
usgov (GCC High)login.microsoftonline.usgraph.microsoft.usmanagement.usgovcloudapi.netvault.usgovcloudapi.net
usdod (DoD)login.microsoftonline.usdod-graph.microsoft.usmanagement.usgovcloudapi.netvault.usgovcloudapi.net
china (21Vianet)login.chinacloudapi.cnmicrosoftgraph.chinacloudapi.cnmanagement.chinacloudapi.cnvault.azure.cn

الأسماء المستعارة مثل gov وdod وcommercial وgcc-high و21vianet مقبولة. (إن audience الخاص بمستوى البيانات في Storage، storage.azure.com، هو نفسه في كل سحابة.)


سير العمل الموصى به في مهمة

  1. حدِّث خريطة الأذونات لهذا المستأجر (مرة واحدة). يحلّ معرّفات GUID الخاصة بأذونات Graph إلى أسماء رسمية للمستأجر الهدف: ```bash python -m secret_stalker --update-manifest

يُجري المصادقة، ويخزّن خريطة appRole الخاصة بـ Graph للمستأجر مؤقتًا في ~/.secret_stalker/app_roles_cache.json، ثم يخرج. تخطَّ هذه الخطوة إذا كانت بيانات الاعتماد غير قادرة على قراءة كيانات الخدمة — فما زالت الخريطة المرفقة تغطي الأذونات المعروفة.

  1. خط الأساس السلبي. تحقّق من الصلاحية وأذونات Graph وAzure RBAC دون لمس كائنات المستأجر: ```bash python -m secret_stalker
  2. كن نشطًا عندما تريد عمقًا + تقريرًا للاحتفاظ به. يضيف عينات كائنات Graph للقراءة فقط وقابلية الوصول إلى data-plane لـ Key Vault / Storage، ويكتب تصديرًا مسطحًا للفرز أو الإدخال: ```bash python -m secret_stalker --active --export results.ndjson

قراءة المخرجات

يتم تنظيم تقرير الطرفية من الأعلى إلى الأسفل بدءًا من "هل يعمل" وصولًا إلى "ما هي الأضرار." يبدو التشغيل النموذجي كما يلي:``` secret_stalker — credential assessment

Credential status : VALID Tenant : aaaaaaaa-... Client (app) id : 1111... App display name : Recon App SP object id : cccc... Secret : valid — expires 2027-03-01 (in 207 days)

Token acquisition

OK graph OK arm NO storage — no storage token

تنزيل الأداة