From 7d9a235bbf792172dddbdb87bb5dff73e7b2629c Mon Sep 17 00:00:00 2001 From: Haoxi Tan Date: Thu, 16 Jan 2020 11:24:11 +1000 Subject: [PATCH] Revert "fixing issue #1852" This reverts commit 375c0d9b8b651cdf61fd670bdbb219417826f9a4. --- .../ar-migrations/013_create_network_host.rb | 17 +++++++++-------- core/main/handlers/browserdetails.rb | 15 --------------- extensions/network/rest/network.rb | 7 ++----- 3 files changed, 11 insertions(+), 28 deletions(-) diff --git a/core/main/ar-migrations/013_create_network_host.rb b/core/main/ar-migrations/013_create_network_host.rb index a619df0c3..3c977b247 100644 --- a/core/main/ar-migrations/013_create_network_host.rb +++ b/core/main/ar-migrations/013_create_network_host.rb @@ -3,14 +3,15 @@ class CreateNetworkHost < ActiveRecord::Migration[6.0] def change create_table :network_hosts do |t| - t.references :hooked_browser - t.text :ip - t.text :hostname - t.text :ntype - t.text :os - t.text :mac - t.text :lastseen - end + t.references :hooked_browser + t.text :ip + t.text :hostname + t.text :ntype + t.text :os + t.text :mac + t.text :lastseen + end + end end diff --git a/core/main/handlers/browserdetails.rb b/core/main/handlers/browserdetails.rb index c92c46e19..b39ab8f9d 100644 --- a/core/main/handlers/browserdetails.rb +++ b/core/main/handlers/browserdetails.rb @@ -29,7 +29,6 @@ module BeEF # validate hook session value session_id = get_param(@data, 'beefhook') - print_debug "[INIT] Processing Browser Details for session #{session_id}" (self.err_msg "session id is invalid"; return) if not BeEF::Filters.is_valid_hook_session_id?(session_id) hooked_browser = HB.where(:session => session_id).first return if not hooked_browser.nil? # browser is already registered with framework @@ -405,20 +404,6 @@ module BeEF self.err_msg "Invalid value for 'browser.window.size.width' returned from the hook browser's initial connection." end - # store and log IP details of host - print_debug("Hooked browser [id:#{zombie.id}] has IP [ip: #{zombie.ip}]") - - if os_name != nil and os_version != nil - BeEF::Core::Models::NetworkHost.create(:hooked_browser => zombie, :ip => zombie.ip, :ntype => 'Host', :os => os_name + "-" + os_version) - - elsif os_name != nil - BeEF::Core::Models::NetworkHost.create(:hooked_browser => zombie, :ip => zombie.ip, :ntype => 'Host', :os => os_name) - - else - BeEF::Core::Models::NetworkHost.create(:hooked_browser => zombie, :ip => zombie.ip, :ntype => 'Host') - - end - # get and store the yes|no value for browser capabilities capabilities = [ 'browser.capabilities.vbscript', diff --git a/extensions/network/rest/network.rb b/extensions/network/rest/network.rb index 27ff2a38b..1e905c0d6 100644 --- a/extensions/network/rest/network.rb +++ b/extensions/network/rest/network.rb @@ -13,7 +13,6 @@ module BeEF config = BeEF::Core::Configuration.instance @nh = BeEF::Core::Models::NetworkHost @ns = BeEF::Core::Models::NetworkService - @hb = BeEF::Core::Models::HookedBrowser # Require a valid API token from a valid IP address halt 401 unless params[:token] == config.get('beef.api_token') @@ -70,9 +69,7 @@ module BeEF begin id = params[:id] - hooked_browser = @hb.where(session: id).distinct - - hosts = @nh.where(hooked_browser: hooked_browser).distinct.order(:hooked_browser) + hosts = @nh.where(hooked_browser_id: id).distinct.order(:id) count = hosts.length result = {} @@ -124,7 +121,7 @@ module BeEF host = @nh.find(id) raise InvalidParamError, 'id' if host.nil? - halt 404 if host == nil? + halt 404 if host.empty? host.to_h.to_json rescue InvalidParamError => e