Offensive security had two difficult tasks: designing smart ways of getting new information, and keeping track of findings to improve further work. With Faraday, you may focus on pentesting while we help you with the rest. Just use it as your terminal and get your work organized on the run. Faraday was made to let you take advantage of the available tools in the community in a truly multiuser way.
Faraday crunches the data you load into different visualizations that are useful to managers and pentesters alike.
To read about the latest features check out the release notes!
Refer to the releases page
Check out our documentation for detailed information on how to install Faraday in all of our supported platforms
$ pip3 install faradaysec
$ pip install virtualenv
$ virtualenv faraday_venv
$ source faraday_venv/bin/activate
$ git clone [email protected]:infobyte/faraday.git
$ pip install .
to run faraday in docker is mandatory to have a postgres instance running.
docker run \
-v $HOME/.faraday:/faraday-license \
-v ~/.faraday/storage:/faraday-storage \
-p 5985:5985 \
-e PGSQL_HOST='YOUR-DB-IP' \
-e PGSQL_PASSWD='mypgsqlpassword' \
-e LISTEN_ADDR='0.0.0.0' \
faradaysec/faraday:latest
Open the container and run Create tables
faraday-manace create-tables
or use
Docker compose with the file
version: '3.8'
services:
db:
image: postgres:12.7-alpine
restart: always
container_name: faraday_db
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=faraday
ports:
- '5432:5432'
volumes:
- "db:/var/lib/postgresql/data:rw"
redis:
image: 'redis:6.2-alpine'
container_name: faraday_redis
ports:
- '6379'
app:
image: index.docker.io/faradaysec/faraday
restart: always
volumes:
- "$HOME/.faraday:/home/faraday/.faraday:rw"
environment:
- PGSQL_USER=postgres
- PGSQL_PASSWD=postgres
- PGSQL_HOST=db
- PGSQL_DBNAME=faraday
- REDIS_SERVER=redis
depends_on:
- db
- redis
ports:
- "5985:5985"
volumes:
db:
driver: local
For more information about the installation, check out our Installation Wiki.
Once you installed faraday packages, you will need to initialize the faraday database:
# first add your user to the faraday group
$ faraday-manage initdb
This will give you a randomly generated password to log into the web UI. Now you can start the server with:
$ sudo systemctl start faraday-server
In your browser, now you can go to localhost:5985 and login with "faraday" as username, and the password generated in the initdb step.
Check out the documentation of our API here.
Faraday-cli is an alternative to our GUI, providing easy access to the console tools, work in faraday from your own console!
Check the open source repo faraday-cli
Check out the documentation here.
You feed data to Faraday from your favorite tools through Plugins. Right now there are more than 80+ supported tools, among which you will find:
There are three Plugin types: console plugins which intercept and interpret the output of the tools you execute, report plugins which allows you to import previously generated XMLs, and online plugins which access Faraday's API or allow Faraday to connect to external APIs and databases.
Faraday plugins code can be found in faraday-plugin repository
Faraday Agents Dispatcher helps user develop integrations with Faraday written in any language. Agents collects information from different network location using different tools. You can use Faradaysec to orchestrate tool execution.
- Homepage: FaradaySEC
- User forum: Faraday Forum
- User's manual: Faraday Wiki or check our support portal
- Download: Download .deb/.rpm from releases page
- Commits RSS feed: https://github.com/infobyte/faraday/commits/master.atom
- Issue tracker and feedback: Github issue tracker
- Frequently Asked Questions: FaradaySEC FAQ
- Twitter: @faradaysec
- faraday / demo101 Demos
- Releases: Faraday Releases