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

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

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

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

دليل الأدوات

الفئات

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

asadbg

asadbg هو إطار عمل من الأدوات للمساعدة في أتمتة التصحيح المباشر لأجهزة Cisco ASA

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

الأكثر شعبية

عرض الكل →

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

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

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

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

asadbg

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

asadbg هو إطار عمل من الأدوات للمساعدة في أتمتة التصحيح المباشر لأجهزة Cisco ASA، بالإضافة إلى أتمتة التفاعل مع واجهة سطر أوامر Cisco عبر serial/ssh لتنفيذ المهام المتكررة بسرعة.

asadbg demo

  • يغلّف gdb
  • يدعم ملف إعدادات asadbg.cfg لتمكين تصحيح الإصدارات المختلفة بسهولة
  • يدعم الأجهزة الحقيقية و GNS3 على حد سواء
  • اختياريًا يستخدم ret-sync لتوفير تجربة تصحيح أفضل من IDA Pro
  • يدعم تنفيذ سكربتات gdb إضافية عند الإقلاع
  • يوفر مكتبات يمكن أن تكون مفيدة لأتمتة الاختبارات عبر إصدارات برمجية متعددة على الأجهزة الحقيقية

الأداة الرئيسية هي asadbg.py وستقوم بتنفيذ معظم السكربتات المساعدة الأخرى. لاحظ أنك قد تحتاج في البداية إلى استخدام asafw لفك ضغط البرامج الثابتة للحصول على أفضل صيغة من asadbg.

  • asadbg.py: الأداة الرئيسية المستخدمة لتصحيح أجهزة ASA
  • asdbg_hunt.py/asadbg_rename.py: سكربت IDA Python للاستخدام مع idahunt لاستيراد الرموز للأهداف الجديدة

ما يلي يتم استيراده تلقائيًا بواسطة asadbg.py ولكننا نقدم لك بعض المعلومات حول الغرض منها:

  • asa_lib*.py: سكربتات gdb Python لاستخدام libdlmalloc و libptmalloc و libmempool.
  • asa_sync.py: سكربت gdb Python لاستخدام ret-sync
  • comm.py: مجموعة دوال للتواصل عبر serial و SSH و telnet.
  • find_lina_pid.py: إيجاد PID الخاص بـ lina باستخدام أوامر SSH
  • template_gdbinit: قالب gdbinit يتم تعديله بواسطة asadbg.py لكل الأهداف التي نقوم بتصحيحها

المتطلبات

  • Python3 فقط
    • pip3 install pyserial paramiko
  • تم اختباره بشكل مكثف على Linux (ولكن قد يعمل على OS X أيضًا)
  • برامج ثابتة محمّلة مسبقًا على ذاكرة فلاش لجهاز ASA حقيقي أو محاكي ASA مهيأ في GNS3

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

# تصحيح الأخطاء الآلي

من الفوائد الرئيسية لاستخدام asadbg هي أنك تستطيع أتمتة استخدام كل من أجهزة
Cisco ASA المحاكاة (GNS3) والحقيقية. يمكن أن يشمل ذلك عمومًا أتمتة تشغيل
وتشغيل مختلف إصدارات البرامج الثابتة وملفات الإعدادات، أو بشكل خاص أتمتة
عملية تصحيح الأخطاء لـ `lina` باستخدام gdb. يتم ذلك في الغالب من خلال
سكربت `asadbg.py`. الفكرة الرئيسية هي تحميل بعض ذاكرة الفلاش على
جهاز ASA بملفات البرامج الثابتة والإعدادات التي تريد استخدامها على
الجهاز. لكل برنامج ثابت تريد تصحيح أخطائه، يمكنك استخدام أداة مثل
`asafw` لاستخراج رموز مختلفة ثم يمكنك تلقائيًا إنشاء
ملفات gdbinit باستخدام تلك الرموز. افتراضيًا، سيستخدم `asadbg.py`
ملف `template_gdbinit` لأتمتة بناء ملف gdbinit خاص بإصدار معين في
وقت التشغيل باستخدام أي رموز متوفرة في قاعدة البيانات.

## تشغيل سريع لجهاز حقيقي (بدون تصحيح أخطاء)

يمكنك تشغيل إصدار معين بسرعة عن طريق تحديد ملفات البرامج الثابتة والإعدادات
التي يجب أن تكون موجودة بالفعل على بطاقة CF.```
asadbg$ ./asadbg.py --firmware-type normal --serial-port /dev/ttyUSB0 --firmware asa802-k8.bin --config config-802

تصحيح أخطاء جهاز GNS3 باستخدام ملف الإعدادات

يوضح المثال التالي كيفية إعداد ملفات الإعدادات لتصحيح أخطاء جهاز GNS3. أولاً نعرّف ملف إعدادات asadbg.cfg مشابهاً لما يلي. يحتوي على عنوان IP/المنفذ الخاص بـ GNS3 لجدار الحماية المكوّن والذي نحصل عليه من GNS3 نفسه.```ini [GLOBAL] gns3_host=192.168.5.1 asadb_file=asadb.json

[asav941200] version=941200 arch=gns3 rootfs_path= /home/user/_asav941-200.qcow2.extracted/rootfs gns3_port=12005 attach_gdb=yes

