From 5d0a499a120fd89300f1665495da6e7d98103260 Mon Sep 17 00:00:00 2001 From: whealtey Date: Sun, 11 Jul 2021 08:18:14 +0000 Subject: [PATCH 1/4] 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 From 0f7567cc4ba8734c2d016b0eecec8fdf99c3a09d Mon Sep 17 00:00:00 2001 From: whealtey Date: Sun, 11 Jul 2021 08:37:35 +0000 Subject: [PATCH 2/4] left byebug in file --- extensions/social_engineering/web_cloner/web_cloner.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/extensions/social_engineering/web_cloner/web_cloner.rb b/extensions/social_engineering/web_cloner/web_cloner.rb index e11ec2d88..8de4cfd75 100644 --- a/extensions/social_engineering/web_cloner/web_cloner.rb +++ b/extensions/social_engineering/web_cloner/web_cloner.rb @@ -144,7 +144,6 @@ module BeEF end print_info "Mounting cloned page on URL [#{mount}]" - byebug @http_server.mount("#{mount}", interceptor.new) @http_server.remap From 739b168602ca75a2420ec21a24b840ed7b48141e Mon Sep 17 00:00:00 2001 From: whealtey Date: Sun, 11 Jul 2021 09:02:56 +0000 Subject: [PATCH 3/4] specified the generated web pages for google to be removed --- spec/beef/extensions/social_engineering_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/beef/extensions/social_engineering_spec.rb b/spec/beef/extensions/social_engineering_spec.rb index 2526ceb00..3358fbda1 100644 --- a/spec/beef/extensions/social_engineering_spec.rb +++ b/spec/beef/extensions/social_engineering_spec.rb @@ -7,7 +7,8 @@ require 'fileutils' RSpec.describe 'BeEF Extension Social Engineering' do after(:all) do - FileUtils.rm_rf(Dir['./extensions/social_engineering/web_cloner/cloned_pages/*']) + FileUtils.rm(Dir['./extensions/social_engineering/web_cloner/cloned_pages/www.google.com']) + FileUtils.rm(Dir['./extensions/social_engineering/web_cloner/cloned_pages/www.google.com_mod']) end it 'persistence web cloner' do From 681511358ef9629b84bbe38dd054a81ad76ba362 Mon Sep 17 00:00:00 2001 From: whealtey Date: Sun, 11 Jul 2021 09:14:37 +0000 Subject: [PATCH 4/4] moveid the clean up the related method instead of after all tests --- spec/beef/extensions/social_engineering_spec.rb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/spec/beef/extensions/social_engineering_spec.rb b/spec/beef/extensions/social_engineering_spec.rb index 3358fbda1..ab19d8475 100644 --- a/spec/beef/extensions/social_engineering_spec.rb +++ b/spec/beef/extensions/social_engineering_spec.rb @@ -6,11 +6,6 @@ require 'fileutils' RSpec.describe 'BeEF Extension Social Engineering' do - after(:all) do - FileUtils.rm(Dir['./extensions/social_engineering/web_cloner/cloned_pages/www.google.com']) - FileUtils.rm(Dir['./extensions/social_engineering/web_cloner/cloned_pages/www.google.com_mod']) - end - it 'persistence web cloner' do expect { BeEF::Core::Models::WebCloner.create(uri: "example.com", mount: "/") @@ -21,5 +16,7 @@ RSpec.describe 'BeEF Extension Social Engineering' do expect { BeEF::Extension::SocialEngineering::WebCloner.instance.clone_page("https://www.google.com", "/", nil, nil) }.to_not raise_error + FileUtils.rm(Dir['./extensions/social_engineering/web_cloner/cloned_pages/www.google.com']) + FileUtils.rm(Dir['./extensions/social_engineering/web_cloner/cloned_pages/www.google.com_mod']) end end