
FileInsight-plugins: صندوق أدوات فك التشفير لمحرر McAfee FileInsight السداسي لتحليل البرامج الضارة
FileInsight-plugins هي مجموعة كبيرة من الإضافات لمحرر McAfee FileInsight السداسي.
تضيف العديد من الإمكانيات مثل فك التشفير، وفك الضغط، والبحث عن سلاسل نصية XORed، والمسح بقاعدة YARA، ومحاكاة الكود، وفك التجميع، والمزيد!
إنها مفيدة لأنواع مختلفة من مهام فك التشفير في تحليل البرامج الضارة (على سبيل المثال، استخراج ملفات البرامج الضارة القابلة للتنفيذ ووثائق الخداع من ملفات المستندات الضارة).
لمن يبحث عن مثبت FileInishgt، فهو متوفر على https://downloadcenter.trellix.com/products/mcafee-avert/fileinsight.msi.
لقطات الشاشة
حوار إضافة "AES decrypt"

نتيجة مسح إضافة "YARA scan"

هيكل بيانات ملف ELF القابل للتنفيذ الذي تم تحليله بواسطة إضافة "Parse file structure"

أثر محاكاة لـ ARM64 Linux shellcode المحاكى بواسطة إضافة "Emulate code"

مخرجات فك تجميع لـ x86 Linux shellcode الذي تم فك تجميعه بواسطة إضافة "Disassemble"

تمثيل نقطي لملف Windows القابل للتنفيذ المرسوم بواسطة إضافة "Bitmap view"

الرسم البياني للبايت لملف Excel المعروض بواسطة إضافة "Byte histogram"

الرسم البياني للإنتروبيا لملف Windows القابل للتنفيذ المعروض بواسطة إضافة "Entropy graph"

العروض التقديمية
Black Hat USA 2021 Arsenal
CODE BLUE 2019 Bluebox
حالات الاستخدام
كيفية التثبيت
يرجى تنفيذ الأمر التالي. سيتم تثبيت أحدث إصدار من FileInsight-plugins والمتطلبات الأساسية بما في ذلك FileInsight و Python 3.12.x (x64).
powershell -exec bypass -command "IEX((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/nmantani/FileInsight-plugins/master/install.ps1'))"
إذا كنت تستخدم خادم وكيل (مثلًا، عنوان IP: 10.0.0.1، المنفذ: 8080)، يرجى تنفيذ الأوامر التالية.
curl -x http://10.0.0.1:8080 -Lo install.ps1 https://raw.githubusercontent.com/nmantani/FileInsight-plugins/master/install.ps1
powershell -exec bypass .\install.ps1
هناك عدد قليل من وحدات Python التي تتطلب تثبيتًا يدويًا. يرجى اتباع تعليمات التثبيت التي تعرضها الإضافات.
كيفية الاستخدام
يرجى النقر على "Operations" في علامة التبويب "Plugins" ثم اختيار إضافة.
يمكنك أيضًا استخدام الإضافات من قائمة النقر بزر الماوس الأيمن.

بعض الإضافات تعرض حوارًا إضافيًا لإعدادات الإضافة عند الاستخدام.

