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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Empire — Empire هو عميل ما بعد الاستغلال مكتوب بلغة PowerShell وPython. | Kitploit
أدوات/GitHubGitHub/empireproject/empire
تصعيد الامتيازاتتوليد الحمولةآليات الاستمراريةالاستغلالالحركة الجانبيةما بعد الاستغلالاختبار الاختراقالقيادة والسيطرةالفريق الأحمرArchived
GitHubempireproject/empire

Empire

Empire هو عميل ما بعد الاستغلال مكتوب بلغة PowerShell وPython.

7.9k2.9kمنذ 6 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Invoke-Obfuscation الإصدار 1.8

لقطة شاشة Invoke-Obfuscation

مقدمة

Invoke-Obfuscation هي أداة تعقيم (obfuscator) لأوامر ونصوص PowerShell متوافقة مع PowerShell v2.0+.

خلفية

في خريف عام 2015، قررت البدء في البحث عن مرونة لغة PowerShell وبدأت في فهرسة الطرق المختلفة لتنفيذ مجموعة من التقنيات الشائعة التي يستخدمها معظم المهاجمين بشكل منتظم.

في البداية ركزت على صيغ الأوامر المشفرة وصيغ تحميل عن بعد (remote download cradles)، واكتشفت أن العديد من أحرف الهروب التي لم تعيق تنفيذ الأمر استمرت في وسائط سطر الأوامر، سواء في العملية الجارية أو في ما يتم تسجيله في سجلات الأحداث Security EID 4688 و Sysmon EID 1. قادني هذا إلى استكشاف منهجي لطرق تعقيم كل نوع من "الرمز" (token) الموجود في أي أمر أو نص PowerShell.

ثم استكشفت طرقًا أكثر غموضًا لأداء تعقيم على مستوى السلاسل النصية، وتقنيات ترميز/تشفير مختلفة (مثل ASCII/hex/octal/binary وحتى SecureString)، وأخيرًا تقنيات إطلاق PowerShell لتجريد وسائط سطر الأوامر من powershell.exe ودفعها مرة أخرى إلى العملية الأم وحتى العملية الجد.

الغرض

بدأ المهاجمون والبرامج الضارة العامة في استخدام تقنيات تعقيم أساسية جدًا لإخفاء معظم الأمر من وسائط سطر الأوامر لـ powershell.exe. قمت بتطوير هذه الأداة لمساعدة الفريق الأزرق (Blue Team) في محاكاة الأوامر المعقمة بناءً على ما أعرفه حاليًا أنه ممكن نحويًا في PowerShell 2.0-5.0 حتى يتمكنوا من اختبار قدراتهم على اكتشاف هذه التقنيات.

الغرض الوحيد من الأداة هو كسر أي افتراضات قد تكون لدينا كمدافعين حول كيفية ظهور أوامر PowerShell على سطر الأوامر. أملي أن يشجع ذلك الفريق الأزرق على التحول إلى البحث عن مؤشرات التعقيم (Indicators of Obfuscation) على سطر الأوامر بالإضافة إلى تحديث تسجيل PowerShell ليشمل تسجيل الوحدات (Module) وكتلة البرنامج النصي (ScriptBlock) والنسخ (Transcription) لأن هذه المصادر تبسط معظم جوانب تقنيات التعقيم التي تولدها هذه الأداة.

الاستخدام

بينما تم بناء جميع طبقات التعقيم في نصوص منفصلة، سيجد معظم المستخدمين أن وظيفة Invoke-Obfuscation هي أسهل طريقة لاستكشاف وتصور تقنيات التعقيم التي يدعمها هذا الإطار حاليًا.

التثبيت

