diff --git a/extensions/ipec/config.yaml b/extensions/ipec/config.yaml new file mode 100644 index 000000000..28b9dde4b --- /dev/null +++ b/extensions/ipec/config.yaml @@ -0,0 +1,21 @@ +# +# Copyright 2012 Wade Alcorn wade@bindshell.net +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +beef: + extension: + ipec: + enable: true + name: 'Inter-Protocol Exploitation' + authors: ["antisnatchor"] diff --git a/extensions/ipec/extension.rb b/extensions/ipec/extension.rb new file mode 100644 index 000000000..b8464e0d6 --- /dev/null +++ b/extensions/ipec/extension.rb @@ -0,0 +1,60 @@ +# +# Copyright 2012 Wade Alcorn wade@bindshell.net +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +module BeEF +module Extension + + #todo remove it from here: + # Handlers + #require 'extensions/ipec/fingerprinter' + #require 'extensions/ipec/launcher' + require 'extensions/ipec/junk_calculator' + + module Ipec + extend BeEF::API::Extension + + @short_name = 'Ipec' + @full_name = 'Inter-Protocol Exploitation' + @description = "Use the Inter-Protocol Exploitation technique to send shellcode to daemons implementing 'tolerant' protocols." + + module RegisterIpecRestHandler + def self.mount_handler(server) + server.mount('/api/ipec', BeEF::Extension::Ipec::IpecRest.new) + end + end + + BeEF::API::Registrar.instance.register(BeEF::Extension::Ipec::RegisterIpecRestHandler, BeEF::API::Server, 'mount_handler') + + #todo remove it from here, and make it dynamic. + BeEF::Extension::Ipec::JunkCalculator.instance.bind_junk_calculator("imapeudora1") + end +end +end + +# Models +# todo: to be used when we'll have more IPEC exploits +#require 'extensions/ipec/models/ipec_exploits' +#require 'extensions/ipec/models/ipec_exploits_run' + +# RESTful api endpoints +require 'extensions/ipec/rest/ipec' + + + + + + + + diff --git a/extensions/ipec/files/LinkTargetFinder.xpi b/extensions/ipec/files/LinkTargetFinder.xpi new file mode 100644 index 000000000..3fadfa9c2 Binary files /dev/null and b/extensions/ipec/files/LinkTargetFinder.xpi differ diff --git a/extensions/ipec/files/LinkTargetFinder/chrome.manifest b/extensions/ipec/files/LinkTargetFinder/chrome.manifest new file mode 100644 index 000000000..f9ad9ab4c --- /dev/null +++ b/extensions/ipec/files/LinkTargetFinder/chrome.manifest @@ -0,0 +1,8 @@ +content linktargetfinder chrome/content/ +content linktargetfinder chrome/content/ contentaccessible=yes +overlay chrome://browser/content/browser.xul chrome://linktargetfinder/content/browser.xul + +locale linktargetfinder en-US locale/en-US/ + +skin linktargetfinder classic/1.0 skin/ +style chrome://global/content/customizeToolbar.xul chrome://linktargetfinder/skin/skin.css \ No newline at end of file diff --git a/extensions/ipec/files/LinkTargetFinder/chrome/content/browser.xul b/extensions/ipec/files/LinkTargetFinder/chrome/content/browser.xul new file mode 100644 index 000000000..5b63810a8 --- /dev/null +++ b/extensions/ipec/files/LinkTargetFinder/chrome/content/browser.xul @@ -0,0 +1,22 @@ + + + + +