diff --git a/Gemfile b/Gemfile index a873eeb9e..11297d839 100644 --- a/Gemfile +++ b/Gemfile @@ -41,6 +41,7 @@ gem "msfrpc-client" # Metasploit Integration extension gem "rubyzip", ">= 1.0.0" gem "rubydns", "0.7.0" # DNS extension gem "geoip" # geolocation support +gem "dm-serializer" # network extension # For running unit tests if ENV['BEEF_TEST'] diff --git a/core/main/handlers/browserdetails.rb b/core/main/handlers/browserdetails.rb index 0541d3393..a91e2c937 100644 --- a/core/main/handlers/browserdetails.rb +++ b/core/main/handlers/browserdetails.rb @@ -177,6 +177,13 @@ module BeEF unless proxy_server.nil? BD.set(session_id, 'ProxyServer', "#{proxy_server}") proxy_log_string += " [server: #{proxy_server}]" + if config.get("beef.extension.network.enable") == true + if proxy_server =~ /^([\d\.]+):([\d]+)$/ + print_debug("Hooked browser [id:#{zombie.id}] is using a proxy [ip: #{$1}]") + r = BeEF::Core::Models::NetworkHost.new(:hooked_browser_id => session_id, :ip => $1, :type => 'Proxy', :cid => 'init') + r.save + end + end end BeEF::Core::Logger.instance.register('Zombie', "#{proxy_log_string}", "#{zombie.id}") end diff --git a/extensions/admin_ui/api/handler.rb b/extensions/admin_ui/api/handler.rb index 49deb4074..5b827d099 100644 --- a/extensions/admin_ui/api/handler.rb +++ b/extensions/admin_ui/api/handler.rb @@ -33,7 +33,7 @@ module API #NOTE: order counts! make sure you know what you're doing if you add files esapi = %w(esapi/Class.create.js esapi/jquery-1.6.4.min.js esapi/jquery-encoder-0.1.0.js) ux = %w(ui/common/beef_common.js ux/PagingStore.js ux/StatusBar.js ux/TabCloseMenu.js) - panel = %w(ui/panel/common.js ui/panel/DistributedEngine.js ui/panel/PanelStatusBar.js ui/panel/tabs/ZombieTabDetails.js ui/panel/tabs/ZombieTabLogs.js ui/panel/tabs/ZombieTabCommands.js ui/panel/tabs/ZombieTabRider.js ui/panel/tabs/ZombieTabXssRays.js wterm/wterm.jquery.js ui/panel/tabs/ZombieTabIpec.js ui/panel/tabs/ZombieTabAutorun.js ui/panel/PanelViewer.js ui/panel/DataGrid.js ui/panel/MainPanel.js ui/panel/ZombieTab.js ui/panel/ZombieTabs.js ui/panel/zombiesTreeList.js ui/panel/ZombiesMgr.js ui/panel/Logout.js ui/panel/WelcomeTab.js ui/panel/ModuleSearching.js) + panel = %w(ui/panel/common.js ui/panel/DistributedEngine.js ui/panel/PanelStatusBar.js ui/panel/tabs/ZombieTabDetails.js ui/panel/tabs/ZombieTabLogs.js ui/panel/tabs/ZombieTabCommands.js ui/panel/tabs/ZombieTabRider.js ui/panel/tabs/ZombieTabXssRays.js wterm/wterm.jquery.js ui/panel/tabs/ZombieTabIpec.js ui/panel/tabs/ZombieTabAutorun.js ui/panel/PanelViewer.js ui/panel/DataGrid.js ui/panel/MainPanel.js ui/panel/ZombieTab.js ui/panel/ZombieTabs.js ui/panel/zombiesTreeList.js ui/panel/ZombiesMgr.js ui/panel/tabs/ZombieTabNetwork.js ui/panel/Logout.js ui/panel/WelcomeTab.js ui/panel/ModuleSearching.js) global_js = esapi + ux + panel diff --git a/extensions/admin_ui/media/css/base.css b/extensions/admin_ui/media/css/base.css index 7c0c8c046..6c7f85b26 100644 --- a/extensions/admin_ui/media/css/base.css +++ b/extensions/admin_ui/media/css/base.css @@ -93,6 +93,70 @@ padding-top: 3px; } +/* + * Network Panel + ****************************************/ +.network-host-ctxMenu-config { + background-image: url(../images/icons/tools.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-host { + background-image: url(../images/icons/pc.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-network { + background-image: url(../images/icons/network.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-web { + background-image: url(../images/icons/web.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-adapter { + background-image: url(../images/icons/adapter.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-router { + background-image: url(../images/icons/router.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-fingerprint { + background-image: url(../images/icons/magnifier.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-cors { + background-image: url(../images/icons/cors.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-shellshock { + background-image: url(../images/icons/shellshock.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + +.network-host-ctxMenu-php { + background-image: url(../images/icons/php.png); + background-size: 16px 16px; + background-repeat: no-repeat; +} + + /* * Ext.beef.msg ****************************************/ diff --git a/extensions/admin_ui/media/images/icons/adapter.png b/extensions/admin_ui/media/images/icons/adapter.png new file mode 100644 index 000000000..43b7a63ea Binary files /dev/null and b/extensions/admin_ui/media/images/icons/adapter.png differ diff --git a/extensions/admin_ui/media/images/icons/cors.png b/extensions/admin_ui/media/images/icons/cors.png new file mode 100644 index 000000000..71127f9be Binary files /dev/null and b/extensions/admin_ui/media/images/icons/cors.png differ diff --git a/extensions/admin_ui/media/images/icons/magnifier.png b/extensions/admin_ui/media/images/icons/magnifier.png new file mode 100644 index 000000000..985cc236f Binary files /dev/null and b/extensions/admin_ui/media/images/icons/magnifier.png differ diff --git a/extensions/admin_ui/media/images/icons/network.png b/extensions/admin_ui/media/images/icons/network.png new file mode 100644 index 000000000..132491d14 Binary files /dev/null and b/extensions/admin_ui/media/images/icons/network.png differ diff --git a/extensions/admin_ui/media/images/icons/pc.png b/extensions/admin_ui/media/images/icons/pc.png index d8f38aca7..8d207a8d0 100644 Binary files a/extensions/admin_ui/media/images/icons/pc.png and b/extensions/admin_ui/media/images/icons/pc.png differ diff --git a/extensions/admin_ui/media/images/icons/php.png b/extensions/admin_ui/media/images/icons/php.png new file mode 100644 index 000000000..e1830d000 Binary files /dev/null and b/extensions/admin_ui/media/images/icons/php.png differ diff --git a/extensions/admin_ui/media/images/icons/router.png b/extensions/admin_ui/media/images/icons/router.png new file mode 100644 index 000000000..09ba9cb92 Binary files /dev/null and b/extensions/admin_ui/media/images/icons/router.png differ diff --git a/extensions/admin_ui/media/images/icons/shellshock.png b/extensions/admin_ui/media/images/icons/shellshock.png new file mode 100644 index 000000000..6f6347c06 Binary files /dev/null and b/extensions/admin_ui/media/images/icons/shellshock.png differ diff --git a/extensions/admin_ui/media/images/icons/tools.png b/extensions/admin_ui/media/images/icons/tools.png new file mode 100644 index 000000000..2a1e72744 Binary files /dev/null and b/extensions/admin_ui/media/images/icons/tools.png differ diff --git a/extensions/admin_ui/media/images/icons/web.png b/extensions/admin_ui/media/images/icons/web.png new file mode 100644 index 000000000..2db402969 Binary files /dev/null and b/extensions/admin_ui/media/images/icons/web.png differ diff --git a/extensions/admin_ui/media/javascript/ui/panel/WelcomeTab.js b/extensions/admin_ui/media/javascript/ui/panel/WelcomeTab.js index 932811ca0..0485255ff 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/WelcomeTab.js +++ b/extensions/admin_ui/media/javascript/ui/panel/WelcomeTab.js @@ -35,7 +35,8 @@ WelcomeTab = function() {
  • The command module does not work against this target

  • \
  • XssRays: The XssRays tab allows the user to check if links, forms and URI path of the page (where the browser is hooked) is vulnerable to XSS.
  • \
  • Rider: The Rider tab allows you to submit arbitrary HTTP requests on behalf of the hooked browser. \ - Each request sent by the Rider is recorded in the History panel. Click a history item to view the HTTP headers and HTML source of the HTTP response.

  • \ + Each request sent by the Rider is recorded in the History panel. Click a history item to view the HTTP headers and HTML source of the HTTP response. \ +
  • Network: The Network tab allows you to interact with hosts on the local network(s) of the hooked browser.

  • \

    You can also right-click a hooked browser to open a context-menu with additional functionality:


    \