2014-08-15 18:33:31 +02:00
|
|
|
# coding: utf-8
|
|
|
|
|
|
|
|
# During build, the Gemfile is temporarily moved and
|
|
|
|
# we must manually define the project root
|
|
|
|
if ENV['MSF_ROOT']
|
|
|
|
lib = File.realpath(File.expand_path('lib', ENV['MSF_ROOT']))
|
|
|
|
else
|
|
|
|
# have to use realpath as metasploit-framework is often loaded through a symlink and tools like Coverage and debuggers
|
|
|
|
# require realpaths.
|
|
|
|
lib = File.realpath(File.expand_path('../lib', __FILE__))
|
|
|
|
end
|
|
|
|
|
|
|
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
|
require 'metasploit/framework/version'
|
2014-12-19 18:37:23 +01:00
|
|
|
require 'metasploit/framework/rails_version_constraint'
|
2014-08-15 18:33:31 +02:00
|
|
|
|
|
|
|
Gem::Specification.new do |spec|
|
|
|
|
spec.name = 'metasploit-framework'
|
|
|
|
spec.version = Metasploit::Framework::GEM_VERSION
|
|
|
|
spec.authors = ['Metasploit Hackers']
|
|
|
|
spec.email = ['metasploit-hackers@lists.sourceforge.net']
|
|
|
|
spec.summary = 'metasploit-framework'
|
|
|
|
spec.description = 'metasploit-framework'
|
|
|
|
spec.homepage = 'https://www.metasploit.com'
|
|
|
|
spec.license = 'BSD-3-clause'
|
|
|
|
|
2017-05-30 15:50:29 +02:00
|
|
|
if File.directory?(File.join(File.dirname(__FILE__), ".git"))
|
2017-05-26 17:07:49 +02:00
|
|
|
spec.files = `git ls-files`.split($/).reject { |file|
|
2017-05-26 17:35:49 +02:00
|
|
|
file =~ /^documentation|^external/
|
2017-05-26 17:07:49 +02:00
|
|
|
}
|
|
|
|
end
|
2014-08-15 18:33:31 +02:00
|
|
|
spec.bindir = '.'
|
2015-12-30 18:00:45 +01:00
|
|
|
if ENV['CREATE_BINSTUBS']
|
|
|
|
spec.executables = [
|
2014-08-15 18:33:31 +02:00
|
|
|
'msfconsole',
|
|
|
|
'msfd',
|
|
|
|
'msfrpc',
|
|
|
|
'msfrpcd',
|
|
|
|
'msfvenom'
|
2015-12-30 18:00:45 +01:00
|
|
|
]
|
|
|
|
end
|
2014-08-15 18:33:31 +02:00
|
|
|
spec.test_files = spec.files.grep(%r{^spec/})
|
|
|
|
spec.require_paths = ["lib"]
|
|
|
|
|
2015-11-09 20:03:26 +01:00
|
|
|
# Database support
|
|
|
|
spec.add_runtime_dependency 'activerecord', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
|
2014-08-15 18:33:31 +02:00
|
|
|
# Need 3+ for ActiveSupport::Concern
|
2014-12-19 20:54:13 +01:00
|
|
|
spec.add_runtime_dependency 'activesupport', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed for config.action_view for view plugin compatibility for Pro
|
2014-12-19 20:54:13 +01:00
|
|
|
spec.add_runtime_dependency 'actionpack', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
|
2017-05-18 06:39:45 +02:00
|
|
|
# Backports Ruby features across language versions
|
|
|
|
spec.add_runtime_dependency 'backports'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed for some admin modules (cfme_manageiq_evm_pass_reset.rb)
|
|
|
|
spec.add_runtime_dependency 'bcrypt'
|
2014-09-20 02:10:39 +02:00
|
|
|
# Needed for Javascript obfuscation
|
2016-04-15 18:45:43 +02:00
|
|
|
spec.add_runtime_dependency 'jsobfu'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed for some admin modules (scrutinizer_add_user.rb)
|
|
|
|
spec.add_runtime_dependency 'json'
|
2014-12-23 03:26:30 +01:00
|
|
|
# Metasm compiler/decompiler/assembler
|
2016-04-15 18:45:43 +02:00
|
|
|
spec.add_runtime_dependency 'metasm'
|
2014-09-18 16:33:57 +02:00
|
|
|
# Metasploit::Concern hooks
|
2016-04-06 21:47:43 +02:00
|
|
|
spec.add_runtime_dependency 'metasploit-concern'
|
2015-11-09 20:03:26 +01:00
|
|
|
# Metasploit::Credential database models
|
2016-05-13 20:34:18 +02:00
|
|
|
spec.add_runtime_dependency 'metasploit-credential'
|
2015-11-09 20:03:26 +01:00
|
|
|
# Database models shared between framework and Pro.
|
2016-05-13 20:34:18 +02:00
|
|
|
spec.add_runtime_dependency 'metasploit_data_models'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Things that would normally be part of the database model, but which
|
|
|
|
# are needed when there's no database
|
2016-05-13 20:34:18 +02:00
|
|
|
spec.add_runtime_dependency 'metasploit-model'
|
2015-06-22 23:56:54 +02:00
|
|
|
# Needed for Meterpreter
|
2017-06-27 11:08:15 +02:00
|
|
|
spec.add_runtime_dependency 'metasploit-payloads', '1.2.37'
|
2016-05-26 23:17:43 +02:00
|
|
|
# Needed for the next-generation POSIX Meterpreter
|
2017-06-09 09:15:52 +02:00
|
|
|
spec.add_runtime_dependency 'metasploit_payloads-mettle', '0.1.10'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed by msfgui and other rpc components
|
|
|
|
spec.add_runtime_dependency 'msgpack'
|
2015-11-09 20:03:26 +01:00
|
|
|
# get list of network interfaces, like eth* from OS.
|
2016-04-15 18:45:43 +02:00
|
|
|
spec.add_runtime_dependency 'network_interface'
|
2016-07-06 00:05:42 +02:00
|
|
|
# NTLM authentication
|
|
|
|
spec.add_runtime_dependency 'rubyntlm'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed by anemone crawler
|
|
|
|
spec.add_runtime_dependency 'nokogiri'
|
|
|
|
# Needed by db.rb and Msf::Exploit::Capture
|
2017-05-09 18:03:32 +02:00
|
|
|
spec.add_runtime_dependency 'packetfu'
|
2015-11-09 20:03:26 +01:00
|
|
|
# For sniffer and raw socket modules
|
|
|
|
spec.add_runtime_dependency 'pcaprub'
|
2017-06-21 10:13:43 +02:00
|
|
|
# Used by the Metasploit data model, etc.
|
|
|
|
# bound to 0.20 for Activerecord 4.2.8 deprecation warnings:
|
|
|
|
# https://github.com/ged/ruby-pg/commit/c90ac644e861857ae75638eb6954b1cb49617090
|
2017-06-21 10:11:11 +02:00
|
|
|
spec.add_runtime_dependency 'pg', '0.20.0'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Run initializers for metasploit-concern, metasploit-credential, metasploit_data_models Rails::Engines
|
|
|
|
spec.add_runtime_dependency 'railties'
|
2014-10-29 22:26:36 +01:00
|
|
|
# required for OS fingerprinting
|
2016-04-15 18:45:43 +02:00
|
|
|
spec.add_runtime_dependency 'recog'
|
2015-10-07 11:16:49 +02:00
|
|
|
# required for bitlocker fvek extraction
|
2016-04-15 18:45:43 +02:00
|
|
|
spec.add_runtime_dependency 'openssl-ccm'
|
2016-03-25 02:43:51 +01:00
|
|
|
# Needed for documentation generation
|
|
|
|
spec.add_runtime_dependency 'octokit'
|
|
|
|
spec.add_runtime_dependency 'redcarpet'
|
2016-03-30 06:21:01 +02:00
|
|
|
# Needed for Microsoft patch finding tool (msu_finder)
|
2016-04-15 18:45:43 +02:00
|
|
|
spec.add_runtime_dependency 'patch_finder'
|
2016-05-17 18:40:25 +02:00
|
|
|
# TimeZone info
|
|
|
|
spec.add_runtime_dependency 'tzinfo-data'
|
2016-06-28 23:10:48 +02:00
|
|
|
# Gem for dealing with SSHKeys
|
|
|
|
spec.add_runtime_dependency 'sshkey'
|
2016-06-28 22:58:47 +02:00
|
|
|
# BitStruct Library used for handling certain Protocol Header/Packet construction
|
|
|
|
spec.add_runtime_dependency 'bit-struct'
|
2016-07-26 23:59:13 +02:00
|
|
|
# Library for interpreting Windows error codes and strings
|
|
|
|
spec.add_runtime_dependency 'windows_error'
|
2017-04-13 14:12:38 +02:00
|
|
|
# This used to be depended on by nokogiri, depended on by wmap
|
2017-04-14 00:33:29 +02:00
|
|
|
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.3.0')
|
|
|
|
spec.add_runtime_dependency 'xmlrpc'
|
|
|
|
end
|
2016-05-14 02:00:52 +02:00
|
|
|
|
2016-07-05 18:08:57 +02:00
|
|
|
#
|
|
|
|
# Protocol Libraries
|
|
|
|
#
|
2016-10-09 01:34:44 +02:00
|
|
|
spec.add_runtime_dependency 'dnsruby'
|
2016-07-05 18:08:57 +02:00
|
|
|
spec.add_runtime_dependency 'net-ssh'
|
2017-03-28 23:12:12 +02:00
|
|
|
spec.add_runtime_dependency 'ruby_smb'
|
2016-07-05 18:08:57 +02:00
|
|
|
|
2016-06-21 20:56:36 +02:00
|
|
|
#
|
|
|
|
# REX Libraries
|
|
|
|
#
|
2016-08-26 21:00:13 +02:00
|
|
|
# Core of the Ruby Exploitation Library
|
|
|
|
spec.add_runtime_dependency 'rex-core'
|
2016-06-21 20:56:36 +02:00
|
|
|
# Text manipulation library for things like generating random string
|
|
|
|
spec.add_runtime_dependency 'rex-text'
|
|
|
|
# Library for Generating Randomized strings valid as Identifiers such as variable names
|
|
|
|
spec.add_runtime_dependency 'rex-random_identifier'
|
|
|
|
# library for creating Powershell scripts for exploitation purposes
|
|
|
|
spec.add_runtime_dependency 'rex-powershell'
|
|
|
|
# Library for processing and creating Zip compatbile archives
|
|
|
|
spec.add_runtime_dependency 'rex-zip'
|
|
|
|
# Library for parsing offline Windows Registry files
|
|
|
|
spec.add_runtime_dependency 'rex-registry'
|
2016-06-27 21:52:49 +02:00
|
|
|
# Library for parsing Java serialized streams
|
|
|
|
spec.add_runtime_dependency 'rex-java'
|
2016-07-15 23:01:21 +02:00
|
|
|
# Library for C-style structs
|
|
|
|
spec.add_runtime_dependency 'rex-struct2'
|
2016-09-27 11:01:05 +02:00
|
|
|
# Library which contains architecture specific information such as registers, opcodes,
|
2016-07-20 23:42:41 +02:00
|
|
|
# and stack manipulation routines.
|
2017-05-30 06:41:10 +02:00
|
|
|
spec.add_runtime_dependency 'rex-arch'
|
2016-07-22 01:07:23 +02:00
|
|
|
# Library for working with OLE.
|
|
|
|
spec.add_runtime_dependency 'rex-ole'
|
2016-09-01 18:38:07 +02:00
|
|
|
# Library for creating and/or parsing MIME messages.
|
|
|
|
spec.add_runtime_dependency 'rex-mime'
|
2016-09-06 18:27:06 +02:00
|
|
|
# Library for Dynamic Multi-byte x86 NOP generation
|
|
|
|
spec.add_runtime_dependency 'rex-nop'
|
2016-08-15 21:01:43 +02:00
|
|
|
# Library for parsing and manipulating executable binaries
|
|
|
|
spec.add_runtime_dependency 'rex-bin_tools'
|
2016-08-26 21:00:13 +02:00
|
|
|
# Rex Socket Abstraction Layer
|
2016-08-26 21:12:16 +02:00
|
|
|
spec.add_runtime_dependency 'rex-socket'
|
2016-08-30 17:43:47 +02:00
|
|
|
# Library for scanning a server's SSL/TLS capabilities
|
|
|
|
spec.add_runtime_dependency 'rex-sslscan'
|
2016-09-12 23:06:53 +02:00
|
|
|
# Library and tool for finding ROP gadgets in a supplied binary
|
|
|
|
spec.add_runtime_dependency 'rex-rop_builder'
|
2016-09-14 19:07:26 +02:00
|
|
|
# Library for polymorphic encoders; used for payload encoding
|
|
|
|
spec.add_runtime_dependency 'rex-encoder'
|
2016-10-12 00:40:43 +02:00
|
|
|
# Library for exploit development helpers
|
|
|
|
spec.add_runtime_dependency 'rex-exploitation'
|
2017-01-18 15:20:16 +01:00
|
|
|
# Command line editing, history, and tab completion in msfconsole
|
|
|
|
spec.add_runtime_dependency 'rb-readline'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed by anemone crawler
|
|
|
|
spec.add_runtime_dependency 'robots'
|
|
|
|
# Needed by some modules
|
2016-04-15 18:45:43 +02:00
|
|
|
spec.add_runtime_dependency 'rubyzip'
|
2014-08-15 18:33:31 +02:00
|
|
|
# Needed for some post modules
|
|
|
|
spec.add_runtime_dependency 'sqlite3'
|
|
|
|
# required for Time::TZInfo in ActiveSupport
|
|
|
|
spec.add_runtime_dependency 'tzinfo'
|
2015-10-28 22:28:33 +01:00
|
|
|
# Needed so that disk size output isn't horrible
|
|
|
|
spec.add_runtime_dependency 'filesize'
|
2016-08-19 00:02:46 +02:00
|
|
|
# Needed for openvas plugin
|
|
|
|
spec.add_runtime_dependency 'openvas-omp'
|
2016-08-14 17:57:33 +02:00
|
|
|
# Needed by metasploit nessus bridge
|
|
|
|
spec.add_runtime_dependency 'nessus_rest'
|
2017-01-25 17:13:28 +01:00
|
|
|
# Nexpose Gem
|
|
|
|
spec.add_runtime_dependency 'nexpose'
|
2017-05-23 14:11:06 +02:00
|
|
|
# Needed for NDMP sockets
|
|
|
|
spec.add_runtime_dependency 'xdr'
|
2014-08-15 18:33:31 +02:00
|
|
|
end
|