Skip to content

Commit

Permalink
updated tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
hideckies committed Apr 6, 2024
1 parent b558d2f commit 80c8742
Show file tree
Hide file tree
Showing 27 changed files with 754 additions and 403 deletions.
Binary file removed docs/assets/images/terminal/listener_start.png
Binary file not shown.
Binary file removed docs/assets/images/terminal/loot.png
Binary file not shown.
File renamed without changes
Binary file removed docs/assets/images/terminal/task_send_ps.png
Binary file not shown.
18 changes: 18 additions & 0 deletions docs/guides/agent-mode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Agent Mode

We can switch to the agent mode with `agent use <agent-id>` command in the C2 server console.
This feature can be used after C2 agents connected to listeners.

Once the agent mode activated, our prompt looks like below:

```sh
Hermit [agent-abcd] >
```

As seen above, `[agent-abcd]` string is added.

## What Difference Between Normal Mode and Agent Mode?

In Agent mode, we can use most of the commands found in Normal mode, as well as send [tasks](./task.md) to C2 agents and see loot that gained by task results.

To see all commands available, run `?`, `help` or `help <command>`.
23 changes: 22 additions & 1 deletion docs/guides/agent.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
# Agent

This page is under construction.
The `agent` command manages C2 agents.
Basically, this command is used after the C2 agent connected to listeners.

For usage, run `help agent`, `help agent <subcommand>`.

## `agent list`, `agents`

List agents connected to our listeners.

## `agent info <ID>`

Prints the agent detailed information.

## `agent note <ID>`

Takes a note for the agent.
This is useful when we want to write down arbitrary information.
It spawns `nano` editor by default. If error occured, tries `vim`.

## `agent delete <ID>`

Deletes an agent.
22 changes: 21 additions & 1 deletion docs/guides/configuration.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
# Configuration

This page is under construction.
We can edit `config.json` in the Hermit project root for custom server settings.

## host

The C2 server's bind address.
In most cases, it's no problem that it's `0.0.0.0`.

## port

The C2 server's bind port.
It's set `9999` by default.

## domains

The C2 server's domains.
The domains set here are reflected as SANS of certificates.

## listeners.fakeRoutes

We can spoof the paths where the C2 agent sends requests to the listener.
**Please make sure that the path names are unique,** otherwise unexpected behaviour will occur.
43 changes: 42 additions & 1 deletion docs/guides/listener.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,44 @@
# Listener

This page is under construction.
The `listener` command manages for the listener create/start/stop/delete.

For usage, run `help listener`, `help listener <subcommand>`.

## `listener new`

Creates a new listener and start it.
If we simply run the `lisetner new` command without flags, the address is set from the network interface (`eth0` or `ens33`) and the port is generated randomly between `49152` and `65535`. And domains are set from `config.json` setting.

### Custom URL & Domains

We can specify the custom URL and domains (separate with `,` for multiple domains).

```sh title="Hermit C2 Server Console"
Hermit > listener new -u https://172.12.34.56:4443 --d hermit.evil,hacker.tokyo
```

## `listener start <ID>`

Starts a specified listener by ID.

## `listener stop <ID>`

Stops a specified listener by ID.

## `listener delete <ID>`

Deletes a specified listener by ID.

## `listener list`, `listeners`

Lists all listeners available.

## `listener info <ID>`

Prints a listener detailed information.

## `listener payloads <ID>`

Lists and manages payloads hosted on a specified listener by ID.
On the select menu after run this command, we can select the payload and delete it.

7 changes: 6 additions & 1 deletion docs/guides/payload.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Payload

This page is under construction.
The `payload` command generates a new payload such as **implant**, **loader**, **shellcode**.

## `payload gen`

Generates a new payload.
After running this command, the settings wizard will start and we can follow the instructions easily.
Loading

0 comments on commit 80c8742

Please sign in to comment.