Skip to content

Commit 3c673b9

Browse files
yummyblablaDerrick Lee
andauthored
ASIM Authentication Fixes (Azure#13232)
* ASIM Authentication Fixes * Filtering on srchostname done later in parser * Add back prefiltering --------- Co-authored-by: Derrick Lee <[email protected]>
1 parent 5f66fa0 commit 3c673b9

File tree

8 files changed

+26
-26
lines changed

8 files changed

+26
-26
lines changed

Parsers/ASimAuthentication/ARM/ASimAuthenticationMicrosoftWindowsEvent/ASimAuthenticationMicrosoftWindowsEvent.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Parsers/ASimAuthentication/ARM/ASimAuthenticationSshd/ASimAuthenticationSshd.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Parsers/ASimAuthentication/ARM/vimAuthenticationMicrosoftWindowsEvent/vimAuthenticationMicrosoftWindowsEvent.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Parsers/ASimAuthentication/ARM/vimAuthenticationSshd/vimAuthenticationSshd.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Parsers/ASimAuthentication/Parsers/ASimAuthenticationMicrosoftWindowsEvent.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ ParserQuery: |
100100
LogonGuid = tostring(EventData.LogonGuid),
101101
LogonProtocol = tostring(EventData.AuthenticationPackageName),
102102
LogonType = toint(EventData.LogonType),
103-
SrcHostname = tostring(EventData.WorkstationName),
103+
SrcHostname = tostring(iff(EventData.WorkstationName in ('-', ''), Computer, EventData.WorkstationName)),
104104
SrcIpAddr = tostring(EventData.IpAddress),
105105
Status = tostring(EventData.Status),
106106
SubStatus = tostring(EventData.SubStatus),
@@ -151,9 +151,10 @@ ParserQuery: |
151151
/// ** Aliases
152152
| extend
153153
Dvc = SrcHostname,
154+
DvcHostName = SrcHostname,
154155
LogonTarget = TargetDvcHostname,
155156
User = TargetUsername,
156-
IpAddr = SrcIpAddr
157+
IpAddr = SrcIpAddr
157158
| project-away
158159
EventData,
159160
LogonGuid,
@@ -200,7 +201,6 @@ ParserQuery: |
200201
EventOriginalType = EventID,
201202
EventOriginalUid = EventOriginId,
202203
LogonProtocol = AuthenticationPackageName,
203-
SrcHostname = WorkstationName,
204204
SrcIpAddr = IpAddress,
205205
TargetDvcHostname = Computer,
206206
TargetSessionId = TargetLogonId,
@@ -220,6 +220,7 @@ ParserQuery: |
220220
EventType = iff(EventOriginalType in (LogoffEvents), 'Logoff', 'Logon'),
221221
EventVendor = 'Microsoft',
222222
SrcDvcOs = 'Windows',
223+
SrcHostname = iff (WorkstationName in ('-', ''), TargetDvcHostname, WorkstationName),
223224
TargetUserIdType = 'SID',
224225
TargetUsername = iff (TargetDomainName in ('-', ''), trim(@'\\', TargetUserName), trim(@'\\', TargetAccount)),
225226
TargetUsernameType = iff (TargetDomainName in ('-', ''), 'Simple', 'Windows')
@@ -233,6 +234,7 @@ ParserQuery: |
233234
/// ** Aliases
234235
| extend
235236
Dvc = SrcHostname,
237+
DvcHostName = SrcHostname,
236238
LogonTarget = TargetDvcHostname,
237239
User = TargetUsername,
238240
IpAddr = SrcIpAddr

Parsers/ASimAuthentication/Parsers/ASimAuthenticationSshd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ ParserQuery: |
192192
| extend
193193
Dst = coalesce (DvcFQDN, DvcHostname, DvcIpAddr),
194194
Dvc = DvcHostname,
195-
IpAddr = DvcIpAddr,
195+
IpAddr = SrcIpAddr,
196196
TargetDomain = DvcDomain,
197197
TargetDomainType = DvcDomainType,
198198
TargetDvcId = DvcId,

Parsers/ASimAuthentication/Parsers/vimAuthenticationMicrosoftWindowsEvent.yaml

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ ParserQuery: |
135135
and ((array_length(username_has_any) == 0) or (tostring(EventData.TargetUserName) has_any (username_has_any)) or (tostring(EventData.TargetDomainName) has_any (username_has_any)) or (strcat(tostring(EventData.TargetDomainName), '\\', tostring(EventData.TargetUserName)) has_any (username_has_any)) or (tostring(EventData.SubjectUserName) has_any (username_has_any)) or (tostring(EventData.SubjectDomainName) has_any (username_has_any)) or (strcat(tostring(EventData.SubjectDomainName), '\\', tostring(EventData.SubjectUserName)) has_any (username_has_any)))
136136
and (array_length(targetappname_has_any) == 0) // TargetAppName not available in source
137137
and ((array_length(srcipaddr_has_any_prefix) == 0) or (has_any_ipv4_prefix(tostring(EventData.IpAddress), srcipaddr_has_any_prefix)))
138-
and (array_length(srchostname_has_any) == 0 or tostring(EventData.WorkstationName) has_any (srchostname_has_any))
138+
and (array_length(srchostname_has_any) == 0 or tostring(EventData.WorkstationName) has_any (srchostname_has_any) or Computer has_any (srchostname_has_any))
139139
// eventtype_in filtering done later in the parser
140140
// eventresultdetails_in filtering done later in the parser
141141
// eventresult filtering done later in the parser
@@ -181,8 +181,10 @@ ParserQuery: |
181181
"No match"
182182
)
183183
| extend
184-
SrcHostname = tostring(EventData.WorkstationName),
184+
SrcHostname = tostring(iff(EventData.WorkstationName in ('-', ''), Computer, EventData.WorkstationName)),
185185
EventProduct = "Security Events"
186+
// Filtering on SrcHostname
187+
| where (array_length(srchostname_has_any) == 0 or SrcHostname has_any (srchostname_has_any))
186188
| extend EventStatus= iff(SubStatus == '0x0', Status, SubStatus)
187189
// -- creating EventMessage matching EventMessage in SecurityEvent table
188190
| extend
@@ -246,12 +248,10 @@ ParserQuery: |
246248
| lookup LogonTypes on LogonType
247249
/// ** Aliases
248250
| extend
249-
User=TargetUsername
250-
,
251-
LogonTarget=TargetDvcHostname
252-
,
253-
Dvc=SrcHostname
254-
,
251+
User=TargetUsername,
252+
LogonTarget=TargetDvcHostname,
253+
Dvc=SrcHostname,
254+
DvcHostName=SrcHostname,
255255
IpAddr=SrcIpAddr
256256
| project-away
257257
EventData,
@@ -285,7 +285,7 @@ ParserQuery: |
285285
and ((array_length(username_has_any) == 0) or (TargetUserName has_any (username_has_any)) or (TargetDomainName has_any (username_has_any)) or (strcat(TargetDomainName, '\\', TargetUserName) has_any (username_has_any)) or (SubjectUserName has_any (username_has_any)) or (SubjectDomainName has_any (username_has_any)) or (strcat(SubjectDomainName, '\\', SubjectUserName) has_any (username_has_any)))
286286
and (array_length(targetappname_has_any) == 0) // TargetAppName not available in source
287287
and ((array_length(srcipaddr_has_any_prefix) == 0) or has_any_ipv4_prefix(IpAddress, srcipaddr_has_any_prefix))
288-
and ((array_length(srchostname_has_any) == 0) or (WorkstationName has_any (srchostname_has_any)))
288+
and ((array_length(srchostname_has_any) == 0) or (WorkstationName has_any (srchostname_has_any)) or (Computer has_any (srchostname_has_any)))
289289
// eventtype_in filtering done later in the parser
290290
// eventresultdetails_in filtering done later in the parser
291291
// eventresult filtering done later in the parser
@@ -329,8 +329,6 @@ ParserQuery: |
329329
,
330330
TargetUserId =TargetUserSid
331331
,
332-
SrcHostname = WorkstationName
333-
,
334332
TargetDvcHostname = Computer
335333
,
336334
EventOriginalUid = EventOriginId
@@ -373,6 +371,8 @@ ParserQuery: |
373371
,
374372
SrcDvcOs = 'Windows'
375373
,
374+
SrcHostname = iff (WorkstationName in ('-', ''), TargetDvcHostname, WorkstationName)
375+
,
376376
EventStatus= iff(SubStatus == '0x0', Status, SubStatus)
377377
// mapping ASimMatchingUsername
378378
| extend
@@ -408,12 +408,10 @@ ParserQuery: |
408408
| lookup LogonTypes on LogonType
409409
/// ** Aliases
410410
| extend
411-
User=TargetUsername
412-
,
413-
LogonTarget=TargetDvcHostname
414-
,
415-
Dvc=SrcHostname
416-
,
411+
User=TargetUsername,
412+
LogonTarget=TargetDvcHostname,
413+
Dvc=SrcHostname,
414+
DvcHostName = SrcHostname,
417415
IpAddr=SrcIpAddr
418416
| project-away
419417
EventStatus,

Parsers/ASimAuthentication/Parsers/vimAuthenticationSshd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ ParserQuery: |
367367
,
368368
TargetDvcIdType = DvcIdType
369369
,
370-
IpAddr = DvcIpAddr
370+
IpAddr = SrcIpAddr
371371
,
372372
TargetIpAddr = DvcIpAddr
373373
,

0 commit comments

Comments
 (0)