Files
blue-team-tools/tools/config/fortisiem/FortiSIEM_EventAttributeMapping.csv
T
Mei Liu b85482a9bc Example:
-O:
attackMapFile: It's used to set subFunction in XML rule. It's a map of subFunction and tags.attack in YML file.
ruleIndex: It's used to set rule id in XML rule. The format of rule id is PH_Rule_{ruleType}_SIGMA_{ruleIndex}
ruleType: It's used to set rule id in XML rule.

1. Generate rule for one YML file
    a. tools/sigmac -t fortisiem -c fortisiem-windows rules/windows/network_connection/win_net_python.yml
    b. tools/sigmac -t fortisiem -c fortisiem-windows -O attackMapFile=tools/config/fortisiem/MITRE-Attack-matrix.csv -O ruleIndex=0 -O ruleType=Windows rules/windows/network_connection/win_net_python.yml
   Output:
      <Rules>
      <Rule group="PH_SYS_RULE_THREAT_HUNTING" natural_id="PH_Rule_Windows_SIGMA_0"  phIncidentCategory="Server" function="Security" subFunction="Discovery" technique="T1046">
         <Name>Python Initiated Connection </Name>
         <IncidentTitle>Python Initiated Connection</IncidentTitle>
         <active>true</active>
         <Description> Adversaries may attempt to get a listing of services running on remote hosts, including those that may be vulnerable to remote software exploitation </Description>
         <SigmaFileName> rules/windows/network_connection/win_net_python.yml </SigmaFileName>
         <CustomerScope groupByEachCustomer="true">
            <Include all="true"/>
           <Exclude/>
         </CustomerScope>
         <IncidentDef eventType="PH_RULE_Python_Initiated_Connection" severity="7">
           <ArgList> compEventType = Filter.eventType,hostName = Filter.hostName,isInitialed = Filter.isInitialed,procName = Filter.procName </ArgList>
         </IncidentDef>
         <PatternClause window="300">
           <SubPattern displayName="Filter" name="Filter">
               <SingleEvtConstr> eventType REGEXP ( "Win-Sysmon-3-Network-Connect.*" ) AND isInitialed="true" AND procName REGEXP ( ".*python.*" ) </SingleEvtConstr>
               <GroupByAttr> eventType,hostName,isInitialed,procName </GroupByAttr>
               <GroupEvtConstr> COUNT(*) &gt;= 1 </GroupEvtConstr>
           </SubPattern>
         </PatternClause>
         <TriggerEventDisplay>
           <AttrList> phRecvTime,hostName,isInitialed,procName,rawEventMsg </AttrList>
         </TriggerEventDisplay>
       </Rule>
       </Rules>

2. Generate rules for YML files under rules/windows
   a. tools/sigmac -t fortisiem -c fortisiem-windows -r rules/windows -o rule.xml
   b. tools/sigmac -t fortisiem -c fortisiem-windows -r rules/windows -O attackMapFile=tools/config/fortisiem/MITRE-Attack-matrix.csv -O ruleIndex=0 -O ruleType=Windows -o rule.xml
   Generate rules for YML files under rules/windows

3. Find files that is modified after some date.
  a. tools/sigmac --lists-files-after-date 2020/06/04 rules/windows/wmi_event/sysmon_wmi_susp_scripting.yml
  b. tools/sigmac --lists-files-after-date 2020/06/04 -r rules/windows/
  Output:
     rules/windows/wmi_event/sysmon_wmi_susp_scripting.yml, Updated
     rules/windows/wmi_event/TestFile.yml, No date
2022-03-09 11:26:07 -08:00

4.1 KiB

