Path: blob/master/extensions/admin_ui/media/javascript/ui/panel/ZombiesMgr.js
1155 views
//1// Copyright (c) 2006-2025 Wade Alcorn - [email protected]2// Browser Exploitation Framework (BeEF) - https://beefproject.com3// See the file 'doc/COPYING' for copying permission4//56var ZombiesMgr = function(zombies_tree_lists) {78//save the list of trees in the object9this.zombies_tree_lists = zombies_tree_lists;1011// this is a helper class to create a zombie object from a JSON hash index12this.zombieFactory = function(index, zombie_array){1314var ip = zombie_array[index]["ip"];15var session = zombie_array[index]["session"];16var browser_name = zombie_array[index]["name"];17var browser_version = zombie_array[index]["version"];18var os_name = zombie_array[index]["os"];19var os_version = zombie_array[index]["os_version"];20var hardware = zombie_array[index]["hardware"];21var domain = zombie_array[index]["domain"];22var port = zombie_array[index]["port"];23var city = zombie_array[index]["city"];24var country = zombie_array[index]["country"];25var country_code = zombie_array[index]["country_code"];26var date_stamp = zombie_array[index]["date_stamp"];2728var new_zombie = {29'id': index,30'ip': ip,31'session': session,32'check': false,33'domain': domain,34'port': port,35'browser_name': browser_name,36'browser_version': browser_version,37'os_name': os_name,38'os_version': os_version,39'hw_name': hardware,40'city': city,41'country': country,42'country_code': country_code,43'date': date_stamp44};4546return new_zombie;47}4849/*50* Update the hooked browser trees51* @param: {Literal Object} an object containing the list of offline and online hooked browsers.52*/53this.updateZombies = function(hooked_browsers){54var offline_hooked_browsers = hooked_browsers["offline"];55var online_hooked_browsers = hooked_browsers["online"];56var new_zombie_list = new Array();5758for(tree_type in this.zombies_tree_lists) {59hooked_browsers_tree = this.zombies_tree_lists[tree_type];6061//we compare and remove the hooked browsers from online and offline branches for each tree.62hooked_browsers_tree.compareAndRemove(hooked_browsers);6364//add an offline browser to the tree65for(var i in offline_hooked_browsers) {66var offline_hooked_browser = this.zombieFactory(i, offline_hooked_browsers);67hooked_browsers_tree.addZombie(offline_hooked_browser, false, ((tree_type != 'basic') ? true : false));68new_zombie_list.push(offline_hooked_browser);69}7071//add an online browser to the tree72for(var i in online_hooked_browsers) {73var online_hooked_browser = this.zombieFactory(i, online_hooked_browsers);74hooked_browsers_tree.addZombie(online_hooked_browser, true, ((tree_type != 'basic') ? true : false));75new_zombie_list.push(online_hooked_browser);76}7778//expand the online hooked browser tree lists79if(hooked_browsers_tree.online_hooked_browsers_treenode.childNodes.length > 0) {80hooked_browsers_tree.online_hooked_browsers_treenode.expand(true);81}8283//expand the offline hooked browser tree lists84if(hooked_browsers_tree.offline_hooked_browsers_treenode.childNodes.length > 0) {85hooked_browsers_tree.offline_hooked_browsers_treenode.expand(true);86}8788}89beefwui.hooked_browsers = new_zombie_list;90}91};929394