Metadata-Version: 2.4
Name: keychecker
Version: 1.0.0
Summary: A comprehensive key reconnaissance framework for red team activities
Author-email: Cyfinoid <keychecker@cyfinoid.com>
Maintainer-email: Cyfinoid <keychecker@cyfinoid.com>
License-Expression: GPL-3.0-only
Project-URL: Homepage, https://github.com/cyfinoid/keychecker
Project-URL: Bug Tracker, https://github.com/cyfinoid/keychecker/issues
Project-URL: Documentation, https://github.com/cyfinoid/keychecker#readme
Project-URL: Source Code, https://github.com/cyfinoid/keychecker
Keywords: security,ssh,keys,reconnaissance,red-team,penetration-testing
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Information Technology
Classifier: Topic :: Security
Classifier: Topic :: System :: Systems Administration
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.25.0
Requires-Dist: cryptography>=3.0.0
Dynamic: license-file

# `keychecker` 🗝️✨

<p align="center">
    <i>unleash the potential of discovered keys in the wild with the keychecker</i><br>
  <img src="assets/keychecker.png" alt="keychecker Logo">
</p>

`keychecker` is a comprehensive key reconnaissance framework designed to facilitate the identification of potential usage locations and provide detailed insights into discovered keys during red team activities.

## 🚀 Features
* **Key Reconnaissance** - keychecker employs advanced scanning techniques to identify potential places where keys can be potentially used.
* **Detailed Key Insights** - keychecker goes beyond simple detection, providing in-depth information about the discovered keys, such as associated services, encryption algorithms, or any other information that can be fetched from the key.
* **Extensibility** - keychecker is designed with extensibility in mind, allowing users to easily integrate custom modules for tailored reconnaissance and analysis.

## 🧙‍♂️ Getting Started

### Prerequisites
Before installing keychecker, ensure that your system meets the following requirements:
- **Python Version**: keychecker is compatible with Python 3.11 and above.
```bash
python --version
```

- **pip3 Version**: `pip` version should be comptaible with Python3.11. 

### Installation
To install the project use the `pip` utility
```bash
pip install keychecker
```

### Usage
To run keychecker in interactive mode, just run the following command - 
```bash
keychecker
```

It will also generate a command that you can run to automatically generate the same desired output.

To run the command with flags, run the following command -
```bash
$ keychecker --help

|   _      _ |_   _   _ |   _  ._
|< (/_ \/ (_ | | (/_ (_ |< (/_ | 
       /                         1.0.0 
---

usage: keychecker [-h] {identify,ssh} ...

Identifies the key and enumerates it for details.

options:
  -h, --help      show this help message and exit

subcommands:
  {identify,ssh}  functionalities
    identify      Identify the type of key.
    ssh           Enumerate using SSH key.

For any issues/concerns reach out to keychecker@cyfinoid.com
```


## 🌟 Examples

```bash 
keychecker ssh --input /Users/molly/wild_keys/id_rsa --gitlab --bruteforce --wordlist /Users/molly/wordlist.txt
```

This command examines the SSH key located at `/Users/molly/wild_keys/id_rsa` for it's association with any user in `gitlab` platform and if any user is found then it will bruteforce the private repositories of the user based on the wordlist provided.


You can also take an interactive approach by simply typing:
```shell
keychecker
```
This command will prompt you with questions and guide you through the process to obtain the results.

## 🤝 Contributing
Follow our [Contribution Guidelines](CONTRIBUTING.md) (TBD).

## 📜 License
This project is licensed under the GPL-3.0 - see the LICENSE file for enchanting details.
