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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
netlas-cookbook — هدف هذا الدليل بسيط جدًا - تعليم أي شخص مهتم بالأمن السيبراني، بغض النظر عن مستوى معرفته، كيفية الاستفادة القصوى من Netlas.io. | Kitploit
أدوات/GitHubGitHub/netlas-io/netlas-cookbook
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعأمان إنترنت الأشياءتحليل الثغرات الأمنيةجمع المعلوماتأمن الويبالتحاليل الرقمية الجنائيةاختبار الاختراقاستخبارات التهديداتالتعلم والتعليمموارد منسقةمسارات ودورات التعلم
888105منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHubnetlas-io/netlas-cookbook

netlas-cookbook

هدف هذا الدليل بسيط جدًا - تعليم أي شخص مهتم بالأمن السيبراني، بغض النظر عن مستوى معرفته، كيفية الاستفادة القصوى من Netlas.io.

عرض المستودع

Netlas CookBook

GitHub stars GitHub forks


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

⭐️ امنحنا نجمة لإظهار تقديرك
👁️ اشترك للحصول على التحديثات

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

جدول المحتويات

  • أمثلة استخدام بسيطة
    • الحصول على معلومات حول IP أو نطاق
    • البحث عن النطاقات غير اللاتينية
    • البحث عن مواقع تحتوي على كلمة معينة في عنوانها
  • بناء جملة استعلام البحث
    • عوامل التصفية (الحقول)
    • العوامل المنطقية
    • النطاقات
    • أحرف البدل
    • الضبابية
    • التعبيرات النمطية
    • ميزات البحث الأخرى في Netlas.io
  • طلبات API
    • كيفية العثور على مفتاح API؟
    • أدوات تصحيح أخطاء طلبات API
    • هيكل استجابة JSON لواجهة Netlas API
    • أدوات العمل مع البيانات بتنسيق JSON
    • مكتبة Netlas Python
    • أمثلة على مفاتيح الاستجابة للحصول على بيانات مفيدة
    • أنواع بيانات استجابة Python في Netlas
    • أدوات CLI في Netlas
    • طرق Search مقابل Download مقابل Host
    • معاملات الطلب الإضافية
    • إرسال الطلبات باستخدام Python (بدون مكتبة Netlas Python)
    • أمثلة للغات برمجة أخرى
    • أداة JQ
    • أدوات AI لكتابة الكود
    • مدققات الكود
  • استخدام Netlas.io في OSINT (الاستخبارات مفتوحة المصدر)
    • البحث عن اسم مستعار أو بريد إلكتروني لشخص في جهات اتصال WHOIS
    • البحث عن اسم مستعار أو بريد إلكتروني لشخص في عنوان ومحتوى صفحة الويب
    • البحث عن "ملفات معلومات حساسة" في النطاقات الفرعية لموقع الشركة
    • البحث عن ذكر أرقام الهواتف
    • البحث عن ذكر ملفات (البحث عن محتوى قد ينتهك حقوق النشر)
    • جمع معلومات WHOIS للنطاق
    • البحث عن موقع في وسم <address>
    • البحث عن اسم المؤلف في وسوم Meta
    • ما الأشياء المثيرة الأخرى التي يمكن العثور عليها في وسوم Meta لمستند HTML؟
    • البحث حسب نص لافتات خوادم FTP
    • البحث عن معلومات الاتصال في شهادات SSL
    • استخدام Netlas كبديل لآلة Wayback
    • 9 طرق للبحث عن المواقع ذات الصلة
  • Scraping (استخراج البيانات من محتوى صفحة الويب)
    • حزمة BeautifulSoup
    • حزمة Re
    • حزم Python أخرى للـ Scraping
  • استخدام Netlas.io في تحقيقات العملات الرقمية
    • البحث عن مزارع التعدين
    • البحث عن مواقع مصابة بعملات التعدين الخبيثة
    • البحث عن عُقد Bitcoin ضعيفة
  • استخدام Netlas في اختبار الاختراق
    • البحث عن النطاقات الفرعية
    • البحث عن مواقع بها ثغرات أمنية محددة
    • البحث عن مواقع بها ثغرات أمنية تحتوي على كلمة معينة في أوصافها
    • البحث حسب رأس HTTP للخادم
    • البحث عن خوادم ضعيفة بواسطة تجزئة Favicon
    • البحث عن خوادم ضعيفة بواسطة اسم الوسم
    • البحث عن خوادم وأجهزة ضعيفة بالقرب منك (أو أي موقع آخر)
    • البحث عن لوحات تسجيل الدخول/الإدارة
    • البحث عن لوحات إدارة قواعد البيانات الضعيفة
    • البحث عن مواقع معرضة لحقن SQL
  • بحث إنترنت الأشياء: 9 طرق أساسية
    • البحث حسب العنوان
    • البحث داخل المحتوى
    • البحث حسب رقم المنفذ
    • البحث حسب اللافتة
    • البحث حسب Favicon
    • البحث حسب رؤوس الخادم
    • البحث حسب ملفات تعريف الارتباط
    • البحث حسب الوسم
    • عوامل تصفية بحث إضافية
  • استخدام Netlas.io في أبحاث الدارك ويب
    • البحث عن عُقد خروج Tor
    • جمع روابط لمواقع .onion
  • البحث في أدلة الملفات والنسخ الاحتياطية والسجلات
  • استخدام Netlas.io في الطب الشرعي الرقمي والاستجابة للحوادث
    • جمع معلومات خوادم SMTP
    • البحث عن النطاقات التي قد تُستخدم في التصيد
    • البحث حسب Favicon
    • البحث عن النطاقات المرتبطة بشبكة فرعية معينة
    • البحث عن خوادم بها برامج ضارة
  • البحث عن التقنيات وأمثلة الأكواد
  • استخدام Netlas.io للمتعة أو تصفح الشبكة
  • المشكلات الشائعة
    • خطأ 429 - الطلبات المتكررة جدًا
    • KeyError
    • أتمتة العمل مع قائمة الطلبات
    • حفظ البيانات بتنسيق CSV
    • حفظ البيانات بتنسيقات أخرى
    • فك تشفير النطاقات Punycode
    • ماذا تفعل إذا لم تُرجع استعلامات البحث نتائج؟
    • إزالة وسوم HTML من محتوى HTTP
  • إدارة سطح الهجوم
  • العمل مع كميات كبيرة جدًا من البيانات
  • شكر وتقدير

أمثلة استخدام بسيطة

يتضمن Netlas عدة أدوات بحث:

  • معلومات IP/النطاق →
  • بحث الاستجابة →
  • بحث DNS →
  • بحث WHOIS لـ IP →
  • بحث WHOIS للنطاقات →
  • بحث الشهادات →

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

قبل أن نتعمق في التفاصيل التقنية، دعنا نرى كيف يعمل Netlas.io مع بعض الأمثلة البسيطة.

الحصول على معلومات حول IP أو نطاق

جمع معلومات النطاق

افتح Netlas.io معلومات IP/النطاق وأدخل اسم النطاق أو IP. سيتم عرض المعلومات التالية كنتيجة:

  • بيانات whois (المسجل، الموقع، رسائل البريد الإلكتروني، أرقام الهواتف)
  • النطاقات ذات الصلة
  • سجلات MX و NS
  • المنافذ والبرامج المكشوفة (تعرض أحيانًا معلومات إضافية عن الثغرات الأمنية)

البحث عن النطاقات غير اللاتينية

تحويل Punycode

إذا كنت بحاجة إلى العثور على نطاقات صينية أو غيرها من أسماء النطاقات الدولية، فقم بتحويلها إلى Punycode. على سبيل المثال:``` domain:*.xn--fiqs8s

root@kitploit:~
يمكنك القيام بذلك بمساعدة أدوات عبر الإنترنت خاصة. على سبيل المثال - [Charset.org](https://www.charset.org/punycode)

### البحث عن مواقع ويب تحتوي على كلمة معينة في عنوانها

![Search by http title](https://assets.kitploit.com/production/public/readmes/6659/9da0445843c6567eefba0f415852126719123c24992f7b85d1e2eee96110d64e.png)

افتح [Netlas.io response search](https://app.netlas.io/responses/) وأدخل:```
http.title:g*thub

Try in Netlas

سيؤدي هذا إلى العثور على جميع الخوادم التي تحتوي عناوين HTTP الخاصة بها على كلمة تبدأ بـ "g" وتنتهي بـ "thub". اقرأ المزيد عن استخدام العلامات النجمية أدناه.

بناء جملة استعلام البحث

الآن دعنا نتعلم المزيد حول كيفية عمل استعلامات البحث في Netlas.io.

يعتمد Netlas.io على Elasticsearch، وهو محرك بحث موزع ومفتوح المصدر ومجاني وقائم على REST. وطرق البحث في Netlas.io مشابهة جدًا لتلك المستخدمة في قواعد البيانات الأخرى القائمة على Elasticsearch.

عوامل التصفية (الحقول)

عوامل تصفية البحث

يتيح لك البحث في الاستجابات و DNS و IP والشهادات استخدام عوامل التصفية (الحقول) في استعلامات البحث. على سبيل المثال:``` http.body:netlas

root@kitploit:~
[Try in Netlas](https://app.netlas.io/responses/?q=http.body%3Anetlas&page=1&indices=)

يمكنك استخدام هذا الاستعلام للعثور على الصفحات التي تحتوي على الكلمة "netlas" داخل وسم <body> الخاص بـ HTML.

تظهر قائمة بالفلاتر المتاحة لكل نوع بحث على الجانب الأيمن من الصفحة.

![Filters Mapping Images](https://assets.kitploit.com/production/public/readmes/6659/00c8d6c829ff1de74f4fbdc26df13f8db07114a5830d9f6a8d9ad0011e817045.png)

تتيح لك الفلاتر البحث عن الخوادم بناءً على العديد من المعاملات المختلفة. على سبيل المثال:

* `domain`
* `ip`
* `protocol`
* `certificate`
* `cve`
* `geolocation` (`city`, `continent`, `country`)

والعديد من الخيارات الأخرى.

### المعاملات المنطقية

يمكنك استخدام عدة فلاتر في استعلام واحد ودمجها باستخدام المعاملات المنطقية `AND`، `OR`، `NOT`. على سبيل المثال:```
http.title:netlas NOT port:443

جرب في Netlas

إذا كنت ترغب في دمج شروط متعددة في استعلامك، استخدم الأقواس:``` http.title:(netlas OR shodan) NOT port:443

root@kitploit:~
[Try in Netlas](https://nt.ls/OrFOY)


### النطاقات

إذا استخدمت قيمة رقمية كقيمة لحقل، يمكنك تعيينها كقيمة من وإلى (الحدود القصوى لنطاق القيمة):```
ip:[173.194.222.0 TO 173.194.222.255] 

جرب في Netlas

أو حدد فقط الحد الأعلى أو الحد الأدنى للقيمة:``` host:"1.1.1.1" port:<=1000

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/responses/?q=host%3A%221.1.1.1%22%20port%3A%3C%3D1000&page=1&indices=)

### رموز البدل

إذا كنت لا تعرف الوصف الدقيق لحرف معين في استعلامك (على سبيل المثال، لا تعرف المنطقة المحددة لنطاق أو طريقة كتابة اسم)، يمكنك استبداله بعلامة النجمة:```
domain:google.*

جرب في Netlas

يمكنك أيضًا استخدام علامة الاستفهام:``` domain:google.?

root@kitploit:~
[Try in Netlas](https://app.netlas.io/responses/?q=domain%3Agoogle.%3F&page=1&indices=)

`*` - العديد من الرموز، `?` - رمز واحد.

يمكنك أيضًا استخدام العلامات النجمية في الفلاتر. على سبيل المثال:```
\*.banner:database

يقوم هذا الاستعلام بالبحث في جميع أنواع البانر في وقت واحد ويستبدل عدة عوامل تصفية: amqp.banner: و ftp.banner: و dns.banner: و telnet.banner: إلخ.

الغموض

Fuzzines

