{"id":15031870,"url":"https://github.com/goto-eof/basic_brutus","last_synced_at":"2026-04-07T14:32:08.613Z","repository":{"id":61056542,"uuid":"543793563","full_name":"goto-eof/basic_brutus","owner":"goto-eof","description":"Basic Brutus is a HTTP/HTTPS Basic authentication and cross platform dictionary attack tool implemented in Rust programming language.","archived":false,"fork":false,"pushed_at":"2023-04-14T18:16:55.000Z","size":552,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-29T14:20:24.277Z","etag":null,"topics":["authentication","basic","bruteforce","dictionary","dictionaryattack","hacking","hacking-tool","http","rust","rust-language"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goto-eof.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}},"created_at":"2022-09-30T21:17:47.000Z","updated_at":"2022-10-09T13:55:02.000Z","dependencies_parsed_at":"2025-01-19T22:48:36.887Z","dependency_job_id":"d5125866-66f1-4412-a6e5-1d9669769542","html_url":"https://github.com/goto-eof/basic_brutus","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/goto-eof/basic_brutus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Fbasic_brutus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Fbasic_brutus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Fbasic_brutus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Fbasic_brutus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goto-eof","download_url":"https://codeload.github.com/goto-eof/basic_brutus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Fbasic_brutus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31515394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["authentication","basic","bruteforce","dictionary","dictionaryattack","hacking","hacking-tool","http","rust","rust-language"],"created_at":"2024-09-24T20:16:48.785Z","updated_at":"2026-04-07T14:32:08.581Z","avatar_url":"https://github.com/goto-eof.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![alt basic brutus](./header2.jpg)\n\n# What is the project «Basic Brutus»?\n\nBasic Brutus is a HTTP/HTTPS Basic Authentication and cross platform dictionary attack tool implemented in Rust programming language. The aim of this project is to make some experiments with threads in Rust.\n\n# How it works?\n\nBasic Brutus creates a group of threads on which it distributes work while the dictionary file is read line by line. The first thread that manages to get the password X from the channel will be the thread that will also have to process it, which means making an attempt to verify the matching of the username and the password. Basic Brutus ca use a username passed as parameter or load usernames from a file.\n\n# For developers\n\n### How to use it?\n\n```\ncargo run -q\n```\n\nUse `-u` to specify the username, `-t` to specify the target uri, `-d` to specify the complete path to the password dictionary, `-uu` to specify the usernames file, `-v` to specify the verbose mode, `-f` to specify the maximum number of attemps if request fails (default: infinite).\n\n```\n-u USERNAME -t https://website.com/something -d /PATH/TO/DICTIONARY.txt -v true\n```\n\nor\n\n```\n-t https://website.com/something -uu /PATH/TO/USERNAMES_FILE.txt  -d /PATH/TO/DICTIONARY.txt -v true\n```\n\n### Environment variables\n\nThe environment variables are found in the .env file of the project and allows you to alter the behavior of the application.\n\n- `CHANNEL_BUFFER=10000000` - buffer size of the inter-thread communication channel. The default value is 10000000.\n- `MAX_NUM_THREADS=12` - if specified, the default thread count (corresponding to the number of processor cores) will be overwritten by the value specified by the user in the .env file.\n\n# Command line:\n\nTo view all commands:\n\n```\nbasic_brutus --help\n```\n\nTo run a dictionary attack:\n\n```\n./basic_brutus -u USERNAME -t https://website.com/something -d /PATH/TO/DICTIONARY.txt -v true\n```\n\nor\n\n```\n./basic_brutus -uu /PATH/TO/USERNAMES_FILE.txt -t https://website.com/something -d /PATH/TO/DICTIONARY.txt -v true\n```\n\n# Dictionaries\n\nDictionary files can be found [here](https://github.com/berandal666/Passwords).\n\n# Tests\n\nTested on `MacOS`, `Ubuntu` and `Windows 11` and (today) it works.\n\n# Comparison\n\nI used the same dictionary file on three different notebooks with energy saving off.\n\n```\n1. MacOS       -  M1 Pro                -  8 threads   -\u003e  43.34s\n1. MacOS       -  M1 Pro                -  8 threads   -\u003e  42.08s\n1. MacOS       -  M1 Pro                -  8 threads   -\u003e  43.63s\n-----------------------------------------------------------------\n2. Windows 11  -  Intel i7-10750H       -  12 threads  -\u003e  31.80s\n2. Windows 11  -  Intel i7-10750H       -  12 threads  -\u003e  60.15s\n2. Windows 11  -  Intel i7-10750H       -  12 threads  -\u003e  30.98s\n\n2. Ubuntu      -  Intel i7-10750H       -  12 threads  -\u003e  48.61s\n2. Ubuntu      -  Intel i7-10750H       -  12 threads  -\u003e  61.04s\n2. Ubuntu      -  Intel i7-10750H       -  12 threads  -\u003e  65.48s\n-----------------------------------------------------------------\n3. Ubuntu      -  AMD Ryzen 7 (4800H)   -  16 threads  -\u003e  139.42s\n3. Ubuntu      -  AMD Ryzen 7 (4800H)   -  16 threads  -\u003e  140.37s\n3. Ubuntu      -  AMD Ryzen 7 (4800H)   -  16 threads  -\u003e  136.08s\n\n```\n\n# Linux users\n\nIf you are using Linux, you should install some packages:\n\n```\nsudo apt-get install pkg-config\n\nsudo apt-get install libssl-dev\n```\n\n# Mac OS users\n\nif you downloaded the executable, make sure you allow execution of not verified application. So that go to Settings \u003e Security \u0026 Privacy \u003e General, Click on \"Allow Anyway\", try to execute application again and click on Open option.\n\n# Download\n\n[Here](https://github.com/goto-eof/basic_brutus/releases) you can find the executables.\n\nif any problems arise, feel free to [contact me](http://andre-i.eu/#contactme).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoto-eof%2Fbasic_brutus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoto-eof%2Fbasic_brutus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoto-eof%2Fbasic_brutus/lists"}