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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
inhale — أداة تحليل وتصنيف البرامج الضارة. | Kitploit
أدوات/GitHubGitHub/netspooky/inhale
التحليل الثابتتحليل التجزئةالتحقيق الجنائي الرقميجمع المعلوماتتحليل البرمجيات الخبيثةتحليل الملفات الثنائية
GitHubnetspooky/inhale

inhale

أداة تحليل وتصنيف البرامج الضارة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Inhale - مستنشق البرمجيات الخبيثة

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

هذه هي النسخة التجريبية، لأغراض الاختبار، والملاحظات، والتطوير المجتمعي.

خلفية

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

انتهى بي الأمر بتحويل هذه السكريبتات إلى شيء يمكن للأشخاص إعداده واستخدامه بسرعة، سواء كنت تعمل من خادم بحث، أو كمبيوتر محمول، أو كمبيوتر منخفض التكلفة مثل Raspberry Pi.

التثبيت

تم بناء هذه الأداة لتعمل على لينكس باستخدام Python3 و ElasticSearch و radare2 و yara و binwalk. كما أن jq مطلوب لطباعة المخرجات من قاعدة البيانات بشكل منسق. فيما يلي بعض التعليمات الأساسية للتثبيت.

هناك مجموعة من الأشياء في ملف config.yml لم يتم إعدادها بعد، فقط اتركها كما هي ما لم يُذكر خلاف ذلك في هذه الوثائق.

Python3

تثبيت المتطلبات

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

تثبيت ElasticSearch (ديبيان)

ليست هناك حاجة إلى قاعدة بيانات لاستخدام إنهيل، ولكن إذا كنت ترغب في إعداد واحدة، فاتبع هذه التعليمات واضبط خيار enable_database في config.yml على True.

وثائق

root@kitploit:~
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install elasticsearch
sudo service elasticsearch start

يمكنك أيضًا التثبيت يدويًا باتباع هذه الوثائق

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

تثبيت radare2

من المهم تثبيت radare2 من المستودع، وليس من مدير الحزم الخاص بك. إصدارات مدير الحزم لا تأتي بكل الميزات المطلوبة لإنهيل.

root@kitploit:~
git clone https://github.com/radare/radare2
cd radare2
sys/install.sh

تثبيت Yara

وثائق

root@kitploit:~
sudo apt-get install automake libtool make gcc
wget https://github.com/VirusTotal/yara/archive/v3.10.0.tar.gz
tar xvzf v3.10.0.tar.gz
cd yara-3.10.0/
./bootstrap.sh
./configure
make
sudo make install

إذا حصلت على أي أخطاء حول الكائنات المشتركة، جرب هذا لإصلاحها.

root@kitploit:~
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf'
sudo ldconfig

تثبيت binwalk

من الأفضل على الأرجح تثبيت binwalk ببساطة من المستودع.

root@kitploit:~
git clone https://github.com/ReFirmLabs/binwalk
cd binwalk
sudo python3 setup.py install

مزيد من المعلومات حول تثبيت الميزات الإضافية لـ binwalk موجودة هنا.

تثبيت telfhash/tshl

هذه مكتبة تقوم بتجزئة أقسام ملفات ELF لتحليل عائلة البرمجيات الخبيثة. telfhash يعتمد على tlsh، لذا تعليمات تثبيت كلاهما كما يلي:

إعداد tlsh

root@kitploit:~
git clone https://github.com/trendmicro/tlsh
cd tlsh
./make.sh
cd py_ext/
python3 ./setup.py build
sudo python3 ./setup.py install

إعداد telfhash

root@kitploit:~
git clone https://github.com/trendmicro/telfhash
cd telfhash
sudo python3 setup.py install

إعداد خادم الويب

إذا كنت ترغب في استخدام خادم ويب لاستضافة مخرجات إنهيل للمشاركة، قم بتعيين المتغيرات في config.yml إلى المسارات المناسبة، وتأكد من وجود الدلائل!

root@kitploit:~
web:
  gen_html: False
  webdir: "/var/www/html/" # The actual web directory
  fqdn: "http://threat.land" # Your website
  in_path: "/var/www/html/inhaled/" # The path to inhale output
  ex_path: "/var/www/html/exhaled/" # The path for db query cache output

لاستخدام مخرجات html، قم بتشغيل إنهيل كالتالي:

root@kitploit:~
python3 inhale.py [all your args here] --html

الاستخدام

حدد الملف الذي تقوم بفحصه حسب النوع:

root@kitploit:~
-f INFILE      تحليل ملف واحد
-d DIRECTORY   تحليل مجلد من الملفات
-u URLFILE     تحليل ملف عن بُعد (url)
-r RDIRECTORY  تحليل مجلد عن بُعد (url)
-l URLLIST     تحليل قائمة عناوين URL في ملف نصي

خيارات أخرى:

root@kitploit:~
-t TAGS        إضافة وسوم إضافية إلى المخرجات.
-b             إيقاف تواقيع binwalk
-y YARARULES   تحديد قواعد Yara مخصصة
-o OUTDIR      تخزين الملفات الممسوحة في مجلد إخراج محدد (الافتراضي: ./files/<date>/)
-i             طباعة المعلومات فقط، لا تضف الملفات إلى قاعدة البيانات
--html         حفظ المخرجات كـ html إلى webdir.

أمثلة

تشغيل inhale.py سيقوم بإجراء جميع التحليلات على ملف/مجلد/url معين وطباعتها على terminal الخاص بك.

عرض معلومات عن /bin/ls، لكن لا تضف إلى قاعدة البيانات

root@kitploit:~
python3 inhale.py -f /bin/ls -i 

