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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
TokenTacticsV2 — شوكة من TokenTactics العظيم مع دعم لـ CAE ونقطة نهاية الرمز v2 | Kitploit
أدوات/GitHubGitHub/f-bader/tokentacticsv2
أدوات التصيداختبار الاختراقأمن السحابةإدارة الهوية والوصول (IAM)المصادقةالفريق الأحمر
GitHubf-bader/tokentacticsv2

TokenTacticsV2

شوكة من TokenTactics العظيم مع دعم لـ CAE ونقطة نهاية الرمز v2

عرض المستودع
44451منذ 3 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
root@kitploit:~
  ______      __                 __             __  _                     ___ 
 /_  __/___  / /_____  ____     / /_____ ______/ /_(_)_________   _   __ |__ \
  / / / __ \/ //_/ _ \/ __ \   / __/ __ `/ ___/ __/ / ___/ ___/  | | / / __/ /
 / / / /_/ / ,< /  __/ / / /  / /_/ /_/ / /__/ /_/ / /__(__  )   | |/ / / __/ 
/_/  \____/_/|_|\___/_/ /_/   \__/\__,_/\___/\__/_/\___/____/    |___(_)____/     

TokenTactics v2

هذه نسخة محدثة من TokenTactics التي كتبها في الأصل Stephan Borosh @rvrsh3ll و Bobby Cooke @0xBoku.

مجموعة أدوات التعامل مع رموز ويب JSON (JWT) الخاصة بـ Azure

تسمح لك رموز الوصول الخاصة بـ Azure بالمصادقة على نقاط نهاية معينة كمستخدم يسجل الدخول باستخدام رمز جهاز. إذا كنت تمتلك رمز تحديث قادر على FOCI (عائلة معرفات العميل) يمكنك استخدامه للحصول على رموز وصول لجميع نقاط النهاية المعروفة والقادرة على FOCI. نظرًا لأن رمز التحديث يحتوي أيضًا على معلومات حول ما إذا كان المستخدم قد قام بالمصادقة متعددة العوامل، فيمكنك الاستفادة من ذلك. بمجرد حصولك على رمز وصول للمستخدم، قد تتمكن من الوصول إلى تطبيقات معينة مثل Outlook وSharePoint وOneDrive وMSTeams وغيرها.

على سبيل المثال، إذا كان لديك رمز تحديث Graph أو MSGraph، فيمكنك الاتصال بـ Azure وتفريغ المستخدمين والمجموعات وما إلى ذلك. يمكنك بعد ذلك، حسب سياسات الوصول المشروط، التبديل إلى رمز Azure Core Management وتشغيل AzureHound. ثم الحصول على رمز وصول Outlook وقراءة/إرسال رسائل البريد الإلكتروني أو MS Teams وقراءة/إرسال رسائل Teams!

لمزيد من المعلومات حول أنواع رموز Azure، راجع رموز الوصول لمنصة هوية Microsoft

توجد بعض الأمثلة على الطلبات إلى نقاط النهاية في مجلد الموارد. يوجد أيضًا قالب تصيد مثالي لتصيد رمز الجهاز.

يمكنك أيضًا استخدام هذه الرموز مع AAD Internals. نوصي بشدة بالاطلاع على هذه الأداة الرائعة.

التثبيت والاستخدام

root@kitploit:~
Import-Module .\TokenTactics.psd1
Get-Help Get-EntraIDToken
Invoke-RefreshToSubstrateToken -Domain "myclient.org"

الاختبار

تتطلب مجموعة الاختبارات PowerShell 7 و Pester 5.7.1. وهي تستخدم استجابات HTTP محاكاة ولا تتطلب بيانات اعتماد Entra ID أو وصول إلى الشبكة.

root@kitploit:~
Install-Module Pester -RequiredVersion 5.7.1 -Scope CurrentUser
pwsh ./tests/Invoke-Tests.ps1

تعمل نفس المجموعة على Linux وmacOS وWindows لكل طلب سحب.

الحصول على رمز التحديث باستخدام تدفق رمز الجهاز

root@kitploit:~
Get-EntraIDToken -Client MSGraph

