Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
asadbg — asadbg est un framework d'outils conçu pour faciliter l'automatisation du débogage en direct des appareils Cisco ASA. | Kitploit
Outils/GitHubGitHub/nccgroup/asadbg
Sécurité des Systèmes EmbarquésRétro-ingénierieScripting et AutomatisationDébogueursSécurité RéseauSécurité MatérielleAnalyse de BinairesAnalyse de Micrologiciel
GitHubnccgroup/asadbg

asadbg

asadbg est un framework d'outils conçu pour faciliter l'automatisation du débogage en direct des appareils Cisco ASA.

Voir le dépôt
793815il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

asadbg

Note préliminaire : nous recommandons de l'utiliser dans le cadre de asatools, mais il peut également être utilisé de manière autonome.

asadbg est un framework d'outils conçu pour faciliter l'automatisation du débogage en direct des équipements Cisco ASA, ainsi que l'automatisation des interactions avec le CLI Cisco via série/ssh afin d'exécuter rapidement des tâches répétitives.

Démo asadbg

  • Il enveloppe gdb
  • Il prend en charge un fichier de configuration asadbg.cfg pour faciliter le débogage de différentes versions
  • Il prend en charge à la fois le matériel réel et GNS3
  • Il utilise facultativement ret-sync pour une meilleure expérience de débogage depuis IDA Pro
  • Il prend en charge l'exécution de scripts gdb supplémentaires au démarrage
  • Il fournit des bibliothèques utiles pour automatiser les tests sur plusieurs versions de firmware sur matériel réel

L'outil principal est asadbg.py et il exécutera la plupart des autres scripts d'assistance. Notez que vous devrez peut-être utiliser au départ asafw pour dépaqueter le firmware afin d'obtenir la meilleure version de asadbg.

  • asadbg.py : outil principal utilisé pour déboguer les ASA
  • asdbg_hunt.py/asadbg_rename.py : scripts Python IDA à utiliser avec idahunt pour importer des symboles pour de nouvelles cibles

Les éléments suivants sont importés automatiquement par asadbg.py, mais nous vous donnons quelques informations sur leur utilité :

  • asa_lib*.py : scripts Python gdb pour utiliser libdlmalloc, libptmalloc et libmempool.
  • asa_sync.py : script Python gdb pour utiliser ret-sync
  • comm.py : ensemble de fonctions pour communiquer via série, SSH, telnet.
  • find_lina_pid.py : trouve le PID de lina à l'aide de commandes SSH
  • template_gdbinit : modèle gdbinit corrigé par asadbg.py pour chaque cible que nous débogons

Prérequis

  • Python3 uniquement
    • pip3 install pyserial paramiko
  • Testé en profondeur sur Linux (mais pourrait fonctionner aussi sur OS X)
  • Firmware préchargé sur la mémoire flash d'un véritable équipement ASA ou d'un émulateur ASA configuré dans GNS3

Vous devez au départ modifier asadbg/env.sh pour correspondre à votre environnement. Cela vous permettra de définir les chemins vers les outils utilisés par tous les scripts ainsi que certaines variables correspondant à votre environnement ASA. Notez qu'il existe un asafw/env.sh similaire, mais un seul est requis pour les deux projets. Nous recommandons de l'ajouter à votre ~/.bashrc :``` source /path/to/asadbg/env.sh

# Débogage automatisé

L'un des principaux avantages de l'utilisation d'asadbg est que vous pouvez automatiser votre utilisation des appareils Cisco ASA à la fois émulés (GNS3) et réels. Cela peut inclure simplement l'automatisation générale du démarrage et de l'exécution de divers firmwares et configurations, ou spécifiquement l'automatisation du processus de débogage de `lina` à l'aide de gdb. Cela se fait principalement via le script `asadbg.py`. L'idée principale est de précharger de la mémoire flash sur l'appareil ASA avec les fichiers de firmware et de configuration que vous souhaitez utiliser sur l'appareil. Pour chaque firmware que vous souhaitez déboguer, vous pouvez utiliser un outil tel que `asafw` pour extraire différents symboles, puis générer automatiquement des fichiers gdbinit à partir de ces symboles. Par défaut, `asadbg.py` utilise un fichier `template_gdbinit` pour automatiser la création d'un fichier gdbinit spécifique à la version au moment de l'exécution, en utilisant les symboles présents dans la base de données.

## Démarrer rapidement un appareil réel (sans débogage)

Vous pouvez démarrer rapidement une version donnée en spécifiant les fichiers de firmware et de configuration qui doivent déjà se trouver sur la carte CF.```
asadbg$ ./asadbg.py --firmware-type normal --serial-port /dev/ttyUSB0 --firmware asa802-k8.bin --config config-802

Déboguer un périphérique GNS3 avec un fichier de configuration

L’exemple suivant montre comment configurer les fichiers de configuration pour déboguer un périphérique GNS3. Nous définissons d’abord un fichier de configuration asadbg.cfg similaire à celui ci-dessous. Il contient l’adresse IP/le port GNS3 du pare-feu configuré, que nous obtenons directement depuis 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

Il pointe également vers le fichier `asadb.json` de la base de données ASA contenant les adresses requises. Ce
qui est important ici, c'est que `version=941200` et `arch=gns3` spécifiés dans
`asadbg.cfg` permettent de correspondre au firmware dans `asadb.json` ci-dessous. Nous indiquons également
que nous voulons attacher 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
}

Maintenant, nous commençons le débogage et clock_interval sera automatiquement patché :``` 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.

## Débogage d'un appareil réel avec fichier de configuration

L'exemple suivant montre comment configurer les fichiers de configuration pour déboguer
un véritable appareil Cisco ASA via une console série.```ini
[GLOBAL]
serial_port=/dev/ttyUSB0
asadb_file=asadb.json
Télécharger l’outil