metasploit-framework/lib/msf/core/constants.rb

199 lines
5.2 KiB
Ruby

# -*- coding: binary -*-
###
#
# This file contains constants that are referenced by the core
# framework and by framework modules.
#
###
module Msf
#
# Module types
#
MODULE_ANY = '_any_'
MODULE_ENCODER = 'encoder'
MODULE_EXPLOIT = 'exploit'
MODULE_NOP = 'nop'
MODULE_AUX = 'auxiliary'
MODULE_PAYLOAD = 'payload'
MODULE_POST = 'post'
MODULE_EVASION = 'evasion'
MODULE_TYPES =
[
MODULE_ENCODER,
MODULE_PAYLOAD,
MODULE_EXPLOIT,
MODULE_NOP,
MODULE_POST,
MODULE_AUX,
MODULE_EVASION
]
#
# Module rankings
#
ManualRanking = 0
LowRanking = 100
AverageRanking = 200
NormalRanking = 300
GoodRanking = 400
GreatRanking = 500
ExcellentRanking = 600
RankingName =
{
ManualRanking => "manual",
LowRanking => "low",
AverageRanking => "average",
NormalRanking => "normal",
GoodRanking => "good",
GreatRanking => "great",
ExcellentRanking => "excellent"
}
#
# Stability traits
#
# Module should not crash the service
CRASH_SAFE = 'crash-safe'
# Module may crash the service, but the service restarts.
CRASH_SERVICE_RESTARTS = 'crash-service-restarts'
# Module may crash the service, and the service remains down.
CRASH_SERVICE_DOWN = 'crash-service-down'
# Module may crash the OS, but the OS restarts.
CRASH_OS_RESTARTS = 'crash-os-restarts'
# Module may crash the OS, and the OS remains down.
CRASH_OS_DOWN = 'crash-os-down'
# Module may cause a resource (such as a file or data in database) to be unavailable for the service.
SERVICE_RESOURCE_LOSS = 'service-resource-loss'
# Modules may cause a resource (such as a file) to be unavailable for the OS.
OS_RESOURCE_LOSS = 'os-resource-loss'
#
# Side-effect traits
#
# Modules leaves payload or a dropper on the target machine
ARTIFACTS_ON_DISK = 'artifacts-on-disk'
# Module modifies some config file on the target machine
CONFIG_CHANGES = 'config-changes'
# Module leaves signs of a compromise in a log file (Example: SQL injection data found in HTTP log)
IOC_IN_LOGS = 'ioc-in-logs'
# Module may cause account lockouts (likely due to brute-forcing)
ACCOUNT_LOCKOUTS = 'account-lockouts'
# Module may show something on the screen (Example: a window pops up)
SCREEN_EFFECTS = 'screen-effects'
# Module may cause a noise (Examples: audio output from the speakers or hardware beeps)
AUDIO_EFFECTS = 'audio-effects'
# Module may produce physical effects (Examples: the device makes movement or flashes LEDs)
PHYSICAL_EFFECTS = 'physical-effects'
#
# Reliability
#
# The module tends to fail to get a session at first attempt
FIRST_ATTEMPT_FAIL = 'first-attempt-fail'
# The module is expected to get a shell every time it fires
REPEATABLE_SESSION = 'repeatable-session'
# The module isn't expected to get a shell reliably (such as only once)
UNRELIABLE_SESSION = 'unreliable-session'
module HttpClients
IE = "MSIE"
FF = "Firefox"
SAFARI = "Safari"
OPERA = "Opera"
CHROME = "Chrome"
EDGE = "Edge"
UNKNOWN = "Unknown"
end
module OperatingSystems
LINUX = "Linux"
MAC_OSX = "Mac OS X"
WINDOWS = "Windows"
FREEBSD = "FreeBSD"
NETBSD = "NetBSD"
OPENBSD = "OpenBSD"
VMWARE = "VMware"
ANDROID = "Android"
APPLE_IOS = "iOS"
module VmwareVersions
ESX = "ESX"
ESXI = "ESXi"
end
module WindowsVersions
NINE5 = "95"
NINE8 = "98"
NT = "NT"
XP = "XP"
TWOK = "2000"
TWOK3 = "2003"
VISTA = "Vista"
TWOK8 = "2008"
TWOK12 = "2012"
SEVEN = "7"
EIGHT = "8"
EIGHTONE = "8.1"
TEN = "10.0"
end
UNKNOWN = "Unknown"
module Match
WINDOWS = /^(?:Microsoft )?Windows/
WINDOWS_95 = /^(?:Microsoft )?Windows 95/
WINDOWS_98 = /^(?:Microsoft )?Windows 98/
WINDOWS_ME = /^(?:Microsoft )?Windows ME/
WINDOWS_NT3 = /^(?:Microsoft )?Windows NT 3/
WINDOWS_NT4 = /^(?:Microsoft )?Windows NT 4/
WINDOWS_2000 = /^(?:Microsoft )?Windows 2000/
WINDOWS_XP = /^(?:Microsoft )?Windows XP/
WINDOWS_2003 = /^(?:Microsoft )?Windows 2003/
WINDOWS_VISTA = /^(?:Microsoft )?Windows Vista/
WINDOWS_2008 = /^(?:Microsoft )?Windows 2008/
WINDOWS_7 = /^(?:Microsoft )?Windows 7/
WINDOWS_2012 = /^(?:Microsoft )?Windows 2012/
WINDOWS_8 = /^(?:Microsoft )?Windows 8/
WINDOWS_81 = /^(?:Microsoft )?Windows 8\.1/
WINDOWS_10 = /^(?:Microsoft )?Windows 10/
LINUX = /^Linux/i
MAC_OSX = /^(?:Apple )?Mac OS X/
FREEBSD = /^FreeBSD/
NETBSD = /^NetBSD/
OPENBSD = /^OpenBSD/
VMWARE = /^VMware/
ANDROID = /^(?:Google )?Android/
APPLE_IOS = /^(?:Apple )?iOS/
end
end
end
#
# Global constants
#
# Licenses
MSF_LICENSE = "Metasploit Framework License (BSD)"
GPL_LICENSE = "GNU Public License v2.0"
BSD_LICENSE = "BSD License"
# Location: https://github.com/CoreSecurity/impacket/blob/1dba4c20e0d47ec614521e251d072116f75f3ef8/LICENSE
CORE_LICENSE = "CORE Security License (Apache 1.1)"
ARTISTIC_LICENSE = "Perl Artistic License"
UNKNOWN_LICENSE = "Unknown License"
LICENSES =
[
MSF_LICENSE,
GPL_LICENSE,
BSD_LICENSE,
CORE_LICENSE,
ARTISTIC_LICENSE,
UNKNOWN_LICENSE
]