Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
asafw — مجموعة سكربتات للتعامل مع البرنامج الثابت لأجهزة Cisco ASA [تغليف/فك التغليف وغير ذلك] | Kitploit
أدوات/GitHubGitHub/nccgroup/asafw
أمان الأنظمة المدمجةالاستغلالالهندسة العكسيةمصممي الأخطاءأمن الأجهزةتحليل الملفات الثنائيةتحليل البرامج الثابتة
GitHubnccgroup/asafw

asafw

مجموعة سكربتات للتعامل مع البرنامج الثابت لأجهزة Cisco ASA [تغليف/فك التغليف وغير ذلك]

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

الأكثر شعبية

عرض الكل →

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

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

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

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

asafw

ملاحظة أولية: ننصح باستخدام هذا كجزء من asatools لكن يمكن استخدامه أيضاً بشكل مستقل.

asafw هو مجموعة من البرامج النصية للتعامل مع برمجيات Cisco ASA الثابتة (firmware). يتيح لشخص ما فك ضغط البرمجيات الثابتة المطلوبة عند التصحيح باستخدام gdb، بالإضافة إلى فك الضغط/إعادة الضغط لتمكين ميزات معينة مثل:

  • تمكين gdb عند الإقلاع
  • تعطيل ASLR لتسهيل التصحيح
  • حقن قشرة تصحيح Linux للسماح بـ CTRL^C في gdb عند استخدامها مع عتاد حقيقي
  • تجذير برمجية ثابتة (عادةً ما يُستغنى عنه بتمكين gdb عند الإقلاع وحقن قشرة جذر)
  • إلخ.

الأدوات الأكثر فائدة هي unpack_repack_bin.sh و unpack_repack_qcow2.sh. تسمحان على التوالي بالتعامل مع صيغ صور asa*.bin و asav*.qcow2. كلاهما يحتاج إلى التنفيذ كجذر (root) عند إعادة ضغط rootfs فعلياً للحفاظ على الأذونات الصحيحة.

المتطلبات

  • Python3 فقط
  • apt install binwalk qemu-utils
  • تم اختباره بشكل مكثف على Linux (ولكن قد يعمل على OS X أيضاً)

تحتاج بدايةً إلى تعديل asafw/env.sh ليتوافق مع بيئتك. سيتيح لك تعريف مسارات الأدوات المستخدمة من قبل جميع البرامج النصية بالإضافة إلى بعض المتغيرات المطابقة لبيئة ASA الخاصة بك. لاحظ وجود asadbg/env.sh مشابه لكن واحد فقط مطلوب لاستخدامه في كلا المشروعين. ننصح بإضافته إلى ملف ~/.bashrc الخاص بك:``` source /path/to/asafw/env.sh

# unpack_repack_bin.sh

`unpack_repack_bin.sh` يُستخدم لفك/إعادة تجميع صور `asa*.bin` المستخدمة
لعتاد Cisco ASA الحقيقي (مثل سلسلة ASA 5500 و5500-X). الاستخدام الكامل
هو:```
$ unpack_repack_bin.sh -h
Usage:
./unpack_repack_bin.sh -i <firmware_file> -o <out_dir> [-f -g -G -a -A -m -b -r -u -l <linabin_dir> -d -e -k]
      -h, --help                    This help menu
      -i, --input <firmware_file>   What firmware bin to operate on
      -o, --output  <out_dir>       Where to write new firmware
      -f, --free-space              Remove space from .bin to ensure injections fit
      -g, --enable-gdb              Set gdb to start on boot
      -G, --disable-gdb             Stop gdb from starting on boot
      -a, --enable-aslr             Turn on ASLR
      -A, --disable-aslr            Turn off ASLR
      -m, --inject-gdb              Inject gdbserver to run
      -b, --debug-shell             Inject ssh-triggered debug shell
      -H, --lina-hook               Inject hooks for monitor lina heap (requires -b)
      -r, --root                    root the bin to get a rootshell on boot
      -c, --custom                  custom?
      -n, --n-custom                custom?
      -q, --gns3-fixup              gns?
      -u, --unpack-only             unpack the firmware and nothing else
      -l, --linabins <linabin_dir>  destination folder to save lina binaries
      -d, --delete-extracted        delete files extracted during modification
      -e, --delete-original-bin     delete the original firmware being modified
      -k, --keep-rootfs             keep the extracted rootfs on disk
      -s, --simple-name             use a simple name for the output .bin with just appended '-repacked'
Examples:
 ./unpack_repack_bin.sh -i /home/user/firmware -o /home/user/firmware_repacked --free-space --enable-gdb --inject-gdb
 ./unpack_repack_bin.sh -i /home/user/firmware/asa961-smp-k8.bin -f -g -m
 ./unpack_repack_bin.sh -u -i /home/user/firmware -l /home/user/linabins
 ./unpack_repack_bin.sh -u -i /home/user/firmware/asa924-k8.bin -k

