Documentation ¶
Index ¶
- Constants
- Variables
- func LogTypes() logtypes.Group
- type AIDMaster
- type AppInfo
- type BaseEvent
- type CommonIdentityFields
- type ContextEvent
- type DNSRequest
- type GroupIdentity
- type ManagedAssets
- type NetworkConnect
- type NetworkListen
- type NotManagedAssets
- type ProcessRollup2
- type SyntheticProcessRollup2
- type UnknownEvent
- type UnknownEventWithPayload
- type UserIdentity
- type UserInfo
Constants ¶
const TypePrefix = "Crowdstrike"
Variables ¶
var ( TypeAppInfo = logtypes.MustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".AppInfo", Description: "Detected Application Information provided by Falcon Discover", ReferenceURL: "https://developer.crowdstrike.com/crowdstrike/docs/falcon-data-replicator-guide#section-appinfo", NewEvent: func() interface{} { return &AppInfo{} }, }) TypeUserInfo = logtypes.MustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".UserInfo", Description: "User Account & Logon information provided by Falcon Discover", ReferenceURL: "https://developer.crowdstrike.com/crowdstrike/docs/falcon-data-replicator-guide#section-userinfo", NewEvent: func() interface{} { return &UserInfo{} }, }) )
var ( TypeUserIdentity = mustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".UserIdentity", Description: `The UserIdentity event is generated when a user logs in to a host. It conveys important security-related characteristics associated with a user to the CrowdStrike cloud, such as the user name. It’s normally generated once per security principal, and is thus not on its own a sign of a suspicious activity. Available for Mac & Windows platforms.`, ReferenceURL: `https://developer.crowdstrike.com/crowdstrike/page/event-explorer#section-event-UserIdentity`, NewEvent: func() interface{} { return &UserIdentity{} }, }) TypeGroupIdentity = mustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".GroupIdentity", Description: `Provides the sensor boot unique mapping between GID, AuthenticationId, UserPrincipal, and UserSid. Available only for the Mac platform.`, ReferenceURL: `https://developer.crowdstrike.com/crowdstrike/page/event-explorer#section-event-GroupIdentity`, NewEvent: func() interface{} { return &GroupIdentity{} }, }) )
nolint:lll
var ( TypeAIDMaster = logtypes.MustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".AIDMaster", Description: "Sensor and Host information provided by Falcon Insight", ReferenceURL: "https://developer.crowdstrike.com/crowdstrike/docs/falcon-data-replicator-guide#section-aid-master", NewEvent: func() interface{} { return &AIDMaster{} }, }) TypeManagedAssets = logtypes.MustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".ManagedAssets", Description: "Sensor and Host information provided by Falcon Insight (Network Information: IP Address, LAN/Ethernet Interface, Gateway Address, MAC Address)", ReferenceURL: "https://developer.crowdstrike.com/crowdstrike/docs/falcon-data-replicator-guide#section-managedassets", NewEvent: func() interface{} { return &ManagedAssets{} }, }) TypeNotManagedAssets = logtypes.MustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".NotManagedAssets", Description: "Unmanaged Host discovery information provided by Falcon Insight", ReferenceURL: "https://developer.crowdstrike.com/crowdstrike/docs/falcon-data-replicator-guide#section-notmanaged", NewEvent: func() interface{} { return &NotManagedAssets{} }, }) )
nolint:lll
var ( TypeNetworkConnect = mustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".NetworkConnect", Description: `This event is generated when an application attempts a remote connection on an interface`, ReferenceURL: `-`, NewEvent: func() interface{} { return &NetworkConnect{} }, }) TypeNetworkListen = mustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".NetworkListen", Description: `This event is generated when an application establishes a socket in listening mode`, ReferenceURL: `-`, NewEvent: func() interface{} { return &NetworkListen{} }, }) )
nolint:lll
var ( TypeProcessRollup2 = mustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".ProcessRollup2", Description: `This event (often called "PR2" for short) is generated for a process that is running or has finished running on a host and contains information about that process.`, ReferenceURL: `-`, NewEvent: func() interface{} { return &ProcessRollup2{} }, }) TypeSyntheticProcessRollup2 = mustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".SyntheticProcessRollup2", Description: `A synthetic version of the process rollup (PR2) event`, ReferenceURL: `-`, NewEvent: func() interface{} { return &SyntheticProcessRollup2{} }, }) )
nolint:lll
var TypeDNSRequest = mustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".DNSRequest", Description: `This event is generated for every attempted DNS name resolution on a host.`, ReferenceURL: `-`, NewEvent: func() interface{} { return &DNSRequest{} }, })
TypeDNSRequest is the logtype entry for Crowdstrike DNS request events. nolint:lll
var ( // TypeUnknownEvent is a special event collects all crowdstrike events that don't yet have a registered log type TypeUnknownEvent = logtypes.MustBuild(logtypes.ConfigJSON{ Name: TypePrefix + ".Unknown", Description: `This event is used to store all unknown crowdstrike log events`, ReferenceURL: `-`, NewEvent: func() interface{} { return &UnknownEventWithPayload{} }, }) )
Functions ¶
Types ¶
type AIDMaster ¶ added in v1.16.0
type AIDMaster struct { Time pantherlog.Time `` /* 397-byte string literal not displayed */ AgentLoadFlags pantherlog.Int32 `` /* 151-byte string literal not displayed */ AgentLocalTime pantherlog.Time `json:"AgentLocalTime" tcodec:"unix" validate:"required" description:"The local time for the sensor in epoch format."` AgentTimeOffset pantherlog.Float64 `json:"AgentTimeOffset" validate:"required" description:"The time since the last reboot in epoch format."` AgentVersion pantherlog.String `json:"AgentVersion" validate:"required" description:"The version of the sensor running on a host."` AID pantherlog.String `` /* 264-byte string literal not displayed */ CID pantherlog.String `json:"cid" validate:"required" description:"The customer ID."` AIP pantherlog.String `` /* 235-byte string literal not displayed */ BiosManufacturer pantherlog.String `json:"BiosManufacturer" description:"The manufacturer of the host's BIOS."` BiosVersion pantherlog.String `json:"BiosVersion" description:"The version of the host's BIOS."` ChassisType pantherlog.String `json:"ChassisType" description:"Type of system chassis, as defined in SMBIOS Standard."` City pantherlog.String `json:"City" description:"The system's city of origin."` Country pantherlog.String `json:"Country" description:"The system's country of origin."` Continent pantherlog.String `json:"Continent" description:"The sensor's continent, as seen from the CrowdStrike cloud."` ComputerName pantherlog.String `json:"ComputerName" description:"The name of the host."` ConfigIDBuild pantherlog.String `json:"ConfigIDBuild" description:"Build number used as part of the ConfigID."` EventPlatform pantherlog.String `json:"event_platform" description:"The platform the sensor is running on. Example values: 'Win', 'Lin', 'Mac'."` FirstSeen pantherlog.Time `json:"FirstSeen" tcodec:"unix" description:"The first time the sensor was seen by the CrowdStrike cloud in epoch format."` MachineDomain pantherlog.String `json:"MachineDomain" description:"The Windows domain name to which the host is currently joined."` OU pantherlog.String `json:"OU" description:"The organizational unit of the host as seen by the sensor (defined by system admin)."` PointerSize pantherlog.String `` /* 144-byte string literal not displayed */ ProductType pantherlog.String `` /* 156-byte string literal not displayed */ ServicePackMajor pantherlog.String `json:"ServicePackMajor" description:"The major version # of the OS Service Pack (in decimal, non-hex format)."` SiteName pantherlog.String `json:"SiteName" description:"The site name of the domain to which the host is joined (defined by system admin)."` SystemManufacturer pantherlog.String `json:"SystemManufacturer" description:"The host's system manufacturer."` SystemProductName pantherlog.String `json:"SystemProductName" description:"The host's product name."` Timezone pantherlog.String `json:"Timezone" description:"The sensor's time zone, as seen from the CrowdStrike cloud."` Version pantherlog.String `json:"Version" description:"The host's system version."` HostHiddenStatus pantherlog.String `json:"HostHiddenStatus" description:"Whether the host is visible or not."` }
nolint:lll
type AppInfo ¶ added in v1.16.0
type AppInfo struct { Time pantherlog.Time `json:"_time" validate:"required" tcodec:"unix" event_time:"true" description:"The host's local time in epoch format."` CID pantherlog.String `json:"cid" validate:"required" description:"The customer ID."` CompanyName pantherlog.String `json:"CompanyName" validate:"required" description:"The name of the company."` DetectionCount pantherlog.Int64 `json:"detectioncount" validate:"required" description:"The number of detections."` FileName pantherlog.String `json:"FileName" validate:"required" description:"The name of the file."` SHA256HashData pantherlog.String `json:"SHA256HashData" validate:"required" panther:"sha256" description:"The file hash bashed on SHA-256."` FileDescription pantherlog.String `json:"FileDescription" description:"The description of the file, if any."` FileVersion pantherlog.String `json:"FileVersion" description:"The version of the file."` ProductName pantherlog.String `json:"ProductName" description:"The name of the product."` ProductVersion pantherlog.String `json:"ProductVersion" description:"The version of the product."` }
nolint:lll
type BaseEvent ¶
type BaseEvent struct { Name null.String `json:"name" validate:"required" description:"The event name"` AID null.String `` /* 244-byte string literal not displayed */ AIP null.String `` /* 216-byte string literal not displayed */ CID null.String `json:"cid" description:"CID"` ID null.String `json:"id" description:"ID"` EventPlatform null.String `json:"event_platform" description:"The platform the sensor was running on"` Timestamp time.Time `` /* 129-byte string literal not displayed */ TimestampHuman time.Time `` /* 146-byte string literal not displayed */ ComputerName null.String `json:"ComputerName" panther:"hostname" description:"The name of the host."` ConfigBuild null.String `json:"ConfigBuild" description:"Config build"` ConfigStateHash null.String `json:"ConfigStateHash" description:"Config state hash"` Entitlements null.String `json:"Entitlements" description:"Entitlements"` TreeID null.String `json:"TreeId" panther:"trace_id" description:"If this event is part of a detection tree, the tree ID it is part of"` TreeIDDecimal null.Int64 `` /* 134-byte string literal not displayed */ }
Common fields for all Crowdstrike events nolint:lll
type CommonIdentityFields ¶ added in v1.16.0
type CommonIdentityFields struct { AuthenticationID pantherlog.Int32 `` /* 166-byte string literal not displayed */ UserPrincipal pantherlog.String `json:"UserPrincipal" validate:"required"` UserSid pantherlog.String `` /* 175-byte string literal not displayed */ }
nolint:lll
type ContextEvent ¶
type ContextEvent struct { BaseEvent ContextThreadID null.String `json:"ContextThreadId" description:"The unique ID of a process that was spawned by another process."` ContextThreadIDDecimal null.Int64 `` /* 137-byte string literal not displayed */ ContextTimestamp time.Time `json:"ContextTimeStamp" tcodec:"unix" description:"The time at which an event occurred on the system, as seen by the sensor."` ContextTimestampDecimal time.Time `` /* 165-byte string literal not displayed */ ContextProcessID null.String `json:"ContextProcessId" description:"The unique ID of a process that was spawned by another process."` ContextProcessIDDecimal null.Int64 `` /* 138-byte string literal not displayed */ InContext null.String `json:"InContext" description:"In context (N/A on iOS)"` }
Common context fields for events NOTE: All fields are not required so we can use this when parsing unknown events nolint:lll
func (*ContextEvent) PantherEventTime ¶
func (e *ContextEvent) PantherEventTime() time.Time
PantherEventTime implements pantherlog.EventTimer and tries to use the device timestamp else falls back to server timestamp.
type DNSRequest ¶
type DNSRequest struct { EventSimpleName null.String `json:"event_simpleName" validate:"required,eq=DnsRequest" description:"Event name"` ContextEvent EffectiveTransmissionClass null.Int64 `json:"EffectiveTransmissionClass" description:"Effective transmission class"` DomainName null.String `json:"DomainName" panther:"domain" description:"The domain name requested"` InterfaceIndex null.Int64 `json:"InterfaceIndex" description:"The network interface index (Windows only)"` DualRequest null.Int64 `json:"DualRequest" description:"If the event is dual request (Windows only)"` DNSRequestCount null.Int64 `json:"DnsRequestCount" description:"The number of DNS requests (Windows only)"` AppIdentifier null.String `json:"AppIdentifier" description:"The identifier of the app that made the request (Android, iOS)"` IPAddress null.String `json:"IpAddress" panther:"ip" description:"The device ip address (Android, iOS)"` RequestType null.String `json:"RequestType" description:"The DNS request type"` }
nolint:lll
type GroupIdentity ¶ added in v1.16.0
type GroupIdentity struct { ContextEvent EventSimpleName pantherlog.String `json:"event_simpleName" validate:"required,eq=GroupIdentity" description:"Event Name"` GID pantherlog.Int64 `json:"GID" validate:"required" description:"The user Group ID."` AuthenticationUUID pantherlog.String `json:"AuthenticationUuid" validate:"required"` AuthenticationUUIDAsString pantherlog.String `json:"AuthenticationUuidAsString" validate:"required"` CommonIdentityFields }
nolint:lll
type ManagedAssets ¶ added in v1.16.0
type ManagedAssets struct { Time pantherlog.Time `json:"_time" tcodec:"unix" validate:"required" event_time:"true" description:"The host's local time in epoch format."` AID pantherlog.String `` /* 264-byte string literal not displayed */ CID pantherlog.String `json:"cid" validate:"required" description:"The customer ID."` GatewayIP pantherlog.String `json:"GatewayIP" validate:"required" panther:"ip" description:"The gateway of the system where the sensor is installed."` GatewayMAC pantherlog.String `json:"GatewayMAC" validate:"required" description:"The MAC address of the gateway."` MacPrefix pantherlog.String `json:"MacPrefix" validate:"required" description:"An identifier unique to the organization."` MAC pantherlog.String `json:"MAC" validate:"required" description:"The MAC address of the system."` LocalAddressIP4 pantherlog.String `json:"LocalAddressIP4" validate:"required" panther:"ip" description:"The device's local IP address in IPv4 format."` InterfaceAlias pantherlog.String `json:"InterfaceAlias" description:"The user-friendly name of the IP interface."` InterfaceDescription pantherlog.String `json:"InterfaceDescription" description:"The network adapter used for the IP interface."` }
nolint:lll
type NetworkConnect ¶
type NetworkConnect struct { EventSimpleName null.String `json:"event_simpleName" validate:"required,oneof=NetworkConnectIP4 NetworkConnectIP6" description:"Event name"` ContextEvent LocalAddressIP4 null.String `json:"LocalAddressIP4" panther:"ip" description:"Local IPv4 address for the connection"` LocalAddressIP6 null.String `json:"LocalAddressIP6" panther:"ip" description:"Local IPv6 address for the connection"` RemoteAddressIP4 null.String `json:"RemoteAddressIP4" panther:"ip" description:"Remote IPv4 address for the connection"` RemoteAddressIP6 null.String `json:"RemoteAddressIP6" panther:"ip" description:"Remote IPv6 address for the connection"` ConnectionFlags null.Uint16 `` /* 185-byte string literal not displayed */ Protocol null.Uint16 `json:"Protocol" description:"IP Protocol (ICMP = 1, TCP = 6, UDP = 17)"` LocalPort null.Uint16 `json:"LocalPort" description:"Connection local port"` RemotePort null.Uint16 `json:"RemotePort" description:"Connection remote port"` ConnectionDirection null.Uint16 `json:"ConnectionDirection" description:"Direction of the connection (OUTBOUND = 0, INBOUND = 1, NEITHER = 2, BOTH = 3)"` ICMPType null.String `json:"IcmpType" description:"ICMP type (N/A on iOS)"` ICMPCode null.String `json:"IcmpCode" description:"ICMP code (N/A on iOS)"` }
nolint:lll
type NetworkListen ¶
type NetworkListen struct { EventSimpleName null.String `json:"event_simpleName" validate:"required,oneof=NetworkListenIP4 NetworkListenIP6" description:"event name"` ContextEvent LocalAddressIP4 null.String `json:"LocalAddressIP4" panther:"ip" description:"Local IPv4 address for the connection"` LocalAddressIP6 null.String `json:"LocalAddressIP6" panther:"ip" description:"Local IPv6 address for the connection"` RemoteAddressIP4 null.String `json:"RemoteAddressIP4" panther:"ip" description:"Remote IPv4 address for the connection"` RemoteAddressIP6 null.String `json:"RemoteAddressIP6" panther:"ip" description:"Remote IPv6 address for the connection"` ConnectionFlags null.Uint16 `` /* 185-byte string literal not displayed */ Protocol null.Uint16 `json:"Protocol" description:"IP Protocol (ICMP = 1, TCP = 6, UDP = 17)"` LocalPort null.Uint16 `json:"LocalPort" description:"Connection local port"` RemotePort null.Uint16 `json:"RemotePort" description:"Connection remote port"` ConnectionDirection null.Uint16 `json:"ConnectionDirection" description:"Direction of the connection (OUTBOUND = 0, INBOUND = 1, NEITHER = 2, BOTH = 3)"` }
nolint:lll
type NotManagedAssets ¶ added in v1.16.0
type NotManagedAssets struct { Time pantherlog.Time `json:"_time" validate:"required" tcodec:"unix" event_time:"true" description:"The host's local time in epoch format."` AIP pantherlog.String `` /* 235-byte string literal not displayed */ AIPCount pantherlog.Int64 `json:"aipcount" validate:"required" description:"The number of public-facing IP addresses."` LocalIPCount pantherlog.Int64 `json:"localipCount" validate:"required" description:"The number of local IP addresses."` CID pantherlog.String `json:"cid" validate:"required" description:"The customer ID."` CurrentLocalIP pantherlog.String `` /* 160-byte string literal not displayed */ Subnet pantherlog.String `json:"subnet" description:"The subnet of the system."` MAC pantherlog.String `json:"MAC" validate:"required" description:"The MAC address of the system."` MacPrefix pantherlog.String `json:"MacPrefix" validate:"required" description:"An identifier unique to the organization."` DiscovererCount pantherlog.Int64 `json:"discovererCount" validate:"required" description:"The number of aid's that have discovered this system."` DiscovererAID []pantherlog.String `json:"discoverer_aid" description:"The agent IDs that have discovered this system."` DiscovererDeviceType pantherlog.String `json:"discoverer_devicetype" description:"The type of device that discovered this system ('VM' or 'Server')."` FirstDiscoveredDate pantherlog.Time `json:"FirstDiscoveredDate" tcodec:"unix" description:"The first time the system was discovered in epoch format."` LastDiscoveredBy pantherlog.Time `json:"LastDiscoveredBy" tcodec:"unix" description:"The most recent time the system was discovered in epoch format."` LocalAddressIP4 pantherlog.String `json:"LocalAddressIP4" panther:"ip" description:"The device's local IP address in IPv4 format."` ComputerName pantherlog.String `json:"ComputerName" description:"The name of the host that discovered the neighbor."` NeighborName pantherlog.String `json:"NeighborName" description:"The neighbor's host name."` }
nolint:lll
type ProcessRollup2 ¶
type ProcessRollup2 struct { EventSimpleName null.String `json:"event_simpleName" validate:"required,eq=ProcessRollup2" description:"Event name"` BaseEvent TargetProcessID null.Int64 `json:"TargetProcessId" description:"The unique ID of a target process"` SourceProcessID null.Int64 `json:"SourceProcessId" description:"The unique ID of creating process."` SourceThreadID null.Int64 `json:"SourceThreadId" description:"The unique ID of thread from creating process."` ParentProcessID null.Int64 `json:"ParentProcessId" description:"The unique ID of the parent process."` ImageFileName null.String `` /* 243-byte string literal not displayed */ CommandLine null.String `json:"CommandLine" description:"The command line used to create this process. May be empty in some circumstances"` RawProcessID null.Int64 `` /* 150-byte string literal not displayed */ ProcessStartTime time.Time `` /* 127-byte string literal not displayed */ ProcessEndTime time.Time `json:"ProcessEndTime" tcodec:"unix" description:"The time the process finished (in decimal, non-hex format)."` SHA256HashData null.String `` /* 155-byte string literal not displayed */ SHA1HashData null.String `json:"SHA1HashData" panther:"sha1" description:"The SHA1 hash of a file"` MD5HashData null.String `json:"MD5HashData" panther:"md5" description:"The MD5 hash of a file"` // Windows only ImageSubsystem null.String `json:"ImageSubsystem" description:"Subsystem of the image filename (Windows only)"` UserSID null.String `` /* 170-byte string literal not displayed */ AuthenticationID null.String `json:"AuthenticationId" description:"The authentication identifier (Windows only)" ` IntegrityLevel null.String `json:"IntegrityLevel" description:"The integrity level (Windows only)" ` ProcessCreateFlags null.String `json:"ProcessCreateFlags" description:"Captured flags from original process create. This is a bitfield. (Windows only)"` ProcessParameterFlags null.String `` /* 167-byte string literal not displayed */ ProcessSXSFlags null.String `` /* 207-byte string literal not displayed */ ParentAuthenticationID null.String `json:"ParentAuthenticationId" description:"The authentication identifier for the parent process (Windows only)" ` TokenType null.String `json:"TokenType" description:"The token type (Windows only)"` SessionID null.String `json:"SessionId" description:"The id of the session (Windows only)"` WindowFlags null.String `json:"WindowFlags" description:"Flags from the window (Windows only)"` ShowWindowFlags null.String `json:"ShowWindowFlags" description:"Window visibility flags (Windows only)"` WindowStartingPositionHorizontal null.Int64 `json:"WindowStartingPositionHorizontal" description:"Start horizontal position of the process window (Windows only)"` WindowStartingPositionVertical null.Int64 `json:"WindowStartingPositionVertical" description:"Start vertical position of the process window (Windows only)"` WindowStartingWidth null.Int64 `json:"WindowStartingWidth" description:"Start width of the process window (Windows only)"` WindowStartingHeight null.Int64 `json:"WindowStartingHeight" description:"Start height of the process window (Windows only)"` Desktop null.String `json:"Desktop" description:"The desktop of the process window (Windows only)"` WindowStation null.String `json:"WindowStation" description:"The process window station (Windows only)"` WindowTitle null.String `json:"WindowTitle" description:"The title of the process window (WindowsOnly)"` LinkName null.String `json:"LinkName" description:"Link name (Windows only)"` ApplicationUserModelID null.String `json:"ApplicationUserModelId" description:"Application user model id (WindowsOnly)"` CallStackModuleNames null.String `json:"CallStackModuleNames" description:"Call stack module names (Windows only)"` CallStackModuleNamesVersion null.String `json:"CallStackModuleNamesVersion" description:"Call stack module names version (Windows only)"` RPCClientProcessID null.String `json:"RpcClientProcessId" description:"RPC client process id (Windows only)"` CSAProcessDataCollectionInstanceID null.String `json:"CsaProcessDataCollectionInstanceId" description:"CSA process data collection instance id (Windows only)"` OriginalCommandLine null.String `json:"OriginalCommandLine" description:"The original command line used to create this process (Windows only)"` CreateProcessType null.String `json:"CreateProcessType" description:"Create process type (Windows only)"` ZoneIdentifier null.String `json:"ZoneIdentifier" description:"Zone identifier (Windows only)"` HostURL null.String `json:"HostUrl" description:"Host URL (Windows only)"` ReferrerURL null.String `json:"ReferrerUrl" panther:"url" description:"Referrer URL (Windows only)"` GrandParent null.String `json:"GrandParent" description:"Grant parent (Windows only)"` BaseFileName null.String `json:"BaseFileName" description:"Base file name (Windows only)"` Tags null.String `json:"Tags" description:"Process tags comma separated list (Windows, Mac)"` ParentBaseFileName null.String `json:"ParentBaseFileName" description:"Parent process base file name (Windows, Mac)"` ProcessGroupID null.Int64 `json:"ProcessGroupId" description:"Process group id (Windows, Mac)"` UID null.Int64 `json:"UID" description:"UID (Mac, Linux, Android)"` RUID null.Int64 `json:"RUID" description:"RUID (Mac, Linux, Android)"` SVUID null.Int64 `json:"SVUID" description:"SVUID (Mac, Linux, Android)"` GID null.Int64 `json:"GID" description:"GID (Mac, Linux, Android)"` RGID null.Int64 `json:"RGID" description:"RGID (Mac, Linux, Android)"` SVGID null.Int64 `json:"SVGID" description:"SVGID (Mac, Linux, Android)"` SessionProcessID null.Int64 `json:"SessionProcessId" description:"Session process id (Mac, Linux)"` MachOSubType null.String `json:"MachOSubType" description:"MachOSubType (Mac only)"` TTYName null.String `json:"TtyName" description:"TTY name (Linux only)"` OCIContainerID null.String `json:"OciContainerId" description:"OCI Container id (Linux only)"` // Android only SourceAndroidComponentName null.String `json:"SourceAndroidComponentName" description:"Source component name (Android only)"` TargetAndroidComponentName null.String `json:"TargetAndroidComponentName" description:"Target component name (Android only)"` TargetAndroidComponentType null.String `json:"TargetAndroidComponentType" description:"Target component type (Android only)"` }
nolint:lll
type SyntheticProcessRollup2 ¶
type SyntheticProcessRollup2 struct { EventSimpleName null.String `json:"event_simpleName" validate:"required,eq=SyntheticProcessRollup2" description:"event name"` ContextEvent TargetProcessID null.Int64 `json:"TargetProcessId" description:"The unique ID of a target process"` SourceProcessID null.Int64 `json:"SourceProcessId" description:"The unique ID of creating process."` SourceThreadID null.Int64 `json:"SourceThreadId" description:"The unique ID of thread from creating process."` ParentProcessID null.Int64 `json:"ParentProcessId" description:"The unique ID of the parent process."` ImageFileName null.String `` /* 243-byte string literal not displayed */ CommandLine null.String `json:"CommandLine" description:"The command line used to create this process. May be empty in some circumstances"` RawProcessID null.Int64 `` /* 150-byte string literal not displayed */ ProcessStartTime time.Time `` /* 127-byte string literal not displayed */ ProcessEndTime time.Time `json:"ProcessEndTime" tcodec:"unix" description:"The time the process finished (in decimal, non-hex format)."` SHA256HashData null.String `` /* 155-byte string literal not displayed */ SHA1HashData null.String `json:"SHA1HashData" panther:"sha1" description:"The SHA1 hash of a file"` MD5HashData null.String `json:"MD5HashData" panther:"md5" description:"The MD5 hash of a file"` SyntheticPR2Flags null.Uint16 `` /* 186-byte string literal not displayed */ // Windows only ImageSubsystem null.String `json:"ImageSubsystem" description:"Subsystem of the image filename (Windows only)"` UserSID null.String `` /* 170-byte string literal not displayed */ AuthenticationID null.String `json:"AuthenticationId" description:"The authentication identifier (Windows only)" ` IntegrityLevel null.String `json:"IntegrityLevel" description:"The integrity level (Windows only)" ` // Mac only ProcessGroupID null.Int64 `json:"ProcessGroupId" description:"Process group id (Mac)"` UID null.Int64 `json:"UID" description:"UID (Mac)"` RUID null.Int64 `json:"RUID" description:"RUID (Mac)"` SVUID null.Int64 `json:"SVUID" description:"SVUID (Mac)"` GID null.Int64 `json:"GID" description:"GID (Mac)"` RGID null.Int64 `json:"RGID" description:"RGID (Mac)"` SVGID null.Int64 `json:"SVGID" description:"SVGID (Mac)"` SessionProcessID null.Int64 `json:"SessionProcessId" description:"Session process id (Mac)"` }
nolint:lll
type UnknownEvent ¶
type UnknownEvent struct { EventSimpleName null.String `json:"event_simpleName" validate:"required" description:"Event name"` ContextEvent }
This event holds all common fields for crowdstrike events.
type UnknownEventWithPayload ¶
type UnknownEventWithPayload struct { // We neethe ed the embedding to parse the base fields of the payload UnknownEvent UnknownPayload *jsoniter.RawMessage `json:"unknown_payload" validate:"required" description:"The full JSON payload of the event"` }
This event is a catch-all event for all (yet) unknown crowdstrike events
type UserIdentity ¶ added in v1.16.0
type UserIdentity struct { ContextEvent EventSimpleName pantherlog.String `json:"event_simpleName" validate:"required,eq=UserIdentity" description:"Event Name"` CommonIdentityFields // Mac Only AuthenticationUUID pantherlog.String `json:"AuthenticationUuid"` AuthenticationUUIDAsString pantherlog.String `json:"AuthenticationUuidAsString"` UID pantherlog.Int64 `json:"UID" description:"The User ID."` // Windows only UserName pantherlog.String `json:"UserName" panther:"username"` UserCanonical pantherlog.String `json:"UserCanonical"` LogonID pantherlog.String `json:"LogonId"` LogonDomain pantherlog.String `json:"LogonDomain"` AuthenticationPackage pantherlog.String `json:"AuthenticationPackage"` LogonType pantherlog.Int32 `` /* 260-byte string literal not displayed */ LogonTime pantherlog.Time `json:"LogonTime" tcodec:"unix"` LogonServer pantherlog.String `json:"LogonServer"` UserFlags pantherlog.Int64 `` /* 143-byte string literal not displayed */ PasswordLastSet pantherlog.Time `json:"PasswordLastSet" tcodec:"unix"` RemoteAccount pantherlog.Int32 `json:"RemoteAccount"` UserIsAdmin pantherlog.Int32 `json:"UserIsAdmin"` SessionID pantherlog.String `json:"SessionId" panther:"trace_id"` UserLogonFlags pantherlog.Int32 `` /* 198-byte string literal not displayed */ }
nolint:lll
type UserInfo ¶ added in v1.16.0
type UserInfo struct { Time pantherlog.Time `json:"_time" validate:"required" tcodec:"unix" event_time:"true" description:"The host's local time in epoch format."` CID pantherlog.String `json:"cid" validate:"required" description:"The customer ID."` AccountType pantherlog.String `` /* 143-byte string literal not displayed */ DomainUser pantherlog.String `` /* 133-byte string literal not displayed */ UserName pantherlog.String `json:"UserName" validate:"required" panther:"username" description:"The username of the system."` UserSidReadable pantherlog.String `json:"UserSid_readable" validate:"required" description:"The user SID associated with this process."` LastLoggedOnHost pantherlog.String `json:"LastLoggedOnHost" description:"The host that was last logged into the system."` LocalAdminAccess pantherlog.String `json:"LocalAdminAccess" description:"Indicates whether a local user is an admin: 'Yes', 'No'."` LoggedOnHostCount pantherlog.Int32 `json:"LoggedOnHostCount" description:"The number of hosts logged in at _time."` LogonInfo pantherlog.String `json:"LogonInfo" description:"The login information."` LogonTime pantherlog.Time `json:"LogonTime" tcodec:"unix" description:"The last login time by this user in epoch format."` LogonType pantherlog.String `` /* 262-byte string literal not displayed */ MonthSinceReset pantherlog.Int32 `json:"monthsincereset" description:"The number of months since this user's password was last reset."` PasswordLastSet pantherlog.Time `` /* 129-byte string literal not displayed */ User pantherlog.String `json:"User" description:"A system username with domain."` UserIsAdmin pantherlog.Int8 `json:"UserIsAdmin" description:"Indicates whether the user account has administrator privileges."` UserLogonFlagsDecimal pantherlog.Int32 `json:"UserLogonFlags_decimal" description:"A bitfield for various bits of a UserLogon, or failed user logon."` }
nolint:lll