الكود المصدري لـ Invoke-Obfuscation مستضاف على Github، ويمكنك تنزيله واستنساخه (fork) ومراجعته من هذا المستودع (https://github.com/danielbohannon/Invoke-Obfuscation). يرجى الإبلاغ عن المشكلات أو طلبات الميزات عبر متتبع الأخطاء (bug tracker) الخاص بـ Github المرتبط بهذا المشروع.

للتثبيت:

root@kitploit:~
Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation

الترخيص

يتم إصدار Invoke-Obfuscation بموجب ترخيص Apache 2.0.

ملاحظات الإصدار

v1.0 - 2016-09-25 DerbyCon 6.0 (لويسفيل، كنتاكي، الولايات المتحدة الأمريكية): الإصدار العام لـ Invoke-Obfuscation.

v1.1 - 2016-10-09 قمة SANS DFIR (براغ، جمهورية التشيك): إضافة وظيفة إعادة ترتيب عامل التنسيق -f إلى جميع وظائف تعقيم TOKEN المطبقة. وكذلك إضافة خيارات صياغة إضافية لتعيين قيم المتغيرات.

v1.2 - 2016-10-20 CODE BLUE (طوكيو، اليابان): إضافة تعقيم Type TOKEN (تحويل النوع المباشر مع خيارات تعقيم النص لاسم النوع).

v1.3 - 2016-10-22 Hacktivity (بودابست، المجر): إضافة اثنين من LAUNCHERs الجدد: CLIP+ و CLIP++. وكذلك إضافة صياغة تحويل أحرف مصفوفة إضافية (وأبسط) لجميع وظائف ENCODING لا تتطلب For-EachObject/%.

v1.4 - 2016-10-28 BruCON (غنت، بلجيكا): إضافة وظيفة BXOR ENCODING جديدة. وكذلك تحسين حالة التوزيع العشوائي لجميع مكونات جميع وظائف ENCODING وكذلك لأعلام تنفيذ PowerShell لجميع LAUNCHERs. أخيرًا، إضافة خيار الاختصار -EP لـ -ExecutionPolicy إلى جميع LAUNCHERs بالإضافة إلى التمثيل الصحيح الاختياري لعلم تنفيذ PowerShell -WindowStyle: عادي (0)، مخفي (1)، مصغر (2)، مكبر (3).

v1.5 - 2016-11-04 Blue Hat (ريدموند، واشنطن، الولايات المتحدة الأمريكية): إضافة WMIC LAUNCHER مع بعض التوزيع العشوائي لوسائط سطر أوامر WMIC.

v1.6 - 2017-01-24 Blue Hat IL (تل أبيب، إسرائيل):

  • إضافة وظيفة CLI: E.g., Invoke-Obfuscation -ScriptBlock {Write-Host 'CLI FTW!'} -Command 'Token\All\1, Encoding\1,Launcher\Stdin++\234,Clip' -Quiet -NoExit
  • إضافة وظيفة UNDO لإزالة طبقة واحدة من التعقيم في كل مرة.
  • إزالة تعقيم Whitespace من Token\All\1 لتسريع تعقيم النصوص الكبيرة.
  • إضافة إخراج Process Argument Tree لجميع المشغلات لمساعدة المدافعين.
  • إضافة وظيفة الكشف التلقائي للقائمة الأساسية لتجنب الحاجة لاستخدام BACK أو HOME: E.g., if you ran TOKEN then ALL then 1, then just type LAUNCHER and you will get to the LAUNCHER menu without needing to type HOME or BACK to get back to the home menu.
  • إضافة صياغة أوامر متعددة تستخدمها CLI والوضع التفاعلي: E.g., Token\All\1,String\3,Encoding\5,Launcher\Ps\234,Clip
  • إضافة قدرة التعبير المنتظم (regex) لجميع أوامر القائمة والتعقيم: E.g., Token**,String[13],Encoding(1|6),Launcher.*[+]{2}\234,Clip
  • إضافة وظيفة أمر واحد OUT FILEPATH.
  • إضافة فك الترميز إذا تم إدخال صياغة powershell -enc كقيمة SCRIPTBLOCK.
  • إضافة الاسم المستعار ForEach إلى خيارات الصياغة العشوائية لـ ForEach-Object/% في جميع وظائف ENCODING.
  • إضافة خيارات صياغة النص الفرعي -Key -Ke -K KEY إلى Out-SecureStringCommand.ps1.
  • إضافة تدقيق عشوائي للحالة أكثر شمولاً لجميع وظائف تعقيم \Home\String.
  • إضافة أعلام -ST/-STA (شقة ذات مؤشر ترابط واحد) إلى وظائف المشغل CLIP+ و CLIP++ لأنها مطلوبة إذا كان التشغيل على PowerShell 2.0.
  • إضافة صياغة Get-Item/GI/Item في كل مكان يتم فيه استخدام Get-ChildItem للحصول على قيم المتغيرات.
  • إضافة صياغة إنشاء متغير Set-Item إلى وظيفة تعقيم TYPE.
  • إضافة صياغة إضافية لـ Invoke-Expression/IEX باستخدام المتغيرات التلقائية لـ PowerShell وسلاسل قيم متغيرات البيئة في وظيفة Out-EncapsulatedInvokeExpression الخاصة بـ Out-ObfuscatedStringCommand.ps1 ونسخها إلى جميع المشغلات ووظائف STRING و ENCODING لإضافة العديد من صيغ سطر الأوامر لـ IEX.
  • إضافة صياغتين جديدتين لـ JOIN لـ String\Reverse وجميع خيارات تعقيم ENCODING:
  1. Added [String]::Join('',$string) JOIN syntax
  2. إضافة صياغة JOIN لمتغير OFS (متغير فاصل الحقول التلقائي)
  • إضافة صياغتين إضافيتين لـ SecureString إلى Encoding\5:
  1. PtrToStringAnsi / SecureStringToGlobalAllocAnsi
  2. PtrToStringBSTR / SecureStringToBSTR
  • إضافة ست صيغ بديلة لـ GetMember للعديد من أعضاء SecureString:
  1. PtrToStringAuto, ([Runtime.InteropServices.Marshal].GetMembers()[3].Name).Invoke
  2. PtrToStringAuto, ([Runtime.InteropServices.Marshal].GetMembers()[5].Name).Invoke
  3. PtrToStringUni , ([Runtime.InteropServices.Marshal].GetMembers()[2].Name).Invoke
  4. PtrToStringUni , ([Runtime.InteropServices.Marshal].GetMembers()[4].Name).Invoke
  5. PtrToStringAnsi, ([Runtime.InteropServices.Marshal].GetMembers()[0].Name).Invoke
  6. PtrToStringAnsi, ([Runtime.InteropServices.Marshal].GetMembers()[1].Name).Invoke
  • تحديث Out-ObfuscatedTokenCommand.ps1 بحيث لا يقوم تعقيم VARIABLE بتغليف المتغيرات في ${} إذا كانت مغلفة بالفعل (لذلك لن يحدث ${${var}} لأن هذا يسبب أخطاء).
  • استبدال Invoke-Obfuscation.psm1 بـ Invoke-Obfuscation.psd1 (شكرًا @Carlos_Perez).
  • إصلاح العديد من أخطاء تعقيم مستوى TOKEN التي أبلغ عنها @cobbr_io و @IISResetMe.

v1.7 - 2017-03-03 nullcon (غوا، الهند):

  • إضافة 3 LAUNCHERs جدد: RUNDLL و RUNDLL++ و MSHTA++
  • إضافة سلاسل متغيرات عامة إضافية لـ ExecutionContext

v1.8 - 2017-07-27 Black Hat (لاس فيغاس، نيفادا، الولايات المتحدة الأمريكية):

  • إضافة خيارين جديدين لـ ENCODING: الأحرف الخاصة والمسافات البيضاء
تنزيل الأداة