إذا كنت بحاجة إلى البحث ليس بالقيمة الدقيقة بل بالقيمة التقريبية لحقل (مثل الصفحات التي تحتوي عناوينها على جميع الأسماء المتوافقة مع Joseph)، فقط أضف ~ إلى الاستعلام:``` http.title:Joseph~

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/responses/?q=http.title%3AJoseph~&page=1&indices=)

### التعبيرات المنتظمة

التعبير المنتظم هو تسلسل من الأحرف يتيح لك البحث عن واسترداد واستبدال أجزاء من النص في مستند مصدر تطابق أنماطًا معينة. على سبيل المثال:

* أي عنوان بريد إلكتروني:  ```text
  ([a-zA-Z0–9+._-]+@[a-zA-Z0–9._-]+\.[a-zA-Z0–9_-]+)
  • أي علامة HTML: ```text <.*?>
    root@kitploit:~
  • أي رقم هاتف: ```text ^[+]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$
    root@kitploit:~
  • أي عنوان بيتكوين: ```text ^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$
    root@kitploit:~

لمزيد من المعلومات حول استخدام التعبيرات العادية، راجع الأمثلة في كتاب طبخ Netlas (ما تقرؤه الآن) والروابط أدناه:

دليل صيغة التعبيرات العادية في توثيق Elasticsearch

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

ميزات بحث Netlas.io الأخرى

تنزيل النتائج

تنزيل النتائج

يمكنك حفظ نتائجك (جميع الحقول أو الحقول المحددة) بتنسيق JSON وCSV لعرضها بالتنسيق الذي تفضله أو تحليلها تلقائياً باستخدام أدوات مختلفة.

تجميع النتائج

تجميع النتائج

يمكنك تجميع النتائج حسب قيم حقول مختلفة لتسريع وقت البحث، على سبيل المثال، حسب اسم النطاق أو الموقع الجغرافي.

مشاركة النتائج

مشاركة النتائج

يمكنك مشاركة روابط نتائج البحث بحرية (لا يلزم التسجيل لفتحها، ما لم يتجاوز المستخدم الحد المجاني البالغ 50 طلباً).

سجل البحث

سجل الطلبات

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

طلبات API

أهم وظيفة لـ Netlas.io هي مساعدة الأشخاص على إجراء أبحاث الأمن السيبراني بشكل أسرع وأكثر كفاءة. تحتوي الخدمة على واجهة برمجة تطبيقات (API) تتيح لك أتمتة تنفيذ الطلبات المختلفة.

يمكن تنفيذ ذلك في نصوص Python أو Bash بسيطة تتكون من بضعة أسطر أو في تطبيقات معقدة متعددة الوظائف.

يمكنك قراءة المزيد حول استخدام Netlas API في كتاب طبخ Netlas (ما تقرؤه الآن) أو في التوثيق الرسمي:

توثيق API →

كيف تجد مفتاح API؟

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

صفحة الملف الشخصي

أدوات لتصحيح أخطاء طلبات API

لا تحتاج إلى كتابة نصوص أو إنشاء تطبيقات لبدء استخدام Netlas API. يمكنك ببساطة اختبارها باستخدام عميل API المفضل لديك. راجع التعليمات هنا.

هيكل استجابة JSON لواجهة Netlas API

استجابة JSON API

مثل واجهات API الأخرى، تتكون استجابة Netlas API من رؤوس ونص استجابة بتنسيق JSON. تحتوي ملفات JSON على بيانات بتنسيق مفتاح-قيمة ويمكن تحليلها باستخدام أي لغة برمجة تقريباً.

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

أدوات للعمل مع البيانات بتنسيق JSON

مقيّم JSON

نصيحة صغيرة ستكون مفيدة عند كتابة التعليمات البرمجية باستخدام Netlas API. لفهم هيكل ملف JSON بشكل أسرع والعثور على المسار للحصول على قيمة معينة، استخدم أدوات مثل:

  • مقيّم مسار JSON عبر الإنترنت
  • أداة البحث عن مسار JSON

مكتبة Netlas Python

أسهل طريقة لأتمتة الطلبات إلى Netlas API هي استخدام مكتبة Python المصممة خصيصاً (حزمة).

مستودع مكتبة Netlas-Python على Github

لنر كيف تعمل بمثال بسيط. جميع نماذج التعليمات البرمجية من كتاب طبخ Netlas موجودة في مجلد scripts. يمكنك استنساخ هذا المستودع وتشغيلها على جهازك:```shell git clone https://github.com/netlas-io/netlas-cookbook

root@kitploit:~
إذا لم تكن قد قمت بتشغيل سكربت بايثون من قبل ولا تعرف كيفية القيام بذلك، يمكنك البدء بفتح مستودع Netlas Cookbook في Gitpod.  
Gitpod هي بيئة تطوير سحابية تستند إلى Ubuntu (توزيعة لينكس). فقط افتح هذا الرابط في متصفحك (سجل الدخول باستخدام حساب Github الخاص بك):

