Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/seth the social engineering toolkit #99

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
143 changes: 82 additions & 61 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,52 +15,60 @@
---

# NAME

**witchcraft** - A versatile toolkit for cybersecurity.

# SYNOPSIS

`witchcraft [MODULE_NAME] [OPTION]... [FILE]... [IP]...`

# DESCRIPTION

WITCHCRAFT is a powerful cybersecurity toolkit providing tools for forensic analysis, OSINT, scanning, backups, data copying, and penetration testing for applications and APIs. Its flexibility makes it suitable for a wide range of security tasks.

# EXAMPLES
- `witchcraft map.local`

- `witchcraft map.local`
Map all open local connections.

- `witchcraft search.meta --keyword user_name`
- `witchcraft search.meta --keyword user_name`
Search for the `user_name` keyword across over 1000 sites.

- `witchcraft map.default --target example.com`
- `witchcraft map.default --target example.com`
Perform a default port scan on the specified target.

# INSTALLATION

The project initially includes a set of default files created using advanced data analysis techniques. Final versions are merged into the main project.

- **GitHub Installation:**
Visit [witchcraft GitHub repository](https://github.com/cosmic-zip/witchcraft).
Go to releases, download the latest version, unzip the file, and locate `installer.sh` and `uninstall.sh`.
- **GitHub Installation:**
Visit [witchcraft GitHub repository](https://github.com/cosmic-zip/witchcraft).
Go to releases, download the latest version, unzip the file, and locate `installer.sh` and `uninstall.sh`.

```bash
sudo bash installer.sh
```

```bash
sudo bash installer.sh
```
- **Snap Package Installation:**

- **Snap Package Installation:**
```bash
snap install witchcraft-cybersecurity
```
```bash
snap install witchcraft-cybersecurity
```

- **Build from Source:**
```bash
git clone https://github.com/cosmic-zip/witchcraft
cd witchcraft
sudo bash build-devel.sh
```
- **Build from Source:**

Locate the `dist` folder, unzip the file, and use `installer.sh` and `uninstall.sh`.
```bash
git clone https://github.com/cosmic-zip/witchcraft
cd witchcraft
sudo bash build-devel.sh
```

The script prompts for root access, creates a `release` folder, and places built executables inside. It also provides options for downloading archives for OSINT and wordlists required for IP lookup operations.
Locate the `dist` folder, unzip the file, and use `installer.sh` and `uninstall.sh`.

The script prompts for root access, creates a `release` folder, and places built executable inside. It also provides options for downloading archives for OSINT and wordlists required for IP lookup operations.

## Spellbook Package Includes:

- Unique Wordlists: _moth_ (16GB) and _ladybug_ (1GB)
- Default Credentials Database
- IP Geolocation and Reputation/Score
Expand All @@ -72,79 +80,92 @@ The project initially includes a set of default files created using advanced dat
- And more!

### Optional Wordlists and Malware Signatures
These files (700MB) can be downloaded using:

These files (700MB) can be downloaded using:

```bash
git clone https://github.com/cosmic-zip/witchcraft-wordlists /var/spellbook/
```

# EVILPAGES
Clone pages into `/var/spellbook/evilpages` using the SingleFile extension or similar tools. Example:

Clone pages into `/var/spellbook/evilpages` using the SingleFile extension or similar tools. Example:

```bash
witchcraft server.eviltwin --address 127.0.0.1:9000 --path foo/bar/index.html
```

[SingleFile Extension](https://addons.mozilla.org/en-US/firefox/addon/single-file/)

# RC FILE
To log interactions, create `.witchrc` in your home folder and add:

To log interactions, create `.witchrc` in your home folder and add:

```plaintext
path_log_file=~/my_frog.jsonl
```

Replace `~/` with a specific path if desired.

# FLAGS SCLF

Standard Command-Line Flags (SCLF) include:

- `account` : Arguments for account info or token.
- `address` : IPv4/IPv6 or domain name.
- `ip` : IPv4/IPv6 address.
- `device` : Virtual/physical device (e.g., HDD, SSD).
- `dns/domain` : Domain name.
- `database_name` : Name of the database.
- `data` : Input data (e.g., "some data here!").
- `file` : File location.
- `folder` : Path to a folder.
- `host` : Hostname or IP address.
- `image` : Image file location.
- `interface` : Network device.
- `keyspace_name` : Cassandra keyspace name.
- `message` : Message string.
- `output` : Output file path.
- `overwrite` : Overwrite existing files.
- `password` : Plaintext password.
- `path` : File path.
- `port` : Port number.
- `protocol` : Communication protocol.
- `recursive` : Enable recursive mode.
- `secret` : File (data) to be hidden.
- `share` : Shared resource (e.g., folder, file, printer).
- `snapshot_name` : Name of the snapshot.
- `table_name` : Database table name.
- `target` : IPv4/IPv6 or domain name.
- `timeout` : Timeout duration.
- `url` : Full URL path with http/https.
- `username` : Username setup.
- `wait` : Delay duration in seconds.
- `verbose` : Enable verbose mode.
- `wordlist` : Path to a wordlist.
- `account` : Arguments for account info or token.
- `address` : IPv4/IPv6 or domain name.
- `ip` : IPv4/IPv6 address.
- `device` : Virtual/physical device (e.g., HDD, SSD).
- `dns/domain` : Domain name.
- `database_name` : Name of the database.
- `data` : Input data (e.g., "some data here!").
- `file` : File location.
- `folder` : Path to a folder.
- `host` : Hostname or IP address.
- `image` : Image file location.
- `interface` : Network device.
- `keyspace_name` : Cassandra keyspace name.
- `message` : Message string.
- `output` : Output file path.
- `overwrite` : Overwrite existing files.
- `password` : Plaintext password.
- `path` : File path.
- `port` : Port number.
- `protocol` : Communication protocol.
- `recursive` : Enable recursive mode.
- `secret` : File (data) to be hidden.
- `share` : Shared resource (e.g., folder, file, printer).
- `snapshot_name` : Name of the snapshot.
- `table_name` : Database table name.
- `target` : IPv4/IPv6 or domain name.
- `timeout` : Timeout duration.
- `url` : Full URL path with http/https.
- `username` : Username setup.
- `wait` : Delay duration in seconds.
- `verbose` : Enable verbose mode.
- `wordlist` : Path to a wordlist.

# PLUGINS

Witchcraft supports extensions via static files, Rust code, and `db.json`. This file allows integration of terminal-based operations. Example:

**Custom Command in Terminal:**

```bash
mycommand --flag value --key value --some foo
```

**Entry in `db.json`:**

```json
{
"name": "mycommand",
"description": "My command does something cool",
"command": "mycommand --flag @@flag --key @@some_name_for_the_key"
"name": "mycommand",
"description": "My command does something cool",
"command": "mycommand --flag @@flag --key @@some_name_for_the_key"
}
```

**Final Command in Witchcraft:**

```bash
mycommand --flag foo --some_name_for_the_key bar
```
Expand All @@ -154,9 +175,9 @@ Repeating a flag will not create a list of values. If a flag is repeated,
only the first occurrence will be accepted. This design covers 98% of CLI
interactions. Edge cases are not supported.


# LICENSE AND TERMS
This project is licensed under the **GNU General Public License v3.0**.

This project is licensed under the **GNU General Public License v3.0**.
WITCHCRAFT includes **IP2Proxy® LITE** and **cinsscore®** databases.

---
7 changes: 7 additions & 0 deletions codebook.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dictionaries = []
words = [
"cybersecurity",
"wordlists",
]
flag_words = []
ignore_paths = []
Loading