
سيطر على النطاق. قم بالترحيل إلى الملوك.

RelayKing هي أداة شاملة لاكتشاف وإحصاء التوصيلات (Relay) مصممة لتحديد فرص هجمات التوصيل في بيئات Active Directory. خيارات تقارير فعلية. تغطية شاملة للهجمات. ابحث عن مسارات التوصيل المخفية وأبلغ عنها بصيغة الإخراج المفضلة لديك. قم بتغذية أداة ntlmrelayx.py الخاصة بـ Impacket بقائمة أهداف منسقة من المضيفات القابلة للتوصيل التي تم اكتشافها. لا تفوت أبدًا مسار توصيل NTLM حرج وقابل للاستغلال في النطاق مرة أخرى.
راجع المدونة المرتبطة المنشورة على موقع Depth Security لمزيد من التفاصيل: https://www.depthsecurity.com/blog/introducing-relayking-relay-to-royalty/
RelayKing ليست أداة صديقة لـ OPSEC في بعض الأوضاع، خاصة في وضع --audit.
يتم توفير RelayKing كما هي دون أي ضمانات. انظر أسفل ملف README.
# استخدم venv. وفر على نفسك المتاعب.
# استنساخ المستودع:
git clone https://github.com/depthsecurity/RelayKing-Depth.git
# انتقل إلى المجلد المستنسخ:
cd RelayKing-Depth/
# تكوين venv لـ Python:
virtualenv --python=python3 .
source bin/activate
# تثبيت التبعيات:
pip3 install -r requirements.txt
# تحقق من نجاح تثبيت RelayKing:
python3 relayking.py -h
--remove-mic في ntlmrelayx. يتم الإبلاغ عنها كمستوى HIGH. يستخدم UBR المستعلم بالفعل لكل مضيف، لا حاجة لطلبات شبكة إضافية.--audit، يستعلم Active Directory عن أسماء خدمة رئيسية (SPNs) لا تحتوي أسماء مضيفاتها على سجل DNS. يمكن للمهاجم تسجيل اسم DNS المفقود لاعتراض مصادقة NTLN الموجهة إلى ذلك الخدمة الأساسية. تنقسم النتائج إلى ضعيف (لا يوجد سجل DNS على الإطلاق) وربما ضعيف (يتم حلها فقط عبر wildcard DNS). يتم الإبلاغ عنها كمستوى MEDIUM. تُكتب النتائج الكاملة إلى possible-ghost-spns.txt. يمكن إخفاؤها باستخدام --no-ghosts.--ntlmv1 أو --ntlmv1-all - كشف عبر البروتوكولات فقط عند اكتشاف استخدام Net-NTLMv1 مؤكد)--remove-mic)possible-ghost-spns.txt(--audit): تعداد جميع أجهزة الكمبيوتر من AD عبر LDAP. يتطلب بيانات اعتماد AD ذات صلاحيات منخفضة ونظام DNS وظيفي داخل البيئة. استخدم --dc-ip أو حرّر /etc/resolv.conf للفرض.10.0.0.0/24)10.0.0.1-254)python3 relayking.py -u blah -p pass -d domain.local <your_target_ip_or_hostname>)--coerce-all مع --audit وبيانات اعتماد ذات صلاحيات منخفضة لإكراه كل جهاز في النطاق من أجل توصيل حسابات الكمبيوتر الجماعي. مفيد جدًا في البيئات التي يتم فيها تمكين Net-NTLMv1.--ntlmv1 أو --ntlmv1-all لاكتشاف GPOs الخاصة بـ LanMan على مستوى النطاق. --ntlmv1-all يفحص جميع المضيفات من AD وقيم سجلها باستخدام RemoteRegistry. (يتطلب صلاحيات مدير محلي).--gen-relay-list <ملف> لإنتاج ملف أهداف قابل للاستيراد مباشرة لمفتاح -tf في ntlmrelayx.py.--audit عند وجود بيانات اعتماد. يمكن إخفاؤه باستخدام --no-ghosts. تكتب النتائج الكاملة إلى possible-ghost-spns.txt بجانب التقرير الرئيسي؛ يعرض التقرير أول 5 نتائج لتجنب الفوضى.-k (واسم FQDN لـ ) بشكل جيد. إذا كانت البيئة تحتوي على Domain Controllers معطّل فيها NTLM تمامًا ولكنها تتسامح معه في أي مكان آخر، يمكنك استخدام حتى لا يتعارض مع أي فحوصات. أيضًا، تتوفر و للعمل عبر SOCKS/وكلاء آخرين. حتى kerb يعمل في هذا السيناريو بسهولة.-h، كما هو متوقع:python3 relayking.py -h
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1 --gen-relay-list relaytargets.txt
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql -o plaintext,json --output-file relayking-scan --proto-portscan --gen-relay-list relaytargets.txt
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local -vv --protocols smb,ldap,ldaps,mssql,http,https -o plaintext SERVER1-EXAMPLE.LAB.LOCAL
python3 relayking.py --null-auth -vv --protocols smb,ldap,http -o plaintext 10.0.0.0/24
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1-all --gen-relay-list relaytargets.txt
--threads. يحصل كل خيط رئيسي على خيوط عاملة لمهام معينة تحته. يستخدم HTTP، على سبيل المثال، 20 خيطًا لكل خيط رئيسي. ينتج عن ذلك حوالي 200 خيط HTTP مفتوح لفحص مصادقة NTLM عبر HTTP. في معظم الأوقات، يتم تحمل هذا جيدًا، ولكن إذا تسبب في تأخير/مشاكل في الشبكة، قلل عدد الخيوط. الافتراضي 10 خيوط سريع جدًا على أي حال.--proto-portscan مع جميع عمليات المسح الخاصة بك. يحسن الأداء بشكل كبير ويمنع الماسح من انتظار المهلات على المنافذ غير الموجودة فعليًا. إذا تسبب في مشاكل، يمكنك إزالته على حساب أداء المسح (لكن لا ينبغي أن يسبب مشاكل!)--max-scangroup و --split-into و --skip للتحكم في التجميع.--max-scangroup لتحديد عدد الأهداف لكل مجموعة. على سبيل المثال، --max-scangroup 100 سيقسم 299 هدفًا إلى 3 مجموعات. ستكون المجموعات 100 و 100 و 99 هدفًا.--split-into لتحديد عدد المجموعات. على سبيل المثال، --split-into 3 سيقسم 299 هدفًا إلى 3 مجموعات. ستكون المجموعات 100 و 100 و 99 هدفًا. لا يمكنك تحديد --max-scangroup و --split-into في نفس الوقت.--skip لتخطي المجموعات. على سبيل المثال، --max-scangroup 3 --skip 1 سيقسم 299 هدفًا إلى 3 مجموعات كـ 100 و 100 و 99 هدفًا، ويتخطى المجموعة الأولى ثم يبدأ المسح من المجموعة الثانية. يساعد ذلك عندما ترغب في إعادة تشغيل هذه الأداة.--ntlmv1 أو --ntlmv1-all: إضافة --ntlmv1 ستسحب كل GPOs الخاصة بـ LanMan للنطاق ولا شيء غير ذلك. يتطلب بيانات اعتماد AD ذات صلاحيات منخفضة. --ntlmv1-all يتطلب بيانات اعتماد إدارية وسيفحص كل مضيف على حدة في النطاق الذي لديه منفذ SMB مفتوح بحثًا عن مفتاح السجل LMCompatibilityLevel. تشغيل --ntlmv1 على الأقل مطلوب لإظهار/كشف مسارات التوصيل SMB عبر البروتوكولات.
--ntlmv1-all. أيضًا ثقيل جدًا وغير آمن من حيث OPSEC، لكنه شامل. ربما لا يُنصح به إلا إذا كنت تلعب بجرأة أو يائسًا.-o json,plaintext) و --output-file relayking-scan ينتج relayking-scan.json + relayking-scan.txt لذا لا حاجة لتشغيله مرتين لصيغ متعددة. المتاح: plaintext, json, xml, csv, grep, markdown (الافتراضي: plaintext)--coerce-all ستستخدم PetitPotam و DFSCoerce و PrinterBug على جميع المضيفات المستهدفة. كما تقوم بإكراه جماعي لكل جهاز في النطاق دون تشغيل تدقيق البروتوكول الكامل. توفير + في سينفذ تدقيقًا للنطاق إكراهًا جماعيًا. ()--opsec-safe محتمل يتجنب استخدام Impacket/مكتبات Python أخرى مميزة. ليس تافهًا للتنفيذ.--ntlmv1 ومدقق بيانات الاعتماد ووحدة Ghost SPN ومحلل الأهداف جميعها تقوم بعملها الخاص في المصادقة. هذا أمر سخيف تمامًا ويحتاج إلى الدمج لاستخدام وحدة واحدة للمصادقة.-vv أو -vvv إذا كنت تواجه أخطاء. يستمر تحسين التسجيل مع كل إصدار.--audit ويفشل RelayKing في حل أي مضيفات في DNS لأن خوادم DNS الخاصة بهم ترفض ببساطة حل FQDNs الخاصة بالكمبيوتر في منطقة DNS المستهدفة. ليست مشكلة RelayKing./etc/resolv.conf) ثم تفشل الأشياء في الحل بشكل صحيح - ليست مشكلة RelayKing.كما هي. بالتأكيد توجد العديد من الأخطاء. انظر أعلاه. غير مصممة أو مخصصة للنشاط غير القانوني/غير المصرح به، بوضوح.
ضع في اعتبارك سلوك وطبيعة جميع الأدوات التي تشغلها من أجل مشاركة العميل وعلى شبكاته. يتم ذلك من خلال قراءة كود المصدر للأداة وفهم الأعمال الداخلية قبل التنفيذ، وليس عن طريق تشغيل كود عشوائي وجدته على GitHub. بينما أؤكد لك أنه لا يوجد كود ضار/تدميري متعمد داخل RelayKing، فإن التحقق من صحة جميع الأدوات الجديدة/غير المستخدمة قبل تشغيلها هو بشكل عام ممارسة جيدة. ثق، ولكن تحقق دائمًا.
كن حذرًا عند الاستخدام في تمارين الفريق الأحمر، خاصة مع الفحوصات المصادق عليها و --audit. سيتم اكتشافك وسيكون خطؤك! كان يجب أن تقرأ التحذير في أعلى ملف README إذا كنت تقرأ هذه الجملة بطريقة ما ولم تكن تعرف هذا بالفعل.
بينما من غير المحتمل جدًا/النادر أن يكسر RelayKing شيئًا ما، فأنت بمفردك، ولا يتحمل المؤلف أو Depth Security أي مسؤولية عن أي نتائج/مشكلات/مشاكل/انقلابات جيوماتية مكانية تؤدي إلى انفجارات نووية قد تنشأ (مهما كانت غير محتملة) من تشغيل RelayKing. قد تختلف النتائج. يتم توفير RelayKing، مرة أخرى، بدون أي ضمانات أو كفالة لأي نتائج أو ميزات أو فائدة أو سلوك محدد - مذكور صراحة هنا (و/أو غير مذكور) أو ضمنيًا بأي شكل آخر.
المستودع الشرعي الوحيد على GitHub للمؤلف (logansdiomedi) موجود على https://github.com/depthsecurity/RelayKing-Depth - جميع الآخرين هي شوك/نسخ/أي شيء آخر، ولم يقرأ المؤلف أو يتحقق أو يختبر أو يحلل أو يفحص الوظائف/السلوك/الشرعية. استخدم عقلك.
ترخيص MIT - راجع ملف LICENSE للحصول على التفاصيل
--dc-ip--krb-dc-only--dns-tcp-ns--audit--coerce--audit فقط): بعد اكتمال فحص المضيفات، يستعلم RelayKing AD عن أسماء SPNs التي لا تحتوي أسماء مضيفاتها على سجل DNS. هذه مرشحة لهجمات تسجيل DNS التي تعترض مصادقة NTLM. يتضمن التقرير ما يصل إلى 5 نتائج للحفاظ على الإخراج قابل للإدارة؛ تتم كتابة القائمة الكاملة دائمًا إلى possible-ghost-spns.txt في دليل العمل. مرر --no-ghosts لتخطي هذا الفحص تمامًا.--remove-mic في ntlmrelayx.