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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
asafw — Ensemble de scripts pour traiter le firmware Cisco ASA [pack/unpack, etc.] | Kitploit
Outils/GitHubGitHub/nccgroup/asafw
Sécurité des Systèmes EmbarquésExploitationRétro-ingénierieDébogueursSécurité MatérielleAnalyse de BinairesAnalyse de Micrologiciel
GitHubnccgroup/asafw

asafw

Ensemble de scripts pour traiter le firmware Cisco ASA [pack/unpack, etc.]

Voir le dépôt
1073624il 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

asafw

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

asafw est un ensemble de scripts permettant de manipuler le firmware Cisco ASA. Il permet de dépaqueter le firmware requis lors du débogage avec gdb, ainsi que de les dépaqueter/repaqueter afin d'activer certaines fonctionnalités telles que :

  • Activer gdb au démarrage
  • Désactiver l'ASLR pour faciliter le débogage
  • Injecter un shell de débogage Linux pour permettre CTRL^C dans gdb lorsqu'il est utilisé avec du matériel réel
  • Rooter un firmware (généralement remplacé par l'activation de gdb au démarrage et l'injection d'un shell root)
  • etc.

Les outils les plus utiles sont unpack_repack_bin.sh et unpack_repack_qcow2.sh. Ils permettent respectivement de manipuler les formats d'image asa*.bin et asav*.qcow2. Ils doivent tous deux être exécutés en tant que root lors du repaquage du rootfs pour conserver les bonnes permissions.

Prérequis

  • Python3 uniquement
  • apt install binwalk qemu-utils
  • Largement testé sur Linux (mais pourrait également fonctionner sur OS X)

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

# unpack_repack_bin.sh

`unpack_repack_bin.sh` est utilisé pour dépaqueter/repaqueter les images `asa*.bin` utilisées
pour le matériel Cisco ASA réel (comme les séries ASA 5500 et 5500-X). L'utilisation
complète est :```
$ unpack_repack_bin.sh -h
Usage:
./unpack_repack_bin.sh -i <firmware_file> -o <out_dir> [-f -g -G -a -A -m -b -r -u -l <linabin_dir> -d -e -k]
      -h, --help                    This help menu
      -i, --input <firmware_file>   What firmware bin to operate on
      -o, --output  <out_dir>       Where to write new firmware
      -f, --free-space              Remove space from .bin to ensure injections fit
      -g, --enable-gdb              Set gdb to start on boot
      -G, --disable-gdb             Stop gdb from starting on boot
      -a, --enable-aslr             Turn on ASLR
      -A, --disable-aslr            Turn off ASLR
      -m, --inject-gdb              Inject gdbserver to run
      -b, --debug-shell             Inject ssh-triggered debug shell
      -H, --lina-hook               Inject hooks for monitor lina heap (requires -b)
      -r, --root                    root the bin to get a rootshell on boot
      -c, --custom                  custom?
      -n, --n-custom                custom?
      -q, --gns3-fixup              gns?
      -u, --unpack-only             unpack the firmware and nothing else
      -l, --linabins <linabin_dir>  destination folder to save lina binaries
      -d, --delete-extracted        delete files extracted during modification
      -e, --delete-original-bin     delete the original firmware being modified
      -k, --keep-rootfs             keep the extracted rootfs on disk
      -s, --simple-name             use a simple name for the output .bin with just appended '-repacked'
Examples:
 ./unpack_repack_bin.sh -i /home/user/firmware -o /home/user/firmware_repacked --free-space --enable-gdb --inject-gdb
 ./unpack_repack_bin.sh -i /home/user/firmware/asa961-smp-k8.bin -f -g -m
 ./unpack_repack_bin.sh -u -i /home/user/firmware -l /home/user/linabins
 ./unpack_repack_bin.sh -u -i /home/user/firmware/asa924-k8.bin -k

Extract multiple firmare

Supposons que nous ayons ces deux firmware:``` ~/fw$ ls asa924-k8.bin asa981-smp-k8.bin

Si vous souhaitez uniquement extraire le firmware, par exemple pour le déboguer avec
[asadbg](https://github.com/nccgroup/asadbg), vous pouvez utiliser `-u` pour seulement désarchiver
et `-k` pour ne conserver que la rootfs et supprimer les autres fichiers extraits par binwalk
dont vous n'avez pas besoin. Notez que le dossier de sortie est le même que le dossier d'entrée,
car nous nous appuyons sur binwalk pour cela :```
~/fw$ unpack_repack_bin.sh -i . -k -u
[unpack_repack_bin] Directory of firmware detected: .
[unpack_repack_bin] extract_one: asa924-k8.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
75000         0x124F8         SHA256 hash constants, little endian
144510        0x2347E         gzip compressed data, maximum compression, from Unix, last modified: 2015-07-15 04:53:23
1501296       0x16E870        gzip compressed data, has original file name: "rootfs.img", from Unix, last modified: 2015-07-15 05:19:52
27168620      0x19E8F6C       MySQL ISAM index file Version 4
28192154      0x1AE2D9A       Zip archive data, at least v2.0 to extract, name: com/cisco/webvpn/csvrjavaloader64.dll
28773362      0x1B70BF2       Zip archive data, at least v2.0 to extract, name: AliasHandlerWrapper-win64.dll

[unpack_repack_bin] Extracted firmware to /home/user/fw/_asa924-k8.bin.extracted
[unpack_repack_bin] Firmware uses regular rootfs/ dir
[unpack_repack_bin] Extracting /home/user/fw/_asa924-k8.bin.extracted/rootfs/rootfs.img into /home/user/fw/_asa924-k8.bin.extracted/rootfs
[unpack_repack_bin] Keeping rootfs
[unpack_repack_bin] Deleting "/home/user/fw/_asa924-k8.bin.extracted/rootfs.img"
[unpack_repack_bin] Deleting "/home/user/fw/_asa924-k8.bin.extracted/2347E"
[unpack_repack_bin] Deleting "/home/user/fw/_asa924-k8.bin.extracted/1AE2D9A.zip"
[unpack_repack_bin] extract_one: asa981-smp-k8.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
75264         0x12600         SHA256 hash constants, little endian
133120        0x20800         Microsoft executable, portable (PE)
149183        0x246BF         gzip compressed data, maximum compression, from Unix, last modified: 2017-01-30 19:33:09
3678112       0x381FA0        gzip compressed data, has original file name: "rootfs.img", from Unix, last modified: 2017-05-10 22:42:05
14838307      0xE26A23        MySQL MISAM compressed data file Version 4
87985870      0x53E8ECE       MySQL MISAM compressed data file Version 7
96261881      0x5BCD6F9       Zip archive data, at least v2.0 to extract, name: com/cisco/webvpn/csvrjavaloader64.dll
96890193      0x5C66D51       MySQL ISAM compressed data file Version 5

[unpack_repack_bin] Extracted firmware to /home/user/fw/_asa981-smp-k8.bin.extracted
[unpack_repack_bin] Firmware uses regular rootfs/ dir
[unpack_repack_bin] Extracting /home/user/fw/_asa981-smp-k8.bin.extracted/rootfs/rootfs.img into /home/user/fw/_asa981-smp-k8.bin.extracted/rootfs
[unpack_repack_bin] Keeping rootfs
[unpack_repack_bin] Deleting "/home/user/fw/_asa981-smp-k8.bin.extracted/rootfs.img"
[unpack_repack_bin] Deleting "/home/user/fw/_asa981-smp-k8.bin.extracted/5BCD6F9.zip"
[unpack_repack_bin] Deleting "/home/user/fw/_asa981-smp-k8.bin.extracted/246BF"

Notez que les erreurs comme celles ci-dessous que vous pouvez obtenir n'ont aucune importance dans ce cas, car vous n'allez pas reconditionner le firmware :``` cpio: lib/udev/devices/kmem: Function mknod failed: Operation not permitted cpio: lib/udev/devices/net/tun: Function mknod failed: Operation not permitted cpio: lib/udev/devices/loop01: Function mknod failed: Operation not permitted cpio: lib/udev/devices/null: Function mknod failed: Operation not permitted cpio: lib/udev/devices/console: Function mknod failed: Operation not permitted cpio: lib/udev/devices/loop00: Function mknod failed: Operation not permitted 134992 blocks

## Activer gdb au démarrage / shell de débogage
Télécharger l’outil