diff --git a/core/main/models/browserdetails.rb b/core/main/models/browserdetails.rb
index 0cd114c75..8a8f79c61 100644
--- a/core/main/models/browserdetails.rb
+++ b/core/main/models/browserdetails.rb
@@ -62,7 +62,7 @@ module Models
browserdetails
end
-
+
#
# Returns the icon representing the browser type the
# hooked browser is using (i.e. Firefox, Internet Explorer)
diff --git a/extensions/admin_ui/controllers/panel/panel.rb b/extensions/admin_ui/controllers/panel/panel.rb
index f50adb121..c67ec41f7 100644
--- a/extensions/admin_ui/controllers/panel/panel.rb
+++ b/extensions/admin_ui/controllers/panel/panel.rb
@@ -84,18 +84,30 @@ class Panel < BeEF::Extension::AdminUI::HttpController
# create a hash of simple hooked browser details
def get_simple_hooked_browser_hash(hooked_browser)
-
- browser_icon = BeEF::Core::Models::BrowserDetails.browser_icon(hooked_browser.session)
- os_icon = BeEF::Core::Models::BrowserDetails.os_icon(hooked_browser.session)
- domain = BeEF::Core::Models::BrowserDetails.get(hooked_browser.session, 'HostName')
-
+
+ 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')
+ 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')
+
return {
- 'session' => hooked_browser.session,
- 'ip' => hooked_browser.ip,
- 'domain' => domain,
- 'port' => hooked_browser.port.to_s,
- 'browser_icon' => browser_icon,
- 'os_icon' => os_icon
+ 'session' => hooked_browser.session,
+ 'ip' => hooked_browser.ip,
+ 'domain' => domain,
+ 'port' => hooked_browser.port.to_s,
+ 'browser_name' => browser_name,
+ 'browser_version' => browser_version,
+ 'browser_icon' => browser_icon,
+ 'os_icon' => os_icon,
+ 'os_name' => os_name,
+ 'has_flash' => has_flash,
+ 'has_web_sockets' => has_web_sockets,
+ 'date_stamp' => date_stamp
}
end
diff --git a/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js b/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js
index c764f94cf..964e586a4 100644
--- a/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js
+++ b/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js
@@ -20,18 +20,41 @@ 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){
- text = "
";
- text += "
";
- text += zombie_array[index]["ip"];
+
+ 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 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"];
+
+ text = "
";
+ text+= "
";
+ text+= ip;
+
+ balloon_text = "IP: "+ip;
+ balloon_text+= "
Browser: " + browser_name + " " + browser_version;
+ balloon_text+= "
System: " + os_name;
+ balloon_text+= "
Domain: " + domain + ":" + port;
+ balloon_text+= "
Flash: " + has_flash;
+ balloon_text+= "
Web Sockets: " + has_web_sockets;
+ balloon_text+= "
Date: " + date_stamp;
var new_zombie = {
- 'id' : index,
- 'ip' : zombie_array[index]["ip"],
- 'session' : zombie_array[index]["session"],
- 'text': text,
- 'check' : false,
- 'domain' : zombie_array[index]["domain"],
- 'port' : zombie_array[index]["port"]
+ 'id' : index,
+ 'ip' : ip,
+ 'session' : session,
+ 'text' : text,
+ 'balloon_text' : balloon_text,
+ 'check' : false,
+ 'domain' : domain,
+ 'port' : port
};
return new_zombie;
diff --git a/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js b/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js
index 247a44fe9..aa04f300f 100644
--- a/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js
+++ b/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js
@@ -196,7 +196,7 @@ Ext.extend(zombiesTreeList, Ext.tree.TreePanel, {
var exists = this.getNodeById(hb_id);
if(exists) return;
- hooked_browser.qtip = hooked_browser.text + ' hooked on ' + hooked_browser.domain + ":" + hooked_browser.port;
+ hooked_browser.qtip = hooked_browser.balloon_text;
//save a new online HB
if(online && Ext.pluck(this.online_hooked_browsers_array, 'session').indexOf(hooked_browser.session)==-1) {
@@ -220,7 +220,7 @@ Ext.extend(zombiesTreeList, Ext.tree.TreePanel, {
//creates a new node for that hooked browser
node = new Ext.tree.TreeNode(hooked_browser);
-
+
//creates a sub-branch for that HB if necessary
mother_node = this.addSubFolder(mother_node, hooked_browser[this.tree_configuration['sub-branch']], checkbox);