هذه مجموعة من نصوص الإعداد لإنشاء تثبيت لأدوات بحث أمني متنوعة. بالطبع، هذه ليست مشكلة صعبة، لكن من الجيد حقًا أن تكون في مكان واحد يمكن نشره بسهولة على أجهزة جديدة وما إلى ذلك. يتم فتح نصوص التثبيت لهذه الأدوات بين الحين والآخر، لذا يجب أن تكون فرص عملها جيدة على أمل!
مثبّتات الأدوات التالية مضمنة:
| الفئة | الأداة | الوصف |
|---|
| ثنائي | angr | محرك تحليل ثنائي من الجيل التالي من Shellphish. |
| ثنائي | angr-management | أداة رسومية للهندسة العكسية وإزالة التجميع. |
| ثنائي | beef | إطار عمل لاستغلال المتصفحات. |
| ثنائي | crosstool | أدوات التجميع المتقاطع وأدوات متعددة المعماريات. |
| ثنائي | cross2 | مجموعة من أدوات التجميع المتقاطع من كتاب ياباني عن لغة C. |
| ثنائي | decomp2dbg | إضافة لتقديم رموز تفاعلية في مصحح الأخطاء من أداة إزالة التجميع. |
| ثنائي | elfkickers | مجموعة أدوات للعمل مع ملفات ELF. |
| ثنائي | elfparser |
هناك أيضًا بعض المثبّتات لأشياء غير CTF لكسر الروتين!
| الفئة | الأداة | الوصف |
|---|
| لعبة | df | Dwarf Fortress! شيء يساعدك على الاسترخاء بعد CTF! |
Usage
للاستخدام، قم بما يلي:```bash
set up the path
/path/to/ctf-tools/bin/manage-tools setup
source ~/.bashrc
manage-tools list
install gdb, allowing it to try to sudo install dependencies
manage-tools -s install gdb
manage-tools install pwntools
manage-tools -n install qemu
uninstall gdb
manage-tools uninstall gdb
manage-tools uninstall all
manage-tools search preload
حيثما أمكن، تحافظ الأدوات على التثبيتات مكتفية بذاتها (أي داخل مجلد الأداة/)، ومعظم عمليات إلغاء التثبيت تكون مجرد استدعاءات لـ `git clean` (**ملاحظة**: هذا **ليس** حذرًا؛ فكل شيء تحت مجلد الأداة، بما في ذلك ما كنت تعمل عليه، يتم حذفه أثناء إلغاء التثبيت).
يتم تثبيت أدوات Python و Ruby في بيئة افتراضية خاصة بالأداة.
إذا كنت ترغب في إضافة حزم أخرى إلى هذه البيئة، فابحث تحت المجلدات `ctf-tools/TOOL/pipx` أو `ctf-tools/TOOL/gems`.
## مساعدة!
هل هناك شيء لا يعمل؟
لم أكتب (تقريبًا) أيًا من هذه الأدوات، ولكن يمكنك التواصل عبر [الخادم على Discord](https://discord.gg/KRcjyn4pBH) إذا كنت في حاجة ماسة.
ربما تساعدك روح طيبة!
## الأدوات المُعَمَّمة (Dockerized)
### حاويات الأدوات المُجمَّعة مسبقًا
يمكنك الحصول على معظم هذه الأدوات في حاويات مُجمَّعة مسبقًا من [https://hub.docker.com/r/ctftools](https://github.com/zardus/ctf-tools/blob/HEAD/dockerhub).
على سبيل المثال:```console
$ echo hi | docker run -i ctftools/taintgrind taintgrind --taint-stdin=yes /bin/cat
/home/ctf/tools/taintgrind/valgrind-3.21.0/build/bin/valgrind --tool=taintgrind --taint-stdin=yes /bin/cat
==8== Taintgrind, the taint analysis tool
==8== Copyright (C) 2010-2018, and GNU GPL'd, by Wei Ming Khoo.
==8== Using Valgrind-3.21.0 and LibVEX; rerun with -h for copyright info
==8== Command: /bin/cat
==8==
0xFFFFFFFF: _syscall_read | Read:3 | 0x0 | 4a5a000_unknownobj
hi
==8==
بناء صورتك الخاصة
يمكنك بناء صورة docker باستخدام:```bash
git clone https://github.com/zardus/ctf-tools
cd ctf-tools
docker build -t ctf-tools --build-arg PREINSTALLED=some-tool .
ثم قم بتشغيله باستخدام:```bash
docker run -it ctf-tools
الصورة المبنية ستحتوي على أدوات ctf-tools مستنسخة وجاهزة للاستخدام، بالإضافة إلى أداتك المثبتة.
نظام كالي لينكس
نظام كالي لينكس (Sana و Rolling)، بسبب التعيين اليدوي لبعض المكتبات لعدم استخدام أحدث إصدار متاح (أحيانًا تكون قديمة جدًا بسنوات)، يتسبب في عدم تثبيت بعض الأدوات نهائيًا، أو فشلها بطرق غريبة.
تجاوز هذه المكتبات يكسر أدوات أخرى مضمنة في كالي، لذا الحل الوحيد هو إما التعايش مع بعض أدوات كالي المعطلة، أو استخدام دوكر، أو تشغيل توزيعة أخرى بشكل منفصل مثل أوبونتو.
إضافة الأدوات
لإضافة أداة (لنقل، اسمها toolname)، قم بما يلي:
- أنشئ دليلاً باسم
toolname.
- أنشئ سكريبت
install.
- أضفها إلى ملف README.
- (اختياري) إذا كانت هناك حاجة لخطوات إلغاء تثبيت خاصة، أنشئ سكريبت
uninstall.
سكريبتات التثبيت
سيتم تشغيل سكريبت التثبيت مع $PWD كدليل toolname. يجب عليه تثبيت الأداة في هذا الدليل، بأكبر قدر ممكن من الاحتواء.
من الناحية المثالية، يجب أن يكون إلغاء التثبيت الكامل ممكنًا باستخدام git clean.
يجب على سكريبت التثبيت إنشاء دليل bin ووضع ملفاته التنفيذية هناك.
سيتم ربط هذه الملفات التنفيذية تلقائيًا في دليل bin الرئيسي للمستودع.
قد يتم تشغيلها من أي دليل، لذا لا تفترض موقع $0!
الترخيص
الأدوات الفردية مرخصة بموجب تراخيصها الخاصة.
أما بالنسبة لـ ctf-tools نفسها، فهي مرخصة بموجب رخصة BSD ثنائية البنود.
إذا وجدتها مفيدة، قم بوضع نجمة عليها على GitHub (https://github.com/zardus/ctf-tools).
حظاً موفقاً!
انظر أيضًا
توجد قائمة منسقة لأدوات CTF، ولكن بدون مثبتات، هنا: https://github.com/apsdehal/aWEsoMe-cTf.
يوجد تكوين Vagrant مع العديد من الأطر الكبيرة هنا: https://github.com/thebarbershopper/epictreasure.
أدوات CTF مفيدة في مستودعات apt
عندما يتم حزم الأدوات رسميًا، نتحول إلى مجرد اقتراح تثبيتها باستخدام apt!
أدوات CTF مفيدة في صور دوكر
سابقًا، تضمن هذا المستودع بعض السكريبتات التي كانت أغلفة لـ docker pull.
نحن نثق بأنك تستطيع فعل ذلك بنفسك :-)
| الفئة | المصدر | الأداة | الوصف |
|---|
| ثنائي | docker | panda |
مكتبات CTF مفيدة
سابقًا، تضمن هذا المستودع مُثبتات مكتبات.
نظرًا لمدى تخصيص تفضيلات تثبيت المكتبات (على سبيل المثال، على عكس الأداة، ليس من الواضح ما إذا كانت البيئات الافتراضية لكل مكتبة مرغوبة)، فقد توقفنا عن توفيرها، ونقوم بربطها هنا للأجيال القادمة.