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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
batea — تصنيف أجهزة الشبكة القائم على الذكاء الاصطناعي والموجه بالسياق | Kitploit
أدوات/GitHubGitHub/delvelabs/batea
تحليل الثغرات الأمنيةجمع المعلوماتأمن الشبكاتتعلم الآلةكشف الشذوذ
GitHubdelvelabs/batea

batea

تصنيف أجهزة الشبكة القائم على الذكاء الاصطناعي والموجه بالسياق

عرض المستودع
30347منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Python package

logo

Batea

الباطية هي وعاء ضحل كبير من الخشب أو الحديد استخدمه تقليديًا المنقبون عن الذهب لغسل الرمل والحصى لاستخراج شذرات الذهب.

Batea هو إطار عمل لترتيب أجهزة الشبكة مدفوع بالسياق يعتمد على عائلة خوارزميات تعلم الآلة لاكتشاف الشذوذ. الهدف من Batea هو تمكين فرق الأمن من تصفية الأصول الشبكية المهمة تلقائيًا في الشبكات الكبيرة باستخدام تقارير فحص nmap. نحن نطلق على هذه شذرات الذهب.

لمزيد من المعلومات حول "Gold Nuggeting" والعلم وراء Batea، راجع ورقتنا البحثية هنا

كيف يعمل

يعمل Batea عن طريق بناء تمثيل رقمي (numpy) لجميع الأجهزة من تقارير nmap الخاصة بك (XML)، ثم تطبيق طرق اكتشاف الشذوذ للكشف عن شذرات الذهب. يمكن توسيعه بسهولة عن طريق إضافة ميزات محددة، أو خصائص مثيرة للاهتمام، إلى التمثيل الرقمي لعناصر الشبكة.

