{"id":19602714,"url":"https://github.com/qiwi/bruteforce","last_synced_at":"2025-09-02T03:44:15.657Z","repository":{"id":44774037,"uuid":"312588108","full_name":"qiwi/bruteforce","owner":"qiwi","description":"A tool used to test the vulnerability of database passwords","archived":false,"fork":false,"pushed_at":"2024-09-19T19:59:33.000Z","size":53,"stargazers_count":9,"open_issues_count":12,"forks_count":1,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-27T17:39:52.605Z","etag":null,"topics":["bruteforce","database","db","hashcat"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qiwi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-11-13T13:48:47.000Z","updated_at":"2024-09-19T19:59:36.000Z","dependencies_parsed_at":"2025-04-27T17:33:12.538Z","dependency_job_id":"8367d9f3-c050-42fd-81ec-d3923698f501","html_url":"https://github.com/qiwi/bruteforce","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/qiwi/bruteforce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiwi%2Fbruteforce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiwi%2Fbruteforce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiwi%2Fbruteforce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiwi%2Fbruteforce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qiwi","download_url":"https://codeload.github.com/qiwi/bruteforce/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qiwi%2Fbruteforce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273227284,"owners_count":25067684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bruteforce","database","db","hashcat"],"created_at":"2024-11-11T09:26:01.316Z","updated_at":"2025-09-02T03:44:15.636Z","avatar_url":"https://github.com/qiwi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bruteforce\n\nA tool used to test the vulnerability of database passwords. [Hashcat](https://hashcat.net/hashcat/) is used as a password guessing program.\n\n## Requirements\n* Python 3.7.x\n* PostgreSQL 11.x\n* RabbitMQ\n* Hashcat\n\n## Can grab from\n* PostgreSQL\n* MSSQL\n* Oracle\n\n## Usage\n### 1. Install and configure\n**1.1**. Clone repo, create virtual environment, install requirements, create log dir\n```shell\ncd BASE_DIR\ngit clone https://github.com/qiwi/bruteforce.git\ncd bruteforce\npython3.7 -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\nmkdir /var/log/bruteforce\n```\n**1.2**. Create file `BASE_DIR/bruteforce/bruteforce/settings/prod.py` based on `BASE_DIR/bruteforce/bruteforce/settings/prod_template.py`\n\nFill empty fields.\n\n**1.3**. Migrate\n```shell\npython3.7 manage.py migrate\n```\n**1.4**. Collect static files\n```shell\npython3.7 manage.py collectstatic \n```\n**1.5**. Start django\n```shell\npython3.7 manage.py runserver\n```\n### 2. Run celery and flower\n**2.1**. Run worker and beat\n```shell\ncelery -A bruteforce beat --scheduler django_celery_beat.schedulers:DatabaseScheduler\n```\n```shell\ncelery -A bruteforce worker\n```\n**2.2**. Run flower for monitoring tasks\n```shell\nflower -A bruteforce\n```\n\n### 3. Install hashcat (macOS)\n**3.1**. Clone, build and install hashcat\n```shell\ngit clone https://github.com/hashcat/hashcat.git\ncd hashcat\nmake\nsudo make install\n```\n\n**3.2**. Make sure hashcat path is correct in `crypto/hashcat.py`\n```shell\nwhich hashcat\n# goes to\n/usr/bin/hashcat\n```\n```python\nclass Hashcat:\n    def __init__(self):\n        self.hashcat = '/usr/bin/hashcat'\n```\n\n### 4. Create and grant user accounts\n\nCreate local user accounts in databases and add credentials to `prod.py` `CONN_CREDENTIALS`. If you have unique credentials for specific database, add it to `prod.py` `CUSTOM_CREDENTIALS` like in example from [`prod_template.py`](./bruteforce/settings/prod_template.py).\n\nPermissions:\n\n* PostgreSQL\n```sql\nselect for pg_authid\n```\n* Oracle\n```sql\nselect for sys.user$, dba_users\n``` \n* MSSQL\n```sql\nselect for sys.sql_logins/sys.syslogins\nCONTROL SERVER\n```\n\n### 5. Create first tasks\n**5.1**. Open project's browser page\n\n**5.2**. Click \"Dictionaries\" and add dictionary record with name and path\n\n**5.3**. Click \"Databases\" and add database record with host and db type\n\n**5.4**. Click \"Periodic tasks: ⁣⁣⁣Dictionary\" and add task with new dictionary (5.2) and database (5.3) arguments\n\n**5.5**. Run new task\n\n### 6. Results\nYou can see results in \"Checked hashes\" page\n\n### Other tasks\n\"Magnifier\" counts errors and words in dictionaries\n\n\"Change checker\" checks hash relevance in databases\n\n## License\nDistributed under the [MIT License](./LICENCE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiwi%2Fbruteforce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqiwi%2Fbruteforce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqiwi%2Fbruteforce/lists"}