Skip to content

Commit

Permalink
Feature/seth the social engineering toolkit (#99)
Browse files Browse the repository at this point in the history
Version 0.35.10
  • Loading branch information
cosmic-zip authored Feb 9, 2025
1 parent e5094bd commit 581451c
Show file tree
Hide file tree
Showing 22 changed files with 95,135 additions and 20,344 deletions.
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

0 comments on commit 581451c

Please sign in to comment.