From 5d0a499a120fd89300f1665495da6e7d98103260 Mon Sep 17 00:00:00 2001 From: whealtey Date: Sun, 11 Jul 2021 08:18:14 +0000 Subject: [PATCH] renamed the WebCloner model class to align with ActiveRecord syntax changed WebCloner name changes in web_cloner.rb created two tests to support changeswq --- .../social_engineering/models/web_cloner.rb | 2 +- .../web_cloner/web_cloner.rb | 3 ++- .../extensions/social_engineering_spec.rb | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 spec/beef/extensions/social_engineering_spec.rb diff --git a/extensions/social_engineering/models/web_cloner.rb b/extensions/social_engineering/models/web_cloner.rb index 0287868c1..1f645d3c8 100644 --- a/extensions/social_engineering/models/web_cloner.rb +++ b/extensions/social_engineering/models/web_cloner.rb @@ -6,7 +6,7 @@ module BeEF module Core module Models - class Webcloner < BeEF::Core::Model + class WebCloner < BeEF::Core::Model has_many :interceptors diff --git a/extensions/social_engineering/web_cloner/web_cloner.rb b/extensions/social_engineering/web_cloner/web_cloner.rb index 478df6906..e11ec2d88 100644 --- a/extensions/social_engineering/web_cloner/web_cloner.rb +++ b/extensions/social_engineering/web_cloner/web_cloner.rb @@ -144,6 +144,7 @@ module BeEF end print_info "Mounting cloned page on URL [#{mount}]" + byebug @http_server.mount("#{mount}", interceptor.new) @http_server.remap @@ -206,7 +207,7 @@ module BeEF end def persist_page(uri, mount) - webcloner_db = BeEF::Core::Models::Webcloner.new( + webcloner_db = BeEF::Core::Models::WebCloner.new( :uri => uri, :mount => mount ) diff --git a/spec/beef/extensions/social_engineering_spec.rb b/spec/beef/extensions/social_engineering_spec.rb new file mode 100644 index 000000000..2526ceb00 --- /dev/null +++ b/spec/beef/extensions/social_engineering_spec.rb @@ -0,0 +1,24 @@ +require 'extensions/social_engineering/models/web_cloner' +require 'extensions/social_engineering/web_cloner/web_cloner' +require 'extensions/social_engineering/web_cloner/interceptor' +require 'extensions/social_engineering/models/interceptor' +require 'fileutils' + +RSpec.describe 'BeEF Extension Social Engineering' do + + after(:all) do + FileUtils.rm_rf(Dir['./extensions/social_engineering/web_cloner/cloned_pages/*']) + end + + it 'persistence web cloner' do + expect { + BeEF::Core::Models::WebCloner.create(uri: "example.com", mount: "/") + }.to_not raise_error + end + + it 'clone web page' do + expect { + BeEF::Extension::SocialEngineering::WebCloner.instance.clone_page("https://www.google.com", "/", nil, nil) + }.to_not raise_error + end +end