CANBus Hacking for Beginners
TLDR;
In 2014, Open Garages—a group of people interested in sharing and collaborating on vehicle security—released the first Car Hacker’s Manual as course material for car hacking classes. The original book was designed to fit in a vehicle’s glove-box and to cover the basics of car hacking in a one/two-day class on auto security.
This blog post highlights the available resources to safetly play and hopefully learn more about CANbus and automobile/car hacking:
Car Hacking - Getting Started
Car Hacking is not really straight forward. It depends whether you are in the USA or Europe, or soemwhere else in the world? It also depends on the age, manufacturer and model of your car! There are so many different buses, and communciation protocols that you need to research, and learn.
But on getting started, a good place to start is CANOpen and the CANbus.
Some of the different protocols are discussed further in the book:
- Extended Packets
- The ISO-TP Protocol
- The GMLAN Bus
- The SAE J1850 Protocol
- The PWM Protocol
- The VPW Protocol
What is a CANbus
A Controller Area Network (CAN bus) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other’s applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but it can also be used in many other contexts.
– Wikipedia
Why Start Car Hacking?
- Understanding How Your Vehicle Works
- Working on Your Vehicle’s Electrical Systems
- Modifying Your Vehicle
- Discovering Undocumented Features
- Validating the Security of Your Vehicle
- Helping the Auto Industry
Though the following warning is repeated in Opengarages online material and e-book:
Car hacking should not be taken casually. Playing with your vehicle’s network, wireless connections, onboard computers, or other electronics can damage or disable it. Be very careful when experimenting with any of the techniques in this book and keep safety as an overriding concern. As you might imagine, neither the author nor the publisher of this book will be held accountable for any damage to your vehicle.
The VM
The virtual machine is a Ubuntu 18.04 LTS vm in OVF format that works directly with Virtualbox, but can also be converted to work with VMware.
The credentials for login:
- CarHacking:hackingcar
The opensource CAN drivers and a networking stack have been contributed by Volkswagen Research to the Linux kernel. Formerly known as Low Level CAN Framework (LLCF).
Recommended Changes
We would recommend install git and cloning the latest version of the repository as it has updated controls. The original used an Xbox controller, but support has been extended to PS3 controller and the keyboard.
In a terminal session, you can run the following commands:
cd Desktop
git clone https://github.com/zombieCraig/ICSim
cd ICSim
make
Running the Simulator
To start the simulator we suggest you follow the next few steps.
- Open Activites
- Type and select ‘Terminator’
- Open/Split Terminator console into three horizontal terminals
First split terminal
./setup_vcan.sh
./icsim -s0 vcan0
This first terminal split can then be shrunk down to one console line.
Second terminal
Launching the packet sniffer
candump -c vcan0
or
cansniffer -c vcan0
Note: you wont see any data packets, until you start sending data. You also may want to adjust this terminal to occupy the largest visable window.
Third terminal
You can shrink the size of this window down to 2-3 terminal lines.
We use this terminal to inject packets, or run the control program.
We also recommend reading up on:
- cangen
- canplayer
Without a USB contoller, you can use the following keyboard commands:
Action | Control |
---|---|
Accelerate | Up Arrow |
Left Indicator | Left Arrow |
Right Indicator | Right Arrow |
Lock All Doors | Hold Right shift |
Unlock All Doors | Hold Left Shift |
Operate Individual Door | Left/Right shift + [A/B/X/Y] |
Conclusion
Now you should have the necessary tools to begin your automobile/car hacking journey. We have briefly covered and introduced the following:
- reading resources
- an available VM from OpenGarages
- training material
- quick start guide
Have fun!
Links
- CarHacking Ubuntu VM
- CarHacking Slides PDF
- CarHacking Short Paper
- OpenGarages Car Hacking Handbook
- OpenGarages Youtube Channel
Disclaimer
Netscylla or its staff cannot be held responsible for any abuse relating from this blog post. This post is to raise awareness in the field or Automobile/Car Hacking and help intersted parties aware of the available training virtual machine, so that they can practise CANbus tools in a safe environment. REMEMBER: It is illegal to attempt unauthorised access on any system you do not personally own, unless you have explicit permission in writing from the system owner!
Share on: