1
mirror of https://github.com/rapid7/metasploit-framework synced 2024-07-11 21:38:02 +02:00
metasploit-framework/metasploit-framework.gemspec

222 lines
8.9 KiB
Ruby
Raw Normal View History

# 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'
require 'metasploit/framework/rails_version_constraint'
2017-07-17 10:10:12 +02:00
require 'msf/util/helper'
Gem::Specification.new do |spec|
spec.name = 'metasploit-framework'
spec.version = Metasploit::Framework::GEM_VERSION
spec.authors = ['Metasploit Hackers']
2017-08-20 20:23:54 +02:00
spec.email = ['msfdev@metasploit.com']
spec.summary = 'metasploit-framework'
spec.description = 'metasploit-framework'
spec.homepage = 'https://www.metasploit.com'
spec.license = 'BSD-3-clause'
2017-07-10 16:38:10 +02:00
# only do a git ls-files if the .git folder exists and we have a git binary in PATH
2017-07-17 09:58:20 +02:00
if File.directory?(File.join(File.dirname(__FILE__), ".git")) && Msf::Util::Helper.which("git")
spec.files = `git ls-files`.split($/).reject { |file|
file =~ /^documentation|^external/
}
end
spec.bindir = '.'
2015-12-30 18:00:45 +01:00
if ENV['CREATE_BINSTUBS']
spec.executables = [
'msfconsole',
'msfd',
'msfrpc',
'msfrpcd',
'msfvenom'
2015-12-30 18:00:45 +01:00
]
end
spec.test_files = spec.files.grep(%r{^spec/})
spec.require_paths = ["lib"]
spec.required_ruby_version = '>= 2.5'
2019-11-03 15:46:47 +01:00
# Database support
spec.add_runtime_dependency 'activerecord', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
# Need 3+ for ActiveSupport::Concern
2014-12-19 20:54:13 +01:00
spec.add_runtime_dependency 'activesupport', *Metasploit::Framework::RailsVersionConstraint::RAILS_VERSION
# 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
# Needed for some admin modules (cfme_manageiq_evm_pass_reset.rb)
spec.add_runtime_dependency 'bcrypt', '3.1.12'
# Needed for Javascript obfuscation
spec.add_runtime_dependency 'jsobfu'
# 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
spec.add_runtime_dependency 'metasm'
# Metasploit::Concern hooks
spec.add_runtime_dependency 'metasploit-concern', '~> 2.0.0'
# Metasploit::Credential database models
spec.add_runtime_dependency 'metasploit-credential', '~> 3.0.0'
# Database models shared between framework and Pro.
spec.add_runtime_dependency 'metasploit_data_models', '~> 3.0.10'
# Things that would normally be part of the database model, but which
# are needed when there's no database
spec.add_runtime_dependency 'metasploit-model', '~> 2.0.4'
2015-06-22 23:56:54 +02:00
# Needed for Meterpreter
2020-05-21 15:05:15 +02:00
spec.add_runtime_dependency 'metasploit-payloads', '1.4.2'
# Needed for the next-generation POSIX Meterpreter
2020-03-30 09:07:44 +02:00
spec.add_runtime_dependency 'metasploit_payloads-mettle', '0.5.21'
# Needed by msfgui and other rpc components
spec.add_runtime_dependency 'msgpack'
# get list of network interfaces, like eth* from OS.
spec.add_runtime_dependency 'network_interface'
# NTLM authentication
spec.add_runtime_dependency 'rubyntlm'
# Needed by anemone crawler
spec.add_runtime_dependency 'nokogiri'
# Needed by db.rb and Msf::Exploit::Capture
spec.add_runtime_dependency 'packetfu'
# 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.2x for Activerecord 4.2.8 deprecation warnings:
2017-06-21 10:13:43 +02:00
# https://github.com/ged/ruby-pg/commit/c90ac644e861857ae75638eb6954b1cb49617090
spec.add_runtime_dependency 'pg', '~> 0.20'
# 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
spec.add_runtime_dependency 'recog'
# required for bitlocker fvek extraction
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)
spec.add_runtime_dependency 'patch_finder'
# Required for Metasploit Web Services
spec.add_runtime_dependency 'thin'
spec.add_runtime_dependency 'sinatra'
spec.add_runtime_dependency 'warden'
# Required for JSON-RPC client
spec.add_runtime_dependency 'em-http-request'
# TimeZone info
spec.add_runtime_dependency 'tzinfo-data'
# Gem for dealing with SSHKeys
spec.add_runtime_dependency 'sshkey'
# BitStruct Library used for handling certain Protocol Header/Packet construction
spec.add_runtime_dependency 'bit-struct'
# 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
2017-07-07 13:19:06 +02:00
#
# File Parsing Libraries
#
# Needed by auxiliary/gather/http_pdf_authors module
spec.add_runtime_dependency 'pdf-reader'
2017-12-29 04:13:25 +01:00
spec.add_runtime_dependency 'ruby-macho'
2019-07-10 02:12:19 +02:00
# Needed for mongodb/bson
spec.add_runtime_dependency 'bson'
2017-07-07 13:19:06 +02:00
#
# Protocol Libraries
#
2016-10-09 01:34:44 +02:00
spec.add_runtime_dependency 'dnsruby'
spec.add_runtime_dependency 'mqtt'
spec.add_runtime_dependency 'net-ssh'
2018-09-28 23:20:11 +02:00
spec.add_runtime_dependency 'ed25519' # Adds ed25519 keys for net-ssh
2017-08-01 22:26:50 +02:00
spec.add_runtime_dependency 'bcrypt_pbkdf'
spec.add_runtime_dependency 'ruby_smb', '~> 1.1'
2020-04-14 17:53:07 +02:00
spec.add_runtime_dependency 'net-ldap'
#
# REX Libraries
#
2016-08-26 21:00:13 +02:00
# Core of the Ruby Exploitation Library
spec.add_runtime_dependency 'rex-core'
# Text manipulation library for things like generating random string
2018-04-18 17:38:01 +02:00
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
2018-06-21 18:41:16 +02:00
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'
# 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.
spec.add_runtime_dependency 'rex-arch'
# 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'
# Library for Dynamic Multi-byte x86 NOP generation
spec.add_runtime_dependency 'rex-nop'
# 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
spec.add_runtime_dependency 'rex-socket'
# Library for scanning a server's SSL/TLS capabilities
spec.add_runtime_dependency 'rex-sslscan'
# Library and tool for finding ROP gadgets in a supplied binary
spec.add_runtime_dependency 'rex-rop_builder'
# Library for polymorphic encoders; used for payload encoding
spec.add_runtime_dependency 'rex-encoder'
# Library for exploit development helpers
spec.add_runtime_dependency 'rex-exploitation'
# Command line editing, history, and tab completion in msfconsole
spec.add_runtime_dependency 'rb-readline'
# Needed by some modules
spec.add_runtime_dependency 'rubyzip'
# Needed for some post modules
spec.add_runtime_dependency 'sqlite3'
# required for Time::TZInfo in ActiveSupport
spec.add_runtime_dependency 'tzinfo'
# 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'
# Needed by metasploit nessus bridge
spec.add_runtime_dependency 'nessus_rest'
# Nexpose Gem
spec.add_runtime_dependency 'nexpose'
# Needed for NDMP sockets
spec.add_runtime_dependency 'xdr'
# Needed for ::Msf...CertProvider
spec.add_runtime_dependency 'faker'
# Pinned as a dependency of i18n to the last working version
spec.add_runtime_dependency 'concurrent-ruby','1.0.5'
2019-06-04 00:05:41 +02:00
# SSH server library
2019-06-23 02:09:26 +02:00
spec.add_runtime_dependency 'hrr_rb_ssh', '0.3.0.pre2'
2020-05-24 16:26:23 +02:00
# Needed for irb internal command
spec.add_runtime_dependency 'irb'
# AWS enumeration modules
spec.add_runtime_dependency 'aws-sdk-s3'
spec.add_runtime_dependency 'aws-sdk-ec2'
spec.add_runtime_dependency 'aws-sdk-iam'
# Needed for WebSocket Support
spec.add_runtime_dependency 'faye-websocket'
spec.add_runtime_dependency 'eventmachine'
# Earlier than latest Faraday gem is used to prevent upstream Octokit errors
2020-03-26 11:36:13 +01:00
spec.add_runtime_dependency 'faraday'
end