Skip to content

delvelabs/tachyon

Repository files navigation

Build Status PyPi

Tachyon

Tachyon is a fast web application security reconnaissance tool.

It is specifically meant to crawl a web application and look for left over or non-indexed files with the addition of reporting pages or scripts leaking internal data.

User Requirements

  • Linux
  • Python 3.6+

User Installation

Install:

$ mkdir tachyon
$ python3 -m venv tachyon/
$ cd tachyon
$ source bin/activate
$ pip install tachyon3
$ tachyon -h

Upgrading:

$ cd tachyon
$ source bin/activate
$ pip install --ignore-installed --upgrade tachyon3

Usage:

$ cd tachyon
$ source bin/activate
$ tachyon -h

Developers Installation

$ git clone https://github.com/delvelabs/tachyon.git
$ mkdir tachyon
$ python3 -m venv tachyon/
$ source tachyon/bin/activate
$ cd tachyon
$ pip install -r requirements-dev.txt

Getting started

Note: if you have the source code version, replace tachyon with python3 -m tachyon in the examples below.

$ cd tachyon
$ source bin/activate

To run a discovery with the default settings:

tachyon http://example.com/

To run a discovery over a proxy:

tachyon -p http://127.0.0.1:8080 http://example.com/

To search for files only:

tachyon -f http://example.com/

To search for directories only:

tachyon -s http://example.com/

To output results to JSON format:

tachyon -j http://example.com/

command line options

Usage: __main__.py [OPTIONS] TARGET_HOST

Options:
  -a, --allow-download
  -c, --cookie-file TEXT
  -l, --depth-limit INTEGER
  -s, --directories-only
  -f, --files-only
  -j, --json-output
  -m, --max-retry-count INTEGER
  -z, --plugins-only
  -x, --plugin-settings TEXT
  -p, --proxy TEXT
  -r, --recursive
  -u, --user-agent TEXT
  -v, --vhost TEXT
  -C, --confirmation-factor INTEGER
  --har-output-dir TEXT
  -h, --help                      Show this message and exit.

Format for the cookies file

cookie0=value0;
cookie1=value1;
cookie2=value2;

Plugins

Existing plugins:

  • HostProcessor: This plugin processes the hostname to generate hosts and filenames relatives to it.
  • PathGenerator: Generate simple paths with letters and digits (ex: /0).
  • Robots: Add the paths in robots.txt to the paths database.
  • SitemapXML: Add paths and files found in the site map to the database.
  • Svn: Fetch /.svn/entries and parse for target paths.

Plugins settings

Settings can be passed to the plugins via the -x option. Each option is a key/value pair, with a colon joining the key and its value. Use a new -x for each setting.

tachyon -x setting0:value0 -x setting1:value1 -x setting2:value2 http://example.com/

Contributing

Most contributions are welcome. Simply submit a pull request on GitHub.

Instruction for contributors:

  • Accept the contributor license agreement.
  • Write tests for your code. Untested code will be rejected.

To report a bug or suggest a feature, open an issue.

License

Copyright 2019- Delve Labs inc.

This software is published under the GNU General Public License, version 2.