Skip to content

rumpelsepp/gallia

This branch is 2 commits ahead of, 32 commits behind Fraunhofer-AISEC/gallia:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6f750d9 · Jan 30, 2025
Jan 15, 2025
Nov 19, 2024
Dec 19, 2024
Jan 17, 2025
Jan 23, 2025
Jan 30, 2025
Feb 12, 2024
Jan 17, 2024
Nov 28, 2024
Nov 28, 2024
Oct 11, 2022
Oct 11, 2022
Aug 13, 2024
Oct 15, 2024
Feb 23, 2024
Dec 19, 2024
Nov 28, 2024
Jul 6, 2022
Sep 26, 2024
Jan 22, 2025
Jan 16, 2025
Jan 15, 2025
Nov 28, 2024

Repository files navigation

Gallia

docs PyPI - Python Version PyPI - License PyPI DOI

Packaging status

Gallia is an extendable pentesting framework with the focus on the automotive domain. The scope of the toolchain is conducting penetration tests from a single ECU up to whole cars. Currently, the main focus lies on the UDS interface. Acting as a generic interface, the logging functionality implements reproducible tests and enables post-processing tasks. The rendered documentation is available via Github Pages.

Keep in mind that this project is intended for research and development usage only! Inappropriate usage might cause irreversible damage to the device under test. We do not take any responsibility for damage caused by the usage of this tool.

Testimonials

Levent Çelik et al. in Comparing Open-Source UDS Implementations Through Fuzz Testing:

Among the implementations we've identified, Gallia stands out as the most robust and dependable by a significant margin.

Quickstart

See the setup instructions.

First create a config template with --template, store it to a file called gallia.toml, and adjust it to your needs. gallia reads this file to set the defaults of the command line flags. All options correspond to a command line flag; the only required option for scans is gallia.scanner.target, for instance isotp://can0?src_addr=0x123&dst_addr=0x312&tx_padding=0xaa&rx_padding=0xaa.

$ gallia --template > gallia.toml

You are all set to start your first scan, for instance read the diagnostic trouble codes:

$ gallia primitive uds dtc read

The target can also be specified by the --target option on the command line. For the format of the --target argument see the transports documentation.

Acknowledgments

This work was partly funded by the German Federal Ministry of Education and Research (BMBF) as part of the SecForCARs project (grant no. 16KIS0790). A short presentation and demo video is available at this page.

About

Extendable Pentesting Framework

Resources

License

Citation

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.0%
  • Other 1.0%