Skip to content

Automate stuff and build cool piplines and trigger things

License

Notifications You must be signed in to change notification settings

bad-hombres/brian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

brian

Automate stuff and build cool piplines and trigger things

Basically just creates zsh functions that operate on stdin and pipe to stdout. Main use for automating bugbounty recon stuff but can be anything really

$ git clone https://github.com/bad-hombres/brian.git

Remeber to create symlinks to all your tools in the $BRIAN_HOME/tools

Tools used

How to use

$ mkdir /path/to/empty/project/dir
$ cd /path/to/project/dir
$ cat <<EOF > project.zsh
export PROJECT_NAME=my_project
export BRIAN_HOME=/path/to/brian

source \$BRIAN_HOME/brian_general.zsh
EOF
$ source project.zsh
$ echo somedomain.com > domains.txt

Start using: eg

$ domains | subdomains | new_subdomain_file

for every line in the domains .txt run sublist3r, assetfinder, gobuster in parallel then sort and dedup them and then output that to a file in the subdomains dir named based on the datetime

$ newest_subdomains | slack new_subdomains.txt "#brian"

This will diff the new list of subdomains against all previously enumerated subdomains and upload the new domains to the #brian channel in slack as a file named new_subdomains. If you use the -m flag with any pipeline or source then you will get the fzf fuzzy finder (can only use once per commandline. So

$ domains | subdomains -m | slack subdomains.txt

Will to sub domain enum for every domain in domains.txt and allow you to choose which ones to upload via slack as subdomains.txt (add the slack channel name as channel default is "#bugbounty-brian")

Oh yeah triggers!!! In new windows (every one uses tmux right?)

$ source triggers.zsh

These allow you to run stuff when files / directories are written to or time based. See the example json files provided

if you create json files in the project created sources, sinks, pipelines, triggers directories then they will be included along with with ones provided with brian so you may want to think about name clashes

If you eant to auto setup you project environment anytime you cd into a project dir (dir containing project.zsh) then add the following to your .zshrc

function chpwd() {            
    emulate -L zsh
    [[ -f ./project.zsh ]] && source project.zsh
}

Todo?

  • Better docs.
  • Build more stuff with it (its all zsh in the end)

About

Automate stuff and build cool piplines and trigger things

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published