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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
enum4linux-ng — نسخة من الجيل التالي من enum4linux (أداة تعداد Windows/Samba) مع ميزات إضافية مثل تصدير JSON/YAML. موجهة لمحترفي الأمن ولاعبي CTF. | Kitploit
أدوات/GitHubGitHub/cddmp/enum4linux-ng
الاستطلاعجمع المعلوماتأمن الشبكاتCTFاختبار الاختراق
GitHubcddmp/enum4linux-ng

enum4linux-ng

نسخة من الجيل التالي من enum4linux (أداة تعداد Windows/Samba) مع ميزات إضافية مثل تصدير JSON/YAML. موجهة لمحترفي الأمن ولاعبي CTF.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

enum4linux-ng

نسخة محسّنة من enum4linux

النص البرمجي enum4linux-ng.py هو إعادة كتابة لأداة enum4linux.pl التي طورها Mark Lowe (سابقًا Portcullis Labs والآن Cisco CX Security Labs)، وهي أداة لجمع المعلومات من أنظمة Windows و Samba، موجهة لمحترفي الأمن ومستخدمي CTF. الأداة هي في الأساس غلاف حول أدوات Samba: nmblookup و net و rpcclient و smbclient.

لقد قمت بإنشائها لأغراض تعليمية شخصية ولحل المشكلات التي واجهتها مع enum4linux.pl. تتمتع الأداة بنفس وظائف الأداة الأصلية (على الرغم من أنها تقوم ببعض الأمور بشكل مختلف). على عكس الأداة الأصلية، تقوم بتحليل جميع مخرجات أدوات Samba وتسمح بتصدير جميع النتائج كملف YAML أو JSON. الفكرة من ذلك هي السماح للأدوات الأخرى باستيراد النتائج ومعالجتها بشكل إضافي. ومن المخطط إضافة ميزات جديدة في المستقبل.

الميزات

  • دعم التصدير إلى YAML و JSON
  • مخرجات ملونة في وحدة التحكم (يمكن تعطيلها عبر NO_COLOR)
  • تنفيذ أصلي لـ ldapsearch و polenum
  • دعم طرق مصادقة متعددة
  • دعم اتصالات SMBv1 القديمة
  • الكشف التلقائي عن دعم توقيع IPC
  • التعداد 'الذكي' يقوم تلقائيًا بتعطيل الاختبارات التي قد تفشل
  • دعم المهلة الزمنية
  • فحوصات إصدار SMB
  • دعم IPv6 (تجريبي)

الاختلافات

بعض الأمور تم تنفيذها بشكل مختلف مقارنةً بـ enum4linux الأصلي. هذه هي الاختلافات المهمة:

  • أعضاء المجموعة لا يتم تعدادهم افتراضيًا، يمكن تفعيل ذلك باستخدام -Gm
  • تشغيل RID ليس جزءًا من التعداد الافتراضي (-A) ولكن يمكن تفعيله باستخدام -R
  • يمكن تحقيق تشغيل RID بشكل أسرع عن طريق تجميع عدة استعلامات SID في استدعاء rpcclient واحد
  • تسمية المعاملات مختلفة قليلاً (على سبيل المثال -A بدلاً من -a)

الإشادات

