{"id":13531025,"url":"https://github.com/ctxis/crackerjack","last_synced_at":"2026-01-22T08:18:19.040Z","repository":{"id":37407222,"uuid":"241381787","full_name":"ctxis/crackerjack","owner":"ctxis","description":"CrackerJack / Hashcat Web Interface / Context Information Security","archived":false,"fork":false,"pushed_at":"2024-02-01T13:50:08.000Z","size":3276,"stargazers_count":366,"open_issues_count":5,"forks_count":88,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-01T19:37:23.368Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.contextis.com/en/resources/tools/crackerjack","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/ctxis.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-02-18T14:26:22.000Z","updated_at":"2025-03-26T10:29:13.000Z","dependencies_parsed_at":"2024-01-07T13:09:18.450Z","dependency_job_id":"33ecd937-a067-420c-b910-46eb5e653481","html_url":"https://github.com/ctxis/crackerjack","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/ctxis/crackerjack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctxis%2Fcrackerjack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctxis%2Fcrackerjack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctxis%2Fcrackerjack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctxis%2Fcrackerjack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctxis","download_url":"https://codeload.github.com/ctxis/crackerjack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctxis%2Fcrackerjack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28659513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"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":[],"created_at":"2024-08-01T07:00:59.172Z","updated_at":"2026-01-22T08:18:19.017Z","avatar_url":"https://github.com/ctxis.png","language":"Python","funding_links":[],"categories":["Python","Hashcat"],"sub_categories":["Web interfaces"],"readme":"\u003e [!CAUTION]\n\u003e This repo is unmaintained, visit https://github.com/sadreck/crackerjack for the latest version.\n\n# CrackerJack\n\nWeb Interface for Hashcat by [Context Information Security](https://www.contextis.com/en/)\n\n# Contents\n\n* [Introduction](#introduction)\n* [Architecture](#architecture)\n* [Features](#features)\n* [Limitations](#limitations)\n* [Installation](docs/installation.md)\n* [Troubleshooting](docs/troubleshooting.md)\n* [Screenshots](#screenshots)\n* [License](#license)\n\n## Introduction\n\nCrackerJack is a Web GUI for [Hashcat](https://hashcat.net/hashcat/) developed in Python.\n\n## Architecture\n\nThis project aims to keep the GUI and Hashcat independent. In a nutshell, here's how it works:\n\n* User uploads hashes, selects wordlist/rules/mask etc, and clicks \"start\".\n* Web server spawns a new [screen](https://www.gnu.org/software/screen/).\n  * Generates the hashcat command based on the settings.\n  * Runs the command in the screen.\n  * Monitors the screen's output, parses it, and displays in the GUI.\n\nThis allows CrackerJack to be future-proof as it ties to the input/output of Hashcat. Also, if the GUI is not working for whatever reason, hashcat will keep running.\n\n## Features\n\n* Minimal dependencies\n  * Uses [sqlite3](https://www.sqlite.org/index.html), [screen](https://www.gnu.org/software/screen/), and hashcat.\n* Complete hashcat session management.\n  * Start/stop/pause/restore running sessions.\n  * Terminate cracking jobs after a specific date/time.\n* Web interface for mask generation (?a?l?u).\n* Web Push notifications when a password is cracked.\n* Swagger 2.0 API.\n* Create wordlists from already cracked passwords and feed back into the cracking session.\n* Session history to track which attacks you have already performed.\n* Multi-user support (local and/or LDAP).\n* Wordlist/Mask/Rule support.\n* Multiple theme support ([Bootswatch](https://bootswatch.com/)).\n* Straight-forward setup.\n  * Entire configuration is via the GUI. No need for manually editing config files.\n  * Run locally on Linux and Windows (WSL).\n  * Install on a server using ansible scripts (Ubuntu 14/16/18 and CentOS 7/8).\n  * Easy backups - all user data are in the `./data` directory.\n* Troubleshoot sessions via SSH.\n\n## Limitations\n\n* Not a solution for queueing jobs - it's only for on-demand password cracking.\n* Not meant to be a replacement for command-line usage. It's complimentary and only supports basic and most common cracking tasks.\n* Will not install any GPU drivers. The main assumption is that you have a cracking rig already setup and are looking for a Web GUI.\n* Wordlists and rules should already be present on the system.\n\n## Contribution\n\nAs we maintain an internal tracker as well, before contributing please create an issue to discuss before implementing any features/changes.\n\n# Screenshots\n\n## Running Session\n\n![](screenshots/cj-running.png)\n\n## Dashboard\n\n![](screenshots/cj-dashboard.png)\n\n## Session\n\n![](screenshots/cj-session.png)\n\n## Selecting Hashes\n\n![](screenshots/cj-hashes.png)\n\n## HashType Options\n\n![](screenshots/cj-hashtype.png)\n\n## Wordlist Selection\n\n![](screenshots/cj-wordlist.png)\n\n## Mask Generation\n\n![](screenshots/cj-mask.png)\n\n## General Session Settings\n\n![](screenshots/cj-settings.png)\n\n# License\n\nCrackerJack is released under MIT License.\n\nIn addition, the following third-party components are also used:\n\n* office2hashcat.py - modified BSD - https://github.com/stricture/hashstack-server-plugin-hashcat/\n* keepass2john.py - GNU General Public License - https://gist.github.com/HarmJ0y/116fa1b559372804877e604d7d367bbc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctxis%2Fcrackerjack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctxis%2Fcrackerjack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctxis%2Fcrackerjack/lists"}