199 lines
5.2 KiB
Ruby
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
|
|
]
|