Skip to content

Installation

Chris Maddalena edited this page Aug 31, 2018 · 3 revisions

Installing ODIN

ODIN can be installed on any operating system -- Windows, macOS, or Linux. ODIN only requires Python 3 and a few libraries. See the following sections for optional dependencies.

Install ODIN and Dependencies in a Virtual Environment

Using pipenv for managing the required libraries is the best option to avoid Python installations getting mixed-up. Do this:

  1. Run: pip3 install --user pipenv or python3 -m pip install --user pipenv
  2. Run: git clone https://github.com/chrismaddalena/ODIN.git
  3. Run: cd ODIN && pipenv install
  4. Start using ODIN by running: pipenv shell

Setup API Access

  1. Review the keys.config.sample file and use it as a template to create a keys.config file.
  2. Run setup_check.py in the /setup directory to make sure your keys.config file is in order.
  3. Install awscli, run aws configure, and follow the prompts to enter your credentials.

Optional Dependencies

Using Google Chrome and a copy of the Chrome WebDriver binary is recommended. If, for some reason, you do not wish to use Chrome, you may use PhantomJS. Install PhantomJS using brew install phantomjs or apt install phantomjs.

Support for PhantomJS may go away soon due to PhantomJS no longer being actively supported and developed with Selenium.

Optional Installations

You may also want a SQLite3 database viewer/browser (to run your own custom queries against ODIN's database) and Neo4j installed (to generate and view graphs of the external perimeter). Neo4j is strongly recommended! The graphs and tables you can create are powerful tools for analysis and presentations. See the Data Management wiki pages for examples and additional information.

Misc Notes

On macOS you may get an error about pew not being in your PATH after installing pipenv and attempting to install ODIN. To fix it, follow these steps in order:

  1. Uninstall virtualenv, pipenv, and pew.
  2. Install virtualenv
  3. Install pew
  4. Install pipenv

If you're running as root on something like Kali Linux, you'll want to drop the --user portion of the pip commands above. That seems to create issues for actually using pipenv commands later, at least on Kali.