[تشغيل Netlas Cookbook في Gitpod](https://gitpod.io#https://github.com/netlas-io/netlas-cookbook)

![Netlas Github](https://assets.kitploit.com/production/public/readmes/6659/20c7d3841932ff04a4f4dc7b9ca2ae667e23e9d0af7b034342bd7db6d7efccfe.png)

قم بتثبيت مكتبة Netlas لبايثون باستخدام pip (مثبت حزم بايثون). أدخل في سطر الأوامر:```shell
pip install netlas

تحقق من التثبيت. أدخل في سطر الأوامر:```shell netlas --help

root@kitploit:~
قم بتشغيل netlas_python_example.py:```shell
python3 scripts/netlas_python_example.py

وبالطبع، يمكنك فقط نسخ الكود وحفظه في الملفات. إليك كود المثال الأول:```python import netlas

apikey = "YOUR API KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query port:7001

netlas_query = netlas_connection.query(query="port:7001")

iterate over data and print: IP address, port, path and protocol

for response in netlas_query['items']: print(f"{response['data']['ip']}:{response['data']['port']}{response['data']['path']} [{response['data']['protocol']}]")

root@kitploit:~
### أمثلة على مفاتيح الاستجابة للحصول على بيانات مفيدة

ذُكر أعلاه أنه للعثور على تصحيحات JSON لاستجابة API للحصول على البيانات التي تحتاجها، يمكنك استخدام تطبيقات عبر الإنترنت خاصة (JSON-evaluators). ولتسهيل حياتك أكثر، إليك قائمة صغيرة من الأمثلة على مفاتيح استجابة مكتبة Python الأكثر احتياجًا.```python
# Main domain/ip info
response['data']['uri']
response['data']['ip']
response['data']['http']['title']
response['data']['http']['meta']
response['data']['http']['body']

# Geo info
response['data']['geo']['continent']
response['data']['geo']['country']
response['data']['geo']['city']
response['data']['geo']['location']['lat']
response['data']['geo']['location']['long']

# Whois geo info
response['data']['whois']['net']['country']
response['data']['whois']['net']['address']
response['data']['whois']['net']['city']
response['data']['whois']['net']['contacts']['emails']
response['data']['whois']['net']['contacts']['phones']

# Http status and favicon ico info
response['data']['port']
response['data']['http']['status_code']
response['data']['http']['status_line']
response['data']['http']['favicon']['image']
response['data']['http']['favicon']['path']

# Basic CVE info
response['data']['cve'][0]['name']
response['data']['cve'][0]['description']
response['data']['cve'][0]['base_score']
response['data']['cve'][0]['has_exploit']
response['data']['cve'][0]['exploit_links']

أنواع بيانات استجابة Netlas بايثون

أنواع بيانات Netlas بايثون

عند العمل مع مكتبة Netlas بايثون، من المهم جدًا تحديد نوع البيانات التي ترغب في استرجاعها بشكل صحيح. يتم إرجاع نوع response افتراضيًا وتستخدم العديد من أمثلة Netlas CookBook هذا النوع.

ولكن بالنسبة لبعض المهام، مثل الحصول على معلومات whois حول نطاق أو البحث عن نطاقات في شبكة فرعية، تحتاج إلى استخدام نوع بيانات مختلف. على سبيل المثال:```python netlas_query = netlas_connection.query(query='a:"163.114.132.0/24"',datatype="domain")

root@kitploit:~
إذا كنت تعتقد أن استعلامًا معينًا لا يعيد نتائج عندما يفترض أن يعيدها - فقط حاول تغيير قيمة معامل **datatype**. من المحتمل جدًا أن يساعد هذا.

أنواع البيانات المتاحة:

- **datatype="response"** يتوافق مع النتائج التي يمكن الحصول عليها في [Netlas Responses Search](https://app.netlas.io/responses/).
- **datatype="domain"** يتوافق مع النتائج التي يمكن الحصول عليها في [Netlas DNS search](https://app.netlas.io/domains/)
- **datatype="domain-whois"** يتوافق مع النتائج التي يمكن الحصول عليها في [Netlas Domain Whois Search](https://app.netlas.io/whois_domains/).
- **datatype="ip-whois"** يتوافق مع النتائج التي يمكن الحصول عليها في [Netlas IP Whois Search](https://app.netlas.io/whois_ip/).
- **datatype="cert"** يتوافق مع النتائج التي يمكن الحصول عليها في [Netlas Certificates Search](https://app.netlas.io/certs/).


### أدوات Netlas CLI

![أدوات Netlas CLI](https://assets.kitploit.com/production/public/readmes/6659/88c2402f9da5a3ece87a4459de9b967691428d60df86f828d83722c50bde9d44.png)

يمكنك أيضًا استخدام مكتبة Netlas Python مباشرة من سطر الأوامر. على سبيل المثال:```bash
netlas search "http.title:johnsmith" -f json >results.json

هذا الأمر البسيط يبحث عن جميع الخوادم التي تحتوي على كلمة johnsmith في عنوانها، ويعيد النتائج بتنسيق JSON، ويخزن النتائج في ملف resutls.json.

يمكن استخدام جميع الميزات الأخرى لواجهة Netlas API بنفس الطريقة. يمكنك معرفة المزيد حول هذا من خلال المساعدة (الأمر -h) والأمثلة الموجودة في Netlas Cookbook (ما تقرأه الآن).``` Usage: netlas [OPTIONS] COMMAND [ARGS]...

Options: -h, --help Show this message and exit.

Commands: count Calculate count of query results. download Download data. host Host (ip or domain) information. indices Get available data indices. profile Get user profile data. savekey Save API key to the local system. search (query) Search query. stat Get statistics for query.

root@kitploit:~
قبل تشغيل أوامر Netlas CLI Tools المختلفة، احفظ API key في الإعدادات:```bash
netlas savekey YOUR_API_KEY

لدينا أيضًا مستودع على Github يحتوي على بعض الأمثلة لأتمتة المهام المختلفة باستخدام سكريبت bash وأدوات Netlas CLI:

Netlas Scripts

طرق Search مقابل Download مقابل Host

واجهة برمجة تطبيقات Netlas لديها العديد من الطرق، ولكن الطرق الأكثر استخدامًا هي search و download. إنهما متشابهان جدًا مع بعضهما البعض، ولكن لا يزال لديهما بعض الاختلافات.

طريقة search تقوم بتحميل صفحة واحدة من النتائج (20 عنصرًا) في المرة الواحدة وتسمح بتحميل حد أقصى 200 صفحة (20*200=4000 عنصر). طريقة download تقوم بتحميل جميع النتائج (ولكنها تتطلب موارد أكثر للتنفيذ).

هناك أيضًا طريقة host التي تقوم ببساطة بإرجاع المعلومات الأساسية حول نطاق معين أو عنوان IP (لا يلزم تحديد datatype (مثل الطرق الأخرى)):```bash netlas host "51.159.153.170"

root@kitploit:~
### معلمات الطلب الإضافية

تتيح لك واجهة برمجة تطبيقات Netlas ضبط البيانات التي يتم إرجاعها بواسطة الطلبات بشكل مرن باستخدام معلمات إضافية. على سبيل المثال:

* indices - المعرف الذي يتوافق مع تاريخ فهرسة معين. لمعرفة المعرف لتاريخ محدد، افتح app.netlas.io، وانقر على التقويم الموجود على يمين شريط إدخال استعلام البحث، وحدد التاريخ الذي تهتم به، ولاحظ كيف يتغير معامل indices في عنوان URL في شريط عنوان المتصفح.
* start - رقم صفحة النتائج (الافتراضي 0)
* fields - أسماء الحقول التي سيتم تضمينها في النتائج (جميع الحقول افتراضيًا). سيكون هذا مفيدًا لتسريع وتحسين الشيفرة البرمجية عند وجود عدد كبير من الطلبات.


### إجراء الطلبات باستخدام بايثون (بدون مكتبة Netlas بايثون)


قد تجد أنه من الأسهل في بعض الحالات عدم استخدام مكتبة Netlas بايثون، بل استخدام حزمة الطلبات القياسية (request package) في بايثون، وهي مألوفة لدى العديد من المطورين:

أدخل في سطر الأوامر:```bash
python scripts/python_example.py

الكود المصدري لـ python_example.py:```python import requests

response = requests.get("https://app.netlas.io/api/domains/?q=ivanov.com&source_type=include&start=0&fields=*",{'X-API-Key': 'YOUR API KEY'})

print(response.json())

root@kitploit:~
لكن مكتبة Netlas Python لا تزال مفضلة لأنها مصممة للتعامل مع مشاكل مختلفة في معالجة الاستعلامات (الأخطاء، الانتظار الطويل، إلخ).


### أمثلة للغات برمجة أخرى

بينما نوصي باستخدام مكتبة Python الخاصة بنا لأتمتة بحث Netlas، تجدر الإشارة إلى أنه يمكن دمج API Netlas في معظم التطبيقات بمجموعة واسعة من حزم التقنيات. الشيء الرئيسي هو أن تكون قادرة على إجراء **طلبات REST** و**تحليل بيانات JSON**.

فيما يلي بعض الأمثلة بلغات برمجة شائعة مختلفة.


#### NodeJS <!-- omit in toc -->

![Node JS Netlas](https://assets.kitploit.com/production/public/readmes/6659/b4dd5d1eb33fafddfe44c22062b6e7e9b4e1471123ef6410a9fc3a5a8bc34a78.png)

أدخل في سطر الأوامر:```bash
node scripts/node_example.js

إذا كنت لا تستخدم Gitpod، فيجب أن يكون NodeJS مثبتًا على جهازك.

الكود المصدري لـ nodejs_example.js:```javascript fetch('https://app.netlas.io/api/domains/?q=ivanov.com&source_type=include&start=0&fields=*', { headers: { "X-API-Key": "YOUR_API_KEY", }, }) .then((response) => response.text()) .then((body) => { var jsonArray = JSON.parse(body); console.log(jsonArray['items'][0]); });

root@kitploit:~
#### Ruby <!-- omit in toc -->

![Ruby Netlas](https://assets.kitploit.com/production/public/readmes/6659/7237511c7ee0f39e270569af8b0ae12974684ad3087b8ea373a2df2719a03cdf.png)

أدخل في سطر الأوامر:```bash
ruby scripts/ruby_example.rb

إذا كنت لا تستخدم Gitpod، فيجب أن يكون لديك Ruby مثبتًا على جهازك.

الكود المصدري لـ ruby_example.rb:```ruby require 'net/http' require 'uri' require 'json'

uri = URI("https://app.netlas.io/api/domains/?q=ivanov.com&source_type=include&start=0&fields=*") req = Net::HTTP::Get.new(uri) req['X-API-Key'] = "YOUR_API_KEY"

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') { |http| http.request(req) }

jsonArray = JSON.parse(res.body)

puts jsonArray['items'][0]['data']['domain']

root@kitploit:~
#### Bash <!-- omit in toc -->

![Bash Netlas](https://assets.kitploit.com/production/public/readmes/6659/c2f52fa6cb554433ae4b234636cd4b06702691d45b23a7d0e0ebc951ab3c6b06.png)

أدخل في سطر الأوامر:```bash
bash scripts/bash_example.sh

الكود المصدري لـ bash_example.sh:``` curl -X 'GET'
'https://app.netlas.io/api/domains/?q=ivanov.com&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: YOUR_API_KEY' | jq .items[0].data.last_updated

root@kitploit:~
### أداة JQ

لاحظ في المثال أعلاه، تم استخدام أداة JQ لاستخراج الحقول من بيانات JSON.  
يشار إليها أحيانًا بأنها "مثل sed لبيانات JSON". إنها أداة مفيدة بشكل مدهش للعمل مع أي بيانات JSON. فيما يلي بعض الأمثلة على الصياغة.

Print firt item of JSON-array:```
.items[0] 

اطبع جميع عناصر JSON-array:``` .items[]

root@kitploit:~
اطبع جميع العناصر الفرعية 'data' للعنصر الأول من مصفوفة JSON:```
.['items'][0]['data'][]

اطبع جميع العناصر الفرعية لكل عنصر من مصفوفة JSON:``` .items[].data.technical[]

root@kitploit:~
يمكنك قراءة المزيد عن JQ هنا (أوصي بإيلاء اهتمام خاص لتصفية البيانات): [وثائق أداة JQ](https://jqlang.github.io/jq/)

### أدوات الذكاء الاصطناعي لكتابة الأكواد

![You.com](https://assets.kitploit.com/production/public/readmes/6659/6d2992d2f27d7aeb930c9b970363604d510c46b2cda53cc2f87d25bb0ab757e7.png)

إذا واجهت أي مشاكل عند تخصيص أمثلة Netlas Cookbook، نوصيك بطلب المساعدة من أدوات الذكاء الاصطناعي لتحسين وكتابة الأكواد. على سبيل المثال:

[ChatGPT](https://chatgpt.com)  
[Code Llama](https://huggingface.co/spaces/codellama/codellama-playground)  
[You.com](https://you.com/)  

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

### مدققات الأكواد
![فحص كود بايثون](https://assets.kitploit.com/production/public/readmes/6659/6622b278b508349c7921d1208ce2267fcc77090c17189613c87f690200a07119.png)

عند إعادة صياغة أمثلة Netlas Cookbook لتناسب أغراضك، قد تجد أن الكود لن يعمل بسبب بعض الأخطاء. يمكن لأدوات عبر الإنترنت متخصصة مساعدتك في العثور عليها وإصلاحها:  

[ExtendsClass Python Tester](https://extendsclass.com/python-tester.html)
[Snyk](https://snyk.io/code-checker/python/)

إذا كنت لا تريد نسخ الكود إلى خدمات طرف ثالث، يمكنك التحقق من وجود أخطاء على جهازك باستخدام Pylint (محلل الكود الثابت):

[حزمة Pylint للبايثون](https://pypi.org/project/pylint/)



## استخدام Netlas.io في استخبارات المصادر المفتوحة (OSINT)

![مخطط سير عمل OSINT](https://assets.kitploit.com/production/public/readmes/6659/b433d1e7a92497c03bf05b19f663f7fa8643480533b961801bfc93ad6bad4927.png)

يمكن أن يساعدك Netlas.io في جمع البيانات حول نطاق أو شركة، وكذلك العثور على إشارات إلى شخص (أو أي شخص) على الإنترنت. 

يمكن استخدامه أيضًا للعثور على إصدارات قديمة من صفحات الويب (كبديل لـ Wayback Machine).

### البحث عن اسم مستخدم شخص أو بريد إلكتروني في جهات اتصال WHOIS

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

*قد تتطلب هذه الطريقة اشتراكًا مدفوعًا.* [اطلع على الأسعار](https://netlas.io/pricing/)

**مثال على استعلام البحث**  

![مثال على البحث بالبريد الإلكتروني في WHOIS](https://assets.kitploit.com/production/public/readmes/6659/43eb2a871fe128cecbee6cb6b4164a1876053d8e12699c72a53e36c229f266f7.png)```
whois.related_nets.contacts.emails:sweetwater

جرب في Netlas

مثال طلب API

أدوات CLI الخاصة بـ Netlas:```bash netlas search "whois.related_nets.contacts.emails:sweetwater*" -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=whois.related_nets.contacts.emails%3Asweetwater*&fields=' \
  -H 'accept: application/json' \
  -H 'X-API-Key: aqkd8L4MR93Tkcaz2UXDXrRleV8Vlvbv' | jq .items[].data.uri

مثال الكود (مكتبة Netlas بايثون)

Whois email search example Python

قم بتشغيله في سطر الأوامر:```bash python scripts/osint/whois_email_search.py

root@kitploit:~
الكود المصدري لـ scripts/osint/whois_email_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `whois.related_nets.contacts.emails:sweetwater`
netlas_query = netlas_connection.query(query="whois.related_nets.contacts.emails:sweetwater*")


# iterate over data and print: URL, Country, Related nets data
for response in netlas_query['items']:
    print (response['data']['uri'])
    print (response['data']['geo']['country'])
    print (response['data']['whois']['related_nets'])

البحث عن لقب أو بريد إلكتروني لشخص ما في العنوان والنص الأساسي لصفحة الويب

يتيح لك Netlas البحث عن ذكر كلمات معينة في العناوين وفي كود HTML لصفحات الويب. يمكنك البحث عن الكلمات بالتطابق التام، أو بالتطابق التقريبي (راجع قسم الاستعلامات المبهمة)، واستبدال الأحرف غير المؤكدة بعلامات نجمية.

مثال على استعلام البحث

مثال على البحث في العنوان/النص الأساسي``` http.title:sweetwater OR http.body:sweetwater

root@kitploit:~
[Try in Netlas](https://app.netlas.io/responses/?q=http.title%3Asweetwater%20OR%20http.body%3Asweetwater&page=1&indices=)

**مثال لطلب API**

Netlas CLI Tools:```bash
netlas search "http.title:sweetwater OR http.body:sweetwater" -f json

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=whois.related_nets.contacts.emails%3Asweetwater*&fields='
-H 'accept: application/json'
-H 'X-API-Key: YOUR_API_KEY' | jq .items[].data.uri

root@kitploit:~
**مثال كود (Netlas Python Library)**

![مثال بحث Whois عن البريد الإلكتروني Python](https://assets.kitploit.com/production/public/readmes/6659/8678cf14e22a1a44cc2c44c846b86ec2ad24b1eadef130a4eade7696ff88b061.png)

تشغيل في سطر الأوامر:```bash
python scripts/osint/title_body_search.py

الكود المصدري لـ scripts/osint/title_body_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query http.title:sweetwater OR http.body:sweetwater

netlas_query = netlas_connection.query(query="http.title:sweetwater OR http.body:sweetwater*")

iterate over data and print: IP,URL,web page title

for response in netlas_query['items']: print (response['data']['ip']) print (response['data']['uri']) print (response['data']['http']['title'])

root@kitploit:~
### البحث عن "ملفات المعلومات القيمة" في النطاقات الفرعية لموقع الشركة على الويب

![Juicy info files search](https://assets.kitploit.com/production/public/readmes/6659/c14d7be4acd47fb0ede930eb0ecbb06f3f362179fd4bca46747f0ce7d0caeb7d.png)

كان Metagoofil أداة شائعة بين ممارسي OSINT لسنوات عديدة. يبحث في Google عن ملفات الوثائق الموجودة على موقع الشركة (pdf, xlsx, docx وغيرها) ويحلل البيانات الوصفية الخاصة بها.

وما لا يتم فهرسته بواسطة Google يمكن العثور عليه باستخدام Netlas ثم تنزيله على جهاز الكمبيوتر الخاص بك وتحليله باستخدام أداة [MetaDetective](https://github.com/franckferman/MetaDetective).```
uri:*lidl.* AND http.body:pdf

جرب في Netlas

يمكنك استبدال عامل التصفية uri: بـ domain: و host: (أوصي دائمًا بمقارنة النتائج عند استخدام هذه العوامل الثلاثة).

يمكنك أيضًا البحث عن مجموعة واسعة من امتدادات الملفات، حسب ما تريد العثور عليه. على سبيل المثال:``` http.body:xls http.body:xlsx http.body:doc http.body:docx http.body:ppt http.body:pptx http.body:mdb http.body:csv http.body:sql http.body:sqlite

root@kitploit:~
**مثال لطلب API**

Netlas CLI Tools:```bash
netlas search "uri:*lidl.* AND http.body:pdf"

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=uri%3A*lidl.*%20AND%20http.body%3Apdf&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: 'YOUR_API_KEY' | jq .items[].data.domain

root@kitploit:~
**مثال كود (مكتبة Netlas بايثون)**

![بحث المعلومات القيّمة](https://assets.kitploit.com/production/public/readmes/6659/faec884f54484c0cc6dd5ef76a79b9ca2e5ef372078289e8f3c3cf2cf4af9fac.png)

تشغيل في سطر الأوامر:```bash
python scripts/osint/juicyinfo_search.py

رمز المصدر لـ scripts/osint/juicyinfo_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query uri:*lidl.* AND http.body:pdf

netlas_query = netlas_connection.query(query='uri:lidl. AND http.body:pdf')

iterate over data and print: uri, body

for response in netlas_query['items']: print (response['data']['uri']) print (response['data']['http']['body'])

root@kitploit:~
من أجل أتمتة الروابط إلى مستندات PDF من نص صفحة الويب، يمكنك استخدام حزمة Python [Re](https://docs.python.org/3/library/re.html).

### البحث عن ذكر أرقام الهواتف

كما هو الحال مع الأسماء المستعارة وعناوين البريد الإلكتروني، يمكنك أيضًا البحث عن ذكر رقم هاتف في كود صفحات الويب أو معلومات الاتصال في WHOIS.

نفرد هذه المهمة كمثال منفصل، لأن البحث عن رقم هاتف معقد نظرًا لإمكانية كتابته بتنسيقات مختلفة.

**مثال على استعلام البحث**  

![مثال على البحث عن رقم هاتف](https://assets.kitploit.com/production/public/readmes/6659/92872d57f9ac03e90323f35d9d8303364050f36aa748a26eadb8996d10ce66b9.png)```
http.body:1?234?567?89?99 OR http.body:12345678999 OR http.body:1234?5678?999

Try in Netlas

عند تقديم طلب، يجب أن تأخذ في الاعتبار تنسيق تسجيل رقم الهاتف المقبول في الدولة التي يملك رقم الهاتف الذي تهتم به.

مثال على طلب API

Netlas CLI Tools:```bash netlas search "http.body:1?234?567?89?99 OR http.body:12345678999 OR http.body:1234?5678?999" -f json

root@kitploit:~
لا تنس أنه يمكنك البحث عن أرقام الهواتف ليس فقط في نص الصفحة، بل أيضًا في معلومات الاتصال الخاصة بـ WHOIS. يمكن القيام بذلك باستخدام الفلتر **whois.related_nets.contacts.phones:**

Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=http.body%3A1%3F234%3F567%3F89%3F99%20OR%20http.body%3A12345678999%20OR%20http.body%3A1234%3F5678%3F999&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' jq .items[].data.uri

مثال كود (مكتبة Netlas Python)

مثال بحث عن رقم الهاتف Python

تشغيل في سطر الأوامر:```bash python scripts/osint/phonenumber_search.py

root@kitploit:~
الكود المصدري لـ scripts/osint/phonenumber_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `http.body:1?234?567?89?99 OR http.body:12345678999 OR http.body:1234?5678?999`
netlas_query = netlas_connection.query(query="http.body:1?234?567?89?99 OR http.body:12345678999 OR http.body:1234?5678?999")


# iterate over data and print: ip, url
for response in netlas_query['items']:
    print (response['data']['ip'])
    print (response['data']['uri'])

البحث عن Mentions الملفات (البحث عن محتوى قد ينتهك حقوق النشر)

لنتخيل أنك موسيقي وتريد العثور على جميع المواقع التي تم نشر مساراتك فيها. يمكنك القيام بذلك من خلال البحث عن الصفحات التي تذكر اسمك وتحتوي على روابط لملفات بامتداد .mp3.

مثال على استعلام البحث

Title/body search example``` (http.title:alla OR http.body:alla) AND http.body:*.mp3

root@kitploit:~
[جرب في Netlas](https://nt.ls/HEhJj)

**مثال على طلب API**

Netlas CLI Tools:```bash
netlas search "(http.title:alla OR http.body:alla) AND http.body:*.mp3" -f json

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=(http.title%3Aalla%20OR%20http.body%3Aalla)%20AND%20http.body%3A*.mp3&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: YOUR_API_KEY' | jq .items[].data.http.title

root@kitploit:~
**مثال الكود (مكتبة Netlas Python)**

![مثال بحث عن إشارات ملفات بايثون](https://assets.kitploit.com/production/public/readmes/6659/919f820c21d9cda328524722b820783c3941447f3d447f9a72f5224d4cfd9ac1.png)

تشغيل في سطر الأوامر:```bash
python scripts/osint/file_mentions_search.py

الكود المصدري لـ scripts/osint/file_mentions_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query (http.title:alla OR http.body:alla) AND http.body:*.mp3

netlas_query = netlas_connection.query(query="(http.title:alla OR http.body:alla) AND http.body:*.mp3")

iterate over data and print: IP, URL,web page title

for response in netlas_query['items']: print (response['data']['ip']) print (response['data']['uri']) print (response['data']['http']['title'])

root@kitploit:~
### جمع معلومات WHOIS للنطاق

WHOIS هي قاعدة بيانات عامة عالمية تخزن معلومات حول جميع النطاقات المسجلة في العالم.

**مثال على استعلام البحث**

![مثال على بحث العنوان/النص](https://assets.kitploit.com/production/public/readmes/6659/88c9654440e88b387d2422ac397334793daa8600d434d99d457b908e8abe154b.png)

استخدم [بحث WHOIS للنطاق](https://app.netlas.io/whois_domains/)```
github.com

مثال على طلب API

Netlas CLI Tools:```bash netlas host github.com -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/whois_domains/?q=github.com&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' |  jq .items[].data.technical.street

مثال كود (Netlas Python Library)

مثال WHOIS Python

شغّل في سطر الأوامر:```bash python scripts/osint/whois_search.py

root@kitploit:~
الكود المصدري لـ scripts/osint/whois_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from whois for google.com domain
netlas_query = netlas_connection.query(query="google.com",datatype="whois-domain")


# iterate over data and print: owner name
for response in netlas_query['items']:
    print (response['data']['technical']['name'])  

البحث عن الموقع في علامة <address>

علامة <address> تقع داخل علامة <head> لصفحة الويب وقد تحتوي على عناوين فعلية. من خلال البحث باستخدام هذه العلامة، يمكنك العثور على مواقع مرتبطة بشارع معين، وأحيانًا حتى مبنى معين.

مثال على استعلام البحث

بحث البيانات الوصفية للمؤلف``` http.contacts.address:kirby

root@kitploit:~
[جرّب في Netlas](https://app.netlas.io/responses/?q=http.contacts.address%3Akirby&page=1&indices=)

يمكنك أيضًا استخدام http.contacts.email: للبحث عن البريد الإلكتروني.

**مثال لطلب API**

Netlas CLI Tools:```bash
netlas search "http.contacts.address:kirby" -f json

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=http.contacts.address%3Akirby&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: 'YOUR_API_KEY' | jq .items[].data.http.contacts

root@kitploit:~
**مثال على الكود (مكتبة Netlas Python)**

![بحث عن عنوان جهات الاتصال Python](https://assets.kitploit.com/production/public/readmes/6659/aa659130f38a0287850a28fc0e37e93bd89939346049e855652cebb8ed7fcba3.png)

تشغيل في سطر الأوامر:```bash
python scripts/osint/contacts_search.py

الكود المصدر لـ scripts/osint/contacts_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query http.contacts.address:kirby

netlas_query = netlas_connection.query(query="http.contacts.address:kirby")

iterate over data and print: URL, Contacts

for response in netlas_query['items']: print (response['data']['uri']) print (response['data']['http']['contacts'])

root@kitploit:~
###  البحث عن اسم المؤلف في الوسوم الوصفية (Meta Tags)

توجد الوسوم `<meta>` داخل الوسم `<head>` لصفحة الويب، وتحتوي على أهم الكلمات المفتاحية والوصف ومعلومات الخدمة المتنوعة واسم المؤلف.

يتيح البحث عن الاسم المستعار والاسم/اللقب عبر الوسوم الوصفية (http.meta) العثور على مواقع مرتبطة بشخص معين بشكل أسرع من البحث في كود HTML بأكمله (http.body).

**مثال على استعلام البحث**

![بحث عن المؤلف في الوسوم الوصفية](https://assets.kitploit.com/production/public/readmes/6659/059e767c5fa7d63af4548d77c1ac1b01c4f3a79cef1c1d91320f86f6e11a1ba9.png)```
http.meta:nazar

جرب في Netlas

مثال طلب API

أدوات سطر أوامر Netlas:```bash netlas search "http.meta:nazar" -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=http.meta%3Anazar&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' | jq .items[].data.http.meta

مثال الكود (Netlas Python Library)

Author meta search Python

شغّل في سطر الأوامر:```bash python scripts/osint/author_meta_search.py

root@kitploit:~
Source code of scripts/osint/author_meta_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `http.meta:nazar`
netlas_query = netlas_connection.query(query="http.meta:nazar")


# iterate over data and print: ip, url
for response in netlas_query['items']:
    print (response['data']['uri'])
    print (response['data']['http']['title'])
    print (response['data']['http']['meta'])

ما هي الأشياء المثيرة الأخرى التي يمكن العثور عليها في علامات البيانات الوصفية (Meta Tags) لمستند HTML؟

بالإضافة إلى اسم المؤلف، يمكن أن تحتوي علامات البيانات الوصفية على مجموعة متنوعة من المعلومات: الترميز، اللغة، الإذن بفهرسة الصفحة بواسطة روبوتات محركات البحث، نص بطاقات الروابط في شبكات التواصل الاجتماعي، بيانات OpenGraph، وأكثر من ذلك بكثير. فيما يلي بعض الأمثلة الإضافية لعلامات البيانات الوصفية التي قد تحتوي على معلومات مفيدة للتحقيقات:

  • <meta name="description"> - وصف محتوى صفحة الويب.
  • <meta name="keywords"> - كلمات مفتاحية تصف محتوى صفحة الويب.
  • <meta name="generator"> - اسم الأداة التي تم استخدامها لإنشاء محتوى الصفحة (مفيد للبحث عن أنظمة إدارة المحتوى ومنصات الاستضافة).
  • <meta name="copyright"> - اسم الشخص أو الشركة التي تمتلك حقوق نشر محتوى صفحة الويب.

البحث عن طريق نص لافتات خادم FTP

خطوة مهمة أخرى في العثور على معلومات حول شخص أو شركة هي البحث عن ذكرها في نص لافتات خادم FTP. من الممكن أن يكون عنوان IP للخوادم التي تم العثور عليها هو المفتاح للعثور على مواقع أخرى مرتبطة بالشخص أو الشركة التي تهتم بها. وفي حالة الحظ القوي جداً، قد تجد شيئاً مثيراً للاهتمام في الملفات المنشورة هناك (إذا كان خادم FTP مفتوحاً).

مثال على استعلام البحث

Search CVE by tag name``` ftp.banner:"Collado"

root@kitploit:~
إذا كنت بحاجة إلى البحث عن خوادم FTP بواسطة معامل آخر (مثل المدينة أو نطاق عناوين IP)، فاستخدم عامل التصفية prot7:ftp.

[جرب في Netlas](https://app.netlas.io/responses/?q=ftp.banner%3A%22Collado%22%20&page=1&indices=)

**مثال على طلب API**

Netlas CLI Tools:```bash
netlas search 'ftp.banner:"Collado"' -f json

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

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=ftp.banner%3A%22Collado%22&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: YOUR_API_KEY' | jq .items[].data.uri

root@kitploit:~
**مثال كود (مكتبة Netlas Python)**

![Favicon hash search Python](https://assets.kitploit.com/production/public/readmes/6659/099cc2e0a7ca8c242476fe9e27e8c9441e0c95ce82ae143a7f66289a13c21588.png)

شغّل في سطر الأوامر:```bash
python scripts/osint/ftp_banner_search.py

الكود المصدري لـ scripts/osint/ftp_banner_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query ftp.banner:"Collado"

netlas_query = netlas_connection.query(query='ftp.banner:"Collado"')

iterate over data and print: IP, URL, ftp banner text

for response in netlas_query['items']: print (response['data']['ip']) print (response['data']['uri']) print (response['data']['ftp']['banner'])

root@kitploit:~
### البحث عن معلومات الاتصال في شهادات SSL

![Certificates search](https://assets.kitploit.com/production/public/readmes/6659/5f3d32db37a70b5a8f9f08efe11c978b950e00c2841d44f63f4e709c711e909a.png)

شهادة SSL هي شهادة رقمية تتحقق من هوية موقع الويب وتسمح باستخدام اتصال مشفر. قد تحتوي على معلومات عن مالكها: اسم الشخص المسؤول، اسم المؤسسة، الدولة وأحيانًا العنوان والرمز البريدي. يمكنك البحث عن هذه المعلومات باستخدام الفلاتر التالية (والعديد غيرها):

- `certificate.issuer.email_address`
- `certificate.issuer.given_name`
- `certificate.issuer.organization`
- `certificate.issuer.postal_code`
- `certificate.issuer.street_address`
- `certificate.issuer.surname`

لنحاول البحث عن عناوين IP تحتوي على كلمة معينة في عنوان الشارع في شهادتها:```
certificate.issuer.street_address:*mcgill*

Try in Netlas

مثال على طلب API

أدوات CLI الخاصة بـ Netlas:```bash netlas search "certificate.issuer.street_address:mcgill" -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=certificate.issuer.street_address%3A*mcgill*&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' jq .items[].data.uri

مثال الكود (Netlas Python Library)

البحث عن الشهادات Python

تشغيل في سطر الأوامر:```bash python scripts/osint/certificates_search.py

root@kitploit:~
الكود المصدري لـ scripts/osint/certificates_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `certificate.issuer.street_address:*mcgill*`
netlas_query = netlas_connection.query(query="certificate.issuer.street_address:*mcgill*")


print (type(netlas_query))

# iterate over data and print: ip, url, cetificate issuer 
for response in netlas_query['items']:
    print (response['data']['uri'])
    print (response['data']['certificate']['issuer'])  

استخدام Netlas كبديل لـ WayBack Machine

لقد تم استخدام Archive.org من قبل متخصصي OSINT للبحث عن الإصدارات القديمة من المواقع وصفحات ملفات تعريف وسائل التواصل الاجتماعي للعثور على معلومات الاتصال وغيرها من المعلومات المحذوفة الآن.

ولكن، لسوء الحظ، لا يحفظ Archive.org نسخًا من جميع المواقع ولا يفعل ذلك كثيرًا (بالنسبة لبعض المواقع فقط مرتين في السنة أو أقل).

لكن Netlas يحفظ الإصدارات القديمة من المواقع منذ عام 2021 أيضًا!

غالبًا ما تُستخدم المرشحات التالية للبحث عن المواقع:``` http.title:"github.com"

root@kitploit:~

domain:github.com

root@kitploit:~

host:github.com

root@kitploit:~
![اختيار الفحص](https://assets.kitploit.com/production/public/readmes/6659/6fb8d1ed55265153faebb6ed93a9a5a184d8a6b54f0cf9fa12b92a304939f062.png)

إذا نقرت على الأيقونة الخارجية في أقصى اليمين بجوار حقل إدخال استعلامات البحث، فسترى قائمة لاختيار تاريخ الفحص. يمكنك استخدامها لتصفية رموز HTML للمواقع المحفوظة في تاريخ محدد.

![نسخ نص الاستجابة](https://assets.kitploit.com/production/public/readmes/6659/b59544af96ce2c341761eb5cd6f4b36ed2e271c14957a6ecb373a2b972fbeff6.png)

لمعرفة كيف يبدو الموقع، انسخ محتويات حقل "body" (علامة التبويب استجابة) إلى أي محرر نصوص واحذف الأحرف \t\r\n من كود HTML.

![عارض HTML](https://assets.kitploit.com/production/public/readmes/6659/f1b8a6983795f5b608b8d2ec37f5069c588749655a361d70b250ca8c0df24967.png)

بعد ذلك، انسخ الكود إلى أحد المحولات الإلكترونية لـ HTML، مثل [Code beautify](https://codebeautify.org/htmlviewer). أو فقط احفظ الملف بصيغة html ثم افتحه في المتصفح.


### 9 طرق للبحث عن مواقع ويب ذات صلة

![البحث عن مواقع ويب ذات صلة](https://assets.kitploit.com/production/public/readmes/6659/354bf2e8695fd9255ce513dba2685cc7c6595e8cb06d1c6f9e4d48bd3dcccb72.png)

عند جمع المعلومات عن شخص أو شركة، قد يكون من المهم العثور على أكبر عدد ممكن من المواقع التي قد تكون مرتبطة بهم بطريقة ما. هناك 5 طرق على الأقل للقيام بذلك باستخدام Netlas.


1. معرف (ID) للخدمات المختلفة (أنظمة التحليل، أنظمة الإعلان، تطبيقات التكامل مع شبكات التواصل الاجتماعي وأنظمة النشر). قد يشير تداخلها إلى أن شخصًا واحدًا أو فريقًا واحدًا كان مسؤولاً. بعض الأمثلة:

Google Analytics:```
http.tracker.google_analytics:"G-X82FSVSMTV"

Google Tag Manager:``` http.tracker.google_analytics:"GTM-N6462KFQ"

root@kitploit:~
AddThis:```
http.body:"AT-ra-500bcd681b192302"

بكسل فيسبوك:``` http.tracker.facebook_pixel:317853189093681

root@kitploit:~
Yandex Metrika```
http.tracker.yandex_metrica:89723437

خدمات ناشر أمازون:``` http.body:APS-XXXX

root@kitploit:~
نعم، كلها موجودة في الكود على بعض المواقع.

ومجموعة كبيرة من المعرفات الأخرى التي يمكن العثور عليها غالبًا في أعلى كود HTML (لكن أحيانًا في جميع أجزاء الكود).

[Try in Netlas](https://nt.ls/BCrw9)


2. معرفات البرامج التابعة (استخدم أيضًا http.body للبحث عنها). يمكنك العثور عليها في الروابط التابعة التي ينشرها الشخص على مواقع أخرى أو على شبكات التواصل الاجتماعي. قد تكون هذه معاملات URL التالية (وما يشابهها):```
aff_fcid=
user_id=
partner_id=
ref_id=
  1. البحث عن طريق اسم المؤسسة في بحث Domain Whois Netlas

Search organization in WHOIS``` "GitHub, Inc."

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/whois_domains/?q=%22GitHub%2C%20Inc.%22&page=1&indices=)

4. ابحث عن خوادم البريد في DNS باستخدام Netlas

![ابحث عن خوادم البريد في DNS](https://assets.kitploit.com/production/public/readmes/6659/28cbe86f74bbf0959803083816d8da4819e41aed6b8cd56a58fadc479e1fab34.png)```
mx:*.parklogic.com

جرب في Netlas

  1. البحث حسب خوادم الأسماء في بحث DNS Netlas

البحث عن خوادم الأسماء في DNS``` ns:ns?.parklogic.com

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/domains/?q=mx%3A*.parklogic.com&page=1&indices=)

6. الملفات (بشكل أساسي شعارات المستخدمين والصور الرمزية) بحث عن الإشارات [->](https://github.com/netlas-io/netlas-cookbook#search-file-mentions-looking-for-content-that-may-be-infringing-on-copyrights)

7. بحث النطاقات الفرعية [->](https://github.com/netlas-io/netlas-cookbook#search-subdomains)

8. بحث جهات اتصال Whois (في بحث استجابة Netlas) [->](https://github.com/netlas-io/netlas-cookbook#search-persons-nickname-or-email-in-whois-contacts)

9. بحث الأيقونة المفضلة [->](https://github.com/netlas-io/netlas-cookbook#favicon-search)

## الكشط (استخراج البيانات من نص صفحة الويب)

تعد واجهة برمجة تطبيقات Netlas أداة رائعة لجمع بيانات الاتصال وغيرها من بيانات المواقع. أولاً، تسمح لك بذلك بسرعة. ثانيًا، لا تتطلب استخدام وكيل. ثالثًا، تسمح لك بجمع البيانات من المواقع غير المتاحة حاليًا.

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

هناك ثلاثة طرق رئيسية للكشط: جمع المعلومات من وسوم HTML ومحددات CSS، واستخراج البيانات باستخدام التعبيرات العادية، والكشط بالذكاء الاصطناعي. دعنا نلقي نظرة فاحصة على الأولين.

### حزمة Beatifulsoup

[Beatifulsoup](https://pypi.org/project/beautifulsoup4/) هي واحدة من أشهر حزم Python في العالم لتحليل كود HTML وملفات XML. دعنا نحاول استخدامها لاستخراج عناوين الصفحات (من وسوم \<h1>، وليس وسوم \<title>).

أولاً، قم بتثبيت الحزمة:```bash
pip install beautifulsoup4

و تشغيل scripts/osint/scraping_beatifulsoup.py:```bash python scripts/osint/scraping_beatifulsoup.py

root@kitploit:~
![Beatiful soup scraping](https://assets.kitploit.com/production/public/readmes/6659/2a56f2848aeac7180d0257067b18148c4ba13cf9dfdc3916a39a0247ee07a584.png)

الكود المصدري لـ scripts/osint/scraping_beatifulsoup.py:```python
import netlas
from bs4 import BeautifulSoup

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `http.body:shop`
netlas_query = netlas_connection.query(query="http.body:shop")

# iterate over data and print: URL, h1 tags from body
for response in netlas_query['items']:
    print (response['data']['uri'])
    soup = BeautifulSoup(response['data']['http']['body'], "html.parser")
    try:
        print(soup.find("h1").get_text())
    except Exception:
        print("no h1 tags")
pass

يمكنك استخراج البيانات من عناصر أخرى لصفحات الويب بطريقة مماثلة:``` soup.find("h3").get_text() soup.find("id='loginform'").get_text() soup.find("class='forms'").get_text() soup.find("href='https://example.com'").get_text()

root@kitploit:~
إذا كنت تريد العثور على جميع العناصر من نوع معين، استخدم طريقة find_all().


### حزمة Re

[Re](https://docs.python.org/3/library/re.html) هي حزمة بايثون مثبتة مسبقاً للبحث واسترجاع البيانات باستخدام التعبيرات النمطية (regular expressions). إنها مفيدة لاستخراج معلومات الاتصال من صفحات الويب والعديد من المهام الأخرى. دعنا نلقي نظرة على مثال لكيفية عملها.

قم بتشغيل scripts/osint/scraping_re.py:```bash
python scripts/osint/scraping_re.py

Re scraping

الكود المصدري لـ scripts/osint/scraping_re.py:```python import netlas import re

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query http.body:shop

netlas_query = netlas_connection.query(query="http.body:shop")

iterate over data and print: URL, emails from body

for response in netlas_query['items']: print (response['data']['uri']) emails = re.findall("[a-zA-Z0-9-.]+@[a-zA-Z0-9-.]+", response['data']['http']['body']) try: print(emails) except Exception: print("no emails") pass

root@kitploit:~
وبالمثل، يمكنك استخراج الروابط وأرقام الهواتف وعناوين محافظ العملات الرقمية والمزيد. يمكن العثور على الأنماط الجاهزة في مكتبات التعبير المنتظم:

[Regex Lib](https://regexlib.com/)
[UI Bakery Regex Library](https://uibakery.io/regex-library)
[Regex 101](https://regex101.com/)


### حزم بايثون أخرى للاستخلاص

Beaitiful soup و Re packages هي مجرد واحدة من العديد من الأدوات لاستخلاص البيانات من صفحات الويب باستخدام بايثون. فيما يلي بعض الأمثلة الإضافية على هذه الحزم:

* [Scrapy](https://pypi.org/project/Scrapy/): وهو في الأساس زاحف (أداة للتنقل عبر صفحات المواقع باستخدام الروابط الموجودة في صفحات أخرى) وبالإضافة إلى ذلك، لديه قدرات واسعة لاستخراج البيانات من صفحات الويب.
* [Selenium](https://pypi.org/project/selenium/): أداة لأتمتة تجربة المتصفح الخاص بك. تسمح لك باستخراج البيانات من المحتوى الذي يتم إنشاؤه بواسطة JavaScript.
* [Lxml](https://pypi.org/project/lxml/): أداة لاستخلاص ملفات XML والتحقق من صحتها.
* [PDFtoText](https://pypi.org/project/pdftotext/) - أداة لاستخراج محتوى النص من ملفات PDF.
* [pyChatGPT](https://pypi.org/project/pyChatGPT/) - حزمة غير رسمية للتفاعل مع CHATGP (لا تتطلب مفتاح OpenAI API)، والتي تسمح بتحليل المعلومات النصية باستخدام الذكاء الاصطناعي.


## استخدام Netlas.io في تحقيقات العملات الرقمية

توفر Netlas فرصة رائعة للباحثين المتخصصين في جرائم العملات الرقمية. أولاً، يمكن استخدامها للبحث عن إشارات إلى عناوين المحافظ وأرقام المعاملات. ثانيًا، يمكن استخدامها للبحث عن مزارع التعدين الضعيفة والعقد والخوادم الأخرى المرتبطة بالبنية التحتية للعملات الرقمية.

### البحث عن مزارع التعدين

![البحث عن مزارع التعدين](https://assets.kitploit.com/production/public/readmes/6659/77f381d83fa1d1d482941093c638ccc1620adb14365831ef7d74efa51913b2ec.png)

مزارع التعدين Antminer، التي تم إطلاقها لأول مرة من قبل Bitmain في عام 2013، هي واحدة من أشهر سلالات نماذج مزارع التعدين في العالم. يمكنك العثور عليها من خلال وجود كلمة "antMiner" في رأس www_authenticate.```
http.headers.www_authenticate:antMiner

جرب في Netlas

يمكنك أيضًا البحث عن أنواع أخرى من مزارع التعدين. على سبيل المثال:``` http.headers.www_authenticate:XMR-Stak-Miner

root@kitploit:~
جرب الجمع بين مرشحات مختلفة، والكلمات "miner/mining" وأسماء العملات الرقمية.

**مثال على طلب API**

Netlas CLI Tools:```bash
netlas search "http.headers.www_authenticate:antMiner"

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=http.headers.www_authenticate%3AantMiner&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: 'YOUR_API_KEY' | jq .items[].data.uri

root@kitploit:~
**مثال برمجي (مكتبة Netlas بايثون)**

![Maining farms search Python](https://assets.kitploit.com/production/public/readmes/6659/9b033acf5bc227191a51e0b969716bdda2540fe8a9f17373248f1494e1812164.png)

شغّل في سطر الأوامر:```bash
python scripts/crypto/mining_farms_search.py

الكود المصدري لـ scripts/crypto/mining_farms_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query http.headers.www_authenticate:antMiner

netlas_query = netlas_connection.query(query='http.headers.www_authenticate:antMiner')

iterate over data and print: uri, http headers

for response in netlas_query['items']: print (response['data']['uri']) print (response['data']['http']['headers'])

root@kitploit:~
### البحث عن المواقع المصابة ببرامج تعدين العملات الرقمية

![Search website injected with miners](https://assets.kitploit.com/production/public/readmes/6659/0163afad4013a8a92217f48e4bb628666a6a61822a0a14f6e6cd7ab0c29138f9.png)

خدمة Coinhive، التي تسمح للمواقع (المخترقة في الغالب) باستخدام أجهزة زوارها لتعدين العملات الرقمية، ستغلق في عام 2019. ولكن على الرغم من ذلك، لا تزال الروابط إليها مضمنة في العديد من المواقع حول العالم. دعنا نحاول العثور عليها:```
http.body:coinhive.min.js domain:*

لاحظ أننا نستخدم عامل التصفية domain:* للعثور على المواقع تحديدًا، وليس جميع الأجهزة.

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

مثال على طلب API

Netlas CLI Tools:```bash netlas search "http.body:coinhive.min.js domain:*"

root@kitploit:~
Curl:```bash
curl -X 'GET' \
   'https://app.netlas.io/api/responses/?q=http.body%3Acoinhive.min.js%20domain%3A*&source_type=include&start=0&fields=*' \
   -H 'accept: application/json' \
   -H 'X-API-Key: 'YOUR_API_KEY' | jq .items[].data.uri

مثال الكود (Netlas Python Library)

البحث عن مزارع التعدين Python

قم بالتشغيل في سطر الأوامر:```bash python scripts/crypto/search_sites_injected_with_miners.py

root@kitploit:~
الكود المصدري:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `http.body:coinhive.min.js domain:*`
netlas_query = netlas_connection.query(query='http.body:coinhive.min.js domain:*')


# iterate over data and print: uri
for response in netlas_query['items']: 
    print (response['data']['uri'])

البحث عن عُقد البيتكوين الضعيفة

البحث عن عقد البيتكوين

تستخدم عُقد البيتكوين المنفذ 8333 للاتصال عبر TCP. لذلك، من السهل العثور عليها باستخدام عامل تصفية البحث "port:".``` port:8333 cve:*

root@kitploit:~
لاحظ أننا نستخدم عامل تصفية "cve:*" للبحث عن الخوادم التي بها ثغرات.

**مثال لطلب API**

أدوات سطر الأوامر Netlas:```bash
netlas search "port:8333 cve:*"

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=port%3A8333%20cve%3A*&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: 'YOUR_API_KEY' | jq .items[].data.uri

root@kitploit:~
**مثال الكود (مكتبة Netlas Python)**

![البحث عن عُقد البيتكوين بلغة Python](https://assets.kitploit.com/production/public/readmes/6659/057eebb8a7790208aeb3cea45714a5699c9c31abd83d1eb703ceee4f578986f8.png)

قم بالتشغيل في سطر الأوامر:```bash
python scripts/crypto/search_bitcoin_nodes.py

الكود المصدري لـ scripts/crypto/search_bitcoin_nodes.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query port:8333 cve:*

netlas_query = netlas_connection.query(query='port:8333 cve:*')

iterate over data and print: uri, CVE name and description

for response in netlas_query['items']: print (response['data']['uri']) print (response['data']['cve'][0]['name']) print (response['data']['cve'][0]['description'])

root@kitploit:~
## استخدام Netlas لاختبار الاختراق

يتيح لك Netlas.io البحث عن المواقع التي تحتوي على العديد من أنواع الثغرات الأمنية المختلفة. يمكن القيام بذلك عن طريق رقم الثغرة (CVE-...)، أو اسم البرنامج المثبت على الخادم، أو كلمات معينة في رؤوس الصفحات، ومعلمات أخرى.

يمكنك تتبع أحدث CVEs (الثغرات والمخاطر الشائعة) المنشورة على هذه المواقع:

* [CVE Details](https://www.cvedetails.com/)
* [VulDB](https://vuldb.com/)
* [OpenCVE](https://www.opencve.io/)

نقوم أيضًا بنشر الاستعلامات الأكثر صلة للبحث عن الأجهزة والبرامج الضعيفة بانتظام على خلاصات [Twitter](https://twitter.com/Netlas_io) و[Telegram](https://t.me/netlas) و[Discord](https://nt.ls/discord) الخاصة بنا، بالإضافة إلى مستودع [Netlas Dorks](https://github.com/netlas-io/netlas-dorks) على Github.

في هذا القسم، سنغطي ببساطة المبادئ العامة للبحث عن المواقع والخوادم التي تحتوي على ثغرات أمنية.

### البحث عن النطاقات الفرعية

باستخدام العلامات النجمية في استعلامات البحث، يمكنك العثور على جميع النطاقات الفرعية ذات المستويات المختلفة (التي ينتهي اسمها باسم نطاق مستوى أول معين (.com) أو نطاق مستوى ثانٍ (google.com)).

**مثال على استعلام البحث**

![مثال على البحث عن نطاق فرعي](https://assets.kitploit.com/production/public/readmes/6659/2ec8112759c93d396d8bf622ad7988833d4262aa8add2a2da46fdfe01f5aa717.png)```
domain:*.github.com OR host:*.github.com

جرب في Netlas

مثال لطلب API

أدوات Netlas CLI:```bash netlas search "domain:.github.com OR host:.github.com" -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=domain%3A*.github.com%20OR%20host%3A*.github.com&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' | jq .items[].data.uri

مثال على الكود (مكتبة Netlas بايثون)

مثال على البحث في النطاقات الفرعية بايثون

تشغيل في سطر الأوامر:```bash python scripts/pentest/subdomain_search.py

root@kitploit:~
الكود المصدري لـ scripts/pentest/subdomain_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `domain:*.github.com OR host:*.github.com`
netlas_query = netlas_connection.query(query="domain:*.github.com OR host:*.github.com")


# iterate over data and print: ip, url
for response in netlas_query['items']:
    print (response['data']['ip'])
    print (response['data']['uri'])

ابحث عن المواقع التي تحتوي على ثغرات محددة

مثال على استعلام البحث

بحث CVE``` cve.name:CVE-2022-22965

root@kitploit:~
[جرّب في Netlas](https://app.netlas.io/responses/?q=cve.name%3ACVE-2022-22965&page=1&indices=)

**مثال على طلب API**

Netlas CLI Tools:```bash
netlas search "cve.name:CVE-2022-22965" -f json

CVE-2022-22965 - قد يكون تطبيق Spring MVC أو Spring WebFlux الذي يعمل على JDK 9+ معرضًا لتنفيذ التعليمات البرمجية عن بُعد (RCE) عبر ربط البيانات. تفاصيل

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=http.body%3A1%3F234%3F567%3F89%3F99%20OR%20http.body%3A12345678999%20OR%20http.body%3A1234%3F5678%3F999&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: YOUR_API_KEY' jq .items[].data.uri

root@kitploit:~
**مثال الكود (مكتبة Netlas بايثون)**

![مثال بحث CVE بايثون](https://assets.kitploit.com/production/public/readmes/6659/56e2afbc833f063d53d416a1aa8145a8af62e8183d4367dfa365285078789eba.png)

تشغيل في سطر الأوامر:```bash
python scripts/pentest/cve_search.py

الكود المصدري لـ scripts/pentest/cve_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query cve.name:CVE-2022-22965

netlas_query = netlas_connection.query(query="cve.name:CVE-2022-22965")

iterate over data and print: ip, url

for response in netlas_query['items']: print (response['data']['ip']) print (response['data']['uri'])

root@kitploit:~
### البحث عن المواقع التي تحتوي على ثغرات بأوصاف تحوي كلمة معينة

إذا لم تكن بحاجة للتحقيق في الخوادم التي تحتوي على نوع محدد من الثغرات، ولكنك تريد فقط رؤية الخوادم المعرضة للخطر في مجموعة محددة (مثل Oracle WebLogic Server أو مواقع WordPress)، يمكنك البحث عنها باستخدام الكلمات المفتاحية وعامل التصفية cve.description:.

لتصفية المواقع التي تحتوي على ثغرات تم نشر استغلالات لها، استخدم cve.has_exploit:true.

**مثال على استعلام البحث**  

![بحث في وصف CVE](https://assets.kitploit.com/production/public/readmes/6659/03f621bed9ea16357222f19930d309b2d8d576761726cfa1a43f3f06d0f68353.png)```
cve.description:weblogic AND cve.has_exploit:true

جرب في Netlas

مثال على طلب API

أدوات Netlas CLI:```bash netlas search "cve.description:weblogic AND cve.has_exploit:true" -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=cve.description%3Aweblogic%20AND%20cve.has_exploit%3Atrue&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: YOUR_API_KEY | jq .items[].data.uri

مثال كود (مكتبة Netlas بايثون)

CVE description search Python

تشغيل في سطر الأوامر:```bash python scripts/pentest/cve_description_search.py

root@kitploit:~
شفرة المصدر لـ scripts/pentest/cve_description_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `cve.description:weblogic AND cve.has_exploit:true`
netlas_query = netlas_connection.query(query="cve.description:weblogic AND cve.has_exploit:true")

# iterate over data and print:  url, first CVE name first CVE description
for response in netlas_query['items']:
    print (response['data']['uri'])
    print (response['data']['cve'][0]['name'])
    print (response['data']['cve'][0]['description'])

البحث حسب رأس خادم HTTP

تتيح لك هذه الطريقة العثور على الأجهزة المصنعة من قبل شركة معينة.

مثال على استعلام البحث

Search by server software``` http.headers.server:"yawcam"

root@kitploit:~
ابحث عن كاميرات ويب YawCam.

[Try in Netlas](https://app.netlas.io/responses/?q=http.headers.server%3A%22yawcam%22&page=1&indices=)

**مثال على طلب API**

أدوات Netlas CLI:```bash
netlas search 'http.headers.server:"yawcam"' -f json

لاحظ أنه عند استخدام علامات الاقتباس المزدوجة في الاستعلامات، فإن الاستعلام نفسه يُكتب داخل علامات الاقتباس المفردة.

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=http.headers.server%3A%22yawcam%22&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: YOUR_API_KEY' | jq .items[].data.uri

root@kitploit:~
**مثال على الكود (مكتبة Netlas Python)**

![Http headers server search Python](https://assets.kitploit.com/production/public/readmes/6659/87261dd31bfd191d1eae9fe1b9f76537ae2ebfde6c44ed40dc7b67c3fa215249.png)

تشغيل في سطر الأوامر:```bash
python scripts/pentest/server_name_search.py

الكود المصدري لـ scripts/pentest/server_name_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query http.headers.server:"yawcam"

netlas_query = netlas_connection.query(query='http.headers.server:"yawcam"')

iterate over data and print: IP, URL, server name

for response in netlas_query['items']: print (response['data']['ip']) print (response['data']['http']['headers']['server'])

root@kitploit:~
#### تسجيلات الدخول وكلمات المرور الافتراضية <!-- omit in toc -->

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

![كلمات المرور الافتراضية](https://assets.kitploit.com/production/public/readmes/6659/1aad3e67d42397a0dd3ecf3e29e16fbc964401c962ab7482ba353578112ebe8c.png)

يمكن العثور على تسجيلات الدخول وكلمات المرور الافتراضية لنماذج الأجهزة المختلفة في قوائم خاصة. على سبيل المثال:

* [قائمة كلمة مرور تسجيل الدخول الافتراضية لأفضل نماذج أجهزة التوجيه (قائمة 2023)](https://www.softwaretestinghelp.com/default-router-username-and-password-list/)
* [اسم المستخدم الافتراضي – كلمة المرور – عنوان IP لكاميرات المراقبة](https://www.a1securitycameras.com/blog/default-username-passwords-ip-addresses-for-surveillance-cameras/)
* [كلمات المرور الافتراضية لجميع كاميرات IP تقريبًا](https://www.hackers-arise.com/post/the-default-passwords-of-nearly-every-ip-camera)
* [قائمة كلمات المرور الافتراضية من Datarecovery](https://datarecovery.com/rd/default-passwords/)

تذكر أن استخدام تسجيلات الدخول وكلمات المرور الافتراضية لتسجيل الدخول إلى أنظمة الآخرين ينتهك قواعد الأخلاقيات وقد يكون غير قانوني في بلدك.

### البحث عن الخوادم المعرضة للثغرات عن طريق تجزئة أيقونة المفضلة

إحدى طرق العثور على خوادم الويب المعرضة لثغرة معينة هي البحث عن أيقونة المفضلة (favicon.ico) لبرنامج خادم ويب معين.

**مثال على استعلام البحث**

![البحث عن CVE بواسطة تجزئة أيقونة المفضلة](https://assets.kitploit.com/production/public/readmes/6659/b0a93463790400a640c81c171f5a361de66eb6e6674a8cd993128c08c8199ae9.png)```
http.favicon.hash_sha256:ebaaed8ab7c21856f888117edaf342f6bc10335106ed907f95787b69878d9d9e

يبحث هذا الاستعلام عن favicon الخاص بـ SecurePoint (CVE-2023-22620).

Try in Netlas

مثال طلب API

أدوات Netlas CLI:```bash netlas search "http.favicon.hash_sha256:ebaaed8ab7c21856f888117edaf342f6bc10335106ed907f95787b69878d9d9e" -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
   'https://app.netlas.io/api/responses/?q=http.favicon.hash_sha256%3Aebaaed8ab7c21856f888117edaf342f6bc10335106ed907f95787b69878d9d9e&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' | jq .items[].data.uri

مثال كود (مكتبة Netlas Python)

بحث تجزئة Favicon باستخدام بايثون

تشغيل في سطر الأوامر:```bash python scripts/pentest/favicon_hash_search.py

root@kitploit:~
الكود المصدري لـ scripts/pentest/favicon_hash_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `http.favicon.hash_sha256:ebaaed8ab7c21856f888117edaf342f6bc10335106ed907f95787b69878d9d9e`
netlas_query = netlas_connection.query(query="http.favicon.hash_sha256:ebaaed8ab7c21856f888117edaf342f6bc10335106ed907f95787b69878d9d9e")


# iterate over data and print: IP,URL,web page title
for response in netlas_query['items']:
    print (response['data']['ip'])
    print (response['data']['uri'])
    print (response['data']['http']['title'])

البحث عن الخوادم الضعيفة حسب اسم الوسم

لتبسيط البحث عبر الخوادم التي تعمل بأنظمة تشغيل مختلفة، يقوم Netlas تلقائياً بإضافة وسوم إلى نتائج البحث.

أمثلة على الوسوم:

  • المدونات - medium، wordpress، tumblr
  • CDN - google_cloud، cloudflare، keycdn
  • CMS - ucoz، joomla، pyrocms
  • التجارة الإلكترونية - opencart، magento، wix

يمكنك البحث باستخدام الوسوم من خلال الفلتر "tag.name:". يمكنك أيضاً البحث حسب فئة الوسم باستخدام الفلتر "tag.category:". يتم عرض قائمة بجميع الوسوم والفئات المتاحة عند النقر على الأيقونة الواقعة على يمين مربع إدخال استعلام البحث في الصفحة الرئيسية لـ Netlas.

ملاحظة: لا تدعم جميع خطط التسعير استخدام الوسوم.

مثال على استعلام البحث

بحث عن CVE حسب اسم الوسم``` tag.name:"adobe_coldfusion"

root@kitploit:~
هذا الاستعلام يبحث عن Adobe ColdFusion (CVE-2023-26359).

[جرب في Netlas](https://app.netlas.io/responses/?q=tag.name%3A%22adobe_coldfusion%22&page=1&indices=)

**مثال طلب API**

Netlas CLI Tools:```bash
netlas search 'tag.name:"adobe_coldfusion"' -f json

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

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=tag.name%3A%22adobe_coldfusion%22&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: YOUR_API_KEY' | jq .items[].data.uri

root@kitploit:~
**مثال الكود (Netlas Python Library)**

![Favicon hash search Python](https://assets.kitploit.com/production/public/readmes/6659/df06bcb4bb2b0cd939656534bc1c2c5c94897cf699309ebf130d0fb26931c630.png)

تشغيل في سطر الأوامر:```bash
python scripts/pentest/search_tag_name.py

الكود المصدري لـ scripts/pentest/search_tag_name.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query tag.name:"adobe_coldfusion"

netlas_query = netlas_connection.query(query='tag.name:"adobe_coldfusion"')

iterate over data and print: IP,URL

for response in netlas_query['items']: print (response['data']['ip']) print (response['data']['uri'])

root@kitploit:~
### البحث عن الخوادم والأجهزة الضعيفة بالقرب منك (أو أي موقع آخر)

![CVE location search](https://assets.kitploit.com/production/public/readmes/6659/1cc7069b697b4c21a266b05804238fe541962e7baacb2cb0c98c10128cf6b126.png)

هل تريد معرفة عدد المواقع والأجهزة الضعيفة الموجودة حولك؟ ما عليك سوى البحث عن جميع عناوين IP التي تحتوي على حقل CVE في موقع جغرافي محدد.```
geo.city:London AND cve:*

جرب في Netlas

يمكنك أيضًا استخدام مرشحات الموقع الجغرافي الأخرى.

  • geo.continent
  • geo.country
  • geo.location

مثال طلب API

Netlas CLI Tools:``` geo.city:London AND cve:*

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=geo.city%3ALondon%20AND%20cve%3A*&source_type=include&start=0&fields=*' \
   -H 'accept: application/json' \
   -H 'X-API-Key: 'YOUR_API_KEY' | jq .items[].data.domain

مثال كود (Netlas Python Library)

بحث عن موقع CVE بلغة بايثون

تشغيل في سطر الأوامر:```bash python scripts/pentest/cve_location_search.py

root@kitploit:~
الكود المصدري لـ scripts/pentest/cve_location_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `geo.city:London AND cve:*`
netlas_query = netlas_connection.query(query='geo.city:London AND cve:*')


# iterate over data and print: uri, cve name, location
for response in netlas_query['items']: 
    print (response['data']['uri'])
    print (response['data']['cve'][0]['name'])
    print (response['data']['geo']['city'])

البحث عن لوحات تسجيل الدخول/الإدارة

Admin panels search

تحتوي العديد من المواقع والخوادم على صفحات ويب لتسجيل الدخول وكلمة المرور يمكن استخدامها للحصول على تحكم كامل في الموقع أو الخادم (من خلال استخدام كلمات المرور الافتراضية، أو القوة الغاشمة، أو استغلال الثغرات الأمنية).

يمكنك العثور عليها باستخدام مرشح uri: أو/و http.title:``` uri:login.php uri:login.aspx uri:user http.title:login uri:admin http.title:login http.title:admin http.title:panel

root@kitploit:~
هناك العديد من المجموعات. للعثور على لوحات الخوادم الضعيفة فقط استخدم عامل التصفية `cve:*`.

أيضًا، لا تنس أنه يمكنك تصفية الخوادم حسب البرامج المثبتة باستخدام العلامات. على سبيل المثال:```
tag.1c_bitrix:*
tag.Cisco:
tag.amazon_s3:*
tag.drupal:*
tag.wordpress:*

البحث عن لوحات إدارة قواعد البيانات المعرضة للخطر

Database admin panels search

دعنا نحاول البحث عن لوحة إدارة phpMyAdmin المعرضة للخطر (وهي واحدة من أكثر البرامج شيوعًا لإدارة قواعد بيانات MySQL):``` http.title:phpMyAdmin cve:*

root@kitploit:~
وإليك بعض الأمثلة لأدوات إدارة قواعد البيانات الشائعة الأخرى:

[Adminer](https://www.adminer.org/):```
http.title:adminer http.title:login cve:*

PostgreSQL``` http.title:(phpPgAdmin OR pgadmin) cve:*

root@kitploit:~
يمكنك أيضًا البحث عن الخوادم التي تحتوي على برامج مثبتة لقواعد بيانات مختلفة باستخدام العلامات أو المرشحات الخاصة:```
tag.adminer:*
tag.phpMyAdmin:*
tag.elastic:*
mongodb:*
mssql:*
mysql:*
django:*

البحث عن لوحات الإدارة للخوادم التي تم العثور عليها بهذه الطريقة قد لا يكون أسهل شيء يمكن القيام به، حيث يقوم مسؤولو المواقع غالبًا بتغيير الروابط القياسية إلى روابط أكثر أمانًا.

البحث عن المواقع المعرضة لثغرة SQL Injection

SQL Injection search

SQL injection هي نوع من الثغرات الأمنية التي تسمح بإجراء استعلامات قاعدة البيانات عن طريق التلاعب بمعاملات URL (يمكن أن يكون ذلك ممكنًا بسبب سوء التهيئة والكود ذي الجودة الرديئة).

إحدى أقدم التقنيات للعثور على الصفحات المعرضة لثغرة SQL Injection هي البحث عن الصفحات التي تم تمكين عرض رسائل الخطأ فيها في استعلامات MySQl باستخدام Google Dorks.

يمكن إجراء بحث مماثل في Netlas:``` http.body:mysql_fetch_array http.body:warning

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/responses/?q=http.body%3Amysql_fetch_array%20http.body%3Awarning&page=1&indices=)

بعض الأمثلة الأخرى:```
http.body:mysql_num_rows http.body:warning
http.body:mysql_connect http.body:denied
http.body:mysql_query http.body:warning
http.body:pg_connect http.body:fatal

مثال على طلب API

Netlas CLI Tools:```bash netlas search "http.body:mysql_fetch_array http.body:warning" -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=http.body%3Amysql_fetch_array%20http.body%3Awarning&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: YOUR_API_KEY' jq .items[].data.uri

مثال كود (Netlas Python Library)

SQL Injection search Python

تشغيل في سطر الأوامر:```bash python scripts/pentest/sql_injection_search.py

root@kitploit:~
الكود المصدري لـ scripts/pentest/sql_injection_search.py:```python
import netlas

apikey = "YOUR_API_KEY"
 
# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# search in Netlas "http.body:mysql_fetch_array http.body:warning"
netlas_query = netlas_connection.query(query="http.body:mysql_fetch_array http.body:warning")

# iterate over data and print: uri, web page body
for response in netlas_query['items']:
    print (response['data']['uri'])  
    print (response['data']['http']['body'])    

يمكنك أيضًا استخدام عوامل التصفية التالية للبحث عن خوادم MySQL الضعيفة:

  • mysql.error_code
  • mysql.error_id
  • mysql.error_message

بحث إنترنت الأشياء: 9 طرق أساسية

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

هناك أربع طرق رئيسية للعثور على هذه الأجهزة.

البحث بالعنوان

بحث بعنوان IoT

أسهل طريقة هي ببساطة البحث عن اسم البائع أو نوع الجهاز في عنوان http للإجابة.

حاول البحث عن أجهزة أتمتة المنزل Jeedom:``` http.title:Jeedom

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/responses/?q=http.title%3AJeedom&page=1&indices=)

أو كاميرات Avigilon:```
http.title:"Avigilon"

جرب في Netlas

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

والثاني هو أن العديد من أجهزة إنترنت الأشياء لا تحتوي على أي معلومات في عنوان http يمكن من خلالها التعرف عليها. لذلك، يمكن أن تكون مرشحات البحث الأخرى مفيدة أيضًا.

بحث داخل النص

Iot Body Search

وبالمثل، يمكنك محاولة البحث عن كلمات مفتاحية في نص استجابة http. لتصفية بعض المواقع الشائعة على الأقل، استخدم مرشح NOT domain:. دعنا نجرب البحث عن كاميرات Reolink:``` http.body:(clip-status) NOT domain:

root@kitploit:~
المثال ليس صحيحًا تمامًا، لذا يمكن العثور على هذه الكاميرات باستخدام العلامات (المزيد حول ذلك أدناه).

### البحث حسب رقم المنفذ

![Iot port search](https://assets.kitploit.com/production/public/readmes/6659/c7e51e69a0d102a1617d1eb5ed71fcfac72aa8289ef40e3da9097aa1f82155cc.png)

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

حاول البحث عن راديو الإنترنت (المنفذ 8000):```
port:8000 http.title:radio

جرب في Netlas

أو جميع الأجهزة التي لديها منفذ مفتوح 7547 (يُستخدم للإدارة عن بُعد لأجهزة التوجيه عبر CWMP):``` port:7547

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/responses/?q=port%3A7547&page=1&indices=)

### بحث عن طريق الشعار

![بحث شعار IoT](https://assets.kitploit.com/production/public/readmes/6659/fb8cf3ee79c9baf3469693d364d38eb8c636e171d98523d0920cc1feb948cc9b.png)

دعنا نبحث عن أجهزة التوجيه التي تستخدم بروتوكول Telnet (يمكنك أيضًا تصفيتها باستخدام port:23):```
telnet.banner:router

جرب في Netlas

أو ابحث عن البانرات لجميع البروتوكولات:``` *.banner:router

root@kitploit:~
[Try in Netlas](https://app.netlas.io/responses/?q=%5C*.banner%3Arouter&page=1&indices=)

### البحث بواسطة الأيقونة المفضلة (Favicon)

![البحث عن أجهزة إنترنت الأشياء بواسطة الأيقونة المفضلة](https://assets.kitploit.com/production/public/readmes/6659/dde45b8e6a3dcaea41ff21dc27a5eee558c3a5e046963f1ebaeb67397314a03b.png)

من أسهل الطرق للعثور على الأجهزة التي تحتوي على برامج معينة هو البحث بواسطة الأيقونة المفضلة. دعنا نحاول العثور على أماكن استخدام منتجات Cisco المختلفة:```
http.favicon.hash_sha256:62a8461e328d5bace3780ff738d0b58f6502592c04afa564e0a8a792583a7bfb

Try in Netlas

هناك ثلاث طرق رئيسية للبحث باستخدام favicon في Netlas:

  1. انقر على الأيقونة على يسار نتيجة البحث.
  2. انقر على زر بحث favicon على يمين شريط البحث، ثم الصق رابط favicon في النافذة المنبثقة.
  3. انقر على زر بحث favicon على يمين شريط البحث، ثم حمل ملف favicon.

بحث برؤوس الخادم

بحث رؤوس إنترنت الأشياء

أحيانًا لا توجد معلومات تعريفية عن الجهاز في عنوان HTTP، ولكن قد تكون موجودة في رؤوس أخرى. على سبيل المثال، في http.server.header:``` http.headers.server:"i-Catcher Console"

root@kitploit:~
[Try in Netlas](https://app.netlas.io/responses/?q=http.headers.server%3A%22i-Catcher%20Console%22&page=1&indices=)

يدعم Netlas البحث عبر عشرات الأنواع من ترويسات HTTP. جرب أشكالًا مختلفة.


### البحث بواسطة الكوكيز

![بحث الكوكيز لأجهزة إنترنت الأشياء](https://assets.kitploit.com/production/public/readmes/6659/8ca9d08b8f1b835c8fd2a0c62908e20102b439b90aeb49a718619f125daa6b61.png)

ابحث في مواقف Eco JS Parking:```
http.headers.set_cookie:(regist_carNo=)

جرب في Netlas

البحث بالعلامة

بحث عن علامات إنترنت الأشياء

قد تتطلب هذه الطريقة اشتراكًا مدفوعًا. اطّلع على الأسعار

يمكنك أيضًا محاولة البحث عن الأجهزة حسب العلامات (الفئات).``` tag.category:"IoT" tag.category:"Web cameras"

root@kitploit:~
[Try in Netlas](https://app.netlas.io/responses/?q=tag.category%3A%22Web%20cameras%22&page=1&indices=)

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

### مرشحات بحث إضافية

يمكنها البحث عن أجهزة إنترنت الأشياء الموجودة في مواقع جغرافية محددة:

- `geo.city`
- `geo.country`
- `geo.continent`

تصفية الأجهزة حسب نطاق عنوان IP:```
ip:[162.245.241.131 TO 162.245.241.133]

أو الأجهزة التي تحتوي على ثغرات "جديدة":``` cve.name:2023

root@kitploit:~
يمكن العثور على مزيد من الأمثلة لاستعلامات البحث عن أجهزة إنترنت الأشياء هنا:

[Netlas Dorks](https://github.com/netlas-io/netlas-dorks)

## استخدام Netlas.io لأبحاث الدارك نت

من المزايا الرئيسية لـ Netlas أنه يمكنك استخدامها للبحث عن أشياء لا يتم فهرستها بواسطة Google. وهذا ما يمكن تسميته تقليديًا بـ DeepWeb. على سبيل المثال، خوادم FTP أو خوادم Telnet:```
ftp.banner:*
root@kitploit:~
telnet.banner:*

ولكن لسوء الحظ، لا يقوم Netlas بفهرسة الدارك نت (.onion, .i2p إلخ) لأنه يمسح فقط عناوين IP العالمية. ولكن لا يزال بإمكانه استخدامه لاستكشاف البنية التحتية للشبكات البديلة والعثور على روابط لمواقع .onion.

البحث عن عقد الخروج من Tor

عقدة الخروج من Tor هي النقطة التي يغادر فيها حركة مرور الويب شبكة Tor ويتم إعادة توجيهها إلى الوجهة. تتوفر دائمًا قائمة محدثة بعناوين IP لعقد الدخول النشطة في Tor على موقع Tor Project:

قائمة عقد الخروج لمشروع Tor

لنرى كيف يمكنك جمع معلومات حول جميع عقد الخروج النشطة في Tor مرة واحدة باستخدام Netlas. سيكون هذا المثال مفيدًا لجميع المهام الأخرى التي تحتاج فيها إلى جمع معلومات حول قائمة من النطاقات أو عناوين IP.

Run scripts/darknet/tor_nodes.py:```bash python scripts/darknet/tor_nodes.py

root@kitploit:~
![جمع معلومات عن عقد الخروج في شبكة Tor](https://assets.kitploit.com/production/public/readmes/6659/c1d2c2e9542694adbe3a8f1b1332e803b4ad2e39d1ae46f4a8c32a80ef5a133f.png)

الكود المصدري لـ scripts/darknet/tor_nodes.py:```python
import netlas
import urllib
import time

apikey = 'YOUR_API_KEY'

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# read file with Tor Exit Nodes IPs line by line
response = urllib.request.urlopen('https://check.torproject.org/torbulkexitlist?ip=1.1.1.1')
ip_lines = response.readlines()

# save each line to ip variable
for ip in ip_lines:
     # wait one second
     time.sleep(1)
     # conver byte string to text
     ip=ip.decode("utf-8")
     # retrieve data from responses by query `ip: + tor exit node ip`
     netlas_query = netlas_connection.query(query="ip:"+ip)

    # iterate over data and print: ip, geo data, banner text

     for response in netlas_query['items']:
         print(response['data']['ip'])
         print(response['data']['geo'])
         print(response['data']['ntp']['banner'])
     pass
pass

باستخدام حزمة time وطريقة sleep هو جيد فقط للأمثلة البسيطة. أفضل الحلول هو استخدام حزمة تحديد المعدل.

جمع الروابط إلى مواقع .onion

كما ذكر أعلاه، يقوم Netlas بمسح النطاقات العالمية فقط، لذلك لا يمكن البحث عن نطاقات .onion. ولكن يمكنك البحث عن مراجع لنطاقات .onion في نص صفحات الويب. إليك مثال على سكربت Python بسيط (مع تعبير عادي) يقوم بذلك:

قم بتشغيل scripts/darknet/onion_links.py:```bash python scripts/darknet/onion_links.py

root@kitploit:~
![Onion links collecting](https://assets.kitploit.com/production/public/readmes/6659/979fff15ed6e8cc399cc755cb292978b22a93d11ee14e59bf7690365d3e2842b.png)

الكود المصدري لـ scripts/darknet/onion_links.py:```python
import netlas
import re

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `http.body:*.onion AND forum`
netlas_query = netlas_connection.query(query="http.body:(*.onion AND forum)")


# iterate over data and print: URL, .onion link from body
for response in netlas_query['items']:
    print(response['data']['uri'])
    onion_links = re.findall("[a-z-1-9]*\.onion", response['data']['http']['body'])  
    try:
         print(onion_links)
    except:
         print("no onion links")
pass

يمكنك جمع روابط لشبكات أخرى مثل I2P بنفس الطريقة:``` http.body:*.i2p

root@kitploit:~
## البحث عن دلائل الملفات والنسخ الاحتياطية والسجلات

![Directory search](https://assets.kitploit.com/production/public/readmes/6659/27773f3dbb2ba7b3fd3be7a41262cef61c41c2a988e6ed55ce67f593c7e7a06f.png)

هناك عدد هائل من المواقع والخوادم التي تترك دلائل ملفاتها مفتوحة بسبب خطأ في التكوين (وأحيانًا عن قصد). فيما يلي بعض الأمثلة على الاستعلامات التي ستساعدك في العثور عليها.

البحث عن أي دلائل ملفات:```
http.title:Index http.title:of

ابحث عن الدلائل التي تحتوي على ملفات السجل:``` http.title:Index http.title:of http.body:logs

root@kitploit:~
ابحث عن الدلائل التي تحتوي على تفريغات قاعدة البيانات:```
http.title:Index http.title:of http.body:sql

البحث عن المجلدات التي تحتوي على نسخ احتياطية مؤرشفة:``` http.title:Index http.title:of http.body:backup?zip

root@kitploit:~
البحث عن المجلدات التي تحتوي على معلومات الوصول إلى SSH:```
http.title:Index http.title:of http.body:("ssh_config" OR "ssh_known_hosts" OR "authorized_keys" OR "id_rsa" OR "id_dsa")

البحث عن الدلائل التي تحتوي على ملفات بمعلومات ترخيص أخرى:``` http.title:Index http.title:of http.body:("pass" OR "logins" OR "config" OR "password")

root@kitploit:~
البحث عن الدلائل التي تحتوي على ملفات تم تنزيلها من قبل المستخدمين:```
http.title:index http.title:of http.body:downloads

ابحث عن المجلدات التي تحتوي على ملفات تكوين Docker:``` http.title:index http.title:of http.body:docker-compose

root@kitploit:~
يمكنك التفكير في مئات الطلبات الأخرى المشابهة. جرب أسماء ملفات وامتدادات مختلفة.

## استخدام Netlas.io في الطب الشرعي الرقمي والاستجابة للحوادث

يصعب فصل هذا القسم عن قسم Netlas لأغراض OSINT، حيث أن الاستعلامات المذكورة فيه ستكون مفيدة أيضًا للمشتغلين في الطب الشرعي الرقمي.

في هذا القسم، نصف استعلامات أكثر "تقنية" يمكن أن تساعد، على سبيل المثال، في جمع معلومات عن البنية التحتية التقنية للشبكات أو التحقيق في هجمات التصيد.

### جمع معلومات خوادم SMTP

SMTP (بروتوكول نقل البريد البسيط) هو بروتوكول اتصال يتيح إرسال واستقبال رسائل البريد الإلكتروني. في معظم عملاء البريد الإلكتروني، عند عرض الرسائل، تتوفر وظيفة "إظهار الأصلي" التي تتيح لك عرض عنوان خادم SMTP الذي أُرسلت منه الرسالة.

تتيح لك Netlas الحصول على معلومات عن خادم SMTP بالإضافة إلى أي عنوان IP أو نطاق آخر، وكذلك البحث في نص شعارات SMTP، مما يسمح لك بالعثور على الخوادم المرتبطة بنطاق أو شركة أو مزود استضافة معين.

**مثال على استعلام البحث**  

![البحث عن شعار SMTP](https://assets.kitploit.com/production/public/readmes/6659/e97e5c301c148f4f500d3933ada00375a24ab6bafbc05647d9c227f2b2d3cbbd.png)```
smtp.banner:fornex.cloud

Netlas CLI أدوات:```bash netlas search "smtp.banner:fornex.cloud" -f json

root@kitploit:~
Curl:```bash
curl -X 'GET' \
  'https://app.netlas.io/api/responses/?q=smtp.banner%3Afornex.cloud&source_type=include&start=0&fields=*' \
  -H 'accept: application/json' \
  -H 'X-API-Key: 'YOUR_API_KEY' | jq .items[].data.smtp.banner

مثال كود (مكتبة Netlas Python)

SMTP banner search Python

تشغيل في سطر الأوامر:```bash python scripts/dfir/smtp_banner_search.py

root@kitploit:~
الكود المصدري لـ scripts/dfir/smtp_banner_search.py:```python
import netlas

apikey = "YOUR_API_KEY"

# create new connection to Netlas
netlas_connection = netlas.Netlas(api_key=apikey)

# retrieve data from responses by query `smtp.banner:fornex.cloud`
netlas_query = netlas_connection.query(query="smtp.banner:fornex.cloud")


# iterate over data and print: SMTP banner, URL, ISP
for response in netlas_query['items']:
    print (response['data']['smtp']['banner'])
    print (response['data']['uri'])
    print (response['data']['isp'])

البحث عن النطاقات التي قد تُستخدم للتصيد الاحتيالي

إحدى الطرق الشائعة التي يستخدمها المحتالون هي استخدام نطاقات متشابهة جدًا في التهجئة مع نطاقات الشركات المعروفة.

يمكنك العثور على هذه النطاقات لشركة معينة باستخدام Netlas والبحث التقريبي.

Domain fuzzy search

افتح بحث نطاق Whois وأدخل اسم نطاق الشركة + . على سبيل المثال:``` domain:facebook.com

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/whois_domains/?q=domain%3Afacebook.com~&page=1&indices=)

![استيراد بحث المجال التقريبي](https://assets.kitploit.com/production/public/readmes/6659/5d4ba2bdc395a3e52bfadaf8d7bda8977e0d115e13a1a68980520ea8532ca904.png)

بعد ذلك، انقر على الأيقونة اليسرى، واختر نوع ملف التصدير، وأسماء الملفات، والحقول التي تريد حفظها في الملف. انقر على "تنزيل" وانتظر قليلاً.

![CSV بحث المجال التقريبي](https://assets.kitploit.com/production/public/readmes/6659/f5ed5c4c253a3e2fb994623fe48447714b7d706496edeca527a5d53de33707c4.png)

على سبيل المثال، يمكنك تحديد تنسيق ملف CSV وحقول المجال والتاريخ والوضع. يمكن عرض هذا الجدول بسهولة في Excel أو Numbers أو Google Docs.

### بحث Favicon

![بحث Favicon](https://assets.kitploit.com/production/public/readmes/6659/1e2761528fda75b2a240460fb07d3f77f0b2872ff504bc08759befc22e470612.png)

البحث عن favicon.ico له ثلاثة استخدامات رئيسية.

أولاً، يسمح لك بالعثور على المواقع والنطاقات الفرعية المحتملة ذات الصلة. حاول العثور على عنوان IP مرتبط بمتاجر Lidl:```
http.favicon.perceptual_hash:003c7e72207e3c00

جرب في نيتلاس

وأيضًا للعثور على مواقع التصيد التي تستخدم تصميم الشبكات الاجتماعية الشهيرة والمتاجر عبر الإنترنت، إلخ.

ثانيًا، هو بحث عن أجهزة إنترنت الأشياء المختلفة. حاول العثور على منتجات HP:``` http.favicon.perceptual_hash:0c5ec8c181f37e2c

root@kitploit:~
[Try in Netlas](https://app.netlas.io/responses/?q=http.favicon.perceptual_hash%3A0c5ec8c181f37e2c&page=1&indices=)

ثالثًا، يبحث عن الخوادم التي تحتوي على برامج معينة قيد التشغيل عليها. حاول العثور على خوادم تحتوي على PhpMyAdmin:```
http.favicon.perceptual_hash:00084e5e5fffff8d

جرب في Netlas

هناك ثلاث طرق رئيسية للبحث عن تجزئة favicon في Netlas:

  1. انقر على الأيقونة إلى يسار نتيجة البحث.
  2. انقر على زر بحث favicon إلى يمين شريط البحث والصق رابط favicon في النافذة المنبثقة.
  3. انقر على زر بحث favicon إلى يمين شريط البحث وارفع ملف favicon.

يمكنك أيضًا استخدام المرشحات التالية للبحث عن طريق favicon:

  • http.favicon.last_modified
  • http.favicon.last_updated
  • http.favicon.uri
  • http.favicon.path

البحث عن النطاقات المرتبطة بشبكة فرعية محددة

البحث عن الشبكة الفرعية

يتيح بحث نطاقات Netlas الحصول على قائمة كاملة بالنطاقات المرتبطة بعنوان IP محدد أو نطاق من العناوين. على سبيل المثال:``` a:"163.114.132.0/24"

root@kitploit:~
[جرب في Netlas](https://app.netlas.io/domains/?q=a%3A%22163.114.132.0%2F24%22&page=1&indices=)

مثال على طلب API

أدوات Netlas CLI:```bash
netlas search -d domain a:\"163.114.132.0/24\"

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/domains/?q=a%3A%22163.114.132.0%2F24%22&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: 'YOUR_API_KEY' | jq .items[].data.domain

root@kitploit:~
**مثال كود (مكتبة Netlas بايثون)**

![بحث الشبكة الفرعية](https://assets.kitploit.com/production/public/readmes/6659/167cec2c2ef94ede54088bfe94fef093af8bf58ea2de6df34a73212f5d3044b1.png)

تشغيل في سطر الأوامر:```bash
python scripts/dfir/subnet_search.py

الكود المصدري لملف scripts/dfir/subnet_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from responses by query a:"163.114.132.0/24"

netlas_query = netlas_connection.query(query='a:"163.114.132.0/24"',datatype="domain")

iterate over data and print: domain

for response in netlas_query['items']: print (response['data']['domain'])

root@kitploit:~
### البحث عن الخوادم المزودة ببرمجيات خبيثة

![بحث عن برمجيات خبيثة](https://assets.kitploit.com/production/public/readmes/6659/d728e7baced751038764f0895099894d154370929ac7eb11e60f80137e549f72.png)


يتيح لك Netlas العثور على الخوادم التي تحتوي على برمجيات خبيثة متنوعة مثبتة عليها. يمكنك العثور عليها من خلال وجود كلمات معينة في http.title أو http.body، أو تجزئة favicon، أو شهادات SSL وغيرها من المعايير.

فيما يلي مثال على استعلام سيجد الخوادم التي تحتوي على GoFish (إطار عمل التصيد مفتوح المصدر) مثبتًا:```
http.title:Gophish http.title:Login

لاحظ أن تقنية استخدام نفس العامل مرتين (بدلاً من النجمة بين كلمتين) تُستخدم هنا. أحيانًا يساعدك هذا في الحصول على نتائج بحث أكثر.

إليك المزيد من الأمثلة على طلبات مماثلة:``` http.title:CALDERA http.title:login http.title:Deimos http.title:C2

root@kitploit:~
**مثال على طلب API**

Netlas CLI Tools:```bash
netlas search "http.title:Gophish http.title:Login" -f json

Curl:```bash curl -X 'GET'
'https://app.netlas.io/api/responses/?q=http.title%3AGophish%20http.title%3ALogin&source_type=include&start=0&fields=*'
-H 'accept: application/json'
-H 'X-API-Key: YOUR_API_KEY' jq .items[].data.uri

root@kitploit:~
**مثال برمجي (مكتبة Netlas Python)**

![البحث عن البرامج الضارة باستخدام Python](https://assets.kitploit.com/production/public/readmes/6659/6d97f8bdcd0897b846dfa636e667cdca0cdfe8565f0aa33634934d2f7dbd2e40.png)

تشغيل في سطر الأوامر:```bash
python scripts/dfif/malware_search.py

الكود المصدري لـ scripts/dfir/malware_search.py:```python import netlas

apikey = "YOUR_API_KEY"

create new connection to Netlas

netlas_connection = netlas.Netlas(api_key=apikey)

retrieve data from whois for "http.title:Gophish http.title:Login"

netlas_query = netlas_connection.query(query="http.title:Gophish http.title:Login")

iterate over data and print: uri, title, country

for response in netlas_query['items']: print (response['data']['uri'])
print (response['data']['http']['title'])
print (response['data']['geo']['country'])

root@kitploit:~
## البحث عن التقنيات وأمثلة الأكواد

---

[Read more](https://github.com/netlas-io/netlas-cookbook)
تنزيل الأداة