Documentation
¶
Index ¶
- type Deprecation
- type Field
- func (f Field) IsAncestorMap() bool
- func (f Field) IsEmpty() bool
- func (f Field) IsEnvsMap() bool
- func (f Field) IsFileField() bool
- func (f Field) IsHandleField() bool
- func (f Field) IsImageField() bool
- func (f Field) IsKevtArgMap() bool
- func (f Field) IsKevtField() bool
- func (f Field) IsModsMap() bool
- func (f Field) IsNetworkField() bool
- func (f Field) IsPeField() bool
- func (f Field) IsPeResourcesMap() bool
- func (f Field) IsPeSectionsMap() bool
- func (f Field) IsPsField() bool
- func (f Field) IsRegistryField() bool
- func (f Field) IsThreadField() bool
- func (f Field) String() string
- type FieldInfo
- type Segment
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Deprecation ¶ added in v1.10.0
type Deprecation struct {
// Since denotes from which version the field is flagged as deprecated
Since string
// Field represents the field by which the deprecated field is superseded
Field Field
}
Deprecation specifies field deprecation info.
func IsDeprecated ¶ added in v1.10.0
func IsDeprecated(f Field) (bool, *Deprecation)
IsDeprecated determines if the given field is deprecated.
type Field ¶
type Field string
Field represents the type alias for the field
const ( // PsPid represents the process id field PsPid Field = "ps.pid" // PsPpid represents the parent process id field PsPpid Field = "ps.ppid" // PsName represents the process name field PsName Field = "ps.name" // PsComm represents the process command line field. Deprecated. PsComm Field = "ps.comm" // PsCmdline represents the process command line field PsCmdline Field = "ps.cmdline" // PsExe represents the process image path field PsExe Field = "ps.exe" // PsArgs represents the process command line arguments PsArgs Field = "ps.args" // PsCwd represents the process current working directory PsCwd Field = "ps.cwd" // PsSID represents the process security identifier PsSID Field = "ps.sid" // PsDomain represents the process domain field PsDomain Field = "ps.domain" // PsUsername represents the process username field PsUsername Field = "ps.username" // PsSessionID represents the session id bound to the process PsSessionID Field = "ps.sessionid" // PsEnvs represents the process environment variables PsEnvs Field = "ps.envs" // PsHandles represents the process handles PsHandles Field = "ps.handles" // PsHandleTypes represents the process handle types PsHandleTypes Field = "ps.handle.types" // PsDTB represents the process directory table base address PsDTB Field = "ps.dtb" // PsModules represents the process modules PsModules Field = "ps.modules" // PsParentPid represents the parent process identifier field PsParentPid Field = "ps.parent.pid" // PsParentName represents the parent process name field PsParentName Field = "ps.parent.name" // PsParentComm represents the parent process command line field. Deprecated PsParentComm Field = "ps.parent.comm" // PsParentCmdline represents the parent process command line field PsParentCmdline Field = "ps.parent.cmdline" // PsParentExe represents the parent process image path field PsParentExe Field = "ps.parent.exe" // PsParentArgs represents the parent process command line arguments field PsParentArgs Field = "ps.parent.args" // PsParentCwd represents the parent process current working directory field PsParentCwd Field = "ps.parent.cwd" // PsParentSID represents the parent process security identifier field PsParentSID Field = "ps.parent.sid" // PsParentUsername represents the parent process username field PsParentUsername Field = "ps.parent.username" // PsParentDomain represents the parent process domain field PsParentDomain Field = "ps.parent.domain" // PsParentSessionID represents the session id field bound to the parent process PsParentSessionID Field = "ps.parent.sessionid" // PsParentEnvs represents the parent process environment variables field PsParentEnvs Field = "ps.parent.envs" // PsParentHandles represents the parent process handles field PsParentHandles Field = "ps.parent.handles" // PsParentHandleTypes represents the parent process handle types field PsParentHandleTypes Field = "ps.parent.handle.types" // PsParentDTB represents the parent process directory table base address field PsParentDTB Field = "ps.parent.dtb" // PsAncestor represents the process ancestor sequence field PsAncestor Field = "ps.ancestor" // PsAccessMask represents the process access rights field PsAccessMask Field = "ps.access.mask" // PsAccessMaskNames represents the process access rights list field PsAccessMaskNames Field = "ps.access.mask.names" // PsAccessStatus represents the process access status field PsAccessStatus Field = "ps.access.status" // PsSiblingPid represents the sibling process identifier field. Deprecated PsSiblingPid Field = "ps.sibling.pid" // PsSiblingName represents the sibling process name field. Deprecated PsSiblingName Field = "ps.sibling.name" // PsSiblingComm represents the sibling process command line field. Deprecated PsSiblingComm Field = "ps.sibling.comm" // PsSiblingExe represents the sibling process complete executable path field. Deprecated PsSiblingExe Field = "ps.sibling.exe" // PsSiblingArgs represents the sibling process command line arguments path field. Deprecated PsSiblingArgs Field = "ps.sibling.args" // PsSiblingSID represents the sibling process security identifier field. Deprecated PsSiblingSID Field = "ps.sibling.sid" // PsSiblingSessionID represents the sibling process session id field. Deprecated PsSiblingSessionID Field = "ps.sibling.sessionid" // PsSiblingDomain represents the sibling process domain field. Deprecated PsSiblingDomain Field = "ps.sibling.domain" // PsSiblingUsername represents the sibling process username field. Deprecated PsSiblingUsername Field = "ps.sibling.username" // PsUUID represents the unique process identifier PsUUID Field = "ps.uuid" // PsParentUUID represents the unique parent process identifier PsParentUUID Field = "ps.parent.uuid" // PsChildUUID represents the unique child process identifier PsChildUUID Field = "ps.child.uuid" // PsChildPid represents the child process identifier field PsChildPid Field = "ps.child.pid" // PsChildName represents the child process name field PsChildName Field = "ps.child.name" // PsChildCmdline represents the child process command line field PsChildCmdline Field = "ps.child.cmdline" // PsChildExe represents the child process complete executable path field PsChildExe Field = "ps.child.exe" // PsChildArgs represents the child process command line arguments path field PsChildArgs Field = "ps.child.args" // PsChildSID represents the child process security identifier field PsChildSID Field = "ps.child.sid" // PsChildSessionID represents the child process session id field PsChildSessionID Field = "ps.child.sessionid" // PsChildDomain represents the child process domain field PsChildDomain Field = "ps.child.domain" // PsChildUsername represents the child process username field PsChildUsername Field = "ps.child.username" // ThreadBasePrio is the base thread priority ThreadBasePrio Field = "thread.prio" // ThreadIOPrio is the thread I/O priority ThreadIOPrio Field = "thread.io.prio" // ThreadPagePrio is the thread page priority ThreadPagePrio Field = "thread.page.prio" // ThreadKstackBase is the thread kernel stack start address ThreadKstackBase Field = "thread.kstack.base" // ThreadKstackLimit is the thread kernel stack end address ThreadKstackLimit Field = "thread.kstack.limit" // ThreadUstackBase is the thread user stack start address ThreadUstackBase Field = "thread.ustack.base" // ThreadUstackLimit is the thead user stack end address ThreadUstackLimit Field = "thread.ustack.limit" // ThreadEntrypoint is the thread entrypoint address ThreadEntrypoint Field = "thread.entrypoint" // ThreadPID is the process identifier where the thread is created ThreadPID Field = "thread.pid" // ThreadAccessMask represents the thread access rights field ThreadAccessMask Field = "thread.access.mask" // ThreadAccessMaskNames represents the thread access rights list field ThreadAccessMaskNames Field = "thread.access.mask.names" // ThreadAccessStatus represents the thread access status field ThreadAccessStatus Field = "thread.access.status" // PeNumSections represents the number of sections PeNumSections Field = "pe.nsections" // PeSections represents distinct section inside PE PeSections Field = "pe.sections" // PeNumSymbols represents the number of exported symbols PeNumSymbols Field = "pe.nsymbols" // PeSymbols represents imported symbols PeSymbols Field = "pe.symbols" // PeImports represents imported libraries (e.g. kernel32.dll) PeImports Field = "pe.imports" // PeTimestamp is the PE build timestamp PeTimestamp Field = "pe.timestamp" // PeBaseAddress represents the base address when the binary is loaded PeBaseAddress Field = "pe.address.base" // PeEntrypoint is the address of the entrypoint function PeEntrypoint Field = "pe.address.entrypoint" // PeResources represents PE resources PeResources Field = "pe.resources" // PeCompany represents the company name resource PeCompany Field = "pe.company" // PeDescription represents the internal description of the file PeDescription Field = "pe.description" // PeFileVersion represents the internal file version PeFileVersion Field = "pe.file.version" // PeFileName represents the original file name provided at compile-time. PeFileName Field = "pe.file.name" // PeCopyright represents the copyright notice emitted at compile-time PeCopyright Field = "pe.copyright" // PeProduct represents the product name provided at compile-time PeProduct Field = "pe.product" // PeProductVersion represents the internal product version provided at compile-time PeProductVersion Field = "pe.product.version" // KevtSeq is the event sequence number KevtSeq Field = "kevt.seq" // KevtPID is the process identifier that generated the event KevtPID Field = "kevt.pid" // KevtTID is the thread identifier that generated the event KevtTID Field = "kevt.tid" // KevtCPU is the CPU core where the event was generated KevtCPU Field = "kevt.cpu" // KevtDesc represents the event description KevtDesc Field = "kevt.desc" // KevtHost represents the host where the event was produced KevtHost Field = "kevt.host" // KevtTime is the event time KevtTime Field = "kevt.time" // KevtTimeHour is the hour part of the event time KevtTimeHour Field = "kevt.time.h" // KevtTimeMin is the minute part of the event time KevtTimeMin Field = "kevt.time.m" // KevtTimeSec is the second part of the event time KevtTimeSec Field = "kevt.time.s" // KevtTimeNs is the nanosecond part of the event time KevtTimeNs Field = "kevt.time.ns" // KevtDate is the event date KevtDate Field = "kevt.date" // KevtDateDay is the day of event date KevtDateDay Field = "kevt.date.d" // KevtDateMonth is the month of event date KevtDateMonth Field = "kevt.date.m" // KevtDateYear is the year of event date KevtDateYear Field = "kevt.date.y" // KevtDateTz is the time zone of event timestamp KevtDateTz Field = "kevt.date.tz" // KevtDateWeek is the event week number KevtDateWeek Field = "kevt.date.week" // KevtDateWeekday is the event week day KevtDateWeekday Field = "kevt.date.weekday" // KevtName is the event name KevtName Field = "kevt.name" // KevtCategory is the event category KevtCategory Field = "kevt.category" // KevtMeta is the event metadata KevtMeta Field = "kevt.meta" // KevtNparams is the number of event parameters KevtNparams Field = "kevt.nparams" // KevtArg represents the field sequence for generic argument access KevtArg Field = "kevt.arg" // HandleID represents the handle identifier within the process address space HandleID Field = "handle.id" // HandleObject represents the handle object address HandleObject Field = "handle.object" // HandleName represents the handle name HandleName Field = "handle.name" // HandleType represents the handle type (e.g. file) HandleType Field = "handle.type" // NetDIP represents network destination IP address NetDIP Field = "net.dip" // NetSIP represents the source IP address NetSIP Field = "net.sip" // NetDport represents the destination port NetDport Field = "net.dport" // NetSport represents the source port NetSport Field = "net.sport" // NetDportName represents the destination port IANA name NetDportName Field = "net.dport.name" // NetSportName represents the source port IANA name NetSportName Field = "net.sport.name" // NetL4Proto represents the Layer4 protocol name (e.g. TCP) NetL4Proto Field = "net.l4.proto" // NetPacketSize represents the packet size NetPacketSize Field = "net.size" // NetSIPNames represents the source IP names NetSIPNames Field = "net.sip.names" // NetDIPNames represents the destination IP names NetDIPNames Field = "net.dip.names" // FileObject represents the address of the file object FileObject Field = "file.object" // FileName represents the fie name FileName Field = "file.name" // FileExtension represents the file extension (e.g. .exe or .dll) FileExtension Field = "file.extension" // FileOperation represents the file operation (e.g. create) FileOperation Field = "file.operation" FileShareMask Field = "file.share.mask" // FileIOSize represents the number of read/written bytes FileIOSize Field = "file.io.size" // FileOffset represents the read/write offset FileOffset Field = "file.offset" // FileType represents the file type FileType Field = "file.type" // FileAttributes represents a slice of file attributes FileAttributes Field = "file.attributes" // FileStatus represents the status message of the file operation FileStatus Field = "file.status" // RegistryKeyName represents the registry key name RegistryKeyName Field = "registry.key.name" // RegistryKeyHandle represents the registry KCB address RegistryKeyHandle Field = "registry.key.handle" // RegistryValue represents the registry value RegistryValue Field = "registry.value" // RegistryValueType represents the registry value type RegistryValueType Field = "registry.value.type" // RegistryStatus represent the registry operation status RegistryStatus Field = "registry.status" // ImageBase is the module base address ImageBase Field = "image.base.address" // ImageSize is the module size ImageSize Field = "image.size" // ImageChecksum represents the module checksum hash ImageChecksum Field = "image.checksum" // ImageDefaultAddress represents the module address ImageDefaultAddress Field = "image.default.address" // ImageName is the module full name ImageName Field = "image.name" // ImagePID is the pid of the process where the image was loaded ImagePID Field = "image.pid" // None represents the unknown field None Field = "" )
func Lookup ¶
Lookup finds the field literal in the map. For the nested fields, it checks the pattern matches the expected one and compares the paths. If all checks pass, the full segment field literal is returned.
func (Field) IsAncestorMap ¶ added in v1.10.0
func (Field) IsFileField ¶ added in v1.10.0
func (Field) IsHandleField ¶ added in v1.10.0
func (Field) IsImageField ¶ added in v1.10.0
func (Field) IsKevtArgMap ¶ added in v1.10.0
func (Field) IsKevtField ¶ added in v1.8.0
func (Field) IsNetworkField ¶ added in v1.10.0
func (Field) IsPeResourcesMap ¶ added in v1.10.0
func (Field) IsPeSectionsMap ¶ added in v1.10.0
func (Field) IsRegistryField ¶ added in v1.10.0
func (Field) IsThreadField ¶ added in v1.10.0
type FieldInfo ¶
type FieldInfo struct {
Field Field
Desc string
Type kparams.Type
Examples []string
Deprecation *Deprecation
}
FieldInfo is the field metadata descriptor.
func (FieldInfo) IsDeprecated ¶ added in v1.10.0
IsDeprecated determines if the field is deprecated.
type Segment ¶ added in v1.4.0
type Segment string
Segment represents the type alias for the segment. Segment denotes the location of the value within an indexed field.
const ( // SectionEntropy is the entropy value of the specific PE section SectionEntropy Segment = "entropy" // SectionMD5Hash refers to the section md5 sum SectionMD5Hash Segment = "md5" // SectionSize is the section size SectionSize Segment = "size" // ModuleSize is the module size ModuleSize Segment = "size" // ModuleChecksum is the module checksum ModuleChecksum Segment = "checksum" // ModuleLocation is the module location ModuleLocation Segment = "location" // ModuleBaseAddress is the module base address ModuleBaseAddress Segment = "address.base" // ModuleDefaultAddress is the module address ModuleDefaultAddress Segment = "address.default" // ProcessID represents the process id ProcessID Segment = "pid" // ProcessName represents the process name ProcessName Segment = "name" // ProcessCmdline represents the process command line ProcessCmdline Segment = "cmdline" // ProcessExe represents the process image path ProcessExe Segment = "exe" // ProcessArgs represents the process command line arguments ProcessArgs Segment = "args" // ProcessCwd represents the process current working directory ProcessCwd Segment = "cwd" // ProcessSID represents the process security identifier ProcessSID Segment = "sid" // ProcessSessionID represents the session id bound to the process ProcessSessionID Segment = "sessionid" )
Click to show internal directories.
Click to hide internal directories.