Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Vehicle Hacking Setup Guide: Part 0: Introduction
Vehicle Hacking Setup Guide
Structure of a CAN Frame. Source: Daniel Endres via Wikimedia Commons. This image is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
This guide is intended to guide you through the setup of a linux system to communicate with the CAN bus of a vehicle. It can be taken as step by step instructions for someone with little to no experience with vehicle technologies and only a little experience using Linux. The goal is to got from a fresh install of a linux operating system to some basic vehicle hacking and information gathering.
A Note of Caution
A modern vehicle is a computer attached to a complex and mobile physical system. Misuse of vehicle cybersecurity techniques may create situations which are dangerous to yourself or others. Exercise extreme caution with the techniques described here, and never attempt the steps described while on public roads.
The 2016 edition of the Car Hackers Handbook by Craig Smith (Twitter: @OpenGarages, GitHub: @zombieCraig) is an excellent resource for which this guide was intended to serve as supporting material. For more information visit http://opengarages.org/handbook/.
The examples below use the excellent CANTact created by Eric Evenchick (Twitter: @ericevenchick), an open source CAN to USB interface. For more information, visit http://linklayer.github.io/cantact/ or https://github.com/linklayer.
All of the examples herein assume you have a fresh install of Linux and a readily available direct internet connection.
The examples given in this document were created with a fresh install of Ubuntu 14.04.4.
Since Mint is based on Ubuntu the examples given here have been tested and should work without issue.
It is possible to use the steps in this guide with Kali Linux but you will need to update your apt-get repositories to be able to use the packages mentioned here. A tool called Katoolin can be used to do so and is available at: https://github.com/LionSec/katoolin.