-
Notifications
You must be signed in to change notification settings - Fork 113
Installation
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.
Using pipenv
for managing the required libraries is the best option to avoid Python installations getting mixed-up. Do this:
- Run:
pip3 install --user pipenv
orpython3 -m pip install --user pipenv
- Run:
git clone https://github.com/chrismaddalena/ODIN.git
- Run:
cd ODIN && pipenv install
- Start using ODIN by running:
pipenv shell
- Review the keys.config.sample file and use it as a template to create a keys.config file.
- Run
setup_check.py
in the /setup directory to make sure your keys.config file is in order. - Install awscli, run
aws configure
, and follow the prompts to enter your credentials.
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.
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.
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:
- Uninstall virtualenv, pipenv, and pew.
- Install virtualenv
- Install pew
- 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.