From 59c0e1eb76b66e01dacbc05a6270ce7524f45a4f Mon Sep 17 00:00:00 2001 From: evilsocket Date: Mon, 8 Jan 2018 00:15:55 +0100 Subject: [PATCH] new: added -eval command --- caplets/beef-active.cap | 5 ++++- core/options.go | 2 ++ main.go | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/caplets/beef-active.cap b/caplets/beef-active.cap index 8d0e3f94..cce3dd8f 100644 --- a/caplets/beef-active.cap +++ b/caplets/beef-active.cap @@ -1,4 +1,7 @@ -set arp.spoof.targets 192.168.1.53 +# targeting the whole subnet by default, to make it selective: +# +# sudo ./bettercap-ng -caplet caplets/beef-active.cap -eval "set arp.spoof.targets 192.168.1.64" + # inject beef hook set http.proxy.script caplets/beef-inject.js # keep reading arp table for network mapping diff --git a/core/options.go b/core/options.go index 8b235728..bfbd7a40 100644 --- a/core/options.go +++ b/core/options.go @@ -8,6 +8,7 @@ type Options struct { Debug *bool Silent *bool NoHistory *bool + Commands *string } func ParseOptions() (Options, error) { @@ -17,6 +18,7 @@ func ParseOptions() (Options, error) { Debug: flag.Bool("debug", false, "Print debug messages."), Silent: flag.Bool("silent", false, "Suppress all logs which are not errors."), NoHistory: flag.Bool("no-history", false, "Disable history file."), + Commands: flag.String("eval", "", "Run a command, used to set variables via command line."), } flag.Parse() diff --git a/main.go b/main.go index 56db1cdf..26744382 100644 --- a/main.go +++ b/main.go @@ -34,6 +34,12 @@ func main() { defer sess.Close() + if *sess.Options.Commands != "" { + if err = sess.Run(*sess.Options.Commands); err != nil { + log.Fatal(err) + } + } + if *sess.Options.Caplet != "" { if err = sess.RunCaplet(*sess.Options.Caplet); err != nil { log.Fatal(err)