بمجرد تسجيل دخول المستخدم، سيتم عرض JWT لك وسيتم حفظه في متغير $response. للوصول إلى رمز الوصول، استخدم $response.access_token من نافذة PowerShell لعرض الرمز. يمكنك أيضًا عرض رمز التحديث باستخدام $response.refresh_token. تلميح: ستحتاج إلى رمز التحديث للاستمرار في تحديث الرموز الجديدة!

رمز جهاز DOD/Mil

root@kitploit:~
Get-EntraIDToken -Client DODMSGraph

تسجيل الدخول باستخدام مفتاح المرور

[!IMPORTANT] تم تقديم هذه الميزة في الإصدار 0.2.20 وتتطلب PowerShell 7.0

إذا قمت بإنشاء مفتاح مرور في موفر تابع لجهة خارجية مثل KeePassXC أو Bitwarden أو 1Password أو ما شابه ذلك، يمكنك تصدير مادة المفتاح الخاص.

[!CAUTION] تصدير مادة المفتاح الخاص الخاص بك خطير للغاية. تأكد من فهمك للمخاطر قبل المتابعة.

تنسيق ملف مفتاح المرور KeePassXC مدعوم أصليًا ويمكنك توجيه cmdlet إلى الملف مباشرة. سيحصل إجراء تسجيل الدخول الأولي فقط على ملف تعريف الارتباط ESTSAUTH المطلوب ويجب عليك استخدام Get-EntraIDTokenFromESTSCookie لاستبدال ملف تعريف الارتباط هذا برمز الحامل (رمز الوصول، رمز التحديث، ورمز الهوية).

root@kitploit:~
# Retrieve the ESTSAUTH cookie value
Invoke-EntraIDPasskeyLogin -Verbose -KeyFilePath "C:\Users\Fabian\Microsoft.passkey"
# Exchange the ESTSAUTH cookie for bearer tokens
Get-EntraIDTokenFromESTSCookie -CookieValue $Global:ESTSAUTH

إذا كان لديك تنسيق ملف غير مدعوم، يمكنك تحديد القيم المطلوبة يدويًا وتحقيق نفس الهدف.

root@kitploit:~
Invoke-EntraIDPasskeyLogin -Verbose -UserPrincipalName "[email protected]" -UserHandle "XYZ" -CredentialId "9e9c8297-0cde-4726-8852-16c141e15bd3" -PrivateKey $PrivateKey
Get-EntraIDTokenFromESTSCookie -CookieValue $Global:ESTSAUTH

الحصول على رموز الوصول باستخدام ملف تعريف ارتباط SCCAUTH

إذا حصلت على ملف تعريف ارتباط sccauth من جلسة مصادقة إلى security.microsoft.com (على سبيل المثال، عبر Evilginx أو أدوات المطورين في المتصفح)، فيمكنك استخدامه لاسترداد رموز الوصول Entra ID لمجموعة واسعة من الموارد من خلال بوابة Microsoft Defender XDR.

root@kitploit:~
# Retrieve a Microsoft Graph token using the sccauth cookie
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -ResourceName MicrosoftGraph

# Provide an XSRF token explicitly to skip the bootstrapping request
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -XSRF "your_xsrf_value" -ResourceName Azure

# Use a custom resource URL
Get-EntraIDTokenFromSCCAUTHCookie -SCCAuth "your_sccauth_value" -Resource "https://management.core.windows.net/"

قيم -ResourceName المدعومة: Azure، LogAnalytics، MATP، MCAS، MicrosoftGraph، MicrosoftOffice، Purview، PurviewACC، ThreatIntelligencePortal.

الحصول على رمز تحديث من ملف تعريف ارتباط ESTSAuth*

root@kitploit:~
Get-EntraIDTokenFromESTSCookie -ESTSAuthCookie "0.AbcApTk..."

تستخدم هذه الوحدة تدفق رمز التفويض للحصول على رمز الوصول ورمز التحديث باستخدام ملف تعريف ارتباط ESTSAuth (أو ESTSAuthPersistent). مفيد إذا كنت قد اصطدت جلسة عبر Evilginx أو حصلت على ملف تعريف الارتباط هذا بطريقة أخرى.

