Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
asadbg — asadbg è un framework di strumenti per aiutare ad automatizzare il debug dal vivo dei dispositivi Cisco ASA | Kitploit
Strumenti/GitHubGitHub/nccgroup/asadbg
Sicurezza Sistemi EmbeddedReverse EngineeringScripting e AutomazioneDebuggerSicurezza di ReteSicurezza HardwareAnalisi di BinariAnalisi del Firmware
GitHubnccgroup/asadbg

asadbg

asadbg è un framework di strumenti per aiutare ad automatizzare il debug dal vivo dei dispositivi Cisco ASA

Vedi Repository
7938144 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

asadbg

Nota preliminare: ti consigliamo di usarlo come parte di asatools ma può essere usato anche autonomamente.

asadbg è un framework di strumenti che aiuta ad automatizzare il debug in tempo reale di dispositivi Cisco ASA, oltre ad automatizzare l'interazione con la CLI Cisco via seriale/ssh per eseguire rapidamente attività ripetitive.

asadbg demo

  • Incapsula gdb
  • Supporta un file di configurazione asadbg.cfg per abilitare facilmente il debug di versioni diverse
  • Supporta sia hardware reale che GNS3
  • Opzionalmente usa ret-sync per consentire una migliore esperienza di debug da IDA Pro
  • Supporta l'esecuzione di script gdb aggiuntivi all'avvio
  • Fornisce librerie che possono essere utili per automatizzare i test su più firmware versioni su hardware reale

Lo strumento principale è asadbg.py ed eseguirà la maggior parte degli altri script helper. Nota che potresti dover inizialmente usare asafw per decomprimere il firmware per ottenere la migliore versione di asadbg.

  • asadbg.py: strumento principale usato per il debug delle ASA
  • asdbg_hunt.py/asadbg_rename.py: script IDA Python da usare con idahunt per importare simboli per nuovi target

I seguenti vengono importati automaticamente da asadbg.py ma ti diamo alcune informazioni su a cosa servono:

  • asa_lib*.py: script gdb Python per usare libdlmalloc, libptmalloc e libmempool.
  • asa_sync.py: script gdb Python per usare ret-sync
  • comm.py: insieme di funzioni per comunicare via seriale, SSH, telnet.
  • find_lina_pid.py: trova il PID di lina usando comandi SSH
  • template_gdbinit: modello gdbinit modificato da asadbg.py per ogni target di cui facciamo il debug

Requisiti

  • Solo Python3
    • pip3 install pyserial paramiko
  • Ampiamente testato su Linux (ma potrebbe funzionare anche su OS X)
  • Firmware precaricato sulla flash di un dispositivo ASA reale o emulatore ASA configurato in GNS3

Inizialmente devi modificare asadbg/env.sh per adattarlo al tuo ambiente. Ti consente di definire i percorsi degli strumenti usati da tutti gli script e alcune variabili corrispondenti al tuo ambiente ASA. Nota che esiste un simile asafw/env.sh ma ne basta uno solo da usare per entrambi i progetti. Ti consigliamo di aggiungerlo al tuo ~/.bashrc:``` source /path/to/asadbg/env.sh

# Debug automatizzato

Uno dei principali vantaggi dell'uso di asadbg è che puoi automatizzare l'uso sia di dispositivi Cisco ASA emulati (GNS3) che reali. Questo può includere semplicemente l'automazione generale dell'avvio e dell'esecuzione di vari firmware e configurazioni, oppure specificamente l'automazione del processo di debug di `lina` usando gdb. Questo viene fatto principalmente tramite lo script `asadbg.py`. L'idea principale è precaricare della flash sul dispositivo ASA con i firmware e i file di configurazione che vuoi usare sul dispositivo. Per ogni firmware che vuoi debuggare, puoi usare uno strumento come `asafw` per estrarre diversi simboli e poi generare automaticamente file gdbinit usando quei simboli. Per impostazione predefinita, `asadbg.py` userà un file `template_gdbinit` per automatizzare la creazione di un file gdbinit specifico per versione a runtime usando i simboli presenti nel database.

## Avvia rapidamente un dispositivo reale (senza debug)

Puoi avviare rapidamente una determinata versione specificando i file di firmware e di configurazione che devono essere già presenti sulla scheda CF.```
asadbg$ ./asadbg.py --firmware-type normal --serial-port /dev/ttyUSB0 --firmware asa802-k8.bin --config config-802

Debug di un dispositivo GNS3 con file di configurazione

L'esempio seguente mostra come configurare i file di configurazione per eseguire il debug di un dispositivo GNS3. Per prima cosa definiamo un file di configurazione asadbg.cfg simile a quello riportato di seguito. Contiene l'IP/porta GNS3 per il firewall configurato che otteniamo da GSN3 stesso.```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

Punta inoltre al file `asadb.json` del database ASA che contiene gli indirizzi richiesti. Ciò che è importante qui è che `version=941200` e `arch=gns3` specificati in `asadbg.cfg` consentono di abbinare il firmware in `asadb.json` riportato di seguito. Indichiamo anche che vogliamo collegare 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
}

Ora iniziamo il debug e clock_interval verrà automaticamente patchato:``` 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.

## Debug di un dispositivo reale con file di configurazione

L'esempio seguente mostra come configurare i file di configurazione per eseguire il debug
di un dispositivo Cisco ASA reale tramite console seriale.```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

Nota anche che dobbiamo specificare un firmware_type che indica se il firmware è non modificato, con root, ha una shell seriale abilitata o se gdb è stato abilitato all'avvio. Questo perché faremo cose diverse all'avvio a seconda del formato. Qui possiamo vedere che usiamo un firmware modificato asa924-k8-debugshell-gdbserver.bin che ha gdbserver abilitato all'avvio e contiene una shell di debug. Vediamo sotto che quando il bootrom parte, asadbg automaticamente interrompe la sequenza per caricare il firmware e i file di configurazione già presenti sulla scheda 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.

Scarica lo strumento