class Rex::Proto::SMB::Constants
Constants
- BATCH_OPLOCK
- CAP_DFS
This server is DFS aware
- CAP_LARGE_FILES
The server supports large files with 64 bit offsets
- CAP_LARGE_READX
- CAP_LARGE_WRITEX
- CAP_LEVEL_II_OPLOCKS
The server supports level 2 oplocks
- CAP_LOCK_AND_READ
The server supports the
SMB_COM_LOCK_AND_READ
SMB
- CAP_MPX_MODE
The server supports
SMB_COM_READ_MPX
andSMB_COM_WRITE_MPX
- CAP_NT_FIND
- CAP_NT_SMBS
The server supports the SMBs particular to the NT LM 0.12 dialect
- CAP_PASSTHRU
- CAP_RAW_MODE
SMB
Negotiate Capabilities The server supportsSMB_COM_READ_RAW
andSMB_COM_WRITE_RAW
- CAP_RPC_REMOTE_APIS
The sever supports remote API requests via RPC
- CAP_STATUS32
The server can respond with 32 bit status codes in Status.Status
- CAP_UNICODE
The server supports Unicode strings
- CAP_UNIX_EXTENSIONS
- CREATE_ACCESS_CREATE
- CREATE_ACCESS_EXIST
- CREATE_ACCESS_OPENCREATE
- CREATE_ACCESS_OVERCREATE
- CREATE_ACCESS_OVEREXIST
- CREATE_ACCESS_SUPERSEDE
Create Disposition
- DIALECT
SMB
Dialect Compatibility- EXCLUSIVE_OPLOCK
- FILE_CASE_PRESERVED_NAMES
- FILE_CASE_SENSITIVE_SEARCH
- FILE_CREATE
- FILE_DEVICE_8042_PORT
- FILE_DEVICE_BATTERY
- FILE_DEVICE_BEEP
Device Types
- FILE_DEVICE_BUS_EXTENDER
- FILE_DEVICE_CD_ROM
- FILE_DEVICE_CD_ROM_FILE_SYSTEM
- FILE_DEVICE_CONTROLLER
- FILE_DEVICE_DATALINK
- FILE_DEVICE_DFS
- FILE_DEVICE_DISK
- FILE_DEVICE_DISK_FILE_SYSTEM
- FILE_DEVICE_FILE_SYSTEM
- FILE_DEVICE_INPORT_PORT
- FILE_DEVICE_IS_MOUNTED
- FILE_DEVICE_KEYBOARD
- FILE_DEVICE_MAILSLOT
- FILE_DEVICE_MIDI_IN
- FILE_DEVICE_MIDI_OUT
- FILE_DEVICE_MODEM
- FILE_DEVICE_MOUSE
- FILE_DEVICE_MULTI_UNC_PROVIDER
- FILE_DEVICE_NAMED_PIPE
- FILE_DEVICE_NETWORK
- FILE_DEVICE_NETWORK_BROWSER
- FILE_DEVICE_NETWORK_FILE_SYSTEM
- FILE_DEVICE_NETWORK_REDIRECTOR
- FILE_DEVICE_NULL
- FILE_DEVICE_PARALLEL_PORT
- FILE_DEVICE_PHYSICAL_NETCARD
- FILE_DEVICE_PRINTER
- FILE_DEVICE_SCANNER
- FILE_DEVICE_SCREEN
- FILE_DEVICE_SERIAL_MOUSE_PORT
- FILE_DEVICE_SERIAL_PORT
- FILE_DEVICE_SOUND
- FILE_DEVICE_STREAMS
- FILE_DEVICE_TAPE
- FILE_DEVICE_TAPE_FILE_SYSTEM
- FILE_DEVICE_TRANSPORT
- FILE_DEVICE_UNKNOWN
- FILE_DEVICE_VDM
- FILE_DEVICE_VIDEO
- FILE_DEVICE_VIRTUAL_DISK
- FILE_DEVICE_WAVE_IN
- FILE_DEVICE_WAVE_OUT
- FILE_FILE_COMPRESSION
- FILE_FLOPPY_DISKETTE
- FILE_OPEN
- FILE_OPEN_IF
- FILE_OVERWRITE
- FILE_OVERWRITE_IF
- FILE_PERSISTENT_ACLS
- FILE_READ_ONLY_DEVICE
- FILE_REMOTE_DEVICE
- FILE_REMOVABLE_MEDIA
File and Device Attributes
- FILE_SUPERSEDE
Dispositions, action to take if the file already exists or if the file is a new file and does not already exist
- FILE_VIRTUAL_VOLUME
- FILE_VOLUME_IS_COMPRESSED
- FILE_VOLUME_QUOTAS
- FILE_WRITE_ONE_MEDIA
- FLAGS2_32_BIT_ERROR_CODES
- FLAGS2_DFS_PATHNAMES
- FLAGS2_EXTENDED_ATTRIBUTES
- FLAGS2_EXTENDED_SECURITY
- FLAGS2_IS_LONG_NAME
- FLAGS2_LONG_PATH_COMPONENTS
NT Flags2 bits - cifs6.txt section 3.1.2
- FLAGS2_READ_PERMIT_EXECUTE
- FLAGS2_SMB_SECURITY_SIGNATURES
- FLAGS2_SMB_SECURITY_SIGNATURES_REQUIRED
- FLAGS2_UNICODE_STRINGS
- FLAGS2_WIN2K_SIGNATURE
- FLAGS_CASE_SENSITIVE
- FLAGS_LOCK_SUPPORT
- FLAGS_NOTIFY
- FLAGS_OP_LOCKS
- FLAGS_PATH_NORMALIZED
- FLAGS_POSTED
- FLAGS_REQ_RES
NT Flags bits - cifs6.txt section 3.1.1
- FLAGS_RESERVED
- LEVEL_II_OPLOCK
- NBRAW_HDR_PKT
A raw NetBIOS session template
- NBRAW_PKT
- NEG_SECURITY_PASSWORD
- NEG_SECURITY_SHARE
SMB
Negotiate Security Modes- NETBIOS_REDIR
Wildcard NetBIOS name
- NO_OPLOCK
OpLock Levels
- NT_TRANSACT_CREATE
SMB_COM_NT_TRANSACT
Subcommands- NT_TRANSACT_GET_USER_QUOTA
- NT_TRANSACT_IOCTL
- NT_TRANSACT_NOTIFY_CHANGE
- NT_TRANSACT_QUERY_SECURITY_DESC
- NT_TRANSACT_RENAME
- NT_TRANSACT_SET_SECURITY_DESC
- NT_TRANSACT_SET_USER_QUOTA
- OPEN_ACCESS_EXEC
- OPEN_ACCESS_READ
File Access
- OPEN_ACCESS_READWRITE
- OPEN_ACCESS_WRITE
- OPEN_MODE_CREAT
Open Modes
- OPEN_MODE_EXCL
- OPEN_MODE_OPEN
- OPEN_MODE_TRUNC
- OPEN_SHARE_COMPAT
Shared Access
- OPEN_SHARE_DENY_EXCL
- OPEN_SHARE_DENY_NONE
- OPEN_SHARE_DENY_READEXEC
- OPEN_SHARE_DENY_WRITE
- SMB2_HDR
The SMB2 header template
- SMB2_OP_BREAK
- SMB2_OP_CANCEL
- SMB2_OP_CLOSE
- SMB2_OP_CREATE
- SMB2_OP_FIND
- SMB2_OP_FLUSH
- SMB2_OP_GETINFO
- SMB2_OP_IOCTL
- SMB2_OP_KEEPALIVE
- SMB2_OP_LOCK
- SMB2_OP_LOGOFF
- SMB2_OP_NEGPROT
SMB
Version 2 Commands- SMB2_OP_NOTIFY
- SMB2_OP_READ
- SMB2_OP_SESSSETUP
- SMB2_OP_SETINFO
- SMB2_OP_TCON
- SMB2_OP_TDIS
- SMB2_OP_WRITE
- SMB_APPEND_ACCESS
- SMB_BASE_HDR_PKT
A basic
SMB
template to read all responses- SMB_BASE_PKT
- SMB_CLOSE_HDR_PKT
- SMB_CLOSE_PKT
- SMB_CLOSE_RES_HDR_PKT
- SMB_CLOSE_RES_PKT
- SMB_CLOSE_RES_WORD_COUNT
- SMB_COM_CHECK_DIRECTORY
- SMB_COM_CLOSE
- SMB_COM_CLOSE_AND_TREE_DISC
- SMB_COM_CLOSE_PRINT_FILE
- SMB_COM_COPY
- SMB_COM_CREATE
- SMB_COM_CREATE_DIRECTORY
SMB
Commands- SMB_COM_CREATE_NEW
- SMB_COM_CREATE_TEMPORARY
- SMB_COM_DELETE
- SMB_COM_DELETE_DIRECTORY
- SMB_COM_ECHO
- SMB_COM_FIND
- SMB_COM_FIND_CLOSE
- SMB_COM_FIND_CLOSE2
- SMB_COM_FIND_NOTIFY_CLOSE
- SMB_COM_FIND_UNIQUE
- SMB_COM_FLUSH
- SMB_COM_GET_PRINT_QUEUE
- SMB_COM_IOCTL
- SMB_COM_IOCTL_SECONDARY
- SMB_COM_LOCKING_ANDX
- SMB_COM_LOCK_AND_READ
- SMB_COM_LOCK_BYTE_RANGE
- SMB_COM_LOGOFF_ANDX
- SMB_COM_MOVE
- SMB_COM_NEGOTIATE
- SMB_COM_NEW_FILE_SIZE
- SMB_COM_NO_ANDX_COMMAND
- SMB_COM_NT_CANCEL
- SMB_COM_NT_CREATE_ANDX
- SMB_COM_NT_RENAME
- SMB_COM_NT_TRANSACT
- SMB_COM_NT_TRANSACT_SECONDARY
- SMB_COM_OPEN
- SMB_COM_OPEN_ANDX
- SMB_COM_OPEN_PRINT_FILE
- SMB_COM_PROCESS_EXIT
- SMB_COM_QUERY_INFORMATION
- SMB_COM_QUERY_INFORMATION2
- SMB_COM_QUERY_INFORMATION_DISK
- SMB_COM_QUERY_SERVER
- SMB_COM_READ
- SMB_COM_READ_ANDX
- SMB_COM_READ_BULK
- SMB_COM_READ_MPX
- SMB_COM_READ_MPX_SECONDARY
- SMB_COM_READ_RAW
- SMB_COM_RENAME
- SMB_COM_SEARCH
- SMB_COM_SEEK
- SMB_COM_SESSION_SETUP_ANDX
- SMB_COM_SET_INFORMATION
- SMB_COM_SET_INFORMATION2
- SMB_COM_TRANSACTION
- SMB_COM_TRANSACTION2
- SMB_COM_TRANSACTION2_SECONDARY
- SMB_COM_TRANSACTION_SECONDARY
- SMB_COM_TREE_CONNECT
- SMB_COM_TREE_CONNECT_ANDX
- SMB_COM_TREE_DISCONNECT
- SMB_COM_UNLOCK_BYTE_RANGE
- SMB_COM_WRITE
- SMB_COM_WRITE_ANDX
- SMB_COM_WRITE_AND_CLOSE
- SMB_COM_WRITE_AND_UNLOCK
- SMB_COM_WRITE_BULK
- SMB_COM_WRITE_COMPLETE
- SMB_COM_WRITE_MPX
- SMB_COM_WRITE_MPX_SECONDARY
- SMB_COM_WRITE_PRINT_FILE
- SMB_COM_WRITE_RAW
- SMB_CREATE_ANDX_RES_HDR_PKT
- SMB_CREATE_ANDX_RES_PKT
- SMB_CREATE_HDR_PKT
- SMB_CREATE_PKT
- SMB_CREATE_RES_HDR_PKT
- SMB_CREATE_RES_PKT
- SMB_DATA_TRANS2
A template for SMB_Data blocks of the
SMB_COM_TRANSACTION2
requests- SMB_DELETE_ACCESS
- SMB_DELETE_CHILD_ACCESS
- SMB_DELETE_HDR_PKT
- SMB_DELETE_PKT
- SMB_DELETE_RES_HDR_PKT
- SMB_DELETE_RES_PKT
- SMB_ERROR_BUFFER_OVERFLOW
- SMB_EXECUTE_ACCESS
- SMB_EXT_FILE_ATTR_ARCHIVE
- SMB_EXT_FILE_ATTR_COMPRESSED
- SMB_EXT_FILE_ATTR_DIRECTORY
- SMB_EXT_FILE_ATTR_HIDDEN
- SMB_EXT_FILE_ATTR_NORMAL
- SMB_EXT_FILE_ATTR_READONLY
SMB_EXT_FILE_ATTR msdn.microsoft.com/en-us/library/ee878573(prot.20).aspx
- SMB_EXT_FILE_ATTR_SYSTEM
- SMB_EXT_FILE_ATTR_TEMPORARY
- SMB_EXT_FILE_BACKUP_SEMANTICS
- SMB_EXT_FILE_DELETE_ON_CLOSE
- SMB_EXT_FILE_NO_BUFFERING
- SMB_EXT_FILE_POSIX_SEMANTICS
- SMB_EXT_FILE_RANDOM_ACCESS
- SMB_EXT_FILE_SEQUENTIAL_SCAN
- SMB_EXT_FILE_WRITE_THROUGH
- SMB_FIND_FILE_BOTH_DIRECTORY_INFO
- SMB_FIND_FILE_BOTH_DIRECTORY_INFO_HDR
A template for
SMB_FIND_FILE_BOTH_DIRECTORY_INFO
Find
information level- SMB_FIND_FILE_BOTH_DIRECTORY_INFO_HDR_LENGTH
- SMB_FIND_FILE_DIRECTORY_INFO
SMB_COM_TRANS2 FIND_FIRST information levels
- SMB_FIND_FILE_FULL_DIRECTORY_INFO
- SMB_FIND_FILE_FULL_DIRECTORY_INFO_HDR
A template for
SMB_FIND_FILE_FULL_DIRECTORY_INFO
Find
information level- SMB_FIND_FILE_FULL_DIRECTORY_INFO_HDR_LENGTH
- SMB_FIND_FILE_NAMES_INFO
- SMB_FIND_FILE_NAMES_INFO_HDR
A template for
SMB_FIND_FILE_BOTH_DIRECTORY_INFO
Find
information level- SMB_FIND_FILE_NAMES_INFO_HDR_LENGTH
- SMB_FIND_ID_BOTH_DIRECTORY_INFO
- SMB_FIND_ID_FULL_DIRECTORY_INFO
- SMB_HDR
The
SMB
header template- SMB_HDR_LENGTH
- SMB_INFO_ALLOCATION
SMB_COM_TRANSACTION2
QUERY_FS_INFO information levels- SMB_INFO_IS_NAME_VALID
- SMB_INFO_PASSTHROUGH
- SMB_INFO_QUERY_ALL_EAS
- SMB_INFO_QUERY_EAS_FROM_LIST
- SMB_INFO_QUERY_EA_SIZE
- SMB_INFO_STANDARD
SMB_COM_TRANSACTION2
QUERY_PATH_INFO information levels- SMB_INFO_VOLUME
- SMB_NEGOTIATE_RES_WORD_COUNT
Word count values
- SMB_NEG_HDR_PKT
- SMB_NEG_PKT
- SMB_NEG_RES_ERR_HDR_PKT
A
SMB
template forSMB
Dialect negotiation responses (ERROR)- SMB_NEG_RES_ERR_PKT
- SMB_NEG_RES_LM_HDR_PKT
A
SMB
template forSMB
Dialect negotiation responses (LANMAN)- SMB_NEG_RES_LM_PKT
- SMB_NEG_RES_NT_HDR_PKT
- SMB_NEG_RES_NT_PKT
- SMB_NTTRANS_HDR_PKT
- SMB_NTTRANS_PKT
- SMB_NTTRANS_RES_HDR_PKT
- SMB_NTTRANS_RES_PKT
- SMB_NTTRANS_SECONDARY_HDR_PKT
- SMB_NTTRANS_SECONDARY_PKT
- SMB_NT_CREATE_ANDX_RES_WORD_COUNT
- SMB_NT_STATUS_NOT_FOUND
- SMB_OPEN_HDR_PKT
- SMB_OPEN_PKT
- SMB_OPEN_RES_HDR_PKT
- SMB_OPEN_RES_PKT
- SMB_QUERY_BASIC_MDC
SMB_COM_TRANSACTION2
MAX DATA COUNT information levels- SMB_QUERY_FILE_ALL_INFO
- SMB_QUERY_FILE_ALT_NAME_INFO
- SMB_QUERY_FILE_BASIC_INFO
- SMB_QUERY_FILE_BASIC_INFO_ALIAS
- SMB_QUERY_FILE_BASIC_INFO_HDR
A template for
SMB_QUERY_FILE_BASIC_INFO
query path information level- SMB_QUERY_FILE_BASIC_INFO_HDR_LENGTH
- SMB_QUERY_FILE_COMPRESSION_INFO
- SMB_QUERY_FILE_EA_INFO
- SMB_QUERY_FILE_EA_INFO_ALIAS
- SMB_QUERY_FILE_INTERNAL_INFO_ALIAS
- SMB_QUERY_FILE_INTERNAL_INFO_MDC
- SMB_QUERY_FILE_NAME_INFO
- SMB_QUERY_FILE_NAME_INFO_ALIAS
- SMB_QUERY_FILE_NETWORK_INFO_HDR
A template for SMB_QUERY_FILE_NETWORK_INFO query path information level
- SMB_QUERY_FILE_NETWORK_INFO_HDR_LENGTH
- SMB_QUERY_FILE_NETWORK_INFO_MDC
- SMB_QUERY_FILE_NETWORK_OPEN_INFO
- SMB_QUERY_FILE_STANDARD_INFO
- SMB_QUERY_FILE_STANDARD_INFO_ALIAS
- SMB_QUERY_FILE_STANDARD_INFO_HDR
A template for
SMB_QUERY_FILE_STANDARD_INFO
query path information level- SMB_QUERY_FILE_STANDARD_INFO_HDR_LENGTH
- SMB_QUERY_FILE_STREAM_INFO
- SMB_QUERY_FILE_UNIX_BASIC
- SMB_QUERY_FILE_UNIX_LINK
- SMB_QUERY_FS_ATTRIBUTE_INFO
- SMB_QUERY_FS_DEVICE_INFO
- SMB_QUERY_FS_SIZE_INFO
- SMB_QUERY_FS_VOLUME_INFO
- SMB_QUERY_STANDARD_MDC1
- SMB_QUERY_STANDARD_MDC2
- SMB_READ_ACCESS
Access Rights
- SMB_READ_ANDX_RES_WORD_COUNT
- SMB_READ_ATTRIBUTES_ACCESS
- SMB_READ_CONTROL_ACCESS
- SMB_READ_EA_ACCESS
- SMB_READ_HDR_PKT
- SMB_READ_PKT
- SMB_READ_RES_HDR_PKT
- SMB_READ_RES_HDR_PKT_LENGTH
- SMB_READ_RES_PKT
- SMB_RESOURCE_FILE_TYPE_BYTE_MODE_PIPE
- SMB_RESOURCE_FILE_TYPE_COMM_DEVICE
- SMB_RESOURCE_FILE_TYPE_DISK
SMB
Resource types- SMB_RESOURCE_FILE_TYPE_MESSAGE_MODE_PIPE
- SMB_RESOURCE_FILE_TYPE_PRINTER
- SMB_SEARCH_HDR_PKT
- SMB_SEARCH_PKT
- SMB_SESSION_SETUP_ANDX_RES_WORD_COUNT
- SMB_SETUP_GUEST
SMB
Setup Actions- SMB_SETUP_LANMAN_HDR_PKT
- SMB_SETUP_LANMAN_PKT
- SMB_SETUP_NTLMV1_HDR_PKT
- SMB_SETUP_NTLMV1_PKT
- SMB_SETUP_NTLMV2_HDR_PKT
A
SMB
template forSMB
Session Setup requests (When extended security is being used)- SMB_SETUP_NTLMV2_PKT
- SMB_SETUP_NTLMV2_RES_HDR_PKT
A
SMB
template forSMB
Session Setup responses (When extended security is being used)- SMB_SETUP_NTLMV2_RES_PKT
- SMB_SETUP_RES_HDR_PKT
A
SMB
template forSMB
Session Setup responses (LANMAN/NTLMV1)- SMB_SETUP_RES_PKT
- SMB_SETUP_USE_LANMAN_KEY
- SMB_SET_FILE_BASIC_INFO_ALIAS
- SMB_STATUS_ACCESS_DENIED
- SMB_STATUS_LOGON_FAILURE
- SMB_STATUS_MORE_PROCESSING_REQUIRED
- SMB_STATUS_NO_SUCH_FILE
- SMB_STATUS_OBJECT_NAME_NOT_FOUND
- SMB_STATUS_SUCCESS
SMB
Error Codes- SMB_SYNC_ACCESS
- SMB_TRANS2_FIND_FIRST2_PARAMETERS
A template for SMB_Parameters blocks of the
SMB_COM_TRANSACTION2
FIND_FIRST2 responses- SMB_TRANS2_FIND_FIRST2_RES_PARAMETERS
A template for
SMB
TRANS2_FIND_FIRST response parameters- SMB_TRANS2_HDR_PKT
- SMB_TRANS2_PKT
- SMB_TRANS2_QUERY_FILE_PARAMETERS
A template for SMB_Parameters blocks of the
SMB_COM_TRANSACTION2
QUERY_FILE_INFO responses- SMB_TRANS2_QUERY_PATH_INFORMATION_RES_PARAMETERS
A template for
SMB
FIND_FIRST2 TRANS2 response parameters- SMB_TRANS2_QUERY_PATH_PARAMETERS
A template for SMB_Parameters blocks of the
SMB_COM_TRANSACTION2
QUERY_PATH_INFO responses- SMB_TRANS2_RES_WORD_COUNT
- SMB_TRANS_HDR_PKT
- SMB_TRANS_PKT
- SMB_TRANS_RES_HDR_PKT
- SMB_TRANS_RES_PKT
- SMB_TRANS_RES_PKT_LENGTH
- SMB_TREE_CONN_ANDX_RES_PKT
A template for
SMB
Tree Connect commands in responses- SMB_TREE_CONN_ANDX_WORD_COUNT
- SMB_TREE_CONN_HDR_PKT
- SMB_TREE_CONN_PKT
- SMB_TREE_CONN_RES_HDR_PKT
- SMB_TREE_CONN_RES_PKT
- SMB_TREE_DISCONN_HDR_PKT
- SMB_TREE_DISCONN_PKT
- SMB_TREE_DISCONN_RES_HDR_PKT
- SMB_TREE_DISCONN_RES_PKT
- SMB_WRITE_ACCESS
- SMB_WRITE_ATTRIBUTES_ACCESS
- SMB_WRITE_DAC_ACCESS
- SMB_WRITE_EA_ACCESS
- SMB_WRITE_HDR_PKT
- SMB_WRITE_OWNER_ACCESS
- SMB_WRITE_PKT
- SMB_WRITE_RES_HDR_PKT
- SMB_WRITE_RES_PKT
- TRANS2_CREATE_DIRECTORY
- TRANS2_FIND_FIRST2
- TRANS2_FIND_NEXT2
- TRANS2_FIND_NOTIFY_FIRST
- TRANS2_FIND_NOTIFY_NEXT
- TRANS2_FSCTL
- TRANS2_GET_DFS_REFERRAL
- TRANS2_IOCTL2
- TRANS2_OPEN2
SMB_COM_TRANSACTION2
SubCommands- TRANS2_QUERY_FILE_INFO
- TRANS2_QUERY_FS_INFO
- TRANS2_QUERY_PATH_INFO
- TRANS2_REPORT_DFS_INCONSISTENCY
- TRANS2_SESSION_SETUP
- TRANS2_SET_FILE_INFO
- TRANS2_SET_FS_INFO
- TRANS2_SET_PATH_INFO
Private Class Methods
Create a NetBIOS session packet template
# File lib/rex/proto/smb/constants.rb, line 503 def self.make_nbs (template) Rex::Struct2::CStructTemplate.new( [ 'uint8', 'Type', 0 ], [ 'uint8', 'Flags', 0 ], [ 'uint16n', 'PayloadLen', 0 ], [ 'template', 'Payload', template ] ).create_restraints( [ 'Payload', 'PayloadLen', nil, true ] ) end