تأكد من استخدام ملف تعريف الارتباط الصحيح! ESTSAuthPersistent مفيد فقط عندما تمنح سياسة CA جلسة مستمرة بالفعل. خلاف ذلك، يجب عليك استخدام ESTSAuth. يمكنك عادةً معرفة أي واحد تريد استخدامه بناءً على الطول، ملف تعريف الارتباط الأطول هو الذي تريد استخدامه :)

ملاحظة: قد لا يعمل هذا في جميع الحالات لأنه قد يتطلب تفاعل المستخدم. إذا كان الأمر كذلك، فاستخدم إما تدفق رمز الجهاز أعلاه، أو جرب roadtx interactiveauth --estscookie

تم نقل هذه الميزة من طلب السحب بواسطة rotarydrone في المستودع الأصلي.

الحصول على رمز تحديث باستخدام تدفق رمز التفويض

أحد أبرز الأمثلة على هذا تدفق oauth2 (على الأقل في بداية عام 2025) هو بوابة شركة Intune التي تسمح، لبعض الموارد، بتجاوز متطلبات الامتثال للجهاز.

تم نشر هذه المعلومات أولاً بواسطة @dirkjan ثم تم إصدارها في Black Hat Europe لجمهور أوسع بواسطة @TEMP43487580

نشرت JumpsecLabs مقالة مدونة و إثبات مفهوم بعد ذلك بوقت قصير.

الآن نفس الإمكانيات متاحة في TokenTacticsV2.

سينشئ Get-AzureAuthorizationCode عنوان URL يمكنك استخدامه بعد ذلك للمصادقة عليه.

يستخدم Get-EntraIDTokenFromAuthorizationCode إما عنوان URL الكامل أو يمكن استخدامه مع المعلمات AuthorizationCode و RedirectUrl لاستبدال رمز التفويض برمز وصول وتحديث. بعد ذلك يمكنك محاولة الوصول إلى الموارد الأخرى كالمعتاد.

كيفية استخدام cmdlets الجديدة

التحديث إلى رمز وصول جديد

إذا لم تحدد رمز تحديث، ستستخدم cmdlets $response.refresh_token كإعداد افتراضي.

root@kitploit:~
Invoke-RefreshToOutlookToken -domain "myclient.org"

$OutlookToken.access_token

الاتصال بـ AzureAD باستخدام رمز الوصول

root@kitploit:~
Connect-AzureAD -AadAccessToken $response.access_token -AccountId [email protected]

الاتصال بـ MgGraph باستخدام رمز الوصول

root@kitploit:~
Invoke-RefreshToMSGraphToken -Domain "myclient.org"
Connect-MgGraph -AccessToken $MSGraphToken.access_token -Scopes "User.Read.All","Group.ReadWrite.All"

مسح الرموز

سيؤدي هذا إلى إزالة أي متغيرات الرمز.

root@kitploit:~
Clear-Token -Token All

تقييم الوصول المستمر

مع تقييم الوصول المستمر، تنفذ Microsoft إجراءات أمنية إضافية، ولكنها أيضًا تمدد الحد الأقصى لعمر رمز الوصول إلى 24 ساعة. يمكن لخدمات معينة قادرة على CAE مثل MSGraph وExchange وTeams وSharePoint حظر رموز الوصول بناءً على أحداث معينة يتم تشغيلها بواسطة Azure AD. حاليًا، هذه الأحداث الحرجة هي:

  • تم حذف حساب المستخدم أو تعطيله
  • تم تغيير كلمة مرور المستخدم أو إعادة تعيينها
  • تم تمكين المصادقة متعددة العوامل للمستخدم
  • يقوم المسؤول بإلغاء جميع رموز التحديث للمستخدم بشكل صريح
  • تم اكتشاف مخاطر عالية للمستخدم بواسطة حماية هوية Azure AD (ليس في Teams وSharePoint Online)
root@kitploit:~
Invoke-RefreshToMSGraphToken -Domain "myclient.org" -UseCAE
if ((Parse-JWTtoken $MSGraphToken.access_token).ValidForHours -gt 23) { "MSGraph token is CAE capable" }

الاستخدام مع AAD Internals

إذا كان لديك AADInternals مثبتًا أيضًا، فيمكنك استخدام رموز الوصول التي تم إنشاؤها.

