diff --git a/modules/browser/detect_details/module.rb b/modules/browser/detect_details/module.rb
index 2ce5577ff..1a1483cd6 100644
--- a/modules/browser/detect_details/module.rb
+++ b/modules/browser/detect_details/module.rb
@@ -15,26 +15,6 @@
#
class Detect_details < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Browser Type',
- 'Description' => %Q{
- This module will retrieve the selected zombie browser details.'
- },
- 'Category' => 'Browser',
- 'Author' => ['wade','vo','passbe','saafan'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
- end
-
def callback
content = {}
content['Browser type'] = @datastore['browser_type']
@@ -43,4 +23,4 @@ class Detect_details < BeEF::Core::Command
#update_zombie!
end
-end
\ No newline at end of file
+end
diff --git a/modules/browser/detect_plugins/module.rb b/modules/browser/detect_plugins/module.rb
index 0e412140b..560eb228b 100644
--- a/modules/browser/detect_plugins/module.rb
+++ b/modules/browser/detect_plugins/module.rb
@@ -15,26 +15,6 @@
#
class Detect_plugins < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Installed Plugins',
- 'Description' => %Q{
- This module will retrieve the selected zombie browser plugins.'
- },
- 'Category' => 'Browser',
- 'Author' => ['wade','vo','passbe','saafan'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
- end
-
def callback
content = {}
content['Plugins'] = @datastore['plugins']
@@ -43,4 +23,4 @@ class Detect_plugins < BeEF::Core::Command
#update_zombie!
end
-end
\ No newline at end of file
+end
diff --git a/modules/browser/detect_screen_details/module.rb b/modules/browser/detect_screen_details/module.rb
index 399d605e9..2b2fafec1 100644
--- a/modules/browser/detect_screen_details/module.rb
+++ b/modules/browser/detect_screen_details/module.rb
@@ -15,26 +15,6 @@
#
class Detect_screen_details < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Screen Details',
- 'Description' => %Q{
- This module will retrieve the selected zombie screen dimensions.'
- },
- 'Category' => 'Browser',
- 'Author' => ['wade','vo','passbe','saafan'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
- end
-
def callback
content = {}
content['Screen Parameters'] = @datastore['screen_params']
@@ -44,4 +24,4 @@ class Detect_screen_details < BeEF::Core::Command
#update_zombie!
end
-end
\ No newline at end of file
+end
diff --git a/modules/browser/detect_scripts_support/module.rb b/modules/browser/detect_scripts_support/module.rb
index c013d5a29..9a8e85905 100644
--- a/modules/browser/detect_scripts_support/module.rb
+++ b/modules/browser/detect_scripts_support/module.rb
@@ -15,26 +15,6 @@
#
class Detect_scripts_support < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Scripts Support',
- 'Description' => %Q{
- This module will retrieve the selected zombie browser scripting engines.'
- },
- 'Category' => 'Browser',
- 'Author' => ['wade','vo','passbe','saafan'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
- end
-
def callback
content = {}
content['Java enabled'] = @datastore['java_enabled']
@@ -46,4 +26,4 @@ class Detect_scripts_support < BeEF::Core::Command
#update_zombie!
end
-end
\ No newline at end of file
+end
diff --git a/modules/browser/detect_visited_urls/module.rb b/modules/browser/detect_visited_urls/module.rb
index 2d24ecfe4..ce65102ad 100644
--- a/modules/browser/detect_visited_urls/module.rb
+++ b/modules/browser/detect_visited_urls/module.rb
@@ -15,28 +15,14 @@
#
class Detect_visited_urls < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Detect Visited URLs',
- 'Description' => 'This module will detect whether or not the zombie has visited the specifed URL(s) before.',
- 'Category' => 'Browser',
- 'Author' => ['passbe'],
- 'Data' => [
- { 'ui_label'=>'URL(s)', 'name'=>'urls', 'type'=>'textarea', 'value'=>'http://www.bindshell.net/', 'width'=>'200px' }
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
+ def self.options
+ return [
+ { 'ui_label'=>'URL(s)', 'name'=>'urls', 'description' => 'Enter target URL(s)', 'type'=>'textarea', 'value'=>'http://www.bindshell.net/', 'width'=>'200px' }
+ ]
end
def callback
save({'result' => @datastore['result']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/browser/hook_ie/module.rb b/modules/browser/hook_ie/module.rb
index 532b8a4e1..88197bd8f 100644
--- a/modules/browser/hook_ie/module.rb
+++ b/modules/browser/hook_ie/module.rb
@@ -16,26 +16,6 @@
class Hook_ie < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Hook IE',
- 'Description' => %Q{
- This module will attempt to hook IE if it is the default browser.'
- },
- 'Category' => 'Browser',
- 'Author' => ['saafan'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
- end
-
def pre_send
#Get the servers configurations.
configuration = BeEF::Core::Configuration.instance
@@ -75,4 +55,4 @@ class Hook_ie < BeEF::Core::Command
#update_zombie!
end
-end
\ No newline at end of file
+end
diff --git a/modules/browser/link_rewrite/module.rb b/modules/browser/link_rewrite/module.rb
index 82cef9b0b..4bb18f60c 100644
--- a/modules/browser/link_rewrite/module.rb
+++ b/modules/browser/link_rewrite/module.rb
@@ -15,29 +15,15 @@
#
class Link_rewrite < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Link Rewriter',
- 'Description' => 'This module will rewrite the href attribute of all matched links.
The jQuery selector field can be used to limit the selection of links. eg: a[href="http://www.bindshell.net"]. For more information please see: http://api.jquery.com/category/selectors/',
- 'Category' => 'Browser',
- 'Author' => ['passbe'],
- 'Data' => [
- { 'ui_label'=>'URL', 'name'=>'url', 'value'=>'http://www.bindshell.net/', 'width'=>'200px' },
- { 'ui_label'=>'jQuery Selector', 'name'=>'selector', 'value'=>'a', 'width'=>'200px' }
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
+ def self.options
+ return [
+ { 'ui_label'=>'URL', 'name'=>'url', 'description' => 'Target URL', 'value'=>'http://www.bindshell.net/', 'width'=>'200px' },
+ { 'ui_label'=>'jQuery Selector', 'name'=>'selector', 'description' => 'Optional link selector other than all a* tags', 'value'=>'a', 'width'=>'200px' }
+ ]
end
def callback
save({'result' => @datastore['result']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/browser/site_redirect/module.rb b/modules/browser/site_redirect/module.rb
index fbc7b8396..474409b3b 100644
--- a/modules/browser/site_redirect/module.rb
+++ b/modules/browser/site_redirect/module.rb
@@ -15,28 +15,14 @@
#
class Site_redirect < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Site Redirect',
- 'Description' => 'This module will redirect the hooked browser to the address specified in the \'Redirect URL\' input.',
- 'Category' => 'Browser',
- 'Author' => ['wade', 'vo'],
- 'Data' => [
- { 'ui_label'=>'Redirect URL', 'name'=>'redirect_url', 'value'=>'http://www.bindshell.net/', 'width'=>'200px' }
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use_template!
+ def self.options
+ return [
+ { 'ui_label'=>'Redirect URL', 'name'=>'redirect_url', 'description' => 'The URL the target will be redirected to.', 'value'=>'http://www.bindshell.net/', 'width'=>'200px' }
+ ]
end
def callback
save({'result' => @datastore['result']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/browser/site_redirect_iframe/module.rb b/modules/browser/site_redirect_iframe/module.rb
index c715d40a9..f97eb485e 100644
--- a/modules/browser/site_redirect_iframe/module.rb
+++ b/modules/browser/site_redirect_iframe/module.rb
@@ -15,30 +15,13 @@
#
class Site_redirect_iframe < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Site Redirect (iFrame)',
- 'Description' => 'This module will redirect the hooked browser to the address specified in the \'Redirect URL\' input. It creates a 100% x 100% overlaying iframe to keep the victim hooked and changes the page title to the provided value which should be set to the title of the redirect URL.',
- 'Category' => 'Browser',
- 'Author' => ['ethicalhack3r, Yori Kvitchko'],
- 'Data' => [
- { 'name' => 'iframe_title', 'ui_label' => 'New Page Title', 'value' => 'BindShell.Net: Home', 'width'=>'200px' },
- { 'name' => 'iframe_src', 'ui_label' => 'Redirect URL', 'value' => 'http://www.bindshell.net/', 'width'=>'200px' },
- { 'name' => 'iframe_timeout', 'ui_label' => 'Timeout', 'value' => '3500', 'width'=>'150px' }
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use_template!
- end
+ def self.options
+ return [
+ { 'name' => 'iframe_title', 'description' => 'Title of the iFrame', 'ui_label' => 'New Page Title', 'value' => 'BindShell.Net: Home', 'width'=>'200px' },
+ { 'name' => 'iframe_src', 'description' => 'Source of the iFrame', 'ui_label' => 'Redirect URL', 'value' => 'http://www.bindshell.net/', 'width'=>'200px' },
+ { 'name' => 'iframe_timeout', 'description' => 'iFrame timeout', 'ui_label' => 'Timeout', 'value' => '3500', 'width'=>'150px' }
+ ]
+ end
# This method is being called when a hooked browser sends some
# data back to the framework.
@@ -47,4 +30,4 @@ class Site_redirect_iframe < BeEF::Core::Command
save({'result' => @datastore['result']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/debug/test_return_ascii_chars/module.rb b/modules/debug/test_return_ascii_chars/module.rb
index 4ad7588ed..166fe5ce8 100644
--- a/modules/debug/test_return_ascii_chars/module.rb
+++ b/modules/debug/test_return_ascii_chars/module.rb
@@ -15,29 +15,6 @@
#
class Test_return_ascii_chars < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Return Ascii Chars',
- 'Description' => %Q{
- This module will return the set of ascii chars.
- },
- 'Category' => 'Debug',
- 'Data' => [
-# {'name' => 'repeat', 'ui_label' => 'Times to repeat', 'value' =>'1024'},
-# {'name' => 'repeat_string', 'ui_label' => 'String to repeat', 'value' =>'\u00AE'}
- ],
- 'Author' => ['wade'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
- end
-
def callback
content = {}
content['Result String'] = @datastore['result_string']
diff --git a/modules/debug/test_return_long_string/module.rb b/modules/debug/test_return_long_string/module.rb
index 8cdc585af..23c88639d 100644
--- a/modules/debug/test_return_long_string/module.rb
+++ b/modules/debug/test_return_long_string/module.rb
@@ -15,28 +15,13 @@
#
class Test_return_long_string < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Return Long String',
- 'Description' => %Q{
- This module will return a string of the specified length.
- },
- 'Category' => 'Debug',
- 'Data' => [
- {'name' => 'repeat', 'ui_label' => 'Times to repeat', 'value' =>'1024'},
- {'name' => 'repeat_string', 'ui_label' => 'String to repeat', 'value' =>'\u00AE'}
- ],
- 'Author' => ['wade'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
- end
+ def self.options
+ return [
+ {'name' => 'repeat', 'description' => 'Times to repeat', 'ui_label' => 'Times to repeat', 'value' =>'1024'},
+ {'name' => 'repeat_string', 'description' => 'Strings to repeat', 'ui_label' => 'String to repeat', 'value' =>'\u00AE'}
+ ]
+ end
+
def callback
content = {}
diff --git a/modules/host/insecure_url_skype/module.rb b/modules/host/insecure_url_skype/module.rb
index 49ace79e3..45f791273 100644
--- a/modules/host/insecure_url_skype/module.rb
+++ b/modules/host/insecure_url_skype/module.rb
@@ -15,45 +15,8 @@
#
class Insecure_url_skype < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Insecure URL Handling - Skype Call',
- 'Description' => 'This module will force the browser to attempt a skype call. It will exploit the insecure handling of URL schemes
-
- The protocol handler used will be: skype',
- 'Category' => 'Host',
- 'Author' => 'xntrik, Nitesh Dhanjani',
- 'Data' => [
- { 'name' => 'tel_num', 'ui_label'=>'Number', 'value' =>'5551234', 'width' => '200px' }
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => S
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => C
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => FF
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => O
- })
-
- use 'beef.dom'
- use_template!
+ def self.options
+ { 'name' => 'tel_num', 'description' => 'The telephone number to dial', 'ui_label'=>'Number', 'value' =>'5551234', 'width' => '200px' }
end
def callback
@@ -63,4 +26,4 @@ class Insecure_url_skype < BeEF::Core::Command
end
-end
\ No newline at end of file
+end
diff --git a/modules/host/iphone_tel/module.rb b/modules/host/iphone_tel/module.rb
index c7858d1fc..4fe87917a 100644
--- a/modules/host/iphone_tel/module.rb
+++ b/modules/host/iphone_tel/module.rb
@@ -15,31 +15,10 @@
#
class Iphone_tel < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'iPhone Telephone URL',
- 'Description' => 'This module will force the browser to attempt a skype
- call. It will exploit the insecure handling of URL schemes in iOS.
-
- The protocol handler used will be: tel',
- 'Category' => 'Host',
- 'Author' => 'xntrik, Nitesh Dhanjani',
- 'Data' => [
- { 'name' => 'tel_num', 'ui_label'=>'Number', 'value' =>'5551234','width' => '200px' },
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => S
- })
-
- use 'beef.dom'
- use_template!
+ def self.options
+ return [
+ { 'name' => 'tel_num', 'description' => 'Telephone number', 'ui_label'=>'Number', 'value' =>'5551234','width' => '200px' },
+ ]
end
def callback
@@ -49,4 +28,4 @@ class Iphone_tel < BeEF::Core::Command
end
-end
\ No newline at end of file
+end
diff --git a/modules/host/physical_location/module.rb b/modules/host/physical_location/module.rb
index 50262837d..10c4b3404 100644
--- a/modules/host/physical_location/module.rb
+++ b/modules/host/physical_location/module.rb
@@ -15,26 +15,6 @@
#
class Physical_location < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Physical location',
- 'Description' => %Q{
- This module will retrieve the physical location of the victim using the geolocation API
- },
- 'Category' => 'Host',
- 'Author' => ['antisnatchor'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use 'beef.geolocation'
- use_template!
- end
-
def callback
content = {}
content['Geolocation Enabled'] = @datastore['geoLocEnabled']
@@ -44,4 +24,4 @@ class Physical_location < BeEF::Core::Command
save content
end
-end
\ No newline at end of file
+end
diff --git a/modules/metasploit/browser_autopwn/module.rb b/modules/metasploit/browser_autopwn/module.rb
index 91ffd227c..9ce589dbb 100644
--- a/modules/metasploit/browser_autopwn/module.rb
+++ b/modules/metasploit/browser_autopwn/module.rb
@@ -15,10 +15,7 @@
#
class Browser_autopwn < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
+ def self.options
@conf = BeEF::Core::Configuration.instance
@uri = 'Enter AutoPwn URL Here'
begin
@@ -28,26 +25,10 @@ class Browser_autopwn < BeEF::Core::Command
@uri = "http://#{host}:8080/#{url}"
end
end
- super({
- 'Name' => 'Browser Autopwn',
- 'Description' => "This module will redirect a user to the autopwn port on a Metasploit listener and then rely on Metasploit to handle the resulting shells. If the Metasploit extension is loaded, this module will pre-populate the URL to the pre-launched listener. Otherwise, enter the URL you would like the user to be redirected to.",
- 'Category' => 'Metasploit',
- 'Author' => ['sussurro'],
- 'Data' => [
- { 'name' => 'sploit_url', 'ui_label' => 'Listener URL', 'value' => @uri, 'width'=>'200px' },
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
-
- end
+ return [
+ { 'name' => 'sploit_url', 'description' => 'The URL to exploit', 'ui_label' => 'Listener URL', 'value' => @uri, 'width'=>'200px' },
+ ]
+ end
# This method is being called when a hooked browser sends some
# data back to the framework.
diff --git a/modules/misc/alert_dialog/module.rb b/modules/misc/alert_dialog/module.rb
index 46696eaa5..ebe735ff0 100644
--- a/modules/misc/alert_dialog/module.rb
+++ b/modules/misc/alert_dialog/module.rb
@@ -15,41 +15,15 @@
#
class Alert_dialog < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Alert Dialog',
- 'Description' => 'Sends an alert dialog to the victim',
- 'Category' => 'Misc',
- 'Author' => 'bm',
- 'Data' => [
- {'name' => 'text', 'ui_label'=>'Alert text', 'type' => 'textarea', 'value' =>'BeEF', 'width' => '400px', 'height' => '100px'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- # This tells the framework to use the file 'alert.js' as the command module instructions.
- use_template!
- end
-
# set and return all options for this module
def self.options
return [{
'name' => 'text',
'description' => 'Sends an alert dialog to the victim',
- 'filter' => '',
'type' => 'textarea',
'ui_label' => 'Alert text',
'value' => 'Alert box text',
- 'width' => '400px',
- 'height' => '100px'
+ 'width' => '400px'
}]
end
diff --git a/modules/misc/clipboard_theft/module.rb b/modules/misc/clipboard_theft/module.rb
index 713885273..430e208aa 100644
--- a/modules/misc/clipboard_theft/module.rb
+++ b/modules/misc/clipboard_theft/module.rb
@@ -15,35 +15,6 @@
#
class Clipboard_theft < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Clipboard Theft',
- 'Description' => 'Retrieves the clipboard contents. This module will work automatically with Internet Explorer 6.x however Internet Explorer 7.x will prompt the user and ask for permission to access the clipboard.',
- 'Category' => 'Misc',
- 'Author' => 'bcoles',
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => IE,
- 'browser_max_ver' => "6",
- 'browser_min_ver' => "6"
- })
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => IE,
- 'browser_max_ver' => "7",
- 'browser_min_ver' => "7"
- })
- set_target({
- 'verified_status' => VERIFIED_NOT_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
- end
-
def callback
content = {}
content['clipboard'] = @datastore['clipboard']
diff --git a/modules/misc/deface_web_page/module.rb b/modules/misc/deface_web_page/module.rb
index 3dd0a723e..8b21566a8 100644
--- a/modules/misc/deface_web_page/module.rb
+++ b/modules/misc/deface_web_page/module.rb
@@ -15,28 +15,10 @@
#
class Deface_web_page < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Deface Web Page',
- 'Description' => 'Overwrite the body of the page the victim is on with the "Deface Content" string',
- 'Category' => 'Misc',
- 'Author' => 'antisnatchor',
- 'Data' => [
- { 'name' => 'deface_content', 'ui_label'=>'Deface Content', 'type' => 'textarea', 'value' =>'Defaced!', 'width' => '400px', 'height' => '100px' },
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
+ def self.options
+ return [
+ { 'name' => 'deface_content', 'description' => 'Your defacement content', 'ui_label'=>'Deface Content', 'type' => 'textarea', 'value' =>'Defaced!', 'width' => '400px', 'height' => '100px' }
+ ]
end
def callback
@@ -46,4 +28,4 @@ class Deface_web_page < BeEF::Core::Command
end
-end
\ No newline at end of file
+end
diff --git a/modules/misc/extract_local_storage/module.rb b/modules/misc/extract_local_storage/module.rb
index 62c74389c..0770931b9 100644
--- a/modules/misc/extract_local_storage/module.rb
+++ b/modules/misc/extract_local_storage/module.rb
@@ -15,40 +15,10 @@
#
class Extract_local_storage < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
# More info:
# http://dev.w3.org/html5/webstorage/
# http://diveintohtml5.org/storage.html
#
-
- def initialize
- super({
- 'Name' => 'Extract Local Storage',
- 'Description' => 'Extracts data from the HTML5 localStorage object.',
- 'Category' => 'Misc',
- 'Author' => 'bcoles',
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => FF
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => S
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => C
- })
-
- use_template!
- end
def callback
content = {}
diff --git a/modules/misc/prompt_dialog/module.rb b/modules/misc/prompt_dialog/module.rb
index 54365293a..ea1644166 100644
--- a/modules/misc/prompt_dialog/module.rb
+++ b/modules/misc/prompt_dialog/module.rb
@@ -15,24 +15,10 @@
#
class Prompt_dialog < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Prompt Dialog',
- 'Description' => 'Sends a prompt dialog to the victim',
- 'Category' => 'Misc',
- 'Author' => 'bm',
- 'Data' => [
- {'name' =>'question', 'ui_label'=>'Prompt text'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use_template!
+ def self.options
+ return [
+ {'name' =>'question', 'description' =>'Prompt text', 'ui_label'=>'Prompt text'}
+ ]
end
#
@@ -46,4 +32,4 @@ class Prompt_dialog < BeEF::Core::Command
save({'answer' => @datastore['answer']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/misc/raw_javascript/module.rb b/modules/misc/raw_javascript/module.rb
index 02bbec904..bfaae2be4 100644
--- a/modules/misc/raw_javascript/module.rb
+++ b/modules/misc/raw_javascript/module.rb
@@ -15,30 +15,11 @@
#
class Raw_javascript < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Raw Javascript',
- 'Description' => %Q{
- This module will send the code entered in the 'JavaScript Code' section to the selected
- zombie browsers where it will be executed. Code is run inside an anonymous function and the return
- value is passed to the framework. Multiline scripts are allowed, no special encoding is required.
- },
- 'Category' => 'Misc',
- 'Author' => ['wade','vo'],
- 'Data' =>
- [
- {'name' => 'cmd', 'ui_label' => 'Javascript Code', 'value' => "alert(\'BeEF Raw Javascript\');\nreturn \'It worked!\';", 'type' => 'textarea', 'width' => '400px', 'height' => '100px'},
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
- end
+ def self.options
+ return [
+ {'name' => 'cmd', 'description' => 'Javascript Code', 'ui_label' => 'Javascript Code', 'value' => "alert(\'BeEF Raw Javascript\');\nreturn \'It worked!\';", 'type' => 'textarea', 'width' => '400px', 'height' => '100px'},
+ ]
+ end
#
# This method is being called when a zombie sends some
@@ -49,4 +30,4 @@ class Raw_javascript < BeEF::Core::Command
save({'result' => @datastore['result']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/misc/replace_video/module.rb b/modules/misc/replace_video/module.rb
index 64320974c..903f41519 100644
--- a/modules/misc/replace_video/module.rb
+++ b/modules/misc/replace_video/module.rb
@@ -15,31 +15,12 @@
#
class Replace_video < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Replace Video',
- 'Description' => 'Replaces an object selected with jQuery (all embed tags by default) with an embed tag containing the youtube video of your choice (rickroll by default).',
- 'Category' => 'Misc',
- 'Author' => ['Yori Kvitchko','antisnatchor'],
- 'Data' =>
- [
- {'name' => 'youtube_id', 'ui_label' => 'YouTube Video ID', 'value' => 'XZ5TajZYW6Y', 'width'=>'150px'},
- {'name' => 'jquery_selector', 'ui_label' => 'jQuery Selector', 'value' => 'embed', 'width'=>'150px'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
- end
+ def self.options
+ return [
+ {'name' => 'youtube_id', 'ui_label' => 'YouTube Video ID', 'value' => 'XZ5TajZYW6Y', 'width'=>'150px'},
+ {'name' => 'jquery_selector', 'ui_label' => 'jQuery Selector', 'value' => 'embed', 'width'=>'150px'}
+ ]
+ end
def callback
content = {}
@@ -48,4 +29,4 @@ class Replace_video < BeEF::Core::Command
end
-end
\ No newline at end of file
+end
diff --git a/modules/misc/rickroll/module.rb b/modules/misc/rickroll/module.rb
index 963ad4420..0e5e417b1 100644
--- a/modules/misc/rickroll/module.rb
+++ b/modules/misc/rickroll/module.rb
@@ -15,30 +15,6 @@
#
class Rickroll < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Rickroll',
- 'Description' => 'Overwrite the body of the page the victim is on with a full screen Rickroll.',
- 'Category' => 'Misc',
- 'Author' => 'Yori Kvitchko',
- 'Data' =>
- [
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
- end
-
def callback
content = {}
content['Result'] = @datastore['result']
@@ -46,4 +22,4 @@ class Rickroll < BeEF::Core::Command
end
-end
\ No newline at end of file
+end
diff --git a/modules/network/coldfusion_dir_traversal_exploit/module.rb b/modules/network/coldfusion_dir_traversal_exploit/module.rb
index f508d75fa..e9a97d1e1 100644
--- a/modules/network/coldfusion_dir_traversal_exploit/module.rb
+++ b/modules/network/coldfusion_dir_traversal_exploit/module.rb
@@ -15,20 +15,8 @@
#
class Coldfusion_dir_traversal_exploit < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'ColdFusion Directory Traversal Exploit',
- 'Description' => 'ColdFusion 9.0, 8.0.1, 9.0 and 9.0.1 are vulnerable to directory traversal that leads to arbitrary file retrieval from the ColdFusion server (CVE-2010-2861). For SOP limitations, the victim must be hooked to BeEF through a page served by the ColdFusion server.',
- 'Category' => 'Network',
- 'Author' => 'antisnatchor',
- 'Data' => [
- # for Same Origin Policy limitations, right now we're only handling local ColdFusion servers
- # (victim hooked on page malware.com/ciccio/pasticcio and CF server reachable at malware.com/CFIDE )
- #{'name' => 'rhost', 'ui_label' => 'Remote Target Host', 'value' => '127.0.0.1'},
- #{'name' => 'rport', 'ui_label' => 'Remote Target Port', 'value' => '8080'},
+ def self.options
+ return [
{'name' => 'fileToRetrieve', 'ui_label' => 'Retrieve file (in CF /lib dir)', 'value' => 'password.properties'},
{ 'name' => 'os_combobox', 'type' => 'combobox', 'ui_label' => 'CF server OS', 'store_type' => 'arraystore',
'store_fields' => ['os'], 'store_data' => [['Windows'],['Linux/MacOSX/*BSD']],
@@ -38,17 +26,7 @@ class Coldfusion_dir_traversal_exploit < BeEF::Core::Command
'store_fields' => ['cf_version'], 'store_data' => [['8'],['9']],
'valueField' => 'cf_version', 'displayField' => 'cf_version', 'mode' => 'local', 'autoWidth' => true
}
-
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
+ ]
end
def callback
diff --git a/modules/network/detect_local_settings/module.rb b/modules/network/detect_local_settings/module.rb
index 3cfe1b109..77d42047c 100644
--- a/modules/network/detect_local_settings/module.rb
+++ b/modules/network/detect_local_settings/module.rb
@@ -15,34 +15,6 @@
#
class Detect_local_settings < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Detect local settings',
- 'Description' => 'Grab the local network settings (i.e internal ip address)',
- 'Category' => 'Network',
- 'Author' => ['pdp', 'wade', 'bm', 'xntrik'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => FF
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => C
- })
-
- set_target({
- 'verified_status' => VERIFIED_NOT_WORKING,
- 'browser_name' => IE
- })
-
- use 'beef.net.local'
- use_template!
- end
-
def pre_send
#Mount the Beeffeine.class on /Beeffeine.class
#Unsure if there's something we can add here to check if the module was already mounted?
diff --git a/modules/network/jboss_jmx_upload_exploit/module.rb b/modules/network/jboss_jmx_upload_exploit/module.rb
index 8ee961e5f..83f411010 100644
--- a/modules/network/jboss_jmx_upload_exploit/module.rb
+++ b/modules/network/jboss_jmx_upload_exploit/module.rb
@@ -15,16 +15,8 @@
#
class Jboss_jmx_upload_exploit < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Jboss 6.0.0M1 JMX Deploy Exploit',
- 'Description' => 'Deploy a JSP reverse or bind shell (Metasploit one) using the JMX exposed deploymentFileRepository MBean of JBoss. The first request made is a HEAD one to bypass auth and deploy the malicious JSP, the second request is a GET one that triggers the reverse connection to the specified MSF listener.
Remember to run the MSF multi/hanlder listener with java/jsp_shell_reverse_tcp as payload, in case you are using the reverse payload.',
- 'Category' => 'Network',
- 'Author' => 'antisnatchor, l33tb0y',
- 'Data' => [
+ def self.options
+ return [
{'name' => 'rhost', 'ui_label' => 'Remote Target Host', 'value' => '127.0.0.1'},
{'name' => 'rport', 'ui_label' => 'Remote Target Port', 'value' => '8080'},
{'name' => 'lhost', 'ui_label' => 'MSF Listener Host', 'value' => '127.0.0.1'},
@@ -35,16 +27,7 @@ class Jboss_jmx_upload_exploit < BeEF::Core::Command
'store_fields' => ['payload'], 'store_data' => [['reverse'],['bind']],
'valueField' => 'payload', 'displayField' => 'payload', 'mode' => 'local', 'autoWidth' => true
}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
+ ]
end
def callback
diff --git a/modules/network/linksys_befsr41_csrf/module.rb b/modules/network/linksys_befsr41_csrf/module.rb
index bca1d5df7..1f000eb47 100644
--- a/modules/network/linksys_befsr41_csrf/module.rb
+++ b/modules/network/linksys_befsr41_csrf/module.rb
@@ -15,29 +15,12 @@
#
class Linksys_befsr41_csrf < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Linksys BEFSR41 CSRF Exploit',
- 'Description' => 'Attempts to enable remote administration and change the password on a Linksys BEFSR41 router.',
- 'Category' => 'Network',
- 'Author' => 'Martin Barbella',
- 'Data' => [
+ def self.options
+ return [
{'name' => 'base', 'ui_label' => 'Router web root', 'value' => 'http://arbitrary:admin@192.168.1.1/'},
{'name' => 'port', 'ui_label' => 'Desired port', 'value' => '31337'},
{'name' => 'password', 'ui_label' => 'Desired password', 'value' => '__BeEF__'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
+ ]
end
def callback
diff --git a/modules/network/linksys_wrt54g2_csrf/module.rb b/modules/network/linksys_wrt54g2_csrf/module.rb
index e58319bf6..6fb16604f 100644
--- a/modules/network/linksys_wrt54g2_csrf/module.rb
+++ b/modules/network/linksys_wrt54g2_csrf/module.rb
@@ -15,29 +15,12 @@
#
class Linksys_wrt54g2_csrf < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Linksys WRT54G2 CSRF Exploit',
- 'Description' => 'Attempts to enable remote administration and change the password on a Linksys WRT54G2 router.',
- 'Category' => 'Network',
- 'Author' => 'Martin Barbella',
- 'Data' => [
+ def self.options
+ return [
{'name' => 'base', 'ui_label' => 'Router web root', 'value' => 'http://arbitrary:admin@192.168.1.1/'},
{'name' => 'port', 'ui_label' => 'Desired port', 'value' => '31337'},
{'name' => 'password', 'ui_label' => 'Desired password', 'value' => '__BeEF__'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
+ ]
end
def callback
diff --git a/modules/network/linksys_wrt54g_csrf/module.rb b/modules/network/linksys_wrt54g_csrf/module.rb
index 50d8c86b9..337b5a35a 100644
--- a/modules/network/linksys_wrt54g_csrf/module.rb
+++ b/modules/network/linksys_wrt54g_csrf/module.rb
@@ -15,29 +15,12 @@
#
class Linksys_wrt54g_csrf < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'Linksys WRT54G CSRF Exploit',
- 'Description' => 'Attempts to enable remote administration and change the password on a Linksys WRT54G router.',
- 'Category' => 'Network',
- 'Author' => 'Martin Barbella',
- 'Data' => [
+ def self.options
+ return [
{'name' => 'base', 'ui_label' => 'Router web root', 'value' => 'http://arbitrary:admin@192.168.1.1/'},
{'name' => 'port', 'ui_label' => 'Desired port', 'value' => '31337'},
{'name' => 'password', 'ui_label' => 'Desired password', 'value' => '__BeEF__'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use_template!
+ ]
end
def callback
diff --git a/modules/network/vtiger_crm_upload_exploit/module.rb b/modules/network/vtiger_crm_upload_exploit/module.rb
index 99c86f962..7c44a4053 100644
--- a/modules/network/vtiger_crm_upload_exploit/module.rb
+++ b/modules/network/vtiger_crm_upload_exploit/module.rb
@@ -15,7 +15,7 @@
#
class Vtiger_crm_upload_exploit < BeEF::Core::Command
- def initialize
+ def self.options
time = Time.new
weekno = case time.day
when 1..7 then 1
@@ -27,32 +27,14 @@ class Vtiger_crm_upload_exploit < BeEF::Core::Command
@configuration = BeEF::Core::Configuration.instance
beef_host = @configuration.get("beef.http.public") || @configuration.get("beef.http.host")
-
- super({
- 'Name' => 'VTiger CRM Upload Exploit',
- 'Description' => 'This module demonstrates chained exploitation. It will upload and execute a reverse bindshell. The vulnerability is exploited in the CRM vtiger 5.0.4
The default PHP requires a listener, so don\'t forget to start one, for example: nc -l 8888.
vTigerCRM 5.0.4: Use extension "PHP" and php code.
vTigerCRM 5.2.0: Use extension "phtml" and php code.
vTigerCRM 5.2.1: Use extensions "shtml" and SSI code.',
- 'Category' => 'Network',
- 'Author' => ['wade', 'bm', 'pipes', 'xntrik', 'yorikv'],
- 'Data' =>
- [
- {'name'=>'vtiger_url', 'ui_label' =>'Target Web Server','value'=>'http://vulnerable-vtiger.site','width'=>'400px'},
- {'name'=>'vtiger_filepath','ui_label'=>'Target Directory','value'=>'/storage/'+time.year.to_s()+'/'+time.strftime("%B")+'/week'+weekno.to_s()+'/','width'=>'400px'},
- {'name'=>'mal_filename','ui_label'=>'Malicious Filename','value'=>rand(32**10).to_s(32),'width'=>'400px'},
- {'name'=>'mal_ext','ui_label'=>'Malicious File Extension','value'=>'PHP','width'=>'400px'},
- {'name'=>'vtiger_php','ui_label'=>'Injected PHP (must escape single quotes)','value'=>'','type'=>'textarea','width'=>'400px','height'=>'100px'},
- {'name'=>'upload_timeout','ui_label'=>'Upload Timeout','value'=>'5000'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.net.local'
-
- use_template!
+ return [
+ {'name'=>'vtiger_url', 'ui_label' =>'Target Web Server','value'=>'http://vulnerable-vtiger.site','width'=>'400px'},
+ {'name'=>'vtiger_filepath','ui_label'=>'Target Directory','value'=>'/storage/'+time.year.to_s()+'/'+time.strftime("%B")+'/week'+weekno.to_s()+'/','width'=>'400px'},
+ {'name'=>'mal_filename','ui_label'=>'Malicious Filename','value'=>rand(32**10).to_s(32),'width'=>'400px'},
+ {'name'=>'mal_ext','ui_label'=>'Malicious File Extension','value'=>'PHP','width'=>'400px'},
+ {'name'=>'vtiger_php','ui_label'=>'Injected PHP (must escape single quotes)','value'=>'','type'=>'textarea','width'=>'400px','height'=>'100px'},
+ {'name'=>'upload_timeout','ui_label'=>'Upload Timeout','value'=>'5000'}
+ ]
end
def callback
diff --git a/modules/persistence/iframe_above/module.rb b/modules/persistence/iframe_above/module.rb
index 7310cbca8..812100152 100644
--- a/modules/persistence/iframe_above/module.rb
+++ b/modules/persistence/iframe_above/module.rb
@@ -15,27 +15,6 @@
#
class Iframe_above < BeEF::Core::Command
- #
- # Defines and set up the commmand module.
- #
- def initialize
- super({
- 'Name' => 'iFrame Persistance',
- 'Description' => 'Rewrites all links on the webpage to spawn a 100% by 100% iFrame with a source relative to the selected link.',
- 'Category' => 'Persistence',
- 'Author' => 'passbe',
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use_template!
-
- end
-
# This method is being called when a hooked browser sends some
# data back to the framework.
#
@@ -43,4 +22,4 @@ class Iframe_above < BeEF::Core::Command
save({'result' => @datastore['result']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/persistence/iframe_keylogger/module.rb b/modules/persistence/iframe_keylogger/module.rb
index abcbec0dc..10668fbd8 100644
--- a/modules/persistence/iframe_keylogger/module.rb
+++ b/modules/persistence/iframe_keylogger/module.rb
@@ -15,34 +15,11 @@
#
class Iframe_keylogger < BeEF::Core::Command
- #
- # Defines and set up the command module.
- #
- def initialize
- super({
- 'Name' => 'iFrame keylogger',
- 'Description' => 'Creates a 100% by 100% iFrame overlay displaying the choosen resource, and add JS keylogging capabilities on that iFrame. Useful to grab same-domain login page credentials.',
- 'Category' => 'Misc',
- 'Author' => 'antisnatchor',
- 'Data' => [
+ def self.options
+ return [
{'name' => 'iFrameSrc', 'ui_label'=>'iFrame Src', 'type' => 'textarea', 'value' =>'/demos/secret_page.html', 'width' => '400px', 'height' => '50px'},
{'name' => 'sendBackInterval', 'ui_label' => 'Send Back Interval (ms)', 'value' => '2000', 'width'=>'100px' }
-
- ],
- 'File' => __FILE__
- })
-
- # works in every latest browser (IE8, Firefox 5, Chrome 12, Safari 5) except Opera
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
- set_target({
- 'verified_status' => VERIFIED_NOT_WORKING,
- 'browser_name' => O
- })
-
- use_template!
+ ]
end
def callback
@@ -51,4 +28,4 @@ class Iframe_keylogger < BeEF::Core::Command
save content
end
-end
\ No newline at end of file
+end
diff --git a/modules/persistence/popunder_window/module.rb b/modules/persistence/popunder_window/module.rb
index c63dd6fc8..5a3422ef4 100644
--- a/modules/persistence/popunder_window/module.rb
+++ b/modules/persistence/popunder_window/module.rb
@@ -15,27 +15,6 @@
#
class Popunder_window < BeEF::Core::Command
- #
- # Defines and set up the commmand module.
- #
- def initialize
- super({
- 'Name' => 'Pop Under Window',
- 'Description' => 'Creates a new discrete pop under window with the beef hook included.
This module will add another browser node to the tree. It will be a duplicate. This will be addressed in a future release',
- 'Category' => 'Persistence',
- 'Author' => 'ethicalhack3r',
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => ALL
- })
-
- use_template!
-
- end
-
# This method is being called when a hooked browser sends some
# data back to the framework.
#
@@ -43,4 +22,4 @@ class Popunder_window < BeEF::Core::Command
save({'result' => @datastore['result']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/recon/collect_links/module.rb b/modules/recon/collect_links/module.rb
index a26dc48ed..4cd0b297a 100644
--- a/modules/recon/collect_links/module.rb
+++ b/modules/recon/collect_links/module.rb
@@ -15,26 +15,6 @@
#
class Collect_links < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Collect Links',
- 'Description' => %Q{
- This module will retrieve HREFs from the target page
- },
- 'Category' => 'Recon',
- 'Author' => ['vo'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.dom'
- use_template!
- end
-
def callback
content = {}
content['Links'] = @datastore['links']
diff --git a/modules/recon/detect_cookies_support/module.rb b/modules/recon/detect_cookies_support/module.rb
index c972c1c6b..21bb0cdc5 100644
--- a/modules/recon/detect_cookies_support/module.rb
+++ b/modules/recon/detect_cookies_support/module.rb
@@ -15,28 +15,11 @@
#
class Detect_cookies_support < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Detect Cookie Support',
- 'Description' => %Q{
- This module will check if the browser allows a cookie with specified name to be set.
- },
- 'Category' => 'Recon',
- 'Data' => [
+ def self.options
+ return [
{'name' => 'cookie', 'ui_label' => 'Cookie name', 'value' =>'cookie'}
- ],
- 'Author' => ['vo'],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.browser.cookie'
- use_template!
- end
+ ]
+ end
def callback
content = {}
diff --git a/modules/recon/detect_soc_nets/module.rb b/modules/recon/detect_soc_nets/module.rb
index b2972e07d..0fdebc697 100644
--- a/modules/recon/detect_soc_nets/module.rb
+++ b/modules/recon/detect_soc_nets/module.rb
@@ -15,25 +15,10 @@
#
class Detect_soc_nets < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Detect Social Networks',
- 'Description' => 'This module will detect if the Hooked Browser is currently authenticated to GMail, Facebook and Twitter',
- 'Category' => 'Recon',
- 'Author' => ['xntrik', 'Mike Cardwell'],
- 'Data' => [
+ def self.options
+ return [
{'name' => 'timeout', 'ui_label' => 'Detection Timeout','value' => '5000'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.net.local'
- use_template!
+ ]
end
def callback
@@ -44,4 +29,4 @@ class Detect_soc_nets < BeEF::Core::Command
save content
end
-end
\ No newline at end of file
+end
diff --git a/modules/recon/detect_tor/module.rb b/modules/recon/detect_tor/module.rb
index feb255c1d..8c794b9bf 100644
--- a/modules/recon/detect_tor/module.rb
+++ b/modules/recon/detect_tor/module.rb
@@ -15,25 +15,10 @@
#
class Detect_tor < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Detect Tor',
- 'Description' => 'This module will detect if the zombie is currently using TOR (The Onion Router).',
- 'Category' => 'Recon',
- 'Author' => ['pdp', 'wade', 'bm', 'xntrik'],
- 'Data' => [
+ def self.options
+ return [
{'name'=>'timeout', 'ui_label' =>'Detection timeout','value'=>'10000'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_WORKING,
- 'browser_name' => ALL
- })
-
- use 'beef.net.local'
- use_template!
+ ]
end
def callback
@@ -42,4 +27,4 @@ class Detect_tor < BeEF::Core::Command
save({'result' => @datastore['result']})
end
-end
\ No newline at end of file
+end
diff --git a/modules/recon/internal_network_fingerprinting/module.rb b/modules/recon/internal_network_fingerprinting/module.rb
index 893508926..1b3a1e445 100644
--- a/modules/recon/internal_network_fingerprinting/module.rb
+++ b/modules/recon/internal_network_fingerprinting/module.rb
@@ -36,37 +36,11 @@
class Internal_network_fingerprinting < BeEF::Core::Command
- def initialize
- super({
- 'Name' => 'Internal Network Fingerprinting',
- 'Description' => 'Discover devices and applications in the internal network of the victim using signatures like default logo images/favicons (partially based on the Yokoso idea). If no IP range or ports are specified, the default device (after a default install) IP/port will be used.Only successfully discovered devices/applications will be shown in the command results.',
- 'Category' => 'Recon',
- 'Author' => ['bcoles@gmail.com', 'wade', 'antisnatchor'],
- 'Data' => [
+ def self.options
+ return [
{'name' => 'ipRange', 'ui_label' => 'Scan IP range (C class)', 'value' => '192.168.0.1-192.168.0.254'},
{'name' => 'ports', 'ui_label' => 'Ports to test', 'value' => '80,8080'}
- ],
- 'File' => __FILE__
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => FF # works also in FF 4.0.1
- })
-
- set_target({
- 'verified_status' => VERIFIED_NOT_WORKING,
- 'browser_name' => O
- })
-
- set_target({
- 'verified_status' => VERIFIED_USER_NOTIFY,
- 'browser_name' => IE
- })
-
-
-
- use_template!
+ ]
end
def callback