Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
asadbg — asadbg es un marco de herramientas para ayudar a automatizar la depuración en vivo de dispositivos Cisco ASA | Kitploit
Herramientas/GitHubGitHub/nccgroup/asadbg
Seguridad de Sistemas EmbebidosIngeniería InversaScripting y AutomatizaciónDepuradoresSeguridad de RedesSeguridad de HardwareAnálisis de BinariosAnálisis de Firmware
GitHubnccgroup/asadbg

asadbg

asadbg es un marco de herramientas para ayudar a automatizar la depuración en vivo de dispositivos Cisco ASA

Ver Repositorio
793815hace 4 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

asadbg

Nota preliminar: recomendamos utilizarlo como parte de asatools, aunque también puede usarse de forma independiente.

asadbg es un framework de herramientas para ayudar a automatizar la depuración en vivo de dispositivos Cisco ASA, así como automatizar la interacción con la CLI de Cisco mediante serial/ssh para realizar rápidamente tareas repetitivas.

asadbg demo

  • Envuelve a gdb
  • Soporta un archivo de configuración asadbg.cfg para habilitar la depuración de diferentes versiones fácilmente
  • Soporta tanto hardware real como GNS3
  • Opcionalmente usa ret-sync para permitir una mejor experiencia de depuración desde IDA Pro
  • Soporta la ejecución de scripts adicionales de gdb al arrancar
  • Proporciona librerías que pueden ser útiles para automatizar pruebas en múltiples versiones de firmware en hardware real

La herramienta principal es asadbg.py y ejecutará la mayoría de los otros scripts auxiliares. Ten en cuenta que puede que necesites usar inicialmente asafw para desempaquetar el firmware y obtener la mejor variante de asadbg.

  • asadbg.py: herramienta principal utilizada para depurar ASAs
  • asdbg_hunt.py/asadbg_rename.py: script de IDA Python para usar con idahunt para importar símbolos para nuevos objetivos

Los siguientes son importados automáticamente por asadbg.py, pero te damos algo de información sobre para qué sirven:

  • asa_lib*.py: scripts de gdb en Python para usar libdlmalloc, libptmalloc y libmempool.
  • asa_sync.py: script de gdb en Python para usar ret-sync
  • comm.py: conjunto de funciones para comunicarse por serial, SSH, telnet.
  • find_lina_pid.py: encuentra el PID de lina usando comandos SSH
  • template_gdbinit: plantilla gdbinit parcheada por asadbg.py para cada objetivo que depuramos

Requisitos

  • Solo Python3
    • pip3 install pyserial paramiko
  • Probado intensamente en Linux (aunque también podría funcionar en OS X)
  • Firmware precargado en la flash de un dispositivo ASA real o emulador ASA configurado en GNS3

Inicialmente necesitas modificar asadbg/env.sh para ajustarlo a tu entorno. Te permitirá definir rutas a las herramientas utilizadas por todos los scripts, así como algunas variables acordes a tu entorno ASA. Ten en cuenta que existe un asafw/env.sh similar, pero solo se necesita que uno sea utilizado para ambos proyectos. Nosotros recomendamos que lo añadas a tu ~/.bashrc:``` source /path/to/asadbg/env.sh

# Depuración automatizada

Una de las principales ventajas de usar asadbg es que puedes automatizar el uso tanto
de dispositivos Cisco ASA emulados (GNS3) como reales. Esto puede incluir simplemente
automatizar el arranque y la ejecución de varios firmwares y configuraciones, o
específicamente automatizar el proceso de depuración de `lina` usando gdb. Esto se hace
principalmente mediante el script `asadbg.py`. La idea principal es precargar algo de flash en
el dispositivo ASA con archivos de firmware y configuración que quieras usar en
el dispositivo. Para cada firmware que quieras depurar, puedes usar una herramienta
como `asafw` para extraer diferentes símbolos y luego puedes generar
automáticamente archivos gdbinit usando esos símbolos. Por defecto, `asadbg.py` usará un
archivo `template_gdbinit` para automatizar la construcción de un archivo gdbinit específico de la versión en
tiempo de ejecución usando los símbolos que estén presentes en la base de datos.

## Arrancar rápidamente un dispositivo real (sin depuración)

Puedes arrancar rápidamente una versión determinada especificando el firmware y los archivos de configuración
que ya deben estar en la tarjeta CF.```
asadbg$ ./asadbg.py --firmware-type normal --serial-port /dev/ttyUSB0 --firmware asa802-k8.bin --config config-802

Depurar un dispositivo GNS3 con archivo de configuración

El siguiente ejemplo muestra cómo puedes configurar los archivos de configuración para depurar un dispositivo GNS3. Primero definimos un archivo de configuración asadbg.cfg similar al siguiente. Contiene la IP/puerto de GNS3 para el firewall configurado que obtenemos del propio 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

También apunta al archivo de base de datos ASA `asadb.json` que contiene las direcciones requeridas. Lo importante aquí es que `version=941200` y `arch=gns3` especificados en `asadbg.cfg` permiten hacer coincidir el firmware en `asadb.json` a continuación. También indicamos que queremos adjuntar 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
}

Ahora comenzamos la depuración y clock_interval se parcheará automáticamente:``` 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.

## Depuración de un dispositivo real con archivo de configuración

El siguiente ejemplo muestra cómo puede configurar los archivos de configuración para depurar
un dispositivo Cisco ASA real a través de una consola serie.```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

Tenga en cuenta también que necesitamos especificar un firmware_type que indique si el firmware está sin modificar, rooteado, tiene un shell serie habilitado o si gdb se ha habilitado al arrancar. Esto es porque haremos cosas diferentes en el arranque dependiendo del formato. Aquí podemos ver que usamos un firmware modificado asa924-k8-debugshell-gdbserver.bin que tiene gdbserver habilitado al arrancar y contiene un shell de depuración. Vemos a continuación que cuando el bootrom se inicia, asadbg automáticamente interrumpe la secuencia para cargar el firmware y los archivos de configuración ya presentes en la tarjeta 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.

Descargar herramienta