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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
adnullenum — تعداد Active Directory مجهول در یک پاس از طریق SAMR و LSARPC — نشست null، بدون اعتبارنامه، با خروجی ساختاریافته قابل استفاده مجدد. | Kitploit
أدوات/GitHubGitHub/crypt0p3g/adnullenum
أدوات دفاعيةالاستخبارات مفتوحة المصدر (OSINT)الاستطلاعتحليل الثغرات الأمنيةجمع المعلوماتأمن الشبكاتاختبار الاختراقالفريق الأحمر
GitHubcrypt0p3g/adnullenum

adnullenum

تعداد Active Directory مجهول در یک پاس از طریق SAMR و LSARPC — نشست null، بدون اعتبارنامه، با خروجی ساختاریافته قابل استفاده مجدد.

عرض المستودع
691074منذ 23 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

adnullenum

مُعدِّد Active Directory بتمريرة واحدة لجلسة مجهولة (null)، باستخدام الأنابيب المُسمّاة \samr و\lsarpc. لا يتطلب أي بيانات اعتماد.

لا يفعل شيئًا لا تستطيع الأدوات الكلاسيكية فعله. ما يفعله هو جمع كل شيء في تشغيل واحد وعرض النتائج بشكل مرتب. في مهمة اختبار اختراق تبدأ بدون حساب نطاق، وتجد وحدة التحكم بالمجال (DC) عبر DNS، وتريد الصورة الكاملة، الحسابات، وتفاصيل كل مستخدم، والمجموعات، والسياسات، وأجزاء LSA/DNS، دون تجميع جلسات rpcclient أو عدة نصوص منفصلة ثم تحليل مخرجاتها يدويًا. هذا يفعل ذلك نيابة عنك ويكتب مخرجات منظمة وقابلة لإعادة الاستخدام:

  • أمر واحد يغطي معلومات النطاق، والسياسة، واكتشاف RID، وتفاصيل كل مستخدم والمجموعات، مع اختيار الطريقة التي تعمل والتدرج بسلاسة عند قفل SAMR (انظر How it compares و When SAMR is locked down).
  • مخرجات مُصمَّمة لتغذية الأداة التالية. مجلدات تشغيل بطوابع زمنية مع txt / csv / (اختياري) json، وmanifest.json، وuserlist.txt / computerlist.txt جاهزة للاستخدام، وقائمة RID محفوظة يمكنك إعادة استخدامها بدلًا من القوة الغاشمة مرتين.
  • تمييز الحسابات المثيرة للاهتمام أثناء المرور عليها (قابلة لـ AS-REP roasting، كلمة المرور غير مطلوبة، تفويض غير مقيّد، وما إلى ذلك).

يُرجى تشغيل هذا فقط ضد الأنظمة التي تملكها أو المصرّح لك صراحةً باختبارها. تعداد دليل شخص آخر دون إذن غير مقبول، وقد يكون غير قانوني حسب موقعك.

هناك نسختان تتصرفان بشكل متطابق. استخدم أي مكتبة متوفرة لديك:

  • adnullenum.py — مبني على impacket.

ما الذي يجمعه

  • المستخدمون وأجهزة الكمبيوتر والمجموعات. حسابات الأجهزة (تلك المنتهية بـ $) مفصولة عن المستخدمين الحقيقيين.
  • تفاصيل كاملة لكل مستخدم. الوصف، وعضويات المجموعات، وطوابع وقت كلمة المرور وتسجيل الدخول، وعلامات الحساب، وقيود تسجيل الدخول (ساعات تسجيل الدخول، وأجهزة العمل المسموح بها، والانتهاء).
  • المجموعات مع أعضائها، مُترجَمة إلى أسماء حقيقية.
  • معلومات النطاق والسياسة. اسم النطاق، وSID، ودور الخادم، وأعداد المستخدمين/المجموعات/أجهزة الكمبيوتر الفعلية، وسياسة كلمة المرور والقفل.
  • تفاصيل LSA / DNS. اسم نطاق DNS والغابة، وGUID النطاق، وSID النطاق، وأي علاقات ثقة — غالبًا ما تُعاد هذه حتى عند قفل SAMR نفسه.