كما يشير أيضًا إلى ملف قاعدة بيانات ASA `asadb.json` الذي يحتوي على العناوين المطلوبة. ما
هو المهم هنا هو أن `version=941200` و `arch=gns3` المحددين في
`asadbg.cfg` يسمحان بمطابقة البرنامج الثابت في `asadb.json` أدناه. كما نشير
إلى أننا نريد إرفاق gdb.```json
{
    "ASLR": false,
    "addresses": {
        "clock_interval": 59514112,
        "socks_proxy_server_start": 22139744,
        "aaa_admin_authenticate": 418288
    },
    "fw": "asav941-200.qcow2",
    "lina_imagebase": 4194304,
    "version": "9.4.1.200",
    "arch": 64
}

الآن نبدأ التصحيح وسيتم ترقيع clock_interval تلقائيًا:``` asadbg$ ./asadbg.py --name asav941200 --asadbg-config asadbg.cfg [asadbg] Using config file: asadbg.cfg [asadbg] Found section: 'asav941200' in config [asadbg] Using gdb: '/usr/bin/gdb' [asadbg] Using architecture: gns3 [asadbg] Trying lina: /home/user/_asav941-200.qcow2.extracted/rootfs/asa/bin/lina [asadbg] Going to debug... [asadbg] Using GNS3 emulator 192.168.5.1:12005 [asadbg] Starting gdb now... [gdbinit_941200] Configuring paths... [gdbinit_941200] Disabling pagination... [gdbinit_941200] Connecting over TCP/IP... 0x0000003655201190 in ?? () from /home/user/_asav941-200.qcow2.extracted/rootfs/lib64/ld-linux-x86-64.so.2 [gdbinit_941200] Connected. [gdbinit_941200] Watchdog disabled [gdbinit_941200] heap debugging plugins loaded [gdbinit_941200] Additional gdb scripts loaded [gdbinit_941200] Done. (gdb) c Continuing.

## تصحيح أخطاء جهاز حقيقي باستخدام ملف الإعداد

يوضح المثال التالي كيفية تجهيز ملفات الإعداد لتصحيح أخطاء
جهاز Cisco ASA حقيقي عبر وحدة التحكم التسلسلية.```ini
[GLOBAL]
serial_port=/dev/ttyUSB0
asadb_file=asadb.json

[asa924-gdb]
version=924
arch=32
rootfs_path=/home/user/_asa924-k8.bin.extracted/rootfs
firmware=asa924-k8-debugshell-gdbserver.bin
config=config-924
firmware_type=gdb
attach_gdb=yes

لاحظ أيضًا أننا نحتاج إلى تحديد firmware_type الذي يوضح ما إذا كان البرنامج الثابت غير معدَّل، أو تم عمل روت له، أو يحتوي على شل تسلسلي مفعّل، أو إذا كان gdb مفعّلاً عند الإقلاع. وذلك لأننا سنقوم بإجراءات مختلفة عند الإقلاع اعتمادًا على الصيغة. هنا نرى أننا نستخدم برنامجًا ثابتًا معدَّلًا asa924-k8-debugshell-gdbserver.bin حيث يكون gdbserver مفعّلاً عند الإقلاع ويحتوي على شل تصحيح. نرى أدناه أنه عندما يبدأ bootrom، يقوم asadbg تلقائيًا بمقاطعة التسلسل من أجل تحميل البرنامج الثابت وملفات الإعداد الموجودة بالفعل على بطاقة CF.``` asadbg$ ./asadbg.py --name asa924-gdb --asadbg-config asadbg.cfg [asadbg] Using config file: asadbg.cfg [asadbg] Found section: 'asa924-gdb' in config [asadbg] Using gdb: '/usr/bin/gdb' [asadbg] Using architecture: 32 [asadbg] Trying lina: /home/user/_asa924-k8.bin.extracted/rootfs/asa/bin/lina [asadbg] Going to debug... [asadbg] Using serial port: /dev/ttyUSB0 [asadbg] Loading 'asa924-k8-debugshell-gdbserver.bin' with 'config-924'... [comm] Waiting boot... [SNIP] Platform ASA5505

Use BREAK or ESC to interrupt boot. Use SPACE to begin boot immediately. Boot interrupted.

[SNIP] rommon #0> boot asa924-k8-debugshell-gdbserver.bin cfg=config-924 Launching BootLoader... Boot configuration file contains 1 entry.

Loading asa924-k8-debugshell-gdbserver.bin........ Booting... Platform ASA5505 [SNIP] SMFW PID: 514, Starting /asa/bin/lina under gdbserver /dev/ttyS0 SMFW PID: 512, started gdbserver on member: 514//asa/bin/lina SMFW PID: 512, created member ASA BLOB, PID=514 Process /asa/bin/lina created; pid = 517 Remote debugging using /dev/ttyS0 [comm] gdb detected - boot finished. [comm] Boot should be finished now? [asadbg] Starting gdb now... [gdbinit_924] Configuring paths... [gdbinit_924] Disabling pagination... [gdbinit_924] Connecting over USB... 0xdc7e2820 in ?? () from /home/user/_asa924-k8.bin.extracted/rootfs/lib/ld-linux.so.2 [gdbinit_924] Connected. [gdbinit_924] Watchdog disabled [gdbinit_924] heap debugging plugins loaded [gdbinit_924] Additional gdb scripts loaded [gdbinit_924] Done. (gdb) c Continuing.

# استيراد رموز إضافية
تنزيل الأداة