1##YmlAttributeName,FortiSIEMAttributeName,FortiSIEMAttributeType
2##need define new inter attribute for it
3DestinationIsIpv6,isIpv6
4Initiated,isInitialed
5AllowedToDelegateTo,isAllowedToDelegateTo
6##not find in WinOSWmiParser.xml
7TargetDetails,details
8Account_Name,user
9Computer_Name,computer
10Originating_Computer,srcName
11FileHash,hashCode
12FilePath,filePath
13Fqbn,hostName
14RuleId,ruleId,int
15RuleName,ruleName
16CallTrace,procPath
17IntegrityLevel,integrityLevel
18ParentIntegrityLevel,procTrustLevel,int
19Company,company
20ParentProcessGuid,procOwner
21LogonGuid,uuid
22ParentUser,userGrp
23Hashes,hashCode
24Imphash,hashIMP
25OriginalFilename,srcFileName
26OriginalFileName,srcFileName
27ParentProcess,parentProcName
28Product,product
29sha1,hashSHA1
30DestPort,destIpPort,int
31Destination,destIpAddr,ip
32destination.port,destIpPort,int
33HostApplication,appName
34TargetName,targetName
35TargetProcessAddress,destMACAddr
36Service,serviceName
37Source,eventSource
38ImagePath,procPath
39Path,procPath
40Payload,dataPayload
41Properties,propName
42QueryName,queryId
43QueryResults,actionResult
44QueryStatus,status
45LogonProcessName,procName
46ServicePrincipalNames,principal
47HostVersion,version
48FailureCode,errorNoInt,int
49EngineVersion,version
50DeviceClassName,deviceType
51DeviceDescription,description
52Status,status
53AccessList,srcIpAddrList
54AccessMask,fileAccess
55AttributeLDAPDisplayName,propName
56ContextInfo,lineContent
57AttributeValue,propValue
58GroupSid,groupID
59AuditPolicyChanges,actionName
60CallingProcessName,procName
61GrantedAccess,accessKeyId
62KeyLength,msgLen
63keywords,msg
64Keywords,msg
65LayerRTID,permissionLevelID
66Level,permissionLevelType
67LDAPDisplayName,propName
68Value,propValue
69ObjectClass,osObjType
70ObjectServer,serverName
71ObjectValueName,osObjValue
72PipeName,vpnTunnelName
73PrivilegeList,privName
74RelativeTargetName,targetName
75SAMAccountName,accountName
76ScriptBlockText,script
77ShareName,fileName
78SidHistory,essId
79Signed,authResult
80StartFunction,funName
81StartModule,module
82TicketEncryptionType,encryptAlgo
83TicketOptions,paraName
84IpAddress,srcIpAddr,ip
85HiveName,procName
86##find in WinOSWmiParser.xml
87ComputerName,computer
88CurrentDirectory,dirName
89Description,description
90FileVersion,fileVersion
91GroupName,targetUserGrp
92LogonId,winLogonId
93NewName,newObjValue
94ProcessName,procName
95QNAME,destName
96TargetFilename,fileName
97User,user
98Image,procName
99ParentImage,parentProcName
100CommandLine,command
101TaskName,task
102ServiceName,winSrvcName
103TargetObject,regKeyPath
104EventType,osObjAction
105EventID,eventType
106EventCode,eventType
107Details,details
108ParentCommandLine,parentCommand
109Message,msg
110HostName,hostName
111FileName,fileName
112TargetImage,targetProcName
113Accesses,osObjAccessType
114AccountName,user
115DestinationIp,destIpAddr,ip
116DestinationPort,destIpPort,int
117DestinationHostname,destName
118DestinationAddress,destIpAddr,ip
119ObjectType,osObjType
120ObjectName,osObjName
121SourceImage,procName
122SourceAddress,srcIpAddr,ip
123SourcePort,srcIpPort,int
124SourceNetworkAddress,srcIpAddr,ip
125SourceWorkstation,srcName
126TargetUserName,targetUser
127UserName,user
128SubjectDomainName,targetDomain
129SubjectLogonId,winLogonId
130SubjectUserName,user
131SubjectUserSid,userId
132Workstation,computer
133WorkstationName,computer
134ServiceFileName,serviceFileName
135Signature,signatureName
136ImageLoaded,loadedProcName
137LogonType,winLogonType,int
138AuthenticationPackage,procName
139AuthenticationPackageName,procName
140Device,deviceIdentification
141PolicyName,policyName
142TargetProcessId,targetProcId
143TargetUser,targetUser
144NewValue,newObjValue
145SubjectAccountName,user
146ClientAddress,srcIpAddr,ip
147ProcessID,procId
148TargetFileName,fileName
149AccountDomain,domain
150Computer,computer
151DomainName,targetDomain
152#network
153dst_ip,destIpAddr,ip
154src_ip,srcIpAddr,ip
155dst_port,destIpPort,int
156src_port,srcIpPort,int
157dns_query,uriQuery
158uri_query,uriQuery
159parent_domain,domain
160record_type,type
161query,queryId
162action,activityName
163operation,opName
164c-useragent,httpUserAgent
165c-uri,httpEndUri
166endpoint,targetName
167service,serviceName
168path,procPath
169name,procName
170cipher,password
171request_type,type
172answer,actionResult
173resp_mime_types,type
174message_size,msgLen,int
175question_length,size,int
176cs-method,httpMethod
177sc-status,status
178method,httpMethod
179referer,httpReferrer
180useragent,httpUserAgent
181clientip,srcIpAddr,ip
182MachineName,hostName