كيفية التحديث
إذا كنت ترغب في تحديث FileInsight-plugins إلى أحدث إصدار،
يرجى النقر على "Check for update" من قائمة الإضافات. سيتم تنفيذ
سكريبت التثبيت PowerShell (https://raw.githubusercontent.com/nmantani/FileInsight-plugins/master/install.ps1)
إذا كان الإصدار الجديد متاحًا.
سيتم استبدال الملفات الموجودة.

يمكنك أيضًا التحديث باستخدام الأمر التالي ("Check for update"
ينفذ هذا الأمر).
powershell -exec bypass -command "& ([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/nmantani/FileInsight-plugins/master/install.ps1'))) -update"
إذا كنت تستخدم خادم وكيل (مثلًا، عنوان IP: 10.0.0.1، المنفذ: 8080)، يرجى تنفيذ الأوامر التالية.
curl -x http://10.0.0.1:8080 -Lo install.ps1 https://raw.githubusercontent.com/nmantani/FileInsight-plugins/master/install.ps1
powershell -exec bypass .\install.ps1 -update
إذا كنت ترغب في تحديث FileInsight-plugins إلى أحدث snapshot،
يرجى إضافة الخيار "-snapshot".
powershell -exec bypass -command "& ([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/nmantani/FileInsight-plugins/master/install.ps1'))) -update -snapshot"
التخصيص
بالنسبة لإضافتي "Send to (CLI)" و "Send to (GUI)"، يمكنك فتح الملفات باستخدام برامجك المفضلة.
يرجى النقر على "Customize menu" من قائمة الإضافات.

سيتم فتح الملف "plugins\Operations\Misc\send_to_cli.json" (لإضافة "Send to (CLI)") أو "plugins\Operations\Misc\send_to.json" (لإضافة "Send to (GUI)") باستخدام محرر النصوص الافتراضي لديك.
يرجى تحريره وحفظه.

سينعكس تخصيصك في عناصر القائمة.

قائمة الإضافات (155 إضافة)
العمليات الأساسية
- نسخ إلى ملف جديد
نسخ المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) إلى ملف جديد
- تبديل علامات تبويب الملفات
تبديل علامات تبويب الملفات باستخدام قائمة
- علامة مرجعية
وضع علامة مرجعية على المنطقة المحددة مع تعليق ولون محددين
- قص الثنائي إلى الحافظة
قص البيانات الثنائية للمنطقة المحددة إلى الحافظة كنص مشفر بـ hex
- نسخ الثنائي إلى الحافظة
نسخ البيانات الثنائية للمنطقة المحددة إلى الحافظة كنص مشفر بـ hex
- لصق الثنائي من الحافظة
لصق البيانات الثنائية (المحولة من نص مشفر بـ hex) من الحافظة
- حذف ما قبل
حذف كل المنطقة قبل موضع المؤشر الحالي
- حذف ما بعد
حذف كل المنطقة بعد موضع المؤشر الحالي
- تعبئة
تعبئة المنطقة المحددة بنمط hex محدد
- قلب
قلب بتات المنطقة المحددة
- عكس الترتيب
عكس ترتيب المنطقة المحددة
- تغيير endianness
تغيير endianness للمنطقة المحددة
- تبديل النيبلات
تبديل كل زوج من النيبلات في المنطقة المحددة
- تبديل بايتين
تبديل كل زوج من البايتات في المنطقة المحددة
- إلى أحرف كبيرة
تحويل النص إلى أحرف كبيرة في المنطقة المحددة
- إلى أحرف صغيرة
تحويل النص إلى أحرف صغيرة في المنطقة المحددة
- تبديل حالة الأحرف
تبديل حالة الأحرف في المنطقة المحددة
عمليات الضغط
ضغط
- aPLib
ضغط المنطقة المحددة باستخدام مكتبة ضغط aPLib
- Brotli
ضغط المنطقة المحددة باستخدام خوارزمية Brotli
- Bzip2
ضغط المنطقة المحددة باستخدام خوارزمية bzip2
- Gzip
ضغط المنطقة المحددة بتنسيق gzip
- LZ4
ضغط المنطقة المحددة باستخدام خوارزمية LZ4
- LZF
ضغط المنطقة المحددة باستخدام خوارزمية LZF
- LZFSE
ضغط المنطقة المحددة باستخدام خوارزمية LZFSE
- lzip
ضغط المنطقة المحددة بتنسيق lzip
- LZJB
ضغط المنطقة المحددة باستخدام خوارزمية LZJB
- LZMA
ضغط المنطقة المحددة باستخدام خوارزمية LZMA
- LZNT1
ضغط المنطقة المحددة باستخدام خوارزمية LZNT1
- LZO
ضغط المنطقة المحددة باستخدام خوارزمية LZO
- LZRW1/KH
ضغط المنطقة المحددة باستخدام خوارزمية LZRW1/KH
- PPMd
ضغط المنطقة المحددة باستخدام خوارزمية PPMd
- QuickLZ
ضغط المنطقة المحددة باستخدام مكتبة ضغط QuickLZ
- Raw deflate
ضغط المنطقة المحددة باستخدام خوارزمية Deflate بدون رأس و checksum (مكافئ لـ gzdeflate() في لغة PHP)
- Snappy
ضغط المنطقة المحددة باستخدام مكتبة ضغط Snappy
- XZ
ضغط المنطقة المحددة بتنسيق XZ
- zlib (deflate)
ضغط المنطقة المحددة باستخدام zlib (خوارزمية Deflate)
- Zstandard
ضغط المنطقة المحددة باستخدام خوارزمية Zstandard
فك ضغط
- aPLib
فك ضغط المنطقة المحددة باستخدام مكتبة ضغط aPLib
- Brotli
فك ضغط المنطقة المحددة باستخدام خوارزمية Brotli
- Bzip2
فك ضغط المنطقة المحددة باستخدام خوارزمية bzip2
- Gzip
فك ضغط المنطقة المضغوطة بتنسيق gzip
- LZ4
فك ضغط المنطقة المحددة باستخدام خوارزمية LZ4
- LZF
فك ضغط المنطقة المحددة باستخدام خوارزمية LZF
- LZFSE
فك ضغط المنطقة المحددة باستخدام خوارزمية LZFSE
- lzip
فك ضغط المنطقة المضغوطة بتنسيق lzip
- LZJB
فك ضغط المنطقة المحددة باستخدام خوارزمية LZJB
- LZMA
فك ضغط المنطقة المحددة باستخدام خوارزمية LZMA
- LZNT1
فك ضغط المنطقة المحددة باستخدام خوارزمية LZNT1
- LZO
فك ضغط المنطقة المحددة باستخدام خوارزمية LZO
- LZRW1/KH
فك ضغط المنطقة المحددة باستخدام خوارزمية LZRW1/KH
- PPMd
فك ضغط المنطقة المحددة باستخدام خوارزمية PPMd
- QuickLZ
فك ضغط المنطقة المحددة باستخدام مكتبة ضغط QuickLZ
- Raw inflate
فك ضغط المنطقة المضغوطة بـ Deflate بدون رأس و checksum (مكافئ لـ gzinflate() في لغة PHP)
- Snappy
فك ضغط المنطقة المحددة باستخدام مكتبة ضغط Snappy
- XZ
فك ضغط المنطقة المضغوطة بتنسيق XZ
- zlib (inflate)
فك ضغط المنطقة المحددة باستخدام zlib (خوارزمية Deflate)
- Zstandard
فك ضغط المنطقة المحددة باستخدام خوارزمية Zstandard
عمليات التشفير
فك تشفير
- AES
فك تشفير المنطقة المحددة باستخدام AES
- Blowfish
فك تشفير المنطقة المحددة باستخدام Blowfish
- CAST-128
فك تشفير المنطقة المحددة باستخدام CAST-128
- Camellia
فك تشفير المنطقة المحددة باستخدام Camellia
- ChaCha20
فك تشفير المنطقة المحددة باستخدام ChaCha20
- DES
فك تشفير المنطقة المحددة باستخدام DES
- RC2
فك تشفير المنطقة المحددة باستخدام RC2
- RC4
فك تشفير المنطقة المحددة باستخدام RC4
- RC5
فك تشفير المنطقة المحددة باستخدام RC5
- RC6
فك تشفير المنطقة المحددة باستخدام RC6
- Salsa20
فك تشفير المنطقة المحددة باستخدام Salsa20
- TEA
فك تشفير المنطقة المحددة باستخدام TEA (خوارزمية التشفير الصغيرة)
- Triple DES
فك تشفير المنطقة المحددة باستخدام Triple DES
- XTEA
فك تشفير المنطقة المحددة باستخدام XTEA (خوارزمية التشفير الصغيرة الموسعة)
- XXTEA
فك تشفير المنطقة المحددة باستخدام XXTEA (خوارزمية التشفير الصغيرة الكتلية المصححة)
تشفير
- AES
تشفير المنطقة المحددة باستخدام AES
- Blowfish
تشفير المنطقة المحددة باستخدام Blowfish
- CAST-128
تشفير المنطقة المحددة باستخدام CAST-128
- Camellia
تشفير المنطقة المحددة باستخدام Camellia
- ChaCha20
تشفير المنطقة المحددة باستخدام ChaCha20
- DES
تشفير المنطقة المحددة باستخدام DES
- RC2
تشفير المنطقة المحددة باستخدام RC2
- RC4
تشفير المنطقة المحددة باستخدام RC4
- RC5
تشفير المنطقة المحددة باستخدام RC5
- RC6
تشفير المنطقة المحددة باستخدام RC6
- Salsa20
تشفير المنطقة المحددة باستخدام Salsa20
- TEA
تشفير المنطقة المحددة باستخدام TEA (خوارزمية التشفير الصغيرة)
- Triple DES
تشفير المنطقة المحددة باستخدام Triple DES
- XTEA
تشفير المنطقة المحددة باستخدام XTEA (خوارزمية التشفير الصغيرة الموسعة)
- XXTEA
فك تشفير المنطقة المحددة باستخدام XXTEA (خوارزمية التشفير الصغيرة الكتلية المصححة)
عمليات الترميز
فك ترميز
- نص hex إلى بيانات ثنائية
تحويل نص hex للمنطقة المحددة إلى ثنائي
- نص عشري إلى بيانات ثنائية
تحويل نص عشري للمنطقة المحددة إلى بيانات ثنائية
- نص ثماني إلى بيانات ثنائية
تحويل نص ثماني للمنطقة المحددة إلى بيانات ثنائية
- نص ثنائي إلى بيانات ثنائية
تحويل نص ثنائي للمنطقة المحددة إلى بيانات ثنائية
- فك ترميز base16 مخصص
فك ترميز المنطقة المحددة باستخدام جدول base16 مخصص
- فك ترميز base32 مخصص
فك ترميز المنطقة المحددة باستخدام جدول base32 مخصص
- فك ترميز base58 مخصص
فك ترميز المنطقة المحددة باستخدام جدول base58 مخصص
- فك ترميز base62 مخصص
فك ترميز المنطقة المحددة باستخدام جدول base62 مخصص
- فك ترميز base64 مخصص
فك ترميز المنطقة المحددة باستخدام جدول base64 مخصص
- فك ترميز base85 مخصص
فك ترميز المنطقة المحددة باستخدام جدول base85 مخصص
- فك ترميز base91 مخصص
فك ترميز المنطقة المحددة باستخدام جدول base91 مخصص
- فك ترميز base92 مخصص
فك ترميز المنطقة المحددة باستخدام جدول base92 مخصص
- فك ترميز gob
فك ترميز المنطقة المحددة كبيانات مسلسلة بتنسيق gob (تنسيق تسلسل لـ golang) إلى ترميز Python
- فك ترميز MessagePack
فك ترميز المنطقة المحددة كبيانات مسلسلة بتنسيق MessagePack إلى JSON
- فك ترميز Protobuf
فك ترميز المنطقة المحددة كبيانات مسلسلة بتنسيق Protocol Buffers إلى JSON بدون ملفات .proto
- من quoted printable
فك ترميز المنطقة المحددة كنص quoted printable
- إلغاء هروب Unicode
إلغاء هروب تسلسل هروب Unicode للمنطقة المحددة
- فك ترميز URL
فك ترميز المنطقة المحددة كنص مشفر بنسبة مئوية يستخدم في URL
ترميز
- بيانات ثنائية إلى نص hex
تحويل ثنائي للمنطقة المحددة إلى نص hex
- بيانات ثنائية إلى نص عشري
تحويل ثنائي للمنطقة المحددة إلى نص عشري
- بيانات ثنائية إلى نص ثماني
تحويل ثنائي للمنطقة المحددة إلى نص ثماني
- بيانات ثنائية إلى نص ثنائي
تحويل ثنائي للمنطقة المحددة إلى نص ثنائي
- ترميز base16 مخصص
ترميز المنطقة المحددة باستخدام جدول base16 مخصص
- ترميز base32 مخصص
ترميز المنطقة المحددة باستخدام جدول base32 مخصص
- ترميز base58 مخصص
ترميز المنطقة المحددة باستخدام جدول base58 مخصص
- ترميز base62 مخصص
ترميز المنطقة المحددة باستخدام جدول base62 مخصص
- ترميز base64 مخصص
ترميز المنطقة المحددة باستخدام جدول base64 مخصص
- ترميز base85 مخصص
ترميز المنطقة المحددة باستخدام جدول base85 مخصص
- ترميز base91 مخصص
ترميز المنطقة المحددة باستخدام جدول base91 مخصص
- ترميز base92 مخصص
ترميز المنطقة المحددة باستخدام جدول base92 مخصص
- ترميز MessagePack
ترميز JSON للمنطقة المحددة إلى بيانات مسلسلة بتنسيق MessagePack
- ROT13
تدوير الأحرف الأبجدية في المنطقة المحددة بمقدار محدد (الافتراضي: 13)
- إلى quoted printable
ترميز المنطقة المحددة إلى نص quoted printable
- هروب Unicode
هروب أحرف Unicode في المنطقة المحددة
- ترميز URL
ترميز المنطقة المحددة إلى نص مشفر بنسبة مئوية يستخدم في URL
عمليات متنوعة
- محاكاة الكود
محاكاة المنطقة المحددة كملف قابل للتنفيذ أو shellcode (الملف بأكمله إذا لم يتم التحديد)
- مقارنة الملفات
مقارنة محتويات ملفين
- قيم التجزئة
حساب قيم CRC32, MD5, SHA1, SHA256, ssdeep, TLSH, imphash, impfuzzy, exphash, تجزئة رأس Rich PE, authentihash, أيقونة MD5, أيقونة dhash, gimphash, و telfhash للمنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
- إرسال إلى (CLI)
إرسال المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) إلى برنامج CLI آخر والحصول على المخرجات
- إرسال إلى (GUI)
إرسال المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) إلى برنامج GUI آخر
عمليات التحليل
- مسح Binwalk
مسح المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) للعثور على الملفات المضمنة
- فك التجميع
فك تجميع المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
- استخراج ماكرو VBA
استخراج ماكرو Microsoft Office VBA من المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
- نوع الملف
تحديد نوع ملف المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
- العثور على ملف PE
العثور على ملف PE من المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) بناءً على معلومات رأس PE
- تحليل هيكل الملف
تحليل هيكل ملف المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) باستخدام Kaitai Struct
تنسيقات الملفات المدعومة: Gzip, RAR, ZIP, ELF, Mach-O, PE, جدول أقسام MBR, BMP, GIF, JPEG, PNG, اختصار Windows
- عرض البيانات الوصفية
عرض البيانات الوصفية للمنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) باستخدام ExifTool
- السلاسل النصية
استخراج السلاسل النصية من المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
- نوع السلسلة
تحديد نوع السلاسل مثل مفاتيح API وعناوين محافظ العملات الرقمية في المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) باستخدام lemmeknow
عمليات البحث
- استخراج بالتعبير المنتظم
البحث باستخدام تعبير منتظم في المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) واستخراج المناطق المتطابقة كمنطقة واحدة متسلسلة
- بحث بالتعبير المنتظم
البحث باستخدام تعبير منتظم في المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) ووضع علامات مرجعية على المناطق المتطابقة
- استبدال
البحث باستخدام تعبير منتظم في المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) واستبدال المناطق المتطابقة ببيانات محددة
- بحث XOR سداسي
البحث عن بيانات XORed / مدورة بالبت في المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
- بحث XOR نصي
البحث عن سلسلة XORed / مدورة بالبت في المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
- مسح YARA
مسح المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) باستخدام YARA
عمليات التصور
- عرض الصورة النقطية
تصور الملف بأكمله كتمثيل نقطي
- الرسم البياني للبايت
عرض الرسم البياني للبايت للمنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
- الرسم البياني للإنتروبيا
عرض الرسم البياني للإنتروبيا للمنطقة المحددة (الملف بأكمله إذا لم يتم التحديد)
عمليات XOR
- XOR بسيط
XOR للمنطقة المحددة باستخدام مفتاح XOR محدد
- XOR متناقص
XOR للمنطقة المحددة مع تناقص مفتاح XOR
- XOR متزايد
XOR للمنطقة المحددة مع تزايد مفتاح XOR
- XOR مع الحفاظ على الصفر
XOR للمنطقة المحددة مع تخطي البايتات الصفرية ومفتاح XOR نفسه
- XOR مع ملف آخر
XOR للمنطقة المحددة باستخدام محتوى ملف آخر كمفتاح XOR
- XOR مع البايت التالي
XOR للمنطقة المحددة باستخدام البايت التالي كمفتاح XOR
- XOR مع البايت التالي (عكسي)
العملية العكسية لإضافة "XOR with next byte"
- تخمين مفاتيح XOR متعددة البايت
تخمين مفاتيح XOR متعددة البايت من المنطقة المحددة (الملف بأكمله إذا لم يتم التحديد) بناءً على المفاتيح المكشوفة التي تم XORed مع 0x00
- تشفير بصري
ترميز المنطقة المحددة باستخدام خوارزمية التشفير البصري المستخدمة في حصان طروادة Zeus
- فك تشفير بصري
فك ترميز المنطقة المحددة باستخدام خوارزمية فك التشفير البصري المستخدمة في حصان طروادة Zeus
المؤلف
Nobutaka Mantani (X: @nmantani)
الترخيص
رخصة BSD ذات الشرطين (http://opensource.org/licenses/bsd-license.php)