# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['bbot',
 'bbot.agent',
 'bbot.core',
 'bbot.core.configurator',
 'bbot.core.event',
 'bbot.core.helpers',
 'bbot.core.helpers.depsinstaller',
 'bbot.core.logger',
 'bbot.db',
 'bbot.modules',
 'bbot.modules.deadly',
 'bbot.modules.internal',
 'bbot.modules.output',
 'bbot.modules.report',
 'bbot.scanner',
 'bbot.test']

package_data = \
{'': ['*'], 'bbot': ['wordlists/*']}

install_requires = \
['ansible-runner>=2.2.0,<3.0.0',
 'ansible>=5.7.1,<6.0.0',
 'deepdiff>=5.8.1,<6.0.0',
 'dnspython>=2.2.1,<3.0.0',
 'omegaconf>=2.1.1,<3.0.0',
 'pip>=22.2.2,<23.0.0',
 'psutil>=5.9.0,<6.0.0',
 'pycryptodome>=3.15.0,<4.0.0',
 'pydantic>=1.9.0,<2.0.0',
 'requests-cache>=0.9.3,<0.10.0',
 'tabulate>=0.8.10,<0.9.0',
 'tldextract>=3.2.0,<4.0.0',
 'websocket-client>=1.3.2,<2.0.0',
 'wordninja>=2.0.0,<3.0.0',
 'xmltojson>=2.0.1,<3.0.0']

entry_points = \
{'console_scripts': ['bbot = bbot.cli:main']}