root@kitploit:~
Invoke-RefreshToMSTeamsToken -UseCAE -Domain "myclient.org"
Set-AADIntTeamsStatusMessage -Message "My cool status message" -AccessToken $MSTeamsToken.access_token -Verbose

الأوامر

root@kitploit:~
Get-Command -Module TokenTactics

يتم تصدير الأوامر المدعومة الموجهة للمستخدم فقط؛ تظل تفاصيل التنفيذ الخاصة بـ التحليل و PKCE والتحديث العام ومساعدات التشفير FIDO خاصة.

المؤلفون والمساهمون

  • @rvrsh3ll مؤلف TokenTactics (الأصلي)
  • @0xBoku مؤلف مشارك لـ TokenTactics (الأصلي) وباحث.
  • @f-bader قام بتحديث TokenTactics لدعم نقطة النهاية V2 والميزات الإضافية مثل CAE. الممتنفذ لـ TokenTacticsV2
  • @Pri3st أضاف وظائف لجلب رموز الوصول لـ Storage و Key Vault ووكيل مستخدم مخصص

تتأثر طرق TokenTactics بشكل كبير بالبحث الرائع للدكتور Nestori Syynimaa على https://o365blog.com/.

سجل التغييرات

0.3.0 (2026-07-13)

  • إضافة مشغل اختبار Pester 5 المثبت، فحوصات GitHub Actions عبر الأنظمة الأساسية، تقارير الاختبار، وخط أساس تغطية إلزامي.
  • إضافة تغطية محاكاة محددة لتدفقات رمز الجهاز وملف تعريف الارتباط ورمز التفويض وSCCAUTH ورمز التحديث ومفتاح المرور.
  • إصلاح تنظيف الرمز وفك تشفير URL والطوابع الزمنية لـ JWT UTC والتحقق من PEM ونطاق Yammer ودعم ملف تعريف ارتباط CAE ورؤوس المستأجر PurviewACC وبناء تأكيد مفتاح المرور.
  • تصدير الأوامر المدعومة الموجهة للمستخدم وأسماء المستعارة للتوافق فقط. أصبحت مساعدات التنفيذ التي تم كشفها سابقًا بواسطة التصدير بالبدل الآن خاصة؛ يجب أن تستخدم البرامج النصية الأوامر العامة المقابلة بدلاً من ذلك.

0.2.22 (2026-04-03)

  • إضافة Get-EntraIDTokenFromSCCAUTHCookie لاسترداد رموز الوصول Entra ID لموارد مختلفة (Azure، MicrosoftGraph، MATP، MCAS، Purview، إلخ) باستخدام ملف تعريف ارتباط sccauth من security.microsoft.com. يقبل اختياريًا رمز XSRF؛ إذا تم حذفه، يقوم بالتمهيد تلقائيًا. يدعم معلمة اختيارية TenantId لحقن الرأس وبناء مورد PurviewACC.

0.2.20 (2026-01-01)

  • إعادة تسمية جميع cmdlets Get-Azure إلى Get-EntraID
  • إضافة أسماء مستعارة للتوافق مع الإصدارات السابقة
  • إضافة تحسين معالجة الأخطاء لانقطاعات ConvergedSignIn
  • إضافة Invoke-EntraIDPasskeyLogin لأتمتة تدفقات تسجيل الدخول بمفتاح المرور. سيحفظ ملف تعريف الارتباط ESTSAUTH وجلسة الويب كمتغيرات عامة لإعادة الاستخدام في cmdlets أخرى مثل Get-EntraIDTokenFromESTSCookie
  • إضافة دعم الوكيل لـ Invoke-EntraIDPasskeyLogin و Get-EntraIDTokenFromCookie و Get-EntraIDTokenFromRefreshTokenCredentialCookie و Get-EntraIDTokenFromESTSCookie

0.2.14 (2025-09-11)

  • إضافة معلمة -Username لملء معلمة login_hint مسبقًا في cmdlet Get-AzureAuthorizationCode
  • إضافة معلمة -CopyToClipboard في cmdlet Get-AzureAuthorizationCode

0.2.13 (2025-07-29)

  • إصلاح لمعلمة وكيل المستخدم المخصص

