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.

Репозиторий
7938164 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

asadbg

Предварительное замечание: мы рекомендуем использовать это в составе asatools, но также можно использовать отдельно.

asadbg — это набор инструментов для автоматизации живой отладки устройств Cisco ASA, а также для автоматизации взаимодействия с Cisco CLI через 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)
  • Предзагруженная прошивка на flash реального устройства ASA или эмулятор ASA, настроенный в GNS3

Первоначально вам нужно изменить asadbg/env.sh в соответствии с вашим окружением. Это позволит вам указать пути к инструментам, используемым всеми скриптами, а также некоторые переменные, соответствующие вашему окружению ASA. Обратите внимание, что есть аналогичный asafw/env.sh, но для обоих проектов требуется использовать только один. Мы рекомендуем добавить его в ваш ~/.bashrc:``` source /path/to/asadbg/env.sh

# Автоматизированная отладка

Одним из главных преимуществ использования asadbg является возможность автоматизировать работу как с эмулируемыми (GNS3), так и с реальными устройствами Cisco ASA. Это может включать просто общую автоматизацию загрузки и запуска различных прошивок и конфигураций, или же конкретно автоматизацию процесса отладки `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.

Скачать инструмент