Skip to content

Commit 133c5a1

Browse files
authored
Merge pull request #91 from lap1nou/exh-docs
docs: added exegol-history documentation
2 parents 415286b + 8ea07f3 commit 133c5a1

File tree

3 files changed

+53
-3
lines changed

3 files changed

+53
-3
lines changed

docs/.vitepress/config.mts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,10 @@ function sidebarMain(): SidebarItemWithBadge[] {
280280
text: "My resources",
281281
link: "images/my-resources.md"
282282
},
283+
{
284+
text: "Exegol history",
285+
link: "images/exegol-history.md"
286+
},
283287
{
284288
text: "Credentials",
285289
link: "images/credentials.md"

docs/src/images/exegol-history.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Exegol-history
2+
3+
`Exegol-history` is a tool to quickly store and retrieve compromised credentials and hosts; the goal is to ease the management of credentials and hosts during a penetration testing engagement or a CTF.
4+
5+
Once an asset is selected from the TUI, the information can be accessed through environment variables and doesn't need to be typed over and over. Combined with Exegol's pre-filled command history, this becomes a very powerful process.
6+
7+
The tool can be used with the alias `exh` or with `exegol-history`.
8+
9+
> [!TIP] TL; DR
10+
> When obtaining new credentials, the process usually goes like this
11+
> ```bash
12+
> exh add creds -u 'USER' -p 'PASSWORD' -H 'NT_HASH_if_any' -d 'DOMAIN.FQDN'
13+
> ```
14+
> and then, once they're saved in exh's db, set them for the current shell with
15+
> ```bash
16+
> exh set creds
17+
> ```
18+
19+
## Examples
20+
21+
Interactively select a credential to set in the current shell
22+
```sh
23+
exh set creds
24+
```
25+
26+
Show the current shell's environnment variables (in the context of Exegol history)
27+
```sh
28+
exh show
29+
```
30+
31+
Add a credential
32+
```sh
33+
exh add creds -u 'Administrator' -p 'Passw0rd!' -H 'FC525C9683E8FE067095BA2DDC971889' -d 'test.local'
34+
```
35+
36+
Add a host
37+
```sh
38+
exh add hosts --ip '127.0.0.1' -n 'dc.test.local' -r 'DC'
39+
```
40+
41+
Import multiple credentials from a CSV file
42+
```sh
43+
exh import creds --file creds.csv --format CSV
44+
```
45+
46+
## Advanced variables
47+
48+
If you have other custom variables to configure, you can manually update the file `/opt/tools/Exegol-history/profile.sh` and reload your current shell with the commnad `exec $SHELL`.

docs/src/tips-and-tricks.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,7 @@ In order to **shares notes** during an engagement, `trilium`
6464
## Dynamic history commands
6565

6666
Many commands in the pre-filled history rely on environment variables
67-
such as `$DOMAIN`, `$USER`, `$PASSWORD`, etc. Those variables can be set
68-
manually or by using the `profile.sh` file in
69-
`/opt/tools/Exegol-history/`. The proper lines can be filled and
67+
such as `$DOMAIN`, `$USER`, `$PASSWORD`, etc. Those variables can be set using the [Exegol-history](images/exegol-history) utility `exh`, or by manually using the `/opt/tools/Exegol-history/profile.sh` file. The proper lines can be filled and
7068
uncommented, and then the shell can be reloaded with `exec zsh` in order
7169
to apply the changes. This allows users to easily look for, and use,
7270
commands in the history, without changing the values every time.

0 commit comments

Comments
 (0)