كما يميّز الحسابات المثيرة للاهتمام نيابة عنك: أشياء مثل "كلمة المرور غير مطلوبة"، و"كلمة المرور لا تنتهي أبدًا"، وقابلة لـ AS-REP roasting، وتفويض غير مقيّد، ولم تسجّل الدخول أبدًا، أو وصف يذكر كلمة مرور.

هناك أمران ينبعان بشكل طبيعي من هذا:

  • أسماء المستخدمين التي تجمعها هي قائمتك لـ AS-REP roasting.
  • أسماء أجهزة الكمبيوتر هي قائمتك لفحوصات حسابات الأجهزة لما قبل Windows 2000.

كيف يُقارَن

كل شيء هنا هو SAMR/LSARPC مجهول قياسي، والأدوات الراسخة تصل بالفعل إلى نفس البيانات. هذا غلاف للراحة، وليس قدرة جديدة، لذا يجدر معرفة البدائل:

  • enum4linux-ng هو المكافئ الأقرب: جلسة null لـ SAMR + LSA، وتدوير RID، والسياسة، والمستخدمين والمجموعات. إذا أردت أداة ناضجة وواسعة الاستخدام، استخدمها. يتداخل adnullenum معها بشكل كبير.
  • NetExec (--rid-brute، --users، --pass-pol) يغطي نفس التعداد داخل إطار عمل أكبر بكثير.
  • impacket يوفّره كنصين: samrdump.py (المستخدمون/المجموعات/الأسماء المستعارة + تفاصيل كل مستخدم) وlookupsid.py (تدوير RID عبر LSA). لا تشغيل واحد، ولا تراجع من SAMR إلى LSA، والمخرجات على stdout فقط.
  • rpcclient يكشف الاستدعاءات الأساسية (queryuser، enumdomusers، querydominfo، lsaquery، lookupsids، …) لكن بشكل تفاعلي وعلى stdout فقط. أمر enumdomusers الخاص به يسرد المستخدمين القياسيين بالاسم، بدون حسابات الأجهزة ($)، والتفاصيل الكاملة تتطلب queryuser واحدًا تلو الآخر. بدون حلقة تدوير RID مدمجة لا يمكنه استعادة أجهزة الكمبيوتر أو الالتفاف حول التعداد المقيّد. انظر Doing it by hand.

ما يضيفه adnullenum هو التغليف: تشغيل واحد بجلسة null بدلًا من عدة أدوات، SAMR أولًا مع تراجع اختياري إلى LSA، وعلامات منسّقة للحسابات المثيرة للاهتمام، ومخرجات متعددة الصيغ مرتبة يمكنك تسليمها مباشرة إلى الخطوة التالية أو إعادة فتحها لاحقًا. إذا كانت سير العمل هذه تناسب طريقة عملك، استخدمها؛ وإذا كنت تفضّل أداة مُجرَّبة، فاستخدم enum4linux-ng أو NetExec.


التثبيت

تحتاج إلى Python 3.9+ ومكتبة SMB واحدة. البيئة الافتراضية تحافظ على الترتيب:

# clone / copy the files, then from the project folder:
python3 -m venv venv
source venv/bin/activate          # Windows: venv\Scripts\activate

pip install impacket              # for adnullenum.py

هذا كل شيء. شغّل python3 adnullenum.py --help لرؤية كل شيء.


كيفية استخدامه

كل شيء يعمل عبر --mode واحد. الافتراضي هو recon، وهو الشيء الآمن للتشغيل أولًا.

