/hackbox

An lightweight and easy to use toolbox for hackers

Primary LanguageGoMIT LicenseMIT


FeaturesInstallationUsageRunningNotes

hackbox is an lightweight and easy to use toolbox for hackers, it is designed to organize and uniformly call your favorite command line tools.

Features

  • Highly interactive command line framework powered by c-bata/go-prompt
  • Easy to use and intelligent automatic completion
  • Rich and self-explanatory default configuration files, so you can easily customize it
  • Built-in several command line tools for hackers (in comming...)
  • Clear arguments settings, no need to read annoying help documents, so you can call tools faster and more conveniently
  • Save the execution result of the tool which can be used as input to another tool or easily exported
  • Command line parameters support validate powered by go-playground/validator

Installation

go get

hackbox requires go1.17 to install. Run the following command to get hackbox:

go install -v github.com/WAY29/hackbox/cmd/hackbox@latest

static releases

Download hackbox from Releases

Usage

Just run hackbox, and you will get an interactive hackbox shell. Here are hackbox help documents:

Usage of hackbox:
  -nc
        Print without color
  -p string
        Custom tool path, default will load from ./tools.toml -> $HOME/.config/hackbox/tools.yaml
  -q    Run hackbox without banner

Running

You can run some intuitive commands, such as cd, ls, sh, exit

  • cd <tool directory> change tool directory
  • ls List tools and subdirectories in this directory
  • sh <command> Run local shell command
  • exit Exit hackbox

When you find the tool you want, use it immediately, then you can show or set or unset arguments, then just run it.

  • use <tool name> use specified tool
  • set <arg name> <arg value> set tool argument
  • unset <arg name> unset tool argument
  • show [arg name] Show tool argument(s)
  • run [as <output name>] [bg] Run tools [in background]

Then you can output the result or export it, before this, maybe you want to filter it or merge other result

  • output [output name] show output(s)
  • filter <output name> <filter> [as <new output name>] filter output by filters link/email/date/time/phone/ip/md5/sha1/sha256
  • merge <output1 name> <output2 name> as <output name> merge two outputs as one
  • export <output name> [export path, default <output name>.txt] export output as file

By the way, you can setoutput or unsetoutput

  • setoutput <output name> <output value / filepath> set output from input or file
  • unsetoutput <output name> unset output

Notes

  • It only took me three days to write this project, so there may be some mistakes, welcome issues.
  • If you have any commonly used hacking tools that are not included in hackbox, welcome pull-requests(tools.default.yaml) and issues.