استخراج عدة برامج ثابتة

لنفترض أن لدينا هذين البرنامجين الثابتين:``` ~/fw$ ls asa924-k8.bin asa981-smp-k8.bin

إذا كنت ترغب فقط في استخراج البرنامج الثابت، على سبيل المثال لتصحيحه باستخدام [asadbg](https://github.com/nccgroup/asadbg)، يمكنك استخدام `-u` لفك الضغط فقط و`-k` للاحتفاظ بـ rootfs فقط وحذف الملفات الأخرى التي يستخرجها binwalk والتي لا تحتاج إليها. لاحظ أن مجلد الإخراج هو نفس مجلد الإدخال لأننا نعتمد على binwalk في ذلك:```
~/fw$ unpack_repack_bin.sh -i . -k -u
[unpack_repack_bin] Directory of firmware detected: .
[unpack_repack_bin] extract_one: asa924-k8.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
75000         0x124F8         SHA256 hash constants, little endian
144510        0x2347E         gzip compressed data, maximum compression, from Unix, last modified: 2015-07-15 04:53:23
1501296       0x16E870        gzip compressed data, has original file name: "rootfs.img", from Unix, last modified: 2015-07-15 05:19:52
27168620      0x19E8F6C       MySQL ISAM index file Version 4
28192154      0x1AE2D9A       Zip archive data, at least v2.0 to extract, name: com/cisco/webvpn/csvrjavaloader64.dll
28773362      0x1B70BF2       Zip archive data, at least v2.0 to extract, name: AliasHandlerWrapper-win64.dll

[unpack_repack_bin] Extracted firmware to /home/user/fw/_asa924-k8.bin.extracted
[unpack_repack_bin] Firmware uses regular rootfs/ dir
[unpack_repack_bin] Extracting /home/user/fw/_asa924-k8.bin.extracted/rootfs/rootfs.img into /home/user/fw/_asa924-k8.bin.extracted/rootfs
[unpack_repack_bin] Keeping rootfs
[unpack_repack_bin] Deleting "/home/user/fw/_asa924-k8.bin.extracted/rootfs.img"
[unpack_repack_bin] Deleting "/home/user/fw/_asa924-k8.bin.extracted/2347E"
[unpack_repack_bin] Deleting "/home/user/fw/_asa924-k8.bin.extracted/1AE2D9A.zip"
[unpack_repack_bin] extract_one: asa981-smp-k8.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
75264         0x12600         SHA256 hash constants, little endian
133120        0x20800         Microsoft executable, portable (PE)
149183        0x246BF         gzip compressed data, maximum compression, from Unix, last modified: 2017-01-30 19:33:09
3678112       0x381FA0        gzip compressed data, has original file name: "rootfs.img", from Unix, last modified: 2017-05-10 22:42:05
14838307      0xE26A23        MySQL MISAM compressed data file Version 4
87985870      0x53E8ECE       MySQL MISAM compressed data file Version 7
96261881      0x5BCD6F9       Zip archive data, at least v2.0 to extract, name: com/cisco/webvpn/csvrjavaloader64.dll
96890193      0x5C66D51       MySQL ISAM compressed data file Version 5

[unpack_repack_bin] Extracted firmware to /home/user/fw/_asa981-smp-k8.bin.extracted
[unpack_repack_bin] Firmware uses regular rootfs/ dir
[unpack_repack_bin] Extracting /home/user/fw/_asa981-smp-k8.bin.extracted/rootfs/rootfs.img into /home/user/fw/_asa981-smp-k8.bin.extracted/rootfs
[unpack_repack_bin] Keeping rootfs
[unpack_repack_bin] Deleting "/home/user/fw/_asa981-smp-k8.bin.extracted/rootfs.img"
[unpack_repack_bin] Deleting "/home/user/fw/_asa981-smp-k8.bin.extracted/5BCD6F9.zip"
[unpack_repack_bin] Deleting "/home/user/fw/_asa981-smp-k8.bin.extracted/246BF"

لاحظ أن الأخطاء التي قد تحصل عليها مثل تلك أدناه لا تهم في هذه الحالة لأنك لن تقوم بإعادة تغليف البرنامج الثابت:``` cpio: lib/udev/devices/kmem: Function mknod failed: Operation not permitted cpio: lib/udev/devices/net/tun: Function mknod failed: Operation not permitted cpio: lib/udev/devices/loop01: Function mknod failed: Operation not permitted cpio: lib/udev/devices/null: Function mknod failed: Operation not permitted cpio: lib/udev/devices/console: Function mknod failed: Operation not permitted cpio: lib/udev/devices/loop00: Function mknod failed: Operation not permitted 134992 blocks

## تمكين gdb عند الإقلاع / قشرة التصحيح
تنزيل الأداة