يتم بناء التمثيل الرقمي للشبكة باستخدام ميزات مستوحاة من خبرة مجتمع الأمن. تعمل الميزات كعناصر حدس، وتسمح طرق اكتشاف الشذوذ غير الخاضعة للإشراف باستخدام سياق أصل الشبكة، أو الوصف الكامل للشبكة، كعنصر أساسي في خوارزمية الترتيب. الخوارزمية المستخدمة هي Isolation Forest (https://en.wikipedia.org/wiki/Isolation_forest)

النماذج هي قلب Batea. النماذج هي خوارزميات مدربة على مجموعة البيانات بأكملها وتستخدم للتنبؤ بنتيجة على نفس نقاط البيانات (والنقاط الأخرى) (أجهزة الشبكة). يسمح Batea أيضًا باستمرارية النموذج. أي أنه يمكنك إعادة استخدام نماذج مدربة مسبقًا وتصدير نماذج مدربة على مجموعات بيانات كبيرة لاستخدامها لاحقًا.

الاستخدام

root@kitploit:~
# معلومات كاملة
$ sudo nmap -A 192.168.0.0/16 -oX output.xml

# معلومات جزئية
$ sudo nmap -O -sV 192.168.0.0/16 -oX output.xml


$ batea -v output.xml

التثبيت

root@kitploit:~
$ git clone [email protected]:delvelabs/batea.git
$ cd batea
$ python3 setup.py sdist
$ pip3 install -r requirements.txt
$ pip3 install -e .

تثبيت المطورين

root@kitploit:~
$ git clone [email protected]:delvelabs/batea.git
$ cd batea
$ python3 -m venv batea/
$ source batea/bin/activate
$ python3 setup.py sdist
$ pip3 install -r requirements-dev.txt
$ pip3 install -e .
$ pytest

مثال على الاستخدام

root@kitploit:~
# استخدام بسيط (إخراج أفضل 5 شذرات ذهب بالتنسيق الافتراضي)
$ batea nmap_report.xml

# إخراج أفضل 3
$ batea -n 3 nmap_report.xml

# إخراج جميع الأصول
$ batea -A nmap_report.xml

# استخدام ملفات إدخال متعددة
$ batea -A nmap_report1.xml nmap_report2.xml

# استخدام أحرف البدل (xsl افتراضيًا)
$ batea ./nmap*.xml
$ batea -f csv ./assets*.csv

# يمكنك استخدام batea على نماذج مدربة مسبقًا وتصدير النماذج المدربة.

# التدريب والإخراج وتفريغ النموذج للاستمرارية
$ batea -D mymodel.batea nmap_report.xml

# استخدام نموذج مدرب مسبقًا
$ batea -L mymodel.batea nmap_report.xml

# استخدام csv منسق مسبقًا مع ملفات xml
$ batea -x nmap_report.xml -c portscan_data.csv

# ضبط مستوى التفاصيل
$ batea -vv nmap_report.xml

كيفية إضافة ميزة

يعمل Batea عن طريق تعيين ميزات رقمية لكل مضيف في التقرير (أو سلسلة من التقارير). المضيفون هم كائنات بايثون مشتقة من تقرير nmap. تتكون من قائمة السمات التالية: [ipv4, hostname, os_info, ports] حيث ports هي قائمة كائنات منفذ. يحتوي كل منفذ على قائمة السمات التالية: [port, protocol, state, service, software, version, cpe, scripts]، وكلها افتراضيًا None.

الميزات هي كائنات موروثة من فئة FeatureBase تقوم بإنشاء طريقة _transform محددة. تأخذ هذه الطريقة دائمًا قائمة جميع المضيفين كمدخل وتعيد دالة لامبدا (lambda function) تقوم بتعيين كل مضيف إلى عمود numpy من القيم الرقمية (يتم الحفاظ على ترتيب المضيفين). ثم يتم إلحاق العمود بالتمثيل المصفوفي للتقرير. يجب أن تخرج الميزات قيمًا رقمية صحيحة (أعداد صحيحة أو أعداد كسرية) ولا شيء غير ذلك.

يتم تنفيذ معظم تحويلات الميزات باستخدام دالة لامبدا بسيطة. فقط تأكد من تعيين قيمة رقمية افتراضية لكل مضيف لتوافق النموذج.

مثال:

root@kitploit:~

class CustomInterestingPorts(FeatureBase):
    def __init__(self):
        super().__init__(name="some_custom_interesting_ports")

    def _transform(self, hosts):
      """This method takes a list of hosts and returns a function that counts the number
      of host ports member from a predefined list of "interesting" ports, defaulting to 0.

      Parameters
      ----------
      hosts : list
          The list of all hosts

      Returns
      -------
      f : lambda function
          Counts the number of ports in the defined list.
      """
        member_ports = [21, 22, 25, 8080, 8081, 1234]
        f = lambda host: len([port for port in host.ports if port.port in member_ports])
        return f

يمكنك بعد ذلك إضافة الميزة إلى التقرير باستخدام طريقة NmapReport.add_feature في batea/__init__.py

root@kitploit:~
from .features.basic_features import CustomInterestingPorts

def build_report():
    report = NmapReport()
    #[...]
    report.add_feature(CustomInterestingPorts())

    return report

استخدام البيانات الجدولية المحسوبة مسبقًا (CSV)

من الممكن استخدام بيانات معالجة مسبقًا لتدريب النموذج أو للتنبؤ. يجب فهرسة البيانات باستخدام (ipv4, port) مع مجموعة فريدة واحدة لكل صف. يجب أن يكون نوع البيانات مشابهًا لما تتوقعه من إصدار XML لتقرير nmap. يجب أن يستخدم عمود واحدًا من الأسماء التالية، لكن ليس عليك استخدامها جميعًا. يقوم المحلل الافتراضي بتعيين قيم فارغة إذا كان العمود غائبًا.

root@kitploit:~
  'ipv4',
  'hostname',
  'os_name',
  'port',
  'state',
  'protocol',
  'service',
  'software_banner',
  'version',
  'cpe',
  'other_info'

مثال:

root@kitploit:~
ipv4,hostname,os_name,port,state,protocol,service,software_banner
10.251.53.100,internal.delvesecurity.com,Linux,110,open,tcp,rpcbind,"program version   port/proto  service100000  2,3,4        111/tcp  rpcbind100000  2,3,4    "
10.251.53.100,internal.delvesecurity.com,Linux,111,open,tcp,rpcbind,
10.251.53.188,serious.delvesecurity.com,Linux,6000,open,tcp,X11,"X11Probe: CentOS"

إخراج التمثيل الرقمي

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

root@kitploit:~
$ batea -oM network_matrix nmap_report.xml
تنزيل الأداة