diff --git a/README.md b/README.md index bd33cbb..79f071a 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,11 @@ [![LoC](https://tokei.rs/b1/github/unclesp1d3r/HashSlinger?category=code)](https://github.com/unclesp1d3r/HashSlinger) [![wakatime](https://wakatime.com/badge/github/unclesp1d3r/HashSlinger.svg)](https://wakatime.com/badge/github/unclesp1d3r/HashSlinger) +> :caution: **Project Archived** : This project is no being developed. We are working on a new project called [CipherSwarm](https://github.com/unclesp1d3r/CipherSwarm) which is a complete re-write of HashSlinger with more features and better performance. Hash Slinger is a purpose-built wrapper for Hashcat, designed specifically to facilitate distributed hash cracking in high-speed, secure, and centralized network environments. By leveraging the power of multiple machines, Hash Slinger adeptly manages large quantities of hashes, aiming to optimize your hash cracking operations. -> :warning: **Development Status**: Please be informed that Hash Slinger is currently in an early phase of development and has not yet reached a stable release. The project is actively being developed with diligence and precision. Upon the availability of the first production-ready release, a Docker image will be published to facilitate a streamlined deployment process. - - +> :warning: **Development Status**: Please be informed that Hash Slinger is currently in an early phase of development and has not yet reached a stable release. ## Why Hash Slinger? @@ -21,7 +20,6 @@ Hash Slinger was conceived to provide a specialized solution for large environme Despite the effectiveness of Hashtopolis, we found that it could struggle to scale in environments typified by a high number of machines, extensive rule sets, and large volumes of hashes. Hash Slinger was born out of a need to overcome these challenges. It is specifically crafted for use in high-trust environments, where cracking clients are interconnected via secure, high-speed connections like Local Area Networks (LANs). In such scenarios, the user has control over all the cracking clients, thereby negating the need for use over the internet or the integration with anonymous systems serving as cracking clients. - While Hash Slinger is under active development, it is worth noting that like any actively developed software, there may be limitations or bugs that we are continuously working to address. Our team is committed to making Hash Slinger a robust tool that meets the rigorous demands of large Red Teams and penetration testing organizations. A core goal of Hash Slinger's development is to ensure compatibility with the Hashtopolis Communication Protocol v2. This focus is geared towards facilitating a smooth transition for users considering migrating from Hashtopolis to Hash Slinger, ensuring the effective distribution of cracking jobs across multiple machines. @@ -34,7 +32,6 @@ Unique features of Hash Slinger include: Hash Slinger caters specifically to secure, centralized, and high-performance environments. By focusing on these scenarios, Hash Slinger offers scalable and efficient solutions for sophisticated cracking operations. - ## Project Assumptions and Target Audience Hash Slinger, while performing functions similar to Hashtopolis, is not a reiteration of the latter. It is a unique project, conceived with a specific target audience in mind and shaped by several guiding assumptions: @@ -71,65 +68,75 @@ After extensive testing, .NET was determined to be the most performant option fo ## Roadmap **Phase 1: Initial Infrastructure and Setup** -- [X] Milestone 1: Create infrastructure for registering Hashtopolis agents. + +- [x] Milestone 1: Create infrastructure for registering Hashtopolis agents. - [ ] Milestone 2: Design and implement the automated setup of Hashtopolis agents, including downloading and uploading cracker binaries. **Phase 2: Potfiles and Dictionary Tasks** + - [ ] Milestone 3: Develop the functionality for importing and exporting crack lists, including uploading and downloading potfiles. - [ ] Milestone 4: Implement the creation and downloading of basic dictionary tasks, such as uploading and downloading wordlists and hashlists. **Phase 3: Rule-Based Tasks and Mask Tasks** + - [ ] Milestone 5: Design and implement the creation of rule-based tasks, including the uploading of rulesets and hashlists. - [ ] Milestone 6: Implement the creation of mask tasks, including the uploading of masks and hashlists. **Phase 4: Containerization** + - [ ] Milestone 7: Develop Docker configurations for each component of Hash Slinger. - [ ] Milestone 8: Test Docker deployment and document the process. **Phase 5: User Interface and Experience Development** + - [ ] Milestone 9: Design and implement the initial user interface. - [ ] Milestone 10: Conduct usability testing and incorporate user feedback to improve the interface and user experience. **Phase 6: Advanced Features and Integrations** + - [ ] Milestone 11: Develop advanced features such as the ability to assign systems to different projects, allowing prioritized job cracking based on project requirements. - [ ] Milestone 12: Implement and ensure compatibility with the Hashtopolis Communication Protocol v2. **Phase 7: Security and Performance** + - [ ] Milestone 13: Implement security measures and conduct security audits. - [ ] Milestone 14: Performance benchmarking, testing, and optimization. **Phase 8: Documentation and Support** + - [ ] Milestone 15: Complete essential documentation (user guides, API documentation, etc.). - [ ] Milestone 16: Establish a basic user support system. **Phase 9: Iterative Testing and Refinement** + - [ ] Milestone 17: Iterative design, development, testing, and review cycles to improve functionality, usability, and performance. **Phase 10: Release Preparation and Distribution** + - [ ] Milestone 18: Conduct final comprehensive testing to ensure Hash Slinger functions as intended and performs optimally under the target use cases. - [ ] Milestone 19: Prepare and distribute the initial public release. ## Hashtopolis API Implementation -- [X] TestConnection -- [X] Register -- [X] UpdateInformation -- [X] Login -- [X] CheckClientVersion -- [X] DownloadBinary + +- [x] TestConnection +- [x] Register +- [x] UpdateInformation +- [x] Login +- [x] CheckClientVersion +- [x] DownloadBinary - [ ] ClientError - [ ] GetFile -- [X] GetHashlist +- [x] GetHashlist - [ ] GetTask - [ ] GetChunk - [ ] SendKeyspace -- [ ] SendBenchmark +- [ ] SendBenchmark - [ ] SendProgress -- [X] GetFileStatus -- [X] GetHealthCheck -- [X] SendHealthCheck +- [x] GetFileStatus +- [x] GetHealthCheck +- [x] SendHealthCheck - [ ] Deregister - ## Contributing Contributions are always welcome! For guidance on contributing, please check `CONTRIBUTING.md`. Make sure to adhere to this project's `code of conduct`.