Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/nccgroup/asadbg
Embedded-System-SicherheitReverse EngineeringScripting & AutomatisierungDebuggerNetzwerksicherheitHardware-SicherheitBinäranalyseFirmware-Analyse
GitHubnccgroup/asadbg

asadbg

asadbg ist ein Framework von Tools, das die Automatisierung des Live-Debuggings von Cisco-ASA-Geräten unterstützt.

Repository anzeigen
793817vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

asadbg

Vorabhinweis: wir empfehlen, dies als Teil von asatools zu verwenden, aber es kann auch eigenständig verwendet werden.

asadbg ist ein Framework von Werkzeugen, um die Automatisierung des Live-Debugging von Cisco-ASA-Geräten zu unterstützen und die Interaktion mit der Cisco-CLI über seriell/ssh zu automatisieren, um sich wiederholende Aufgaben schnell durchzuführen.

asadbg demo

  • Es kapselt gdb
  • Es unterstützt eine Konfigurationsdatei asadbg.cfg, um das Debugging verschiedener Versionen einfach zu ermöglichen
  • Es unterstützt sowohl echte Hardware als auch GNS3
  • Optional verwendet es ret-sync, um ein besseres Debugging-Erlebnis von IDA Pro aus zu ermöglichen
  • Es unterstützt die Ausführung zusätzlicher gdb-Skripte beim Boot
  • Es stellt Bibliotheken bereit, die für die Automatisierung von Tests über mehrere Firmware- Versionen auf echter Hardware nützlich sein können.

Das Hauptwerkzeug ist asadbg.py, und es führt die meisten anderen Hilfsskripte aus. Beachten Sie, dass Sie möglicherweise zunächst asafw verwenden müssen, um Firmware zu entpacken und die beste Variante von asadbg zu erhalten.

  • asadbg.py: Hauptwerkzeug zum Debuggen von ASAs
  • asdbg_hunt.py/asadbg_rename.py: IDA-Python-Skript zur Verwendung mit idahunt zum Importieren von Symbolen für neue Ziele

Die folgenden werden automatisch von asadbg.py importiert, aber wir geben Ihnen einige Informationen dazu, wofür sie sind:

  • asa_lib*.py: gdb-Python-Skripte zur Verwendung von libdlmalloc, libptmalloc und libmempool.
  • asa_sync.py: gdb-Python-Skript zur Verwendung von ret-sync
  • comm.py: Sammlung von Funktionen zur Kommunikation über seriell, SSH, Telnet.
  • find_lina_pid.py: findet die lina-PID mithilfe von SSH-Befehlen
  • template_gdbinit: gdbinit-Vorlage, die von asadbg.py für jedes Ziel gepatcht wird, das wir debuggen.

Requirements

  • Nur Python3
    • pip3 install pyserial paramiko
  • Intensiv auf Linux getestet (könnte aber auch auf OS X funktionieren)
  • Vorinstallierte Firmware auf dem Flash eines echten ASA-Geräts oder ein in GNS3 konfigurierter ASA-Emulator

Sie müssen zunächst asadbg/env.sh an Ihre Umgebung anpassen. Es ermöglicht Ihnen, Pfade zu den von allen Skripten verwendeten Werkzeugen sowie einige Variablen festzulegen, die zu Ihrer ASA-Umgebung passen. Beachten Sie, dass es eine ähnliche asafw/env.sh gibt, aber nur eine für beide Projekte verwendet werden muss. Wir empfehlen, sie zu Ihrer ~/.bashrc hinzuzufügen:``` source /path/to/asadbg/env.sh

# Automatisiertes Debugging

Einer der Hauptvorteile der Verwendung von asadbg ist, dass Sie die Nutzung sowohl emulierter (GNS3) als auch echter Cisco-ASA-Geräte automatisieren können. Dies kann das allgemeine Automatisieren des Bootens und Ausführens verschiedener Firmwares und Konfigurationen umfassen oder speziell das Automatisieren des Debugging-Prozesses von `lina` mit gdb. Dies wird hauptsächlich über das Skript `asadbg.py` durchgeführt. Die Grundidee besteht darin, auf dem ASA-Gerät etwas Flash-Speicher mit Firmware- und Konfigurationsdateien vorzuladen, die Sie auf dem Gerät verwenden möchten. Für jede Firmware, die Sie debuggen möchten, können Sie ein Tool wie `asafw` verwenden, um verschiedene Symbole zu extrahieren, und dann können Sie mit diesen Symbolen automatisch gdbinit-Dateien generieren. Standardmäßig verwendet `asadbg.py` eine Datei `template_gdbinit`, um zur Laufzeit automatisch eine versionsspezifische gdbinit-Datei zu erstellen, wobei alle Symbole verwendet werden, die in der Datenbank vorhanden sind.

## Schnell ein echtes Gerät booten (ohne Debugging)

Sie können eine bestimmte Version schnell booten, indem Sie die Firmware- und Konfigurationsdateien angeben, die sich bereits auf der CF-Karte befinden müssen.```
asadbg$ ./asadbg.py --firmware-type normal --serial-port /dev/ttyUSB0 --firmware asa802-k8.bin --config config-802

Debugging a GNS3 device with config file

Das folgende Beispiel zeigt, wie Sie die Konfigurationsdateien einrichten können, um ein GNS3-Gerät zu debuggen. Zuerst definieren wir eine asadbg.cfg-Konfigurationsdatei ähnlich wie unten. Sie enthält die GNS3-IP/den GNS3-Port für die konfigurierte Firewall, die wir von GNS3 selbst erhalten.```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

Es verweist auch auf die ASA-Datenbankdatei `asadb.json`, die die erforderlichen Adressen enthält. Was
hierbei wichtig ist, ist, dass die in `asadbg.cfg` angegebenen `version=941200` und `arch=gns3` den
Abgleich mit der unten in `asadb.json` aufgeführten Firmware ermöglichen. Außerdem geben wir an,
dass wir gdb anhängen möchten.```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
}

Jetzt beginnen wir mit dem Debugging und clock_interval wird automatisch gepatcht:``` 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.

## Debuggen eines realen Geräts mit Konfigurationsdatei

Das folgende Beispiel zeigt, wie Sie die Konfigurationsdateien einrichten können, um
ein reales Cisco-ASA-Gerät über eine serielle Konsole zu debuggen.```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

Beachten Sie außerdem, dass wir eine firmware_type angeben müssen, die angibt, ob die Firmware unverändert, gerootet, mit aktivierter serieller Shell ist oder ob gdb beim Booten aktiviert wurde. Dies ist der Fall, weil wir beim Booten je nach Format unterschiedliche Dinge tun. Hier sehen wir, dass wir eine modifizierte Firmware asa924-k8-debugshell-gdbserver.bin verwenden, die beim Booten gdbserver aktiviert hat und eine Debug-Shell enthält. Wir sehen unten, dass asadbg beim Start des Bootroms automatisch die Sequenz unterbricht, um die bereits auf der CF-Karte befindlichen Firmware- und Konfigurationsdateien zu laden.``` 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

Tool herunterladen