0.2.12 (2025-06-22)

  • إضافة الوعي بمساحة التشغيل الحالية وتقليل الإخراج إذا تم تشغيله كـ PSTask (على سبيل المثال، إذا تم تشغيله في Foreach-Object -parallel)

0.2.11 (2025-06-08)

  • إضافة القدرة على تعريف أي UserAgent بحرية باستخدام الخاصية الجديدة -CustomUserAgent. شكرًا لـ Pri3st

0.2.10 (2025-02-25)

  • إصلاح الخلل: تهيئة نوع خاطئة

0.2.9 (2025-02-17)

  • إضافة ResourceTenant لـ Get-EntraIDToken لدعم تصيد رمز جهاز B2B
  • تبديل معرف عميل Azure Management
  • إضافة UseCodeVerifier لدعم إثبات المفتاح لتبادل الكود (PKCE)
  • إضافة UseV1Endpoint لبعض الوظائف لدعم مجموعة أوسع من اختبارات نقطة النهاية

0.2.8 (2025-01-18)

  • إضافة Get-AzureTokenFromRefreshTokenCredentialCookie ("x-ms-RefreshTokenCredential") وإضافة Get-AzureTokenFromCookie modularized
  • إضافة معلمة لاختيار نوع ملف تعريف الارتباط (ESTSAuth، ESTSAUTHPERSISTENT) إلى Get-AzureTokenFromESTSCookie
  • إضافة إخراج نموذجي لـ Get-AzureTokenFromAuthorizationCode إلى إخراج Get-AzureAuthorizationCode
  • تحسين الإخراج ومعالجة الأخطاء الأكثر تفصيلاً

0.2.7 (2025-01-08)

  • توسيع Get-AzureTokenFromESTSCookie لدعم نقطة النهاية appverify
  • تحسين إدارة ملفات تعريف الارتباط لـ Get-AzureTokenFromESTSCookie

0.2.6 (2025-01-04)

  • إصلاح خطأ النطاقات المخصصة في Get-AzureAuthorizationCode و Get-AzureTokenFromAuthorizationCode
  • تغيير URI إعادة التوجيه الافتراضي لـ Get-AzureAuthorizationCode

0.2.5 (2025-01-04)

  • إضافة cmdlets جديدة Get-AzureAuthorizationCode و Get-AzureTokenFromAuthorizationCode
    هذه cmdlets مستوحاة بشكل كبير من TokenSmith الذي يحافظ عليه @gladstomych
  • إضافة cmdlet جديد Invoke-RefreshToDeviceRegistrationToken وهو إصدار TokenTactics من cmdlet AADInternals Get-AccessTokenForAADJoin
  • إضافة دعم نقطة النهاية v1 لـ Invoke-RefreshToToken مع UseV1Endpoint. كان هذا مطلوبًا لإضافة Invoke-RefreshToDeviceRegistrationToken
  • إضافة دعم خط الأنابيب لـ ConvertFrom-JWTtoken
  • إضافة قيم افتراضية إلى Get-ForgedUserAgent

0.2.1 (2023-07-21)

  • دعم Linux كمنصة جهاز
  • دعم OS/2 كمنصة جهاز 😁

0.2.2 (2023-07-22)

  • نقل دعم رمز Yammer
  • نقل التبديل إلى أفعال PowerShell المسموح بها، إضافة اسم مستعار للتوافق مع الإصدارات السابقة

0.2.3 (2023-07-23)

  • نقل طلب السحب بواسطة rotarydrone لتحويل ESTSAuth إلى رمز وصول

الميزات الجديدة في v2

  • التبديل إلى إصدار v2.0 من نقطة نهاية OAuth2 الخاصة بـ Azure AD
  • دعم تقييم الوصول المستمر باستخدام المفتاح الجديد -UseCAE
  • جعل ClientId معلمة
  • تغيير client_id لـ MSTeams
  • إضافة دعم لـ OneDrive وSharePoint
  • إضافة IssuedAt و NotBefore و ExpirationDate و ValidForHours في إخراج ConvertFrom-JWTtoken بتنسيق قابل للقراءة البشرية
  • دعم تسجيل الدخول بمفتاح المرور
  • إعادة هيكلة قاعدة الكود لسهولة الصيانة
تنزيل الأداة