أود أن أشكر وأعطي الفضل للأشخاص في Portcullis Labs السابق (الآن Cisco CX Security Labs)، وهم:

  • Mark Lowe لإنشاء 'enum4linux.pl' الأصلي (https://github.com/CiscoCXSecurity/enum4linux)
  • Richard 'deanx' Dean لإنشاء 'polenum' الأصلي (https://labs.portcullis.co.uk/tools/polenum/)

بالإضافة إلى ذلك، أود أن أشكر وأعطي الفضل لـ:

  • Craig 'Wh1t3Fox' West لفرعه من 'polenum' (https://github.com/Wh1t3Fox/polenum)

لقد كان من الممتع جدًا قراءة كودكم! :)

وأخيرًا وليس آخرًا، أود أن أشكر العديد من الأشخاص الذين ساهموا في الكود، وأبلغوا عن مشاكل، وقدموا اقتراحات مفيدة حول كيفية تحسين الأداة.

ملاحظة قانونية

إذا كنت تستخدم الأداة: لا تستخدمها لأغراض غير قانونية.

التشغيل

مثال على تشغيل قد يبدو كالتالي:

root@kitploit:~
enum4linux-ng.py -As <target> -oY out

عرض توضيحي

Windows Server 2012 R2

يعرض هذا العرض توضيحًا لتشغيل ضد تثبيت Windows Server 2012 R2 القياسي. يتم استخدام الأمر التالي:

root@kitploit:~
enum4linux-ng.py 192.168.125.131 -u Tester -p 'Start123!' -oY out

تم إنشاء مستخدم 'Tester' بكلمة مرور 'Start123!'. تم السماح بالوصول إلى جدار الحماية. بمجرد انتهاء التعداد، أقوم بالتمرير لأعلى لجعل النتائج أكثر وضوحًا. نظرًا لعدم تحديد خيار تعداد آخر، سيفترض الأداة -A الذي يتصرف مثل خيار -a في enum4linux. يتم تمرير المستخدم وكلمة المرور. سيقوم خيار -oY بتصدير جميع البيانات التي تم تعدادها كملف YAML لمزيد من المعالجة في out.yaml. تكتشف الأداة تلقائيًا في البداية أن LDAP لا يعمل على الجهاز البعيد. لذلك ستتخطى أي فحوصات LDAP إضافية والتي ستكون عادةً جزءًا من التعداد الافتراضي.

Demo

Metasploitable 2

العرض التوضيحي الثاني يظهر تشغيل ضد Metasploitable 2. يتم استخدام الأمر التالي:

root@kitploit:~
enum4linux-ng.py 192.168.125.145 -A -C

هذه المرة يتم استخدام خيارات -A و -C. بينما الأول يتصرف مثل خيار -a في enum4linux، فإن الثاني سيفعل تعداد الخدمات. هذه المرة لم يتم تقديم بيانات اعتماد. تكتشف الأداة تلقائيًا أنها بحاجة لاستخدام SMBv1. لا يتم كتابة أي ملف YAML أو JSON. مرة أخرى أقوم بالتمرير لأعلى لجعل النتائج أكثر وضوحًا.

Demo

الاستخدام

root@kitploit:~
usage: enum4linux-ng.py [-h] [-A] [-As] [-U] [-G] [-Gm] [-S] [-C] [-P] [-O] [-L] [-I] [-R [BULK_SIZE]] [-N] [-w DOMAIN] [-u USER]
                        [-p PW | -K TICKET_FILE | -H NTHASH] [--local-auth] [-d] [-k USERS] [-r RANGES] [-s SHARES_FILE] [-t TIMEOUT] [-v] [--keep]
                        [-oJ OUT_JSON_FILE | -oY OUT_YAML_FILE | -oA OUT_FILE]
                        host

هذه الأداة هي إعادة كتابة لـ enum4linux.pl الخاصة بـ Mark Lowe، وهي أداة لجمع المعلومات من أنظمة Windows و Samba. وهي في الأساس غلاف حول أدوات Samba nmblookup, net, rpcclient و smbclient. على عكس الأداة الأصلية، تسمح بتصدير نتائج التعداد كملف YAML أو JSON، بحيث يمكن معالجتها بشكل إضافي بواسطة أدوات أخرى. تحاول الأداة القيام بتعداد 'ذكي'. تتحقق أولاً مما إذا كان SMB أو LDAP متاحًا على الهدف. اعتمادًا على نتيجة هذا الفحص، ستتخطى ديناميكيًا بعض الفحوصات (مثل فحوصات LDAP إذا لم يكن LDAP قيد التشغيل). إذا كان SMB متاحًا، ستتحقق دائمًا مما إذا كان يمكن إنشاء جلسة أم لا. إذا لم يمكن إنشاء جلسة، ستوقف الأداة التعداد. يمكن مقاطعة عملية التعداد باستخدام CTRL+C. إذا تم توفير الخيارات -oJ أو -oY، ستقوم الأداة بكتابة حالة التعداد الحالية إلى ملف JSON أو YAML عند استلام SIGINT الناتج عن CTRL+C. تم إنشاء الأداة لمحترفي الأمن ومستخدمي CTF. الاستخدام غير القانوني محظور.

الوسائط الموضعية:
  host

الخيارات:
  -h, --help         عرض رسالة المساعدة هذه والخروج
  -A                 القيام بكل التعداد البسيط بما في ذلك nmblookup (-U -G -S -P -O -N -I -L). يتم تمكين هذا الخيار إذا لم تقدم أي خيار آخر.
  -As                القيام بكل التعداد البسيط القصير بدون بحث أسماء NetBIOS (-U -G -S -P -O -I -L)
  -U                 الحصول على المستخدمين عبر RPC
  -G                 الحصول على المجموعات عبر RPC
  -Gm                الحصول على المجموعات مع أعضائها عبر RPC
  -S                 الحصول على المشاركات عبر RPC
  -C                 الحصول على الخدمات عبر RPC
  -P                 الحصول على معلومات سياسة كلمة المرور عبر RPC
  -O                 الحصول على معلومات نظام التشغيل عبر RPC
  -L                 الحصول على معلومات إضافية عن المجال عبر LDAP/LDAPS (لوحدات التحكم بالمجال فقط)
  -I                 الحصول على معلومات الطابعة عبر RPC
  -R [BULK_SIZE]     تعداد المستخدمين عبر تشغيل RID. اختياريًا، يحدد حجم طلب البحث.
  -N                 القيام ببحث أسماء NetBIOS (مشابه لـ nbtstat) ومحاولة استرداد مجموعة العمل من المخرجات
  -w DOMAIN          تحديد مجموعة العمل/المجال يدويًا (عادةً ما يتم العثور عليه تلقائيًا)
  -u USER            تحديد اسم المستخدم للاستخدام (الافتراضي "")
  -p PW              تحديد كلمة المرور للاستخدام (الافتراضي "")
  -K TICKET_FILE     محاولة المصادقة باستخدام Kerberos، مفيد فقط في بيئة Active Directory (ملاحظة: يجب إعداد DNS بشكل صحيح لكي يعمل هذا الخيار)
  -H NTHASH          محاولة المصادقة باستخدام الهاش
  --local-auth       المصادقة محليًا على الهدف
  -d                 الحصول على معلومات مفصلة للمستخدمين والمجموعات، ينطبق على -U و -G و -R
  -k USERS           المستخدم (المستخدمون) الموجودون على النظام البعيد (الافتراضي: administrator,guest,krbtgt,domain admins,root,bin,none). يستخدم للحصول على SID باستخدام "lookupsids"
  -r RANGES          نطاقات RID للتعداد (الافتراضي: 500-550,1000-1050)
  -s SHARES_FILE     تخمين قوة المشاركات
  -t TIMEOUT         تعيين مهلة الاتصال بالثواني (الافتراضي: 10 ثوانٍ)
  -v                 مطوّل، عرض أوامر أدوات samba الكاملة التي يتم تشغيلها (net, rpcclient, إلخ.)
  --keep             لا تحذف ملف تكوين Samba الذي تم إنشاؤه أثناء تشغيل الأداة بعد التعداد (مفيد مع -v)
  -oJ OUT_JSON_FILE  كتابة المخرجات إلى ملف JSON (يتم إضافة الامتداد تلقائيًا)
  -oY OUT_YAML_FILE  كتابة المخرجات إلى ملف YAML (يتم إضافة الامتداد تلقائيًا)
  -oA OUT_FILE       كتابة المخرجات إلى ملفي YAML و JSON (يتم إضافة الامتدادات تلقائيًا)

التثبيت

هناك عدة طرق لتثبيت الأداة. إما أن تأتي الأداة كحزمة مع توزيعة Linux الخاصة بك أو تحتاج إلى تثبيت يدوي.

Kali Linux

root@kitploit:~
apt install enum4linux-ng 

Archstrike

root@kitploit:~
pacman -S enum4linux-ng

NixOS

(تم اختباره على NixOS 20.9)

root@kitploit:~
nix-env -iA nixos.enum4linux-ng

التثبيت اليدوي

إذا كانت توزيعة Linux الخاصة بك لا توفر حزمة، يمكن استخدام طرق التثبيت اليدوي التالية بدلاً من ذلك.

المتطلبات

تستخدم الأداة أدوات عميل samba، وهي:

  • nmblookup
  • net
  • rpcclient
  • smbclient

يجب أن تكون هذه متاحة لجميع توزيعات Linux. عادةً ما تسمى الحزمة smbclient أو samba-client أو ما شابه ذلك.

بالإضافة إلى ذلك، ستحتاج إلى حزم Python التالية:

  • ldap3
  • PyYaml
  • impacket

لمعالجة أسرع لـ YAML (اختياري!) قم أيضًا بتثبيت (يجب أن يأتي كاعتمادية لـ PyYaml في معظم توزيعات Linux):

  • LibYAML

بعض الأمثلة لتثبيتات توزيعات Linux محددة مذكورة أدناه. بدلاً من ذلك، الطرق المستقلة عن التوزيعة (python pip, python virtual env و Docker) ممكنة.

حسب توزيعة Linux محددة

بالنسبة لجميع أمثلة التوزيعات أدناه، فإن LibYAML هو بالفعل اعتمادية لحزمة PyYaml المقابلة وسيتم تثبيتها تلقائيًا.

ArchLinux

root@kitploit:~
pacman -S smbclient python-ldap3 python-yaml impacket

Fedora/CentOS/RHEL

(تم اختباره على Fedora Workstation 31)

root@kitploit:~
dnf install samba-common-tools samba-client python3-ldap3 python3-pyyaml python3-impacket

Debian/Ubuntu/Linux Mint

(لـ Ubuntu 18.04 أو أقل استخدم Docker أو بيئة Python الافتراضية)

root@kitploit:~
apt install smbclient python3-ldap3 python3-yaml python3-impacket

طرق مستقلة عن توزيعة Linux

Python pip

اعتمادًا على توزيعة Linux، ستحتاج إما إلى pip3 أو pip:

root@kitploit:~
pip install pyyaml ldap3 impacket

بديل:

root@kitploit:~
pip install -r requirements.txt

تذكر أنك لا تزال بحاجة إلى تثبيت أدوات samba كما هو مذكور أعلاه.

بيئة Python الافتراضية

root@kitploit:~
git clone https://github.com/cddmp/enum4linux-ng
cd enum4linux-ng
python3 -m venv venv
source venv/bin/activate
pip install wheel
pip install -r requirements.txt

ثم قم بتشغيل عبر:

root@kitploit:~
python3 enum4linux-ng.py -As <target>

تذكر أنك لا تزال بحاجة إلى تثبيت أدوات samba كما هو مذكور أعلاه. بالإضافة إلى ذلك، تأكد من تشغيل source venv/bin/activate في كل مرة تفتح فيها غلافًا جديدًا. وإلا سيتم استخدام مترجم Python الخاطئ مع المكتبات الخاطئة (النظام الخاص بك بدلاً من بيئة Python الافتراضية).

Docker

root@kitploit:~
git clone https://github.com/cddmp/enum4linux-ng
cd enum4linux-ng
docker build . --tag enum4linux-ng

بمجرد الانتهاء، يمكن أن يبدو مثال التشغيل كالتالي:

root@kitploit:~
docker run -t enum4linux-ng -As <target>

المساهمة والدعم

أحيانًا، ستقوم الأداة بإخراج رسائل خطأ مثل:

Could not <some text here>, please open a GitHub issue

في هذه الحالة، يرجى إعادة تشغيل الأداة مع الخيارين -v و --keep. سيسمح لك ذلك برؤية الأمر الدقيق الذي تسبب في رسالة الخطأ. انسخ ذلك الأمر، وقم بتشغيله في الطرفية الخاصة بك وأعد توجيه المخرجات إلى ملف. ثم افتح مشكلة GitHub هنا، مع لصق الأمر وإرفاق ملف مخرجات الخطأ. يساعد ذلك في تصحيح المشكلة. بالطبع، يمكنك تصحيحها بنفسك وتقديم طلب سحب.

إذا كانت الأداة مفيدة لك، فأنا سعيد إذا تركت نجمة!

تنزيل الأداة