PowerShell-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie mithilfe von Bindplane PowerShell-Protokolle für Google Security Operations erfassen. Der Parser wandelt Roh-PowerShell-Logs in ein einheitliches Datenmodell (UDM) um. Dabei werden zuerst Felder aus der Rohprotokollnachricht extrahiert, in UDM-Felder normalisiert und dann anhand bestimmter Ereignis-IDs mit zusätzlichem Kontext angereichert. So wird ein strukturiertes UDM-Ereignis für die Sicherheitsanalyse erstellt.
Hinweise
- Sie benötigen eine Google SecOps-Instanz.
- Sie benötigen Windows 2016 oder höher.
- Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
- Lade die Datei zur Authentifizierung der Datenaufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Profil.
- Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.
Bindplane-Agent unter Windows installieren
- Öffnen Sie die Eingabeaufforderung oder die PowerShell als Administrator.
Führen Sie dazu diesen Befehl aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Weitere Installationsressourcen
- Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
Bindplane-Agent so konfigurieren, dass er Syslog-Daten aufnimmt und an Google SecOps sendet
- Bevor Sie die YAML-Datei konfigurieren, beenden Sie den
observIQ Distro for Open Telemetry Collector
-Dienst im Bereich „Dienste“. Rufen Sie die Konfigurationsdatei auf:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet es sich unter Linux im Verzeichnis/etc/bindplane-agent/
oder unter Windows im Installationsverzeichnis. - Öffnen Sie die Datei mit einem Texteditor, z. B.
nano
,vi
oder Notepad.
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so:receivers: windowseventlog/powershell: channel: Microsoft-Windows-PowerShell/Operational max_reads: 100 poll_interval: 5s raw: true start_at: end processors: batch: exporters: chronicle/powershell: endpoint: malachiteingestion-pa.googleapis.com # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' log_type: 'POWERSHELL' override_log_type: false raw_log_field: body customer_id: '<customer_id>' service: pipelines: logs/winpowershell: receivers: - windowseventlog/powershell processors: [batch] exporters: [chronicle/powershell]
Ersetzen Sie
<customer_id>
durch die tatsächliche Kundennummer.Aktualisieren Sie
/path/to/ingestion-authentication-file.json
im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.Nachdem Sie die
config.yaml
-Datei gespeichert haben, starten Sie denobservIQ Distro for Open Telemetry Collector
-Dienst.
Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden
Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:
net stop BindPlaneAgent && net start BindPlaneAgent
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
AccountName | principal.user.userid | Direkt aus dem Feld AccountName im Rohprotokoll zugeordnet. |
ActivityID | security_result.detection_fields[0].value | Direkt aus dem Feld ActivityID im Rohprotokoll zugeordnet. Die geschweiften Klammern werden entfernt. |
Kanal | Nicht dem IDM-Objekt zugeordnet. | |
collection_time.nanos | Nicht dem IDM-Objekt zugeordnet. | |
collection_time.seconds | Nicht dem IDM-Objekt zugeordnet. | |
Befehl | Nicht dem IDM-Objekt zugeordnet. | |
CommandLine | Nicht dem IDM-Objekt zugeordnet. | |
Computer | principal.hostname | Wird direkt aus dem Feld Computer im Rohprotokoll zugeordnet, sofern vorhanden. |
ContextInfo | Nicht dem IDM-Objekt zugeordnet. | |
ContextInfo_Command Name | security_result.detection_fields[0].value | Wird direkt aus dem Feld ContextInfo_Command Name im Rohprotokoll zugeordnet, sofern vorhanden. |
ContextInfo_Command Type | security_result.detection_fields[1].value | Wird direkt aus dem Feld ContextInfo_Command Type im Rohprotokoll zugeordnet, sofern vorhanden. |
ContextInfo_Host Application | target.process.command_line | Wird direkt aus dem Feld ContextInfo_Host Application im Rohprotokoll zugeordnet, wenn powershell.Host Application nicht vorhanden ist. |
ContextInfo_Host-ID | target.asset.asset_id | Wird direkt aus dem Feld ContextInfo_Host ID im Rohprotokoll zugeordnet, wenn powershell.Host ID nicht vorhanden ist. Dem Wert wird das Präfix Host ID: vorangestellt. |
ContextInfo_Host Name | target.hostname | Wird direkt aus dem Feld ContextInfo_Host Name im Rohprotokoll zugeordnet, wenn powershell.Host Name nicht vorhanden ist. |
ContextInfo_Script Name | target.process.file.full_path | Wird direkt aus dem Feld ContextInfo_Script Name im Rohprotokoll zugeordnet, wenn script_name nicht vorhanden ist. |
ContextInfo_Sequence Number | security_result.detection_fields[2].value | Wird direkt aus dem Feld ContextInfo_Sequence Number im Rohprotokoll zugeordnet, sofern vorhanden. In einen String konvertiert. |
ContextInfo_Severity | Nicht dem IDM-Objekt zugeordnet. | |
create_time.nanos | Nicht dem IDM-Objekt zugeordnet. | |
create_time.seconds | Nicht dem IDM-Objekt zugeordnet. | |
customer_id | Nicht dem IDM-Objekt zugeordnet. | |
Daten | Nicht dem IDM-Objekt zugeordnet. | |
Daten | security_result.detection_fields[0].value | Wird direkt aus dem Feld Data im Rohprotokoll zugeordnet, sofern vorhanden. |
Data_1 | security_result.detection_fields[1].value | Wird direkt aus dem Feld Data_1 im Rohprotokoll zugeordnet, sofern vorhanden. |
Data_2 | security_result.detection_fields[2].value | Wird direkt aus dem Feld Data_2 im Rohprotokoll zugeordnet, sofern vorhanden. |
Domain | principal.administrative_domain | Direkt aus dem Feld Domain im Rohprotokoll zugeordnet. |
entries | Nicht dem IDM-Objekt zugeordnet. | |
ERROR_EVT_UNRESOLVED | Nicht dem IDM-Objekt zugeordnet. | |
EventCategory | Nicht dem IDM-Objekt zugeordnet. | |
EventData | Nicht dem IDM-Objekt zugeordnet. | |
EventID | metadata.product_event_type, security_result.rule_name | Direkt aus dem Feld EventID im Rohprotokoll zugeordnet. Dem Wert für das Feld security_result.rule_name wird EventID: vorangestellt. |
EventLevel | Nicht dem IDM-Objekt zugeordnet. | |
EventLevelName | security_result.severity | Zuordnung basierend auf dem Wert von EventLevelName :– Information wird INFORMATIONAL zugeordnet.– Verbose wird LOW zugeordnet. |
EventLog | Nicht dem IDM-Objekt zugeordnet. | |
EventReceivedTime | Nicht dem IDM-Objekt zugeordnet. | |
EventType | Nicht dem IDM-Objekt zugeordnet. | |
EventTime | metadata.event_timestamp | Wird verwendet, um den Zeitstempel zu extrahieren, falls vorhanden. |
ExecutionProcessID | principal.process.pid | Wird direkt aus dem Feld ExecutionProcessID im Rohprotokoll zugeordnet, sofern vorhanden und nicht leer oder 0. In einen String konvertiert. |
ExecutionThreadID | security_result.detection_fields[2].value | Wird direkt aus dem Feld ExecutionThreadID im Rohprotokoll zugeordnet, sofern vorhanden und nicht leer oder 0. In einen String konvertiert. |
Datei | target.process.file.full_path | Wird direkt aus dem Feld File im Rohprotokoll zugeordnet, sofern vorhanden. |
Hostanwendung | Nicht dem IDM-Objekt zugeordnet. | |
HostApplication | Nicht dem IDM-Objekt zugeordnet. | |
Hostname | principal.hostname | Direkt aus dem Feld Hostname im Rohprotokoll zugeordnet. |
id | Nicht dem IDM-Objekt zugeordnet. | |
Keywords | Nicht dem IDM-Objekt zugeordnet. | |
log_type | metadata.log_type | Direkt aus dem Feld log_type im Rohprotokoll zugeordnet. |
Maschine | principal.asset.asset_id, principal.asset.platform_software.platform_version | Das Feld Machine wird analysiert, um die Computer-ID und die Plattforminformationen zu extrahieren. Die Maschinen-ID beginnt mit dem Präfix Machine ID: . Die Plattform wird basierend auf dem Wert dem UDM-Enum zugeordnet: bis win wird WINDOWS zugeordnet.– mac wird MAC zugeordnet.– lin wird LINUX zugeordnet.: Andere Werte werden UNKNOWN_PLATFORM zugeordnet. |
ManagementGroupName | additional.fields[0].value.string_value | Wird direkt aus dem Feld ManagementGroupName im Rohprotokoll zugeordnet, sofern vorhanden. |
Message.EventTime | metadata.event_timestamp | Wird verwendet, um den Zeitstempel zu extrahieren, falls vorhanden. In einen String konvertiert. |
Message.Message | security_result.description | Wird direkt aus dem Feld Message.Message im Rohprotokoll zugeordnet, wenn EventID in [403 , 4103 , 4104 ] und message_message_not_found liegt. Umbruchzeichen und Tabulatorzeichen werden durch Kommas ersetzt. |
Nachricht | security_result.description | Wird direkt aus dem Feld Message im Rohprotokoll zugeordnet, sofern vorhanden. |
MessageNumber | Nicht dem IDM-Objekt zugeordnet. | |
MessageSourceAddress | principal.ip | Wird direkt aus dem Feld MessageSourceAddress im Rohprotokoll zugeordnet, sofern vorhanden. |
MessageTotal | Nicht dem IDM-Objekt zugeordnet. | |
MG | Nicht dem IDM-Objekt zugeordnet. | |
Opcode | metadata.description | Direkt aus dem Feld Opcode im Rohprotokoll zugeordnet. |
OpcodeValue | Nicht dem IDM-Objekt zugeordnet. | |
Ausgabe | security_result.detection_fields[0].value | Wird direkt aus dem Feld Output im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.Command Name | security_result.detection_fields[0].value | Wird direkt aus dem Feld powershell.Command Name zugeordnet, sofern vorhanden. |
powershell.Command Type | security_result.detection_fields[1].value | Wird direkt aus dem Feld powershell.Command Type zugeordnet, sofern vorhanden. |
powershell.Host Application | target.process.command_line | Wird direkt aus dem Feld powershell.Host Application im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.Host-ID | target.asset.asset_id | Wird direkt aus dem Feld powershell.Host ID im Rohprotokoll zugeordnet, sofern vorhanden. Dem Wert wird das Präfix Host ID: vorangestellt. |
powershell.Host Name | target.hostname | Wird direkt aus dem Feld powershell.Host Name im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.HostApplication | target.process.command_line | Wird direkt aus dem Feld powershell.HostApplication im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.HostId | target.asset.asset_id | Wird direkt aus dem Feld powershell.HostId im Rohprotokoll zugeordnet, sofern vorhanden. Dem Wert wird das Präfix Host ID: vorangestellt. |
powershell.HostName | target.hostname | Wird direkt aus dem Feld powershell.HostName im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.Script Name | target.process.file.full_path | Wird direkt aus dem Feld powershell.Script Name im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.ScriptName | target.process.file.full_path | Wird direkt aus dem Feld powershell.ScriptName im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.Sequence Number | security_result.detection_fields[2].value | Wird direkt aus dem Feld powershell.Sequence Number im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.SequenceNumber | security_result.detection_fields[0].value | Wird direkt aus dem Feld powershell.SequenceNumber im Rohprotokoll zugeordnet, sofern vorhanden. |
powershell.UserId | principal.user.userid | Wird direkt aus dem Feld powershell.UserId im Rohprotokoll zugeordnet, sofern vorhanden. |
Prozess-ID | principal.process.pid | Wird direkt aus dem Feld Process ID im Rohprotokoll zugeordnet, wenn ExecutionProcessID und ProcessID nicht vorhanden, leer oder 0 sind. In einen String konvertiert. |
ProcessID | principal.process.pid | Wird direkt aus dem Feld ProcessID im Rohprotokoll zugeordnet, wenn ExecutionProcessID nicht vorhanden, leer oder 0 ist. In einen String konvertiert. |
ProviderGuid | metadata.product_deployment_id | Direkt aus dem Feld ProviderGuid im Rohprotokoll zugeordnet. Die geschweiften Klammern werden entfernt. |
PSEdition | Nicht dem IDM-Objekt zugeordnet. | |
PSRemotingProtocolVersion | Nicht dem IDM-Objekt zugeordnet. | |
PSVersion | Nicht dem IDM-Objekt zugeordnet. | |
RecordNumber | metadata.product_log_id | Direkt aus dem Feld RecordNumber im Rohprotokoll zugeordnet. In einen String konvertiert. |
RenderedDescription | security_result.description | Wird direkt aus dem Feld RenderedDescription im Rohprotokoll zugeordnet, sofern vorhanden. |
RunAs-Nutzer | Nicht dem IDM-Objekt zugeordnet. | |
ScriptBlockId | Nicht dem IDM-Objekt zugeordnet. | |
ScriptBlockText | security_result.detection_fields[0].value | Wird direkt aus dem Feld ScriptBlockText im Rohprotokoll zugeordnet, sofern vorhanden. |
ScriptBlock-ID | Nicht dem IDM-Objekt zugeordnet. | |
Schweregrad | security_result.severity, security_result.severity_details | Zuordnung basierend auf dem Wert von Severity :– verbose oder info wird LOW zugeordnet.– warn oder err wird MEDIUM zugeordnet.– crit wird HIGH zugeordnet.Der Rohwert wird auch security_result.severity_details zugeordnet. |
source.collector_id | Nicht dem IDM-Objekt zugeordnet. | |
source.customer_id | Nicht dem IDM-Objekt zugeordnet. | |
Quelle | additional.fields[1].value.string_value | Wird direkt aus dem Feld Source im Rohprotokoll zugeordnet, sofern vorhanden. |
SourceModuleName | principal.resource.name | Direkt aus dem Feld SourceModuleName im Rohprotokoll zugeordnet. |
SourceModuleType | principal.resource.resource_subtype | Direkt aus dem Feld SourceModuleType im Rohprotokoll zugeordnet. |
SourceName | metadata.product_name | Direkt aus dem Feld SourceName im Rohprotokoll zugeordnet. |
start_time.nanos | Nicht dem IDM-Objekt zugeordnet. | |
start_time.seconds | Nicht dem IDM-Objekt zugeordnet. | |
TenantId | additional.fields[2].value.string_value | Wird direkt aus dem Feld TenantId im Rohprotokoll zugeordnet, sofern vorhanden. |
ThreadID | Nicht dem IDM-Objekt zugeordnet. | |
timestamp.nanos | Nicht dem IDM-Objekt zugeordnet. | |
timestamp.seconds | Nicht dem IDM-Objekt zugeordnet. | |
Typ | Nicht dem IDM-Objekt zugeordnet. | |
UserID | principal.user.windows_sid | Direkt aus dem Feld UserID im Rohprotokoll zugeordnet. |
Nutzername | principal.user.userid | Wird direkt aus dem Feld Username im Rohprotokoll zugeordnet, wenn AccountName nicht vorhanden ist. |
metadata.vendor_name | Legen Sie Microsoft fest. |
|
metadata.event_type | Wird auf PROCESS_LAUNCH gesetzt, wenn EventID gleich 4104 ist und _Path in Message enthalten ist, oder wenn EventID gleich 4103 ist, oder wenn EventID in [800 , 600 , 400 ] enthalten ist und powershell.ScriptName und powershell.HostApplication vorhanden sind. Wird auf PROCESS_TERMINATION gesetzt, wenn EventID gleich 403 ist und _HostApplication in Message vorhanden ist, oder wenn EventID gleich 403 ist und NewEngineState gleich Stopped ist. Wird auf STATUS_UPDATE gesetzt, wenn EventID gleich 4104 ist und _Path nicht in Message enthalten ist, oder wenn EventID gleich 4103 ist und no_value , script_name leer, script_name_not_found und host_application_not_found alle TRUE sind, oder wenn EventID gleich 53504 ist, oder wenn EventID gleich 40962 ist, oder wenn EventID gleich 40961 ist, oder wenn EventID leer ist und MessageSourceAddress vorhanden ist. Wird auf USER_UNCATEGORIZED gesetzt, wenn EventID leer ist und Username vorhanden ist. Wird auf GENERIC_EVENT gesetzt, wenn EventID leer ist und MessageSourceAddress und Username nicht vorhanden sind. |
|
metadata.product_name | Wird auf Powershell gesetzt, wenn SourceName nicht vorhanden ist. |
|
security_result.action | Legen Sie ALLOW fest. |
|
security_result.detection_fields[0].key | Legen Sie Activity ID fest. |
|
security_result.detection_fields[1].key | Legen Sie Sequence Number fest. |
|
security_result.detection_fields[2].key | Legen Sie ExecutionThreadID fest. |
|
additional.fields[0].key | Legen Sie Management Group Name fest. |
|
additional.fields[1].key | Legen Sie Source fest. |
|
additional.fields[2].key | Legen Sie TenantId fest. |
|
principal.asset.platform_software.platform | Wird auf WINDOWS gesetzt, wenn platform_software win enthält, auf MAC , wenn es mac enthält, auf LINUX , wenn es lin enthält, und andernfalls auf UNKNOWN_PLATFORM . |
|
target.process.file.full_path | Wird auf _Path gesetzt, wenn EventID gleich 4104 ist und _Path in Message enthalten ist. Wird auf file_path gesetzt, wenn EventID gleich 4104 ist und file_path in Message enthalten ist. Wird auf _HostApplication gesetzt, wenn EventID gleich 403 ist und _HostApplication in Message enthalten ist. |
Änderungen
2025-01-29
Optimierung:
- Zuordnung für
ScriptBlockText
vonsecurity_result.detection_fields
zutarget.process.command_line
geändert.
2025-01-28
Optimierung:
gsub
wurde hinzugefügt, um das neue Format von JSON-Protokollen zu unterstützen.
2025-01-09
Optimierung:
Payload
wurdesecurity_result.detection_fields
zugeordnet.Script Name
wurdetarget.file.full_path
zugeordnet.
2024-11-28
Optimierung:
- Unterstützung für ein neues SYSLOG-Log-Muster hinzugefügt.
2024-08-20
Optimierung:
gsub
wurde hinzugefügt, um beim Parsen von JSON-Protokollen zusätzliche Zeichen zu entfernen.
2024-08-14
Optimierung:
Version
wurdemetadata.product_version
zugeordnet.SystemTime
wurdemetadata.event_timestamp
zugeordnet.channel
,keywords
,MessageNumber
,MessageTotal
undScriptBlockId
wurdensecurity_result.detection_fields
zugeordnet.Path
wurdetarget.process.file.full_path
zugeordnet.
2024-07-24
Optimierung:
- Unterstützung für ein neues Muster von JSON-Protokollen hinzugefügt.
2024-07-20
Optimierung:
HostApplication
wurdeprincipal.application
zugeordnet.HostId
wurdeprincipal.resource.product_object_id
zugeordnet.System.Computer
wurdeprincipal.hostname
undprincipal.asset.hostname
zugeordnet.System.Version
wurdemetadata.product_version
zugeordnet.System.ProcessID
wurdeprincipal.process.pid
zugeordnet.System.ProviderName
wurdeprincipal.resource.attribute.labels
zugeordnet.HostVersion
,RunspaceId
,PipelineId
,EngineVersion
,DetailSequence
,DetailTotal
,SequenceNumber
undScriptName
wurdenadditional.fields
zugeordnet.System.EventRecordID
,System.Task
,System.Keywords
,System.Opcode
undSystem.ThreadID
wurdensecurity.detection_fields
zugeordnet.
2023-12-05
Optimierung:
- Zuordnung für nicht geparste JSON-Protokolle hinzugefügt.
Computer
wurdeprincipal.hostname
zugeordnet.EventLevelName
wurdesecurity_result.severity
zugeordnet.ManagementGroupName
,Source
undTenantId
wurdenadditional_fields
zugeordnet.RenderedDescription
wurdesecurity_result.description
zugeordnet.UserName
wurdeprincipal.user.userid
zugeordnet.
2023-09-14
Optimierung:
- Es wurden Zuordnungen für nicht geparste JSON-Protokolle hinzugefügt.
- „winlog.activity_id“ wurde „security_result.detection_fields“ zugeordnet.
- „winlog.api“ wurde „additional.fields“ zugeordnet.
- „winlog.channel“ und „winlog.process.thread.id“ wurden in „security_result.about.resource.attribute.labels“ zugeordnet.
- „winlog.computer_name“ wurde „principal.hostname“ zugeordnet.
- „winlog.event_id“ wurde auf „metadata.product_event_type“ und „security_result.rule_name“ zugeordnet.
- „winlog.opcode“ wurde „metadata.description“ zugeordnet.
- „winlog.process.pid“ wurde in „principal.process.pid“ geändert.
- „winlog.provider_guid“ wurde „metadata.product_deployment_id“ zugeordnet.
- „winlog.provider_name“ wurde „metadata.product_name“ zugeordnet.
- „winlog.record_id“ wurde „metadata.product_log_id“ zugeordnet.
- „winlog.user.domain“ wurde „principal.administrative_domain“ zugeordnet.
- „winlog.user.identifier“ wurde „principal.user.windows_sid“ zugeordnet.
- „winlog.user.name“ wurde „principal.user.userid“ zugeordnet.
2023-07-05
Optimierung:
- Für „EventID = 403“ wurde „metadata.event_type“ in „STATUS_UPDATE“ umgewandelt, wenn der Wert für „HostApplication“ nicht vorhanden ist.
- Der Wert für „target.file.full_path“ wurde mit einem Grok-Muster aus dem Protokoll extrahiert, wenn „Path“ leer ist.
- Die Funktion „gsub“ wurde hinzugefügt, um „@timestamp“ in „EventTime“ umzubenennen.
2022-11-09
Optimierung:
- Das Feld „ProviderGuid“ ist „metadata.product_deployment_id“ zugeordnet.
- Das Feld „ExecutionProcessID“ ist „principal.process.pid“ zugeordnet.
- Das Feld „ProcessID“ oder „Process ID“ ist „principal.process.pid“ zugeordnet.
- Das Feld „SourceModuleType“ ist „principal.resource.resource_subtype“ zugeordnet.
- Das Feld „SourceModuleName“ ist „principal.resource.name“ zugeordnet.
- Das Feld „Machine“ ist „principal.asset.asset_id“ zugeordnet.
- Das Feld „MessageSourceAddress“ ist „principal.ip“ zugeordnet.
- Das Feld „Datei“ ist „target.process.file.full_path“ zugeordnet.
- Das Feld „Hostanwendung“ oder „Befehl“ wird auf „target.process.command_line“ zugeordnet.
- Das Feld „Output“ ist „security_result.detection_fields“ zugeordnet.
- Das Feld „Nachricht“ ist „security_result.description“ zugeordnet.
- Das Feld „ActivityID“ ist „security_result.detection_fields“ zugeordnet.
- Die folgende Zuordnung wurde hinzugefügt, wenn die Ereignis-ID „4103“ lautet.
- Das Feld „Host-ID“ oder „ContextInfo_Host-ID“ wird „target.asset.asset_id“ zugeordnet.
- Das Feld „Hostname“ oder „ContextInfo_Hostname“ wird auf „target.hostname“ zugeordnet.
- Das Feld „ContextInfo_Script Name“ ist „target.process.file.full_path“ zugeordnet.
- Das Feld „ContextInfo_Host Application“ ist „target.process.command_line“ zugeordnet.
- Das Feld „ContextInfo_Command Name“ ist „security_result.detection_fields“ zugeordnet.
- Das Feld „ContextInfo_Command Type“ wird „security_result.detection_fields“ zugeordnet.
- Das Feld „ContextInfo_Sequence Number“ oder „Sequence Number“ wird „security_result.detection_fields“ zugeordnet.
- Die folgende Zuordnung wurde hinzugefügt, wenn die Ereignis-ID „800“, „600“ oder „400“ lautet.
- Das Feld „UserId“ ist „principal.user.userid“ zugeordnet.
- Das Feld „HostApplication“ ist „target.process.command_line“ zugeordnet.
- Das Feld „HostId“ wird „target.asset.asset_id“ zugeordnet.
- Das Feld „HostName“ ist „target.hostname“ zugeordnet.
- Das Feld „ScriptName“ ist „target.process.file.full_path“ zugeordnet.
- Das Feld „SequenceNumber“ ist „security_result.detection_fields“ zugeordnet.
2022-10-13
Fehlerkorrektur:
- Ich habe die folgenden Änderungen vorgenommen, um fehlgeschlagene Protokolle zu parsen.
- Es wurden
on_error
-Prüfungen für Felder hinzugefügt, bei denen das Parsen fehlgeschlagen ist, weil keine Werte vorhanden waren. Felder wie „opcode“ und „Host Application“. - Neue Quelle „ContextInfo“ für die KV-Analyse hinzugefügt, wenn „Message“ nicht in den Protokollen vorhanden ist.
- Verbesserung:
- „event_type“ wurde von
GENERIC_EVENT
inSTATUS_UPDATE
geändert.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten