
قم بتحويل shellcode إلى ✨ تنسيقات ✨ مختلفة!
بلوفي هي أداة تم استخدامها في تجارب لتجاوز منتجات مكافحة الفيروسات (بشكل ثابت) عن طريق تنسيق الشيلكود إلى صيغ بيانات تبدو واقعية.
أدوات إثبات المفهوم، مثل Ninja_UUID_Runner الخاصة بـ 0xBoku و UuidShellcodeExec الخاصة بـ ChoiSG، ألهمت المفهوم الأولي لـ بلوفي.
حتى الآن، قمنا بتنفيذ:
$ python3 bluffy.py -h
⣇⣿⠘⣿⣿⣿⡿⡿⣟⣟⢟⢟⢝⠵⡝⣿⡿⢂⣼⣿⣷⣌⠩⡫⡻⣝⠹⢿⣿⣷
⡆⣿⣆⠱⣝⡵⣝⢅⠙⣿⢕⢕⢕⢕⢝⣥⢒⠅⣿⣿⣿⡿⣳⣌⠪⡪⣡⢑⢝⣇
⡆⣿⣿⣦⠹⣳⣳⣕⢅⠈⢗⢕⢕⢕⢕⢕⢈⢆⠟⠋⠉⠁⠉⠉⠁⠈⠼⢐⢕⢽
⡗⢰⣶⣶⣦⣝⢝⢕⢕⠅⡆⢕⢕⢕⢕⢕⣴⠏⣠⡶⠛⡉⡉⡛⢶⣦⡀⠐⣕⢕
⡝⡄⢻⢟⣿⣿⣷⣕⣕⣅⣿⣔⣕⣵⣵⣿⣿⢠⣿⢠⣮⡈⣌⠨⠅⠹⣷⡀⢱⢕
⡝⡵⠟⠈⢀⣀⣀⡀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣼⣿⢈⡋⠴⢿⡟⣡⡇⣿⡇⡀⢕
⡝⠁⣠⣾⠟⡉⡉⡉⠻⣦⣻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣦⣥⣿⡇⡿⣰⢗⢄
⠁⢰⣿⡏⣴⣌⠈⣌⠡⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣬⣉⣉⣁⣄⢖⢕⢕⢕
⡀⢻⣿⡇⢙⠁⠴⢿⡟⣡⡆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣵⣵⣿
⡻⣄⣻⣿⣌⠘⢿⣷⣥⣿⠇⣿⣿⣿⣿⣿⣿⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣷⢄⠻⣿⣟⠿⠦⠍⠉⣡⣾⣿⣿⣿⣿⣿⣿⢸⣿⣦⠙⣿⣿⣿⣿⣿⣿⣿⣿⠟
⡕⡑⣑⣈⣻⢗⢟⢞⢝⣻⣿⣿⣿⣿⣿⣿⣿⠸⣿⠿⠃⣿⣿⣿⣿⣿⣿⡿⠁⣠
⡝⡵⡈⢟⢕⢕⢕⢕⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⣀⣈⠙
⡝⡵⡕⡀⠑⠳⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⡠⡲⡫⡪⡪⡣
تحويل شيلكود إلى ✨ صيغ مختلفة ✨!
كتب بواسطة:
~ Mez0
~ Michael Ranaldo
usage: Bluffy [-h] -b -o -m
optional arguments:
-h, --help show this help message and exit
-b , --bin Specify bin file to load
-m , --mask Specify the mask for the shellcode
-x , --xor XOR the payload
-p , --preview Preview the created format
-pp, --payload_preview Preview the payload prior to C formatting
--list List all the available masks
كتب بواسطة:
يجب تثبيت العناصر التالية قبل استخدام بلوفي:
sudo apt install python3.9
sudo pip3 install rich
اعتمادًا على ما إذا كان سيتم تشغيله على Kali أو Ubuntu 18 أو 19 أو 20 وما إلى ذلك، قد تختلف عملية الحصول على pcre2.8 وبنائه.
بالنسبة لنا على أوبونتو، تم تطويره على:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 21.04
Release: 21.04
Codename: hirsute
من أجل ربط libpcre2-8.a، كان يجب تضمين ملف .a داخل:
/usr/lib/gcc/x86_64-w64-mingw32/10-win32
أما بالنسبة للحصول على ملفات الرأس والمكتبات، فقد تم استخدام MSYS2. ولكن إذا كنت أذكى منا، فما عليك سوى القيام بذلك من المصدر لـ Mingw64: https://pcre.org/.
أبسط طريقة للحصول على وتثبيت هي تشغيل الأوامر التالية (بعد التحقق المزدوج من بنيتك إلخ.):
sudo apt install mingw-64
sudo wget https://packages.msys2.org/package/mingw-w64-x86_64-pcre2?repo=mingw64 -P /usr/lib/gcc/x86_64-w64-mingw32/10-win32
لبناء حمولة، احصل على ملفك الثنائي. في هذا المثال، استخدمنا calc.bin، الذي يقوم فقط بتحميل calc.exe كإثبات للمفهوم. نظرًا لأن بلوفي يسعى فقط إلى تجنب التحليل الثابت باستخدام إخفاء المعلومات، عن طريق إخفاء الثنائي داخل ملف غير ضار بخلاف ذلك، ستحتاج إلى إجراء بحث إضافي لضمان أن حمولتك تتجنب أيضًا الكشف الديناميكي.
قم بتشغيل bluffy، واختر قناعًا (mask) من اختيارك وقم بتوفير ملف .bin الخاص بك:
python ./bluffy.py -b calc.bin -m css -x
تحقق من حمولتك، ثم قم ببنائها. لبناء حمولتك، انسخ ملف .h الذي ينشئه بلوفي، وأعد تسميته إلى css.c، وقم بتشغيل make لبنائه إلى ملف قابل للتنفيذ، ثم اختبر باستخدام دليل الأمثلة المضمن:
mv css.h examples/css/css.h
cd examples/css
make
سيستخدم هذا ملف "main.c" المضمن لبناء ملف Windows قابل للتنفيذ. اختبر هذا للتأكيد. إذا كنت قد استخدمت أيضًا calc.bin، فيجب أن تستقبلك نافذة حاسبة جديدة. إذا كان الأمر كذلك، تهانينا!
لمزيد من التفاصيل حول استخدام بلوفي ودليل إرشادي لكيفية عمله وشكل المخرجات، اطلع على مدونتنا.
فيما يلي مثال كامل:
