Skip to content

Commit

Permalink
Merge pull request #12 from azazelm3dj3d/release/v0.5.x
Browse files Browse the repository at this point in the history
Release/v0.5.x
  • Loading branch information
Trevor committed Mar 28, 2023
2 parents 8cd0a79 + 1bbeff8 commit 12bb51e
Show file tree
Hide file tree
Showing 12 changed files with 675 additions and 26 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,6 @@ Cargo.lock
*.log
*.spec
build/
__pycache__/
__MACOSX/
__pycache__/
.DS_Store
20 changes: 14 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,24 +1,32 @@
[package]
name = "catherine"
description = "Catherine is a blue team security framework with an extensible module collection, various types of cryptographic processes, hexadecimal dumping and aggregation, malicious domain detection, and real-time database analysis."
version = "0.4.1"
description = "The Catherine Framework is a general-purpose cybersecurity framework built to aggregate, validate, decode, decrypt, and maintain data."
version = "0.5.0"
authors = ["azazelm3dj3d"]
license = "BSD-2-Clause"
categories = ["cryptography", "command-line-utilities", "encoding"]
keywords = ["cybersecurity", "blueteam", "framework", "security", "defense"]
edition = "2021"
repository = "https://github.com/azazelm3dj3d/catherine"

[build-dependencies]
tauri-build = { version = "1.2.1", features = [] }

[dependencies]
os_type = { git = "https://github.com/azazelm3dj3d/os_type", branch = "main", version = "2.6.1" }
os_type = "2.6.0"
chrono = "0.4"
colored = "2"
serde = "1.0"
serde_json = "1.0"
libloading = "0.7"
prettytable-rs = "0.9.0"
mercy = "1.2.17"
prettytable-rs = "0.10.0"
mercy = "1.2.22"
rand = "0.7.2"
tauri = { version = "1.2.4", features = [] }

[target.'cfg(target_os = "windows")'.dependencies]
ipconfig = "0.3.0"
ipconfig = "0.3.0"

[features]
default = [ "custom-protocol" ]
custom-protocol = [ "tauri/custom-protocol" ]
50 changes: 36 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,59 @@
Catherine
</h1>

<!-- 📚 [Documentation](https://catherine.azazelm3dj3d.com) -->
The Catherine Framework is a general-purpose cybersecurity framework built to aggregate, validate, decode, decrypt, and maintain data. Catherine currently collects information from dumping hexadecimal content from files, validates malicious domains & IP addresses, attempts to crack unknown hashes, handles real-time database analysis, various types of decoding, and much more. Thanks to Catherine being built in an easily packaged executable, you can quickly download the tool by running `cargo install catherine` via the `Cargo` ecosystem. Catherine can also be quickly compiled by pulling down the source code from `git` and simply running `cargo build`.

Catherine is a blue team security framework with an extensible module collection, various types of cryptographic processes, hexadecimal dumping and aggregation, malicious domain detection, and real-time database analysis. Catherine is as simple as installing via Cargo or using `git` to pull down the source code and immediately start using the framework with `cargo run`. The modules for Catherine can be installed by using the `catherine_install` script or running the `install` command within the Catherine prompt. This requires sudo privileges.
Catherine provides a Command Line Interface (CLI) and Graphical User Interface (GUI) built into the executable. This means whether you install from source or `Cargo`, you can choose your method of use.

One thing to note before installing, while Catherine should work on most operating systems, the modules are only built for Linux-based distributions.
## Installation

You can easily install via the `Cargo` CLI:

### Installation
Install via Cargo (without modules):
```bash
cargo install catherine
```

Install via Cargo (with modules):
If you'd prefer to install from source, you can also do this fairly easily, but it will still require the `Cargo` CLI.

First, clone the repository using `git`:

```bash
curl https://raw.githubusercontent.com/azazelm3dj3d/catherine/main/catherine_install > catherine_install && chmod +x catherine_install
git clone https://github.com/azazelm3dj3d/catherine.git
```

Once you've cloned the repository and you're in the correct directory, simply run the following command:

```bash
./catherine_install
cargo build
```

### Uninstall
If you need to uninstall Catherine on your system for any reason or would like to remove the external modules, you can do so with these commands:
Now you'll have a local debug build available for testing under `target/debug/catherine`.

Catherine also offers custom modules for Linux operating systems. You can access these modules by installing Catherine via the `catherine_install` script.

You can review the script [here](https://github.com/azazelm3dj3d/catherine/blob/main/catherine_install).

Remove Catherine:
```bash
cargo uninstall catherine
# The script requires sudo privileges to build a directory under `/opt/catherine/`
sudo ./catherine_install
```

Remove all Catherine files:
NOTE: I am working on converting all external [modules](https://github.com/azazelm3dj3d/catherine-modules) (Python, C, Go) into native modules (Rust) to offer everything in a built-in executable via `Cargo` without any extra steps, but for now, I've made sure to keep them accessible (excluding the GUI) for extended functionality.

## Usage

If you've already installed the application from `Cargo`, all you have to do now is run the following command to initialize the Catherine shell:

```bash
rm -r /opt/catherine
catherine
```

If a GUI is more your style, there is a simple version available with the majority of the available CLI commands. All you have to do to launch the interface is initialize the Catherine shell and run the following command within the shell:

```bash
🦀 Catherine [v0.x.x] (None) ☀️ 〉launch
```

NOTE: I am still working on making the GUI a little nicer looking, but a basic version is currently available for testing.

If a bug or issue is found, please report it [here](https://github.com/azazelm3dj3d/catherine/issues).
9 changes: 9 additions & 0 deletions build.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*
Project: Catherine Framework (https://github.com/azazelm3dj3d/catherine)
Author: azazelm3dj3d (https://github.com/azazelm3dj3d)
License: BSD 2-Clause
*/

fn main() {
tauri_build::build()
}
Loading

0 comments on commit 12bb51e

Please sign in to comment.