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

packages = \
['bofhound', 'bofhound.ad', 'bofhound.ad.models', 'bofhound.parsers']

package_data = \
{'': ['*']}

install_requires = \
['Flask==2.0.2',
 'Jinja2==3.0.3',
 'MarkupSafe==2.0.1',
 'Werkzeug==2.0.2',
 'bloodhound>=1.6.0,<2.0.0',
 'cffi==1.15.0',
 'chardet==4.0.0',
 'click==8.0.3',
 'cryptography==36.0.1',
 'dnspython==2.2.0',
 'future==0.18.2',
 'impacket==0.9.24',
 'itsdangerous==2.0.1',
 'ldap3==2.9.1',
 'ldapdomaindump==0.9.3',
 'pyOpenSSL==22.0.0',
 'pyasn1==0.4.8',
 'pycparser==2.21',
 'pycryptodomex==3.14.0',
 'rich==12.2.0',
 'six==1.16.0',
 'typer>=0.7.0,<0.8.0']

entry_points = \
{'console_scripts': ['bofhound = bofhound.__main__:app']}

setup_kwargs = {
    'name': 'bofhound',
    'version': '0.2.0',
    'description': 'Parse output from common sources and transform it into BloodHound-ingestible data',
    'long_description': '```\n _____________________________ __    __    ______    __    __   __   __   _______\n|   _   /  /  __   / |   ____/|  |  |  |  /  __  \\  |  |  |  | |  \\ |  | |       \\\n|  |_)  | |  |  |  | |  |__   |  |__|  | |  |  |  | |  |  |  | |   \\|  | |  .--.  |\n|   _  <  |  |  |  | |   __|  |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |\n|  |_)  | |  `--\'  | |  |     |  |  |  | |  `--\'  | |  `--\'  | |  |\\   | |  \'--\'  |\n|______/   \\______/  |__|     |__|  |___\\_\\________\\_\\________\\|__| \\___\\|_________\\\n\n                              by Fortalice ✪\n```\n\n# BOFHound\n\nBOFHound is an offline BloodHound ingestor and LDAP result parser compatible with TrustedSec\'s [ldapsearch BOF](https://github.com/trustedsec/CS-Situational-Awareness-BOF), the Python adaptation, [pyldapsearch](https://github.com/fortalice/pyldapsearch) and Brute Ratel\'s [LDAP Sentinel](https://bruteratel.com/tabs/commander/badgers/#ldapsentinel).\n\nBy parsing log files generated by the aforementioned tools, BOFHound allows operators to utilize BloodHound\'s beloved interface while maintaining full control over the LDAP queries being run and the spped at which they are executed. This leaves room for operator discretion to account for potential honeypot accounts, expensive LDAP query thresholds and other detection mechanisms designed with the traditional, automated BloodHound collectors in mind.\n\n[Blog - Granularize Your AD Recon Game](https://www.fortalicesolutions.com/posts/bofhound-granularize-your-active-directory-reconnaissance-game)\n\n[Blog - Granularize Your AD Recon Game Part 2](https://www.fortalicesolutions.com/posts/granularize-your-active-directory-reconnaissance-game-part-2)\n\n# Installation\nBOFHound can be installed with `pip3 install bofhound` or by cloning this repository and running `pip3 install .`\n\n# Usage\n![](.assets/usage.png)\n\n\n## Example Usage\nParse ldapseach BOF results from Cobalt Strike logs (`/opt/cobaltstrike/logs` by default) to /data/\n```\nbofhound -o /data/\n```\n\nParse pyldapsearch logs and only include all properties (vs only common properties)\n```\nbofhound -i ~/.pyldapsearch/logs/ --all-properties\n```\n\nParse LDAP Sentinel data from BRc4 logs (will change default input path to `/opt/bruteratel/logs`)\n```\nbofhound --brute-ratel\n```\n\n# ldapsearch\n\n## Required Data\nThe following attributes are required for proper functionality:\n\n```\nsamaccounttype\ndn\nobjectsid\n```\n\n## Example ldapsearch Queries\nGet All the Data (Maybe Run BloodHound Instead?)\n```\nldapsearch (objectclass=*) *,ntsecuritydescriptor\n```\n\nRetrieve All Schema Info\n```\nldapsearch (schemaIDGUID=*) name,schemaidguid -1 "" CN=Schema,CN=Configuration,DC=windomain,DC=local\n```\n\nRetrieve Only the ms-Mcs-AdmPwd schemaIDGUID\n```\nldapsearch (name=ms-mcs-admpwd) name,schemaidguid 1 "" CN=Schema,CN=Configuration,DC=windomain,DC=local\n```\n\n# Development\nbofhound uses Poetry to manage dependencies. Install from source and setup for development with:\n\n```shell\ngit clone https://github.com/fortalice/bofhound\ncd bofhound\npoetry install\npoetry run bofhound --help\n```\n\n# References and Credits\n- [@_dirkjan](https://twitter.com/_dirkjan) (and other contributors) for [BloodHound.py](https://github.com/fox-it/BloodHound.py)\n- TrustedSec for [CS-Situational-Awareness-BOF](https://github.com/trustedsec/CS-Situational-Awareness-BOF)\n',
    'author': 'Adam Brown',
    'author_email': 'None',
    'maintainer': 'None',
    'maintainer_email': 'None',
    'url': 'https://github.com/fortalice/bofhound',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'entry_points': entry_points,
    'python_requires': '>=3.9,<4.0',
}


setup(**setup_kwargs)
