HydraBus

Qu’est-ce que HydraBus ?

HydraBus est un outil open-source de hardware hacking conçu comme une alternative plus puissante au Bus Pirate. Basé sur un microcontrôleur STM32, il offre des capacités étendues pour l’analyse, le debug et le pentest de systèmes embarqués.

Protocoles supportés

  • Communication série : UART, SPI, I2C
  • Bus filaires : 1-Wire, 2-Wire, 3-Wire
  • Automobile/Industriel : CAN, LIN
  • Débogage : JTAG, SWD
  • Cartes : SMARTCARD, Wiegand, NAND Flash
  • Analogique : ADC, DAC, PWM
  • Analyse : Analyseur logique

Installation

Dépendances

Installer les paquets requis pour compiler et flasher le firmware :

sudo dnf install git dfu-util make gcc arm-none-eabi-gcc arm-none-eabi-binutils arm-none-eabi-newlib

Règles udev

Configurer les règles udev pour accéder à HydraBus sans privilèges root :

sudo curl -o /etc/udev/rules.d/09-hydrabus.rules https://raw.githubusercontent.com/hydrabus/hydrafw/master/utils/udev-rules/09-hydrabus.rules
sudo udevadm control --reload-rules

Firmware

Cloner le dépôt, compiler et flasher le firmware :

git clone https://github.com/hydrabus/hydrafw --recursive
cd hydrafw/src
make
dfu-util -d 0483:df11 -a 0 -D build/hydrafw.dfu

Pour passer en mode DFU, maintenez le bouton gauche (UBTN) enfoncé tout en connectant le port USB inférieur à votre ordinateur :

HydraBus mode DFU

Utilisation

Débranchez et rebranchez le câble USB sans appuyer sur le bouton, puis connectez-vous via le port série :

minicom -D /dev/ttyACM0

Vous accédez alors à un shell avec les commandes suivantes :

> help
Available commands
   help           Available commands
   history        Command history
   clear          Clear screen
   show           Show information
   logging        Turn logging on or off
   sd             SD card management
   adc            Read analog values
   dac            Write analog values
   pwm            Write PWM
   frequency      Read frequency
   continuity     Test continuity
   gpio           Get or set GPIO pins
   spi            SPI mode
   i2c            I2C mode
   1-wire         1-wire mode
   2-wire         2-wire mode
   3-wire         3-wire mode
   uart           UART mode
   nfc            NFC mode
   can            CAN mode
   sump           SUMP mode
   jtag           JTAG mode
   random         Random number
   flash          NAND flash mode
   wiegand        Wiegand mode
   lin            LIN mode
   smartcard      SMARTCARD mode
   debug          Debug mode

pyHydrabus

pyHydrabus est un module Python (3.6+) permettant de contrôler HydraFW depuis un script Python.

pip install pyHydrabus

Articles associés

Références