{"id":16382933,"url":"https://github.com/akshay-rohatgi/rustpenguin","last_synced_at":"2025-10-28T03:12:46.988Z","repository":{"id":253458506,"uuid":"843540302","full_name":"Akshay-Rohatgi/rustpenguin","owner":"Akshay-Rohatgi","description":"Reimplementing mimipenguin in Rust - Discovering Plaintext Passwords Within Process Memory","archived":false,"fork":false,"pushed_at":"2024-08-16T19:07:12.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T19:28:27.074Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Akshay-Rohatgi.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2024-08-16T18:35:13.000Z","updated_at":"2024-11-17T08:38:56.000Z","dependencies_parsed_at":"2024-08-16T21:26:58.604Z","dependency_job_id":"c823727e-99e7-4e47-8b33-392ae827ca5f","html_url":"https://github.com/Akshay-Rohatgi/rustpenguin","commit_stats":null,"previous_names":["akshay-rohatgi/rustpenguin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Akshay-Rohatgi/rustpenguin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akshay-Rohatgi%2Frustpenguin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akshay-Rohatgi%2Frustpenguin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akshay-Rohatgi%2Frustpenguin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akshay-Rohatgi%2Frustpenguin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akshay-Rohatgi","download_url":"https://codeload.github.com/Akshay-Rohatgi/rustpenguin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akshay-Rohatgi%2Frustpenguin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281377476,"owners_count":26490473,"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-10-28T02:00:06.022Z","response_time":60,"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-10-11T04:06:54.102Z","updated_at":"2025-10-28T03:12:46.974Z","avatar_url":"https://github.com/Akshay-Rohatgi.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rustpenguin\n\nrustpenguin is a Rust-based port of the [mimipenguin](https://github.com/huntergregal/mimipenguin) tool, originally developed by [Hunter Gregal](https://huntergregal.com/). Inspired by the popular Windows security tool Mimikatz, Rustpenguin aims to extract plaintext credentials from process memory on Linux systems.\n\n![example](https://akshayrohatgi.com/img/rustpenguin/working.png)\n\n## Overview\n**Blazing Fast**: Completes the search for credentials in just a few seconds, significantly faster than the original Python and shell versions.  \n**Memory Dumping**: Extracts readable memory regions from vulnerable processes like Gnome Keyring.  \n**Regex-Based Search**: Utilizes researched regex patterns (\"needles\") to find potential passwords within the dumped memory.  \n**Password Verification**: Matches potential passwords against hashes in /etc/shadow to confirm valid credentials.  \n\nFor more details, check out my blog post [here](https://akshayrohatgi.com/blog/posts/rustpenguin)!\n\n## Suppported Systems\nrustpenguin has only been tested on Ubuntu Desktop 20.04 so far. The vulnerabilities in the applications it exploits seem to have been patched by the default versions available in Ubuntu 22.04.\n\n## Building\nClone the repository and run the following command in the project root:\n\n```bash\ncargo build --release\n```\nThis will generate a rustpenguin executable in the target/release directory.\n\n## Usage\nRun the executable with root permissions:\n```\nsudo ./rustpenguin\n```\nThe tool will automatically identify vulnerable processes and attempt to extract and verify plaintext passwords.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakshay-rohatgi%2Frustpenguin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakshay-rohatgi%2Frustpenguin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakshay-rohatgi%2Frustpenguin/lists"}