إضافة المجلد 'malwarez' إلى قاعدة البيانات

root@kitploit:~
python3 inhale.py -d malwarez/

تحميل هذا الملف وإضافته إلى قاعدة البيانات

root@kitploit:~
python3 inhale.py -u https://thugcrowd.com/chal/skull

تحميل كل شيء في هذا المجلد البعيد، ووسم الكل كـ "تصيد":

root@kitploit:~
python3 inhale.py -r http://someurl.com/opendir/ -t phishing

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

Yara

يمكنك تمرير قواعد yara الخاصة بك باستخدام -y، هذا عمل قيد التطوير بشكل كبير وكل شيء تقريبًا في "YaraRules" هو من https://github.com/kevthehermit/PasteHunter/tree/master/YaraRules. تحية لـ @KevTheHermit

الاستعلام عن قاعدة البيانات

استخدم db.sh للاستعلام (قريبًا سيصبح سكريبتًا لطيفًا)

root@kitploit:~
db.sh *something* | jq .

نموذج البيانات

فيما يلي نموذج البيانات الحالي المستخدم في قاعدة بيانات elasticsearch. لن يُستخدم كل واحد من هذه لكل ملف معين. أي وسوم r2_* محجوزة عادةً للثنائيات من نوع ما.

حلول للمشكلات

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

حد حقل فهرس ElasticSearch

إذا حصلت على خطأ مثل هذا:

root@kitploit:~
elasticsearch.exceptions.RequestError: RequestError(400, 'illegal_argument_exception', 'Limit of total fields [1000] in index [inhaled] has been exceeded')

قد يكون لديك إصدار أقدم من elasticSearch. يمكنك الترقية، أو يمكنك زيادة حد الحقول باستخدام هذا السطر الواحد.

root@kitploit:~
curl -XPUT 'localhost:9200/inhaled/_settings' -H 'Content-Type: application/json' -d'{ "index" : { "mapping" : { "total_fields" : { "limit" : "100000" }}}}'

الميزات المستقبلية

  • إعادة عمل إضافة البوت لديسكورد / ماتريكس
  • ميزات تحليل ثنائي إضافية - سحب جداول الاستيراد/التصدير، تجزئة هياكل محددة في الترويسة، تسجيل جميع السلاسل النصية إلخ. بعضها منفذ في telfhash!
  • التحقق مما إذا كان الملف هو قاعدة البيانات قبل الإضافة. تمت إزالة هذه الميزة سابقًا بسبب مشكلات محددة مع إصدارات ES القديمة.
  • خيارات تهيئة للطلبات مثل: وكيل المستخدم، المهلة الزمنية، البروكسي إلخ.
  • تحويل هذا المشروع بأكمله إلى Docker.

المساهمة

نرحب بالطلبات (PRs)! إذا كنت تريد تقديم ملاحظات محددة، يمكنك أيضًا مراسلتي مباشرة @netspooky على تويتر.

الشكر

أود شكر كل من ساعدني في اختبار هذه الأداة. كما أشكر Plazmaz على القيام بفحص أولي للكود لجعله أنظف قليلاً.

تحيات لـ: hermit, plazmaz, nux, x0, dustyfresh, aneilan, sshell, readme, dnz, notdan, rqu, specters, nullcookies, ThugCrowd، وكل من شارك في ThreatLand و TC Safari Zone.

تنزيل الأداة
Nameالوصف
filenameالمسار الكامل للملف الثنائي
file_extامتداد الملف
filesizeحجم الملف
filetypeنوع الملف بناءً على قيمة magic. ليس موثوقًا مثل تواقيع binwalk.
md5تجزئة MD5 للملف
sha1تجزئة SHA1 للملف
sha256تجزئة SHA256 للملف
addedتاريخ إضافة الملف
r2_archبنية الملف الثنائي
r2_baddrالعنوان الأساسي للثنائي
r2_binszحجم كود البرنامج
r2_bitsبتات البنية - 8/16/32/64 إلخ.
r2_canaryما إذا كانت استعلامات المكدس مفعلة أم لا
r2_classصنف الثنائي
r2_compiledتاريخ تجميع الثنائي
r2_dbg_fileملف التصحيح للثنائي
r2_intrpالمفسر الذي يستدعيه الثنائي إذا كان مرتبطًا ديناميكيًا
r2_langلغة الكود المصدري
r2_lsymsما إذا كانت هناك رموز تصحيح أم لا
r2_machineنوع الجهاز، يعني عادةً وحدة المعالجة المركزية التي صُمم الثنائي لها
r2_osنظام التشغيل الذي يُفترض أن يعمل عليه الجهاز
r2_picما إذا كان هناك كود مستقل عن الموضع (PIC) أم لا
r2_relocsما إذا كانت هناك إعادة توطين أم لا
r2_rpathمسار البحث في وقت التشغيل - إن أمكن
r2_strippedما إذا كان الثنائي مجردًا (stripped) أم لا
r2_subsysالنظام الفرعي للثنائي
r2_formatتنسيق الثنائي
r2_iorwما إذا كانت استدعاءات ioctl موجودة
r2_typeنوع الثنائي، سواء كان ملفًا تنفيذيًا أو كائنًا مشتركًا إلخ.
yaraيحتوي على قائمة بمطابقات yara
binwalkيحتوي على قائمة بتواقيع binwalk ومواقعها في الثنائي
tagsأي وسوم معرفة من قبل المستخدم تم تمريرها مع العلم -t.
urlعنوان URL الأصلي إذا تم تحميل الملف عن بُعد
urlsأي عناوين URL تم سحبها من الثنائي