Added beef.browser.hasPhonegap()
Added hasPhonegap() and hasGooglegears() to balloon messages Updated os in module configs from "iPhone" to "iOS"
This commit is contained in:
@@ -551,6 +551,19 @@ beef.browser = {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Checks if the Phonegap API is available from the hooked domain.
|
||||
* @return: {Boolean} true or false.
|
||||
*
|
||||
* @example: if(beef.browser.hasJava()) { ... }
|
||||
*/
|
||||
hasPhonegap: function() {
|
||||
var result = false;
|
||||
try { if (!!device.phonegap) result = true; else result = false; }
|
||||
catch(e) { result = false; }
|
||||
return result;
|
||||
},
|
||||
|
||||
/**
|
||||
* Checks if the zombie has Java installed and enabled.
|
||||
* @return: {Boolean} true or false.
|
||||
@@ -773,6 +786,7 @@ beef.browser = {
|
||||
var java_enabled = (beef.browser.javaEnabled())? "Yes" : "No";
|
||||
var vbscript_enabled=(beef.browser.hasVBScript())? "Yes" : "No";
|
||||
var has_flash = (beef.browser.hasFlash())? "Yes" : "No";
|
||||
var has_phonegap = (beef.browser.hasPhonegap())? "Yes" : "No";
|
||||
var has_googlegears=(beef.browser.hasGoogleGears())? "Yes":"No";
|
||||
var has_web_socket=(beef.browser.hasWebSocket())? "Yes":"No";
|
||||
var has_activex = (typeof(window.ActiveXObject) != "undefined") ? "Yes":"No";
|
||||
@@ -799,6 +813,7 @@ beef.browser = {
|
||||
if(java_enabled) details['JavaEnabled'] = java_enabled;
|
||||
if(vbscript_enabled) details['VBScriptEnabled'] = vbscript_enabled
|
||||
if(has_flash) details['HasFlash'] = has_flash
|
||||
if(has_phonegap) details['HasPhonegap'] = has_phonegap
|
||||
if(has_web_socket) details['HasWebSocket'] = has_web_socket
|
||||
if(has_googlegears) details['HasGoogleGears'] = has_googlegears
|
||||
if(has_activex) details['HasActiveX'] = has_activex;
|
||||
|
||||
@@ -230,6 +230,14 @@ module BeEF
|
||||
self.err_msg "Invalid value for HasFlash returned from the hook browser's initial connection."
|
||||
end
|
||||
|
||||
# get and store the yes|no value for HasPhonegap
|
||||
has_phonegap = get_param(@data['results'], 'HasPhonegap')
|
||||
if BeEF::Filters.is_valid_yes_no?(has_phonegap)
|
||||
BD.set(session_id, 'HasPhonegap', has_phonegap)
|
||||
else
|
||||
self.err_msg "Invalid value for HasPhonegap returned from the hook browser's initial connection."
|
||||
end
|
||||
|
||||
# get and store the yes|no value for HasGoogleGears
|
||||
has_googlegears = get_param(@data['results'], 'HasGoogleGears')
|
||||
if BeEF::Filters.is_valid_yes_no?(has_googlegears)
|
||||
|
||||
@@ -346,6 +346,21 @@ class Modules < BeEF::Extension::AdminUI::HttpController
|
||||
summary_grid_hash['results'].push(page_name_row) # add the row
|
||||
end
|
||||
|
||||
# set and add the yes|no value for hasPhonegap
|
||||
has_phonegap = BD.get(zombie_session, 'hasPhonegap')
|
||||
if not has_phonegap.nil?
|
||||
encoded_has_phonegap = CGI.escapeHTML(has_phonegap)
|
||||
encoded_has_phonegap_hash = { 'Has Phonegap' => encoded_has_phonegap }
|
||||
|
||||
page_name_row = {
|
||||
'category' => 'Browser',
|
||||
'data' => encoded_has_phonegap_hash,
|
||||
'from' => 'Initialization'
|
||||
}
|
||||
|
||||
summary_grid_hash['results'].push(page_name_row) # add the row
|
||||
end
|
||||
|
||||
# set and add the yes|no value for HasGoogleGears
|
||||
has_googlegears = BD.get(zombie_session, 'HasGoogleGears')
|
||||
if not has_googlegears.nil?
|
||||
|
||||
@@ -85,17 +85,19 @@ class Panel < BeEF::Extension::AdminUI::HttpController
|
||||
# create a hash of simple hooked browser details
|
||||
def get_simple_hooked_browser_hash(hooked_browser)
|
||||
|
||||
browser_name = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'BrowserName')
|
||||
browser_version = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'BrowserVersion')
|
||||
browser_icon = BeEF::Core::Models::BrowserDetails.browser_icon(hooked_browser.session)
|
||||
os_icon = BeEF::Core::Models::BrowserDetails.os_icon(hooked_browser.session)
|
||||
os_name = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'OsName')
|
||||
hw_icon = BeEF::Core::Models::BrowserDetails.hw_icon(hooked_browser.session)
|
||||
hw_name = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'Hardware')
|
||||
domain = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HostName')
|
||||
has_flash = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HasFlash')
|
||||
has_web_sockets = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HasWebSocket')
|
||||
date_stamp = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'DateStamp')
|
||||
browser_name = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'BrowserName')
|
||||
browser_version = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'BrowserVersion')
|
||||
browser_icon = BeEF::Core::Models::BrowserDetails.browser_icon(hooked_browser.session)
|
||||
os_icon = BeEF::Core::Models::BrowserDetails.os_icon(hooked_browser.session)
|
||||
os_name = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'OsName')
|
||||
hw_icon = BeEF::Core::Models::BrowserDetails.hw_icon(hooked_browser.session)
|
||||
hw_name = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'Hardware')
|
||||
domain = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HostName')
|
||||
has_flash = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HasFlash')
|
||||
has_web_sockets = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HasWebSocket')
|
||||
has_googlegears = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HasGoogleGears')
|
||||
has_phonegap = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HasPhonegap')
|
||||
date_stamp = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'DateStamp')
|
||||
|
||||
return {
|
||||
'session' => hooked_browser.session,
|
||||
@@ -111,6 +113,8 @@ class Panel < BeEF::Extension::AdminUI::HttpController
|
||||
'hw_name' => hw_name,
|
||||
'has_flash' => has_flash,
|
||||
'has_web_sockets' => has_web_sockets,
|
||||
'has_googlegears' => has_googlegears,
|
||||
'has_phonegap' => has_phonegap,
|
||||
'date_stamp' => date_stamp
|
||||
}
|
||||
|
||||
|
||||
@@ -21,34 +21,38 @@ var ZombiesMgr = function(zombies_tree_lists) {
|
||||
// this is a helper class to create a zombie object from a JSON hash index
|
||||
this.zombieFactory = function(index, zombie_array){
|
||||
|
||||
var ip = zombie_array[index]["ip"];
|
||||
var session = zombie_array[index]["session"];
|
||||
var browser_name = zombie_array[index]["browser_name"];
|
||||
var browser_version = zombie_array[index]["browser_version"];
|
||||
var browser_icon = zombie_array[index]["browser_icon"];
|
||||
var os_icon = zombie_array[index]["os_icon"];
|
||||
var os_name = zombie_array[index]["os_name"];
|
||||
var hw_name = zombie_array[index]["hw_name"];
|
||||
var hw_icon = zombie_array[index]["hw_icon"];
|
||||
var domain = zombie_array[index]["domain"];
|
||||
var port = zombie_array[index]["port"];
|
||||
var has_flash = zombie_array[index]["has_flash"];
|
||||
var has_web_sockets = zombie_array[index]["has_web_sockets"];
|
||||
var date_stamp = zombie_array[index]["date_stamp"];
|
||||
var ip = zombie_array[index]["ip"];
|
||||
var session = zombie_array[index]["session"];
|
||||
var browser_name = zombie_array[index]["browser_name"];
|
||||
var browser_version = zombie_array[index]["browser_version"];
|
||||
var browser_icon = zombie_array[index]["browser_icon"];
|
||||
var os_icon = zombie_array[index]["os_icon"];
|
||||
var os_name = zombie_array[index]["os_name"];
|
||||
var hw_name = zombie_array[index]["hw_name"];
|
||||
var hw_icon = zombie_array[index]["hw_icon"];
|
||||
var domain = zombie_array[index]["domain"];
|
||||
var port = zombie_array[index]["port"];
|
||||
var has_flash = zombie_array[index]["has_flash"];
|
||||
var has_web_sockets = zombie_array[index]["has_web_sockets"];
|
||||
var has_googlegears = zombie_array[index]["has_googlegears"];
|
||||
var has_phonegap = zombie_array[index]["has_phonegap"];
|
||||
var date_stamp = zombie_array[index]["date_stamp"];
|
||||
|
||||
text = "<img src='/ui/media/images/icons/"+escape(browser_icon)+"' style='padding-top:3px;' width='13px' height='13px'/> ";
|
||||
text+= "<img src='/ui/media/images/icons/"+escape(os_icon)+"' style='padding-top:3px;' width='13px' height='13px'/> ";
|
||||
text+= "<img src='/ui/media/images/icons/"+escape(hw_icon)+"' style='padding-top:3px;' width='13px' height='13px'/> ";
|
||||
text+= ip;
|
||||
|
||||
balloon_text = "IP: "+ip;
|
||||
balloon_text+= "<br/>Browser: " + browser_name + " " + browser_version;
|
||||
balloon_text+= "<br/>System: " + os_name;
|
||||
balloon_text+= "<br/>Hardware: " + hw_name;
|
||||
balloon_text+= "<br/>Domain: " + domain + ":" + port;
|
||||
balloon_text+= "<br/>Flash: " + has_flash;
|
||||
balloon_text+= "<br/>Web Sockets: " + has_web_sockets;
|
||||
balloon_text+= "<br/>Date: " + date_stamp;
|
||||
balloon_text = "IP: " + ip;
|
||||
balloon_text+= "<br/>Browser: " + browser_name + " " + browser_version;
|
||||
balloon_text+= "<br/>System: " + os_name;
|
||||
balloon_text+= "<br/>Hardware: " + hw_name;
|
||||
balloon_text+= "<br/>Domain: " + domain + ":" + port;
|
||||
balloon_text+= "<br/>Flash: " + has_flash;
|
||||
balloon_text+= "<br/>Web Sockets: " + has_web_sockets;
|
||||
balloon_text+= "<br/>Google Gears: " + has_googlegears;
|
||||
balloon_text+= "<br/>Phonegap API: " + has_phonegap;
|
||||
balloon_text+= "<br/>Date: " + date_stamp;
|
||||
|
||||
var new_zombie = {
|
||||
'id' : index,
|
||||
|
||||
@@ -550,6 +550,21 @@ class ShellInterface
|
||||
summary_grid_hash['results'].push(page_name_row) # add the row
|
||||
end
|
||||
|
||||
# set and add the yes|no value for HasPhonegap
|
||||
has_phonegap = BD.get(self.targetsession, 'HasPhonegap')
|
||||
if not has_phonegap.nil?
|
||||
encoded_has_phonegap = CGI.escapeHTML(has_phonegap)
|
||||
encoded_has_phonegap_hash = { 'Has Phonegap' => encoded_has_phonegap }
|
||||
|
||||
page_name_row = {
|
||||
'category' => 'Browser',
|
||||
'data' => encoded_has_phonegap_hash,
|
||||
'from' => 'Initialization'
|
||||
}
|
||||
|
||||
summary_grid_hash['results'].push(page_name_row) # add the row
|
||||
end
|
||||
|
||||
# set and add the yes|no value for HasGoogleGears
|
||||
has_googlegears = BD.get(self.targetsession, 'HasGoogleGears')
|
||||
if not has_googlegears.nil?
|
||||
|
||||
@@ -24,7 +24,7 @@ beef:
|
||||
target:
|
||||
working:
|
||||
S:
|
||||
os: ["iPhone"]
|
||||
os: ["iOS"]
|
||||
not_working:
|
||||
ALL:
|
||||
os: ["All"]
|
||||
|
||||
@@ -24,5 +24,5 @@ beef:
|
||||
target:
|
||||
not_working:
|
||||
ALL:
|
||||
os: ["iPhone"]
|
||||
os: ["iOS"]
|
||||
working: ["ALL"]
|
||||
|
||||
@@ -24,6 +24,6 @@ beef:
|
||||
target:
|
||||
not_working:
|
||||
ALL:
|
||||
os: ["iPhone", "Macintosh"]
|
||||
os: ["iOS", "Macintosh"]
|
||||
working: ["O", "FF", "S", "IE"]
|
||||
user_notify: ["C"]
|
||||
|
||||
@@ -24,6 +24,6 @@ beef:
|
||||
target:
|
||||
not_working:
|
||||
ALL:
|
||||
os: ["iPhone"]
|
||||
os: ["iOS"]
|
||||
working: ["All"]
|
||||
user_notify: ["FF", "C"]
|
||||
|
||||
@@ -24,7 +24,7 @@ beef:
|
||||
target:
|
||||
user_notify:
|
||||
S:
|
||||
os: ["iPhone"]
|
||||
os: ["iOS"]
|
||||
not_working:
|
||||
ALL:
|
||||
os: ["All"]
|
||||
|
||||
Reference in New Issue
Block a user