
lure v0.7.1
أداة تحليل ثنائيات لينكس محلية. بدون سحابة. بدون صلاحيات جذر. شاهد بالضبط ما يفعله الثنائي قبل تشغيله.
lure
تحليل ثنائيات لينكس محليًا. بدون سحابة. بدون صلاحيات جذر. بدون تكلفة.
lure هو أداة محلية لتحليل وتشغيل ملفات ELF في بيئة معزولة على لينكس، مصممة لباحثي الأمن، ومهندسي الهندسة العكسية، ولاعبي CTF. الإصدار 0.7.1 يضيف دعمًا لثنائيات ARM64 عبر محاكاة وضع المستخدم QEMU.

يوفر ثلاث سير عمل متكاملة:
- التحليل الثابت عبر
lure inspect— فحص ملف ELF دون تنفيذه. - التحليل السلوكي عبر
lure run— تنفيذ ملف ELF داخل مساحات أسماء لينكس، معstrace، وسياسة seccomp-bpf، ثم إنتاج تقرير قابل للقراءة. - مقارنة التقارير عبر
lure diff— مقارنة تقريرين سلوكيين محفوظين.
كل شيء يُعالج محليًا. لا يتم رفع أي عينة أو تقرير إلى خدمة سحابية.
برنامج ألفا: لا يزال lure قيد التطوير النشط. اختبره في بيئة مناسبة لأبحاث الأمن ولا تعامل هذا الصندوق الرملي كبديل لجهاز افتراضي مخصص لتحليل البرمجيات الخبيثة.

ماذا يفعل
يجمع lure بين الفحص الثابت لملفات ELF والتحليل السلوكي أثناء التنفيذ. يمكنه إظهار ما يصل إليه الثنائي، وما هي اتصالات الشبكة التي يحاولها، وما هي العمليات التي يطلقها، وكيف يُصنَّف التشغيل على أنه نظيف أو مشبوه أو خطير.
لماذا
- الخصوصية — العينات والتقارير تبقى على جهازك.
- قابلية القراءة — تقارير منظمة بدلًا من ضجيج
straceالخام. - سير عمل بسيط — فحص، تشغيل، حفظ، ومقارنة من واجهة سطر أوامر واحدة.
- مجاني — مرخّص برخصة MIT ومبني حول أدوات لينكس القياسية.
- متعدد البنى — x86-64 أصلي + ARM64 عبر محاكاة وضع المستخدم QEMU.
الميزات
الفحص الثابت لملفات ELF
lure inspect يُبلغ عن:
- بنية ELF ونوعه (x86-64، ARM64، والمزيد)
- ترتيب البايتات (Endianness)
- حجم الملف
- تجزئات MD5 وSHA-256
- NX
- PIE
- حالة RELRO
- وجود حارس المكدس (Stack-canary)
- المكتبات المرتبطة
- رؤوس أقسام ELF مع
--sections - سلاسل ASCII القابلة للطباعة مع
--strings
لا يتم تنفيذ الملف المُفحَص.
lure inspect /bin/ls
lure inspect ./arm64_binary # ملف ELF لبنية ARM64 — لا حاجة لـ QEMU للفحص

التنفيذ المعزول
lure run يجمع بين:
- مساحات أسماء المستخدمين في لينكس
- مساحة اسم شبكة
- مساحة اسم نظام ملفات (mount)
- مساحة اسم عمليات (PID)
- تتبع استدعاءات النظام عبر
strace - سياسة استدعاءات نظام seccomp-bpf مطبقة على الضيف
- نظام ملفات معزول بسيط
- مهلة زمنية (30 ثانية افتراضيًا)
- وصول اختياري للشبكة عبر
--allow-net - إخراج خام اختياري لـ
strace - تقارير TXT + JSON اختيارية
- حدود موارد cgroups v2 بأفضل جهد عند توفرها
- محاكاة ثنائيات ARM64 عبر
qemu-aarch64(الإصدار 0.7.1+)
الوصول إلى الشبكة محظور افتراضيًا.
lure run ./suspicious_binary
lure run ./arm64_binary # ARM64: qemu-aarch64 يغلّف الثنائي تلقائيًا
عند اكتشاف ثنائي ARM64، يقوم lure بما يلي:
- يتحقق من وجود
qemu-aarch64في PATH (يخرج برسالة تثبيت واضحة إذا لم يكن موجودًا). - يضيف
qemu-aarch64إلى بداية أمر التنفيذ — يتتبع strace سلسلة QEMU بالكامل. - يعرض البنية: ARM64 (محاكاة QEMU) في لوحة ملخص التنفيذ.
مقارنة التقارير
lure diff يقارن تقريرين محفوظين بصيغة .json:
lure run --save ./binary_v1
lure run --save ./binary_v2
lure diff ~/.lure/reports/binary_v1_*.json ~/.lure/reports/binary_v2_*.json
التثبيت
من PyPI
pip install lure-analyze
تبعيات النظام (مطلوبة)
| الأداة | الحزمة | الغرض |
|---|---|---|
strace | sudo pacman -S strace | تتبع استدعاءات النظام |
unshare | جزء من util-linux (مثبت مسبقًا) | عزل مساحات الأسماء |
gcc / cc | sudo pacman -S gcc | تجميع غلاف seccomp وقت التشغيل |
تبعيات النظام (اختيارية)
| الأداة | الحزمة | الغرض |
|---|---|---|
qemu-aarch64 | sudo pacman -S qemu-user | محاكاة ثنائيات ARM64 |
ثبّت qemu-user لتحليل ثنائيات ELF لبنية ARM64 باستخدام lure run. الفحص الثابت عبر lure inspect يعمل مع ملفات ELF لبنية ARM64 دون أي أدوات إضافية.
حدود موارد cgroups v2 (اختيارية)
لتفعيل حدود الذاكرة وعدد العمليات، فوّض شجرة cgroup فرعية لمستخدمك:
sudo mkdir -p /sys/fs/cgroup/lure
sudo chown "$USER" /sys/fs/cgroup/lure
الاستخدام
lure inspect BINARY [--json] [--sections] [--strings]
lure run BINARY [--timeout SECS] [--args 'ARG ...'] [--allow-net] [--out FILE] [--save]
lure diff REPORT1 REPORT2
سجل التغييرات
v0.7.1
- دعم ثنائيات ARM64 عبر محاكاة وضع المستخدم
qemu-aarch64 lure inspectيعرضARM64بشكل صحيح لملفات ELF من نوع AArch64lure runيكتشف تلقائيًا ملفات ELF لبنية ARM64 ويغلّف التنفيذ بـqemu-aarch64- ملخص التنفيذ يعرض
البنية: ARM64 (محاكاة QEMU)لتشغيلات ARM64 - رسالة خطأ واضحة وتلميح تثبيت عند غياب
qemu-aarch64 - 4 اختبارات جديدة تغطي فحص ARM64 (العرض + JSON) والتشغيل (غياب qemu + نجاح QEMU)
v0.6.0
- حدود موارد cgroups v2 (512 ميجابايت ذاكرة، 64 عملية كحد أقصى)
- قائمة سماح seccomp-bpf عبر غلاف lure-wrapper المترجم بلغة C
- عزل كامل لمساحات أسماء mount + PID مع chroot بسيط
- مقارنة التقارير عبر
lure diff
الترخيص
MIT — انظر LICENSE.