setup_kwargs = {
    'name': 'bbot',
    'version': '1.0.3.521',
    'description': 'OSINT automation for hackers.',
    'long_description': '![bbot_banner](https://user-images.githubusercontent.com/20261699/158000235-6c1ace81-a267-4f8e-90a1-f4c16884ebac.png)\n\n# BEE·bot\n### OSINT automation for hackers.\n\n[![Python Version](https://img.shields.io/badge/python-3.9+-FF8400)](https://www.python.org) [![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![License](https://img.shields.io/badge/license-GPLv3-FF8400.svg)](https://github.com/blacklanternsecurity/bbot/blob/dev/LICENSE) [![Tests](https://github.com/blacklanternsecurity/bbot/workflows/tests/badge.svg)](https://github.com/blacklanternsecurity/bbot/actions?query=workflow%3A"tests") [![Codecov](https://codecov.io/gh/blacklanternsecurity/bbot/branch/dev/graph/badge.svg?token=IR5AZBDM5K)](https://codecov.io/gh/blacklanternsecurity/bbot)\n\n![subdomain demo](https://user-images.githubusercontent.com/20261699/182274919-d4f5aa69-993a-40aa-95d5-f5e69e96026c.gif)\n\n### **BBOT** is a **recursive**, **modular** OSINT framework written in Python.\n\nIt is capable of executing the entire OSINT process in a single command, including subdomain enumeration, port scanning, web screenshots (with its `gowitness` module), vulnerability scanning (with `nuclei`), and much more.\n\nBBOT currently has over **50 modules** and counting.\n\n## Installation\n~~~bash\npipx install bbot\n~~~\nPrerequisites: \n- Python 3.9 or newer MUST be installed\n- `pipx` is recommended as an alternative to `pip` because it installs BBOT in its own Python environment.\n\nIf you need help with installation, please refer to the [wiki](https://github.com/blacklanternsecurity/bbot/wiki#installation).\n\n## Scanning with BBOT\n\n#### Note: the `httpx` module is recommended in most scans because it is used by BBOT to visit webpages. For details, see the [wiki](https://github.com/blacklanternsecurity/bbot/wiki#note-on-the-httpx-module).\n\n### Examples\n~~~bash\n# list modules\nbbot -l\n\n# subdomain enumeration\nbbot --flags subdomain-enum --modules naabu httpx --targets evilcorp.com\n\n# passive modules only\nbbot --flags passive --targets evilcorp.com\n\n# web screenshots with gowitness\nbbot -m naabu httpx gowitness --name my_scan --output-dir . -t evilcorp.com 1.2.3.4/28 4.3.2.1 targets.txt\n\n# web spider (search for emails, etc.)\nbbot -m httpx -c web_spider_distance=2 web_spider_depth=2 -t www.evilcorp.com\n~~~\n\n## Using BBOT as a Python library\n~~~python\nfrom bbot.scanner import Scanner\n\nscan = Scanner("evilcorp.com", "1.2.3.0/24", modules=["naabu"], output_modules=["json"])\nscan.start()\n~~~\n\n# Output\nBBOT outputs to STDOUT by default, but it can output in multiple formats simultaneously (with `--output-module`).\n~~~bash\n# tee to a file\nbbot -f subdomain-enum -t evilcorp.com | tee evilcorp.txt\n\n# output to JSON\nbbot --output-module json -f subdomain-enum -t evilcorp.com | jq\n\n# output to CSV, TXT, and JSON, in current directory\nbbot -o . --output-module human csv json -f subdomain-enum -t evilcorp.com\n~~~\nFor every scan, BBOT generates a unique and mildly-entertaining name like `fuzzy_gandalf`. Output for that scan, including the word cloud and any gowitness screenshots, etc., are saved to a folder by that name in `~/.bbot/scans`. The most recent 20 scans are kept, and older ones are removed. You can change the location of BBOT\'s output with `--output`, and you can also pick a custom scan name with `--name`.\n\nIf you reuse a scan name, it will append to its original output files and leverage the previous word cloud.\n\n# Neo4j\nNeo4j is the funnest (and prettiest) way to view and interact with BBOT data.\n\n![neo4j](https://user-images.githubusercontent.com/20261699/182398274-729f3c48-c23c-4db0-8c2e-8b403c1bf790.png)\n\n- You can get Neo4j up and running with a single docker command:\n~~~bash\ndocker run -p 7687:7687 -p 7474:7474 --env NEO4J_AUTH=neo4j/bbotislife neo4j\n~~~\n- After that, run bbot with `--output-modules neo4j`\n~~~bash\nbbot -f subdomain-enum -t evilcorp.com --output-modules human neo4j\n~~~\n- Browse data at http://localhost:7474\n\n# Usage\n~~~\n$ bbot --help\nusage: bbot [-h] [-t TARGET [TARGET ...]] [-w WHITELIST [WHITELIST ...]] [-b BLACKLIST [BLACKLIST ...]] [-s] [-n SCAN_NAME] [-m MODULE [MODULE ...]] [-l] [-em MODULE [MODULE ...]] [-f FLAG [FLAG ...]]\n            [-rf FLAG [FLAG ...]] [-ef FLAG [FLAG ...]] [-om MODULE [MODULE ...]] [-o DIR] [-c [CONFIG ...]] [--allow-deadly] [-v] [-d] [--force] [-y] [--dry-run] [--current-config] [--save-wordcloud FILE]\n            [--load-wordcloud FILE] [--no-deps | --force-deps | --retry-deps | --ignore-failed-deps] [-a]\n\nBighuge BLS OSINT Tool\n\noptions:\n  -h, --help            show this help message and exit\n  -n SCAN_NAME, --name SCAN_NAME\n                        Name of scan (default: random)\n  -m MODULE [MODULE ...], --modules MODULE [MODULE ...]\n                        Modules to enable. Choices: affiliates,asn,aspnet_viewstate,azure_tenant,binaryedge,blind_ssrf,bypass403,c99,censys,certspotter,cookie_brute,crobat,crt,dnscommonsrv,dnsdumpster,dnszonetransfer,emailformat,ffuf,ffuf_shortnames,generic_ssrf,getparam_brute,github,gowitness,hackertarget,header_brute,host_header,httpx,hunt,hunterio,iis_shortnames,ipneighbor,leakix,massdns,naabu,ntlm,nuclei,passivetotal,pgp,securitytrails,shodan_dns,skymem,smuggler,sslcert,sublist3r,telerik,threatminer,urlscan,viewdns,wappalyzer,wayback,zoomeye\n  -l, --list-modules    List available modules.\n  -em MODULE [MODULE ...], --exclude-modules MODULE [MODULE ...]\n                        Exclude these modules.\n  -f FLAG [FLAG ...], --flags FLAG [FLAG ...]\n                        Enable modules by flag. Choices: active,aggressive,brute-force,deadly,passive,portscan,report,safe,slow,subdomain-enum,web\n  -rf FLAG [FLAG ...], --require-flags FLAG [FLAG ...]\n                        Disable modules that don\'t have these flags (e.g. --require-flags passive)\n  -ef FLAG [FLAG ...], --exclude-flags FLAG [FLAG ...]\n                        Disable modules with these flags. (e.g. --exclude-flags brute-force)\n  -om MODULE [MODULE ...], --output-modules MODULE [MODULE ...]\n                        Output module(s). Choices: csv,http,human,json,neo4j,websocket\n  -o DIR, --output-dir DIR\n  -c [CONFIG ...], --config [CONFIG ...]\n                        custom config file, or configuration options in key=value format: \'modules.shodan.api_key=1234\'\n  --allow-deadly        Enable running modules tagged as "deadly"\n  -v, --verbose         Be more verbose\n  -d, --debug           Enable debugging\n  --force               Run scan even if module setups fail\n  -y, --yes             Skip scan confirmation prompt\n  --dry-run             Abort before executing scan\n  --current-config      Show current config in YAML format\n\nTarget:\n  -t TARGET [TARGET ...], --targets TARGET [TARGET ...]\n                        Targets to seed the scan\n  -w WHITELIST [WHITELIST ...], --whitelist WHITELIST [WHITELIST ...]\n                        What\'s considered in-scope (by default it\'s the same as --targets)\n  -b BLACKLIST [BLACKLIST ...], --blacklist BLACKLIST [BLACKLIST ...]\n                        Don\'t touch these things\n  -s, --strict-scope    Don\'t consider subdomains of target/whitelist to be in-scope\n\nWord cloud:\n  Save/load wordlist of common words gathered during a scan\n\n  --save-wordcloud FILE\n                        Output wordcloud to custom file when the scan completes\n  --load-wordcloud FILE\n                        Load wordcloud from a custom file\n\nModule dependencies:\n  Control how modules install their dependencies\n\n  --no-deps             Don\'t install module dependencies\n  --force-deps          Force install all module dependencies\n  --retry-deps          Try again to install failed module dependencies\n  --ignore-failed-deps  Run modules even if they have failed dependencies\n\nAgent:\n  Report back to a central server\n\n  -a, --agent-mode      Start in agent mode\n~~~\n\n# BBOT Config\nBBOT loads its config from these places in the following order:\n\n- `~/.config/bbot/defaults.yml`\n- `~/.config/bbot/bbot.yml` <-- Use this one as your main config\n- `~/.config/bbot/secrets.yml` <-- Use this one for sensitive stuff like API keys\n- command line (via `--config`)\n\nCommand-line arguments take precedence over all others. You can give BBOT a custom config file with `--config myconf.yml`, or individual arguments like this: `--config http_proxy=http://127.0.0.1:8080 modules.shodan_dns.api_key=1234`. To display the full and current BBOT config, including any command-line arguments, use `bbot --current-config`.\n\nFor explanations of config options, see `defaults.yml` or the [wiki](https://github.com/blacklanternsecurity/bbot/wiki#yaml-config)\n\n# Modules\n| Module           | Needs API Key   | Description                                                       | Flags                                              | Produced Events                                      |\n|------------------|-----------------|-------------------------------------------------------------------|----------------------------------------------------|------------------------------------------------------|\n| aspnet_viewstate |                 | Parse web pages for viewstates and check them against blacklist3r | active,safe,web                                    | VULNERABILITY                                        |\n| bypass403        |                 | Check 403 pages for common bypasses                               | active,aggressive,web                              | FINDING                                              |\n| cookie_brute     |                 | Check for common HTTP cookie parameters                           | active,aggressive,brute-force,slow,web             | FINDING                                              |\n| dnszonetransfer  |                 | Attempt DNS zone transfers                                        | active,safe,subdomain-enum                         | DNS_NAME                                             |\n| ffuf             |                 | A fast web fuzzer written in Go                                   | active,aggressive,brute-force,deadly,web           | URL                                                  |\n| ffuf_shortnames  |                 | Use ffuf in combination IIS shortnames                            | active,aggressive,brute-force,web                  | URL                                                  |\n| generic_ssrf     |                 | Check for generic SSRFs                                           | active,aggressive,web                              | VULNERABILITY                                        |\n| getparam_brute   |                 | Check for common HTTP GET parameters                              | active,aggressive,brute-force,slow,web             | FINDING                                              |\n| gowitness        |                 | Take screenshots of webpages                                      | active,safe,web                                    | SCREENSHOT                                           |\n| header_brute     |                 | Check for common HTTP header parameters                           | active,aggressive,brute-force,slow,web             | FINDING                                              |\n| host_header      |                 | Try common HTTP Host header spoofing techniques                   | active,aggressive,web                              | FINDING                                              |\n| httpx            |                 | Visit webpages. Many other modules rely on httpx                  | active,safe,web                                    | HTTP_RESPONSE,URL                                    |\n| hunt             |                 | Watch for commonly-exploitable HTTP parameters                    | active,safe,web                                    | FINDING                                              |\n| iis_shortnames   |                 | Check for IIS shortname vulnerability                             | active,safe                                        | URL_HINT                                             |\n| naabu            |                 | Execute port scans with naabu                                     | active,aggressive,portscan                         | OPEN_TCP_PORT                                        |\n| ntlm             |                 | Watch for HTTP endpoints that support NTLM authentication         | active,safe,web                                    | DNS_NAME,FINDING                                     |\n| nuclei           |                 | Fast and customisable vulnerability scanner                       | active,aggressive,deadly,web                       | VULNERABILITY                                        |\n| smuggler         |                 | Check for HTTP smuggling                                          | active,aggressive,brute-force,slow,web             | FINDING                                              |\n| sslcert          |                 | Visit open ports and retrieve SSL certificates                    | active,email-enum,safe,subdomain-enum              | DNS_NAME,EMAIL_ADDRESS                               |\n| telerik          |                 | Scan for critical Telerik vulnerabilities                         | active,aggressive,web                              | FINDING,VULNERABILITY                                |\n| vhost            |                 | Fuzz for virtual hosts                                            | active,aggressive,brute-force,deadly,slow,web      | DNS_NAME,VHOST                                       |\n| wappalyzer       |                 | Extract technologies from web responses                           | active,safe,web                                    | TECHNOLOGY                                           |\n| affiliates       |                 | Summarize affiliate domains at the end of a scan                  | passive,report,safe                                |                                                      |\n| asn              |                 | Query bgpview.io for ASNs                                         | passive,report,safe,subdomain-enum                 | ASN                                                  |\n| azure_tenant     |                 | Query Azure for tenant sister domains                             | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| binaryedge       | X               | Query the BinaryEdge API                                          | passive,safe,subdomain-enum                        | DNS_NAME,EMAIL_ADDRESS,IP_ADDRESS,OPEN_PORT,PROTOCOL |\n| c99              | X               | Query the C99 API for subdomains                                  | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| censys           | X               | Query the Censys API                                              | email-enum,passive,safe,subdomain-enum             | DNS_NAME,EMAIL_ADDRESS,IP_ADDRESS,OPEN_PORT,PROTOCOL |\n| certspotter      |                 | Query Certspotter\'s API for subdomains                            | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| crobat           |                 | Query Project Crobat for subdomains                               | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| crt              |                 | Query crt.sh (certificate transparency) for subdomains            | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| dnscommonsrv     |                 | Check for common SRV records                                      | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| dnsdumpster      |                 | Query dnsdumpster for subdomains                                  | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| emailformat      |                 | Query email-format.com for email addresses                        | email-enum,passive,safe                            | EMAIL_ADDRESS                                        |\n| github           | X               | Query Github\'s API for related repositories                       | passive,safe,subdomain-enum                        | URL_UNVERIFIED                                       |\n| hackertarget     |                 | Query the hackertarget.com API for subdomains                     | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| hunterio         | X               | Query hunter.io for emails                                        | email-enum,passive,safe,subdomain-enum             | DNS_NAME,EMAIL_ADDRESS,URL_UNVERIFIED                |\n| ipneighbor       |                 | Look beside IPs in their surrounding subnet                       | aggressive,passive,subdomain-enum                  | IP_ADDRESS                                           |\n| leakix           |                 | Query leakix.net for subdomains                                   | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| massdns          |                 | Brute-force subdomains with massdns (highly effective)            | aggressive,brute-force,passive,slow,subdomain-enum | DNS_NAME                                             |\n| passivetotal     | X               | Query the PassiveTotal API for subdomains                         | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| pgp              |                 | Query common PGP servers for email addresses                      | email-enum,passive,safe                            | EMAIL_ADDRESS                                        |\n| securitytrails   | X               | Query the SecurityTrails API for subdomains                       | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| shodan_dns       | X               | Query Shodan for subdomains                                       | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| skymem           |                 | Query skymem.info for email addresses                             | email-enum,passive,safe                            | EMAIL_ADDRESS                                        |\n| sublist3r        |                 | Query sublist3r\'s API for subdomains                              | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| threatminer      |                 | Query threatminer\'s API for subdomains                            | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| urlscan          |                 | Query urlscan.io for subdomains                                   | passive,safe,subdomain-enum                        | DNS_NAME,URL_UNVERIFIED                              |\n| viewdns          |                 | Query viewdns.info\'s reverse whois for related domains            | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n| wayback          |                 | Query archive.org\'s API for subdomains                            | passive,safe,subdomain-enum                        | DNS_NAME,URL_UNVERIFIED                              |\n| zoomeye          | X               | Query ZoomEye\'s API for subdomains                                | passive,safe,subdomain-enum                        | DNS_NAME                                             |\n',
    'author': 'TheTechromancer',
    'author_email': None,
    'maintainer': None,
    'maintainer_email': None,
    'url': 'https://github.com/blacklanternsecurity/bbot',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'entry_points': entry_points,
    'python_requires': '>=3.9,<4.0',
}


setup(**setup_kwargs)