الوضعما تحصل عليه
reconمعلومات النطاق، والأعداد، وسياسة كلمة المرور/القفل، وتفاصيل LSA/DNS. لا قوة غاشمة. مجرد نظرة حول المكان.
ridsيجد الحسابات الموجودة ويفرزها إلى مستخدمين / أجهزة كمبيوتر / مجموعات.
usersما سبق، بالإضافة إلى تفاصيل كاملة عن كل مستخدم حقيقي وملخص "الحسابات المثيرة للاهتمام". أضف --include-groups لسرد مجموعات كل مستخدم أيضًا.
groupsمجموعات النطاق والأسماء المستعارة المدمجة مع أعضائها.
fullكل ما سبق.
# 1. Is anonymous access open, and how big is this domain?
python3 adnullenum.py 10.0.0.10

# 2. Grab everything
python3 adnullenum.py 10.0.0.10 --mode full

# 3. Just the account inventory, wider net for a big domain
python3 adnullenum.py 10.0.0.10 --mode rids --start-rid 1000 --max-rid 200000

# 4. Go slower to stay quiet
python3 adnullenum.py 10.0.0.10 --mode users --sleep 1 --jitter 40

# 5. Also write JSON (txt and csv are always written)
python3 adnullenum.py 10.0.0.10 --mode full --json

العثور على الحسابات

إذا لم يسمح النطاق بسرد المستخدمين مباشرةً (وهو أمر شائع)، تتراجع الأداة إلى تدوير RID: تطلب من DC ترجمة معرّفات الحسابات إلى أسماء على دفعات من 1000. افتراضيًا تمسح تصاعديًا حتى تجد كل ما يقول DC إنه موجود، أو حتى تعود 5000 معرّف متتالية فارغة. يمكنك تثبيتها على نطاق محدد بدلًا من ذلك:

python3 adnullenum.py 10.0.0.10 --mode rids --range 500-50000

عندما يكون SAMR مقفلًا

بعض وحدات DC ترفض SAMR المجهول تمامًا (تعود enumdomains وترجمة RID بـ ACCESS_DENIED). لا يستسلم التشغيل:

  • استطلاع LSA يعمل دائمًا. اسم النطاق، وSID، وغالبًا الغابة، وGUID، وعلاقات الثقة تأتي من \lsarpc، الذي يستجيب كثيرًا عندما لا يستجيب SAMR.
  • يمكن لتدوير RID التراجع إلى LSA (اختياري). إذا لم يترجم SAMR معرّفات RID ومرّرت --lsa-fallback، تعيد الأداة محاولة نفس المسح عبر LSA LsarLookupSids باستخدام SID النطاق، مما يمنحك جرد الحسابات (الأسماء والأنواع، بما في ذلك أجهزة الكمبيوتر). إنه معطّل افتراضيًا لأنه تمريرة قوة غاشمة ثانية؛ بدون العلامة يتوقف التشغيل عند الاستطلاع ويذكر ذلك.
  • التفاصيل العميقة لكل مستخدم وعضوية المجموعات تحتاج SAMR. عندما يكون SAMR محظورًا تُتخطى تلك المراحل وتُدوَّن؛ لا يزال لديك جرد الأسماء/الأنواع.
  • إذا كانت عمليات بحث LSA محظورة أيضًا، يتدهور التشغيل إلى الاستطلاع فقط (اسم النطاق وSID). على هدف كهذا، لن تعدّد أي أداة مجهولة الحسابات.

عدم استخدام القوة الغاشمة مرتين

العثور على الحسابات هو الجزء البطيء، لذا تحفظ الأداة القائمة (rids.txt) في مجلد مخرجات كل تشغيل. وجّه تشغيلًا لاحقًا إلى ذلك المجلد باستخدام --session وسيتخطى القوة الغاشمة ويعيد استخدام ما وجدته بالفعل:

python3 adnullenum.py 10.0.0.10 --mode rids
# -> output/20260917-1530_10.0.0.10_rids/

python3 adnullenum.py 10.0.0.10 --mode users \
    --session output/20260917-1530_10.0.0.10_rids

يأخذ --session مجلد تشغيل سابق. (--rid-file يفعل الشيء نفسه من ملف نصي عادي يحتوي على RID واحد في كل سطر.)


المخرجات

كل تشغيل يُنشئ مجلدًا بطابع زمني تحت output/:

تنزيل الأداة