SCCM
במסמך הזה מוסבר איך לשלב את SCCM עם Google SecOps.
הגדרת SCCM לעבודה עם Google Security Operations
חיבור של SCCM ל-Linux
כדי להריץ שילוב של SCCM בשרת Centos, קודם צריך להתקין wmi:
rpm -Uvh http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/wmi-1.3.14-4.el7.art.x86_64.rpm
yum install wmi
אחרי זה, תוכלו להגדיר את האינטגרציה ולהשתמש בה.
הגדרת שילוב של SCCM ב-Google SecOps
הוראות מפורטות להגדרת שילוב ב-Google SecOps מופיעות במאמר הגדרת שילובים.
פרמטרים של שילוב
משתמשים בפרמטרים הבאים כדי להגדיר את השילוב:
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שם המכונה | String | לא רלוונטי | לא | שם המופע שרוצים להגדיר עבורו שילוב. |
| תיאור | String | לא רלוונטי | לא | תיאור המופע. |
| כתובת השרת | String | x.x.x.x | כן | כתובת ה-IP או שם ה-DNS של שרת Microsoft SCCM שאליו רוצים להתחבר. |
| דומיין | String | דומיין | כן | הדומיין של שרת Microsoft SCCM. |
| שם משתמש | String | לא רלוונטי | כן | שם המשתמש שמשמש לחיבור ל-Microsoft SCCM. |
| סיסמה | סיסמה | לא רלוונטי | כן | הסיסמה שמשמשת לחיבור ל-Microsoft SCCM. |
| הרצה מרחוק | תיבת סימון | התיבה לא מסומנת | לא | מסמנים את התיבה כדי להריץ את השילוב שהוגדר מרחוק. אחרי שמסמנים את התיבה, מופיעה האפשרות לבחור את המשתמש (הסוכן) מרחוק. |
פעולות
קבלת מאפייני המחשב
תיאור
אפשר לקבל מאפייני מחשב ממופע של Microsoft SCCM ולהשתמש במידע שהתקבל כדי להעשיר את ישות המארח שסופקה ב-Google SecOps.
פרמטרים
לא רלוונטי
תרחישים לדוגמה
קבלת מידע על המארח ב-Google SecOps playbook מ-Microsoft SCCM ושימוש בנתונים האלה להעשרה.
ריצה
הפעולה הזו מופעלת בישות Hostname (שם מארח).
תוצאות הפעולה
העשרה של ישויות
| שם שדה ההעשרה | לוגיקה – מתי להחיל |
|---|---|
| ClientEdition | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SMSInstalledSites | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| MDMDeviceCategoryID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ManagementAuthority | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IPAddresses | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| EASDeviceID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ResourceType | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| DeviceOwner | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IsWriteFilterCapable | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| HardwareID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IsMachineChangesPersisted | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SMBIOSGUID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| NetbiosName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| פיתוח פתרונות | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| AgentSite | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IPv6Addresses | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ResourceNames | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| PrimaryGroupID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ClientVersion | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ClientType | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| PreviousSMSUUID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ResourceId | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IPv6Prefixes | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ObjectGUID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SMSAssignedSites | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SMSResidentSites | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IsPortableOperatingSystem | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| MDMComplianceStatus | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| WTGUniqueKey | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| AMTStatus | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SystemGroupName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| AgentName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| פעיל | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SNMPCommunityName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ADSiteName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IsClientAMT30Compatible | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IsVirtualMachine | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| AlwaysInternet | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| הוצא משימוש | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| שם | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SystemOUName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SuppressAutoProvision | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SMSUniqueIdentifier | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| ResourceDomainORWorkgroup | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| UserAccountControl | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| LastLogonTimestamp | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| AMTFullVersion | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| OperatingSystemNameandVersion | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| PublisherDeviceID | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SystemContainerName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| LastLogonUserName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| InternetEnabled | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SMSUUIDChangeDate | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| AgentTime | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IsAssignedToUser | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| WipeStatus | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SecurityGroupName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| DistinguishedName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SystemRoles | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| לא בתוקף | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| SerialNumber | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| FullDomainName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IsAOACCapable | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| MACAddresses | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| IPSubnets | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| VirtualMachineType | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| CPUType | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| CreationDate | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| VirtualMachineHostName | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| OSBranch | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| LastLogonUserDomain | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_enriched | נכון/לא נכון | is_enriched:False |
תוצאת JSON
[
{
"EntityResult": {
"ClientEdition": "None",
"SMSInstalledSites": "()",
"MDMDeviceCategoryID": "None",
"ManagementAuthority": "None",
"IPAddresses": "(u'1.1.1.1', u'1.1.1.1')",
"EASDeviceID": "None",
"ResourceType": "5",
"Unknown": "None",
"SID": "S-1-5-21-2485274276-3947876705-1900992244-1487",
"DeviceOwner": "None",
"IsWriteFilterCapable": "None",
"HardwareID": "None",
"IsMachineChangesPersisted": "None",
"SMBIOSGUID": "None",
"NetbiosName": "PC_01",
"Build": "None",
"AgentSite": "(u'001',)",
"IPv6Addresses": "()",
"Client": "None",
"ResourceNames": "(u'PC-01.DOMAIN.COM',)",
"PrimaryGroupID": "515",
"ClientVersion": "None",
"ClientType": "None",
"PreviousSMSUUID": "None",
"ResourceId": "2097152157",
"IPv6Prefixes": "()",
"ObjectGUID": "(189, 112, 106, 52, 65, 87, 150, 71, 166, 96, 209, 16, 161, 133, 38, 242)",
"SMSAssignedSites": "(u'001',)",
"SMSResidentSites": "(u'001',)",
"IsPortableOperatingSystem": "None",
"MDMComplianceStatus": "None",
"WTGUniqueKey": "None",
"AMTStatus": "None",
"SystemGroupName": "()",
"AgentName": "(u'SMS_AD_SYSTEM_DISCOVERY_AGENT',)",
"Active": "None",
"SNMPCommunityName": "None",
"ADSiteName": "Default-First-Site-Name",
"IsClientAMT30Compatible": "None",
"IsVirtualMachine": "None",
"AlwaysInternet": "None",
"Decommissioned": "0",
"Name": "PC-01",
"SystemOUName": "()",
"SuppressAutoProvision": "None",
"SMSUniqueIdentifier": "None",
"ResourceDomainORWorkgroup": "DOMAIN",
"UserAccountControl": "4096",
"LastLogonTimestamp": "20190203084427.000000+***",
"AMTFullVersion": "None",
"OperatingSystemNameandVersion": "Microsoft Windows NT Workstation 10.0", "PublisherDeviceID": "None",
"SystemContainerName": "(u'DOMAIN\\\\\\\\COMPUTERS',)",
"LastLogonUserName": "None",
"InternetEnabled": "None",
"SMSUUIDChangeDate": "None",
"AgentTime": "(u'20190207115148.000000+***',)",
"IsAssignedToUser": "None",
"WipeStatus": "None",
"SecurityGroupName": "()",
"SystemRoles": "()",
"DistinguishedName": "CN=PC-01,CN=Computers,DC=DOMAIN,DC=COM",
"Obsolete": "None",
"SerialNumber": "None",
"FullDomainName": "DOMAIN.COM",
"IsAOACCapable": "None",
"MACAddresses": "()",
"IPSubnets": "()",
"VirtualMachineType": "None",
"CPUType": "None",
"CreationDate": "20190128134818.000000+***",
"VirtualMachineHostName": "None",
"OSBranch": "None",
"LastLogonUserDomain": "None"
},
"Entity": "PC_01"
}
]
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל ולא אמורה לעצור את ההרצה של הפלייבוק: אם חלק מהישויות שסיפקת או כולן עברו העשרה: print "Following entities were enriched with SCCM data:\n {0}".format([entity list]) אם חלק מהישויות שסופקו לא עברו העשרה: print "SCCM data for the following entities was not found:\n {0}".format([entity list]) אם לא כל הישויות שסיפקתם עברו העשרה: print "No entities were enriched" הפעולה צריכה להיכשל ולהפסיק את ההרצה של הפלייבוק: אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים או בעיות בחיבור לרשת: print "Failed to connect to the Microsoft SCCM instance! השגיאה היא {0}".format(exception.stacktrace). |
כללי |
| טבלה | Table name: תוצאות השאילתה של Microsoft SCCM עבור {0}.entity.Identifier תוכן הטבלה: התוכן דינמי ומבוסס על תוצאות השאילתה. |
ישות |
קבלת היסטוריית התחברות
תיאור
אחזור היסטוריית התחברויות של משתמשים ממופע של Microsoft SCCM על סמך ישות המשתמש של Google SecOps שסופקה.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| מספר הרשומות להחזרה | מספר שלם | 100 | כן | מספר הרשומות המקסימלי שיוחזר בפעולה. |
תרחישים לדוגמה
קבלת פרטי התחברות של משתמשים מ-SCCM ב-playbook.
ריצה
הפעולה הזו מופעלת בישות User.
תוצאות הפעולה
העשרה של ישויות
| שם שדה ההעשרה | לוגיקה – מתי להחיל |
|---|---|
| שם משתמש | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| LoginCount | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
| LastLoggedIn | הפונקציה מחזירה את הערך אם הוא קיים בתוצאת ה-JSON |
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
[
{
"EntityResult": [
{
"Username": "pc-01\\\\local_users",
"LoginCount": 22,
"LastLoggedIn": "20170815103710.000000+***"
}
],
"Entity": "pc-01"
}
]
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל ולא אמורה לעצור את ההרצה של הפלייבוק: אם קיבלתם נתונים לגבי חלק מהישויות שצוינו או לגבי כולן: print "Found SCCM information on the following entities;:\n {0}".format([entity list]) אם חלק מהישויות שסופקו לא נמצאו ב-SCCM: print "SCCM data for the following entities was not found:\n {0}".format([entity list]) אם לא נמצאו נתונים לכל הישויות שסופקו: הדפסה של 'לא נמצאו תוצאות'. הפעולה צריכה להיכשל ולהפסיק את ההרצה של הפלייבוק: אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים או בעיות בחיבור לרשת: print "Failed to connect to the Microsoft SCCM instance! השגיאה היא {0}".format(exception.stacktrace). |
כללי |
| טבלה | Table name: Microsoft SCCM login history for {0}.format(entity.Identifier) תוכן הטבלה: התוכן דינמי ומבוסס על תוצאות השאילתה. |
ישות |
העשרת ישויות
תיאור
העשרה של ישויות מארח, IP או משתמש ב-Google SecOps על סמך המידע מ-Microsoft SCCM.
פרמטרים
לא רלוונטי
ריצה
הפעולה הזו מופעלת בישויות הבאות:
- משתמש
- מארח
- כתובת IP
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
דוגמה להחזרה של ישות מארח, הבקשה בוצעה ב-PowerShell:
__GENUS : 2
__CLASS : SMS_R_System
__SUPERCLASS : SMS_Resource
__DYNASTY : SMS_BaseClass
__RELPATH : SMS_R_System.ResourceId=16777219
__PROPERTY_COUNT : 77
__DERIVATION : {SMS_Resource, SMS_BaseClass}
__SERVER : SCCM-SCCM
__NAMESPACE : ROOT\SMS\site_SCM
__PATH : \\SCCM-SCCM\ROOT\SMS\site_SCM:SMS_R_System.ResourceId=16777219
AADDeviceID : 00000000-0000-0000-0000-000000000000
AADTenantID : 00000000-0000-0000-0000-000000000000
Active : 1
ADSiteName : Default-First-Site-Name
AgentName : {SMS_AD_SYSTEM_DISCOVERY_AGENT, SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT, MP_ClientRegistration, Heartbeat Discovery}
AgentSite : {SCM, SCM, SCM, SCM}
AgentTime : {20200730230502.000000+***, 20200415051330.000000+***, 20200415055902.000000+***, 20200730231034.000000+***}
AlwaysInternet : 0
AMTFullVersion :
AMTStatus :
Build : 10.0.18363
BuildExt : 10.0.18363.900
Client : 1
ClientEdition : 0
ClientType : 1
ClientVersion : 5.00.8790.1007
CPUType : Intel64 Family 6 Model 63 Stepping 2
CreationDate : 20200415121334.000000+***
Decommissioned : 0
DeviceOwner : 1
DistinguishedName : CN=SCCM-W10,OU=Workstations,OU=SCCM,DC=sccm-lab,DC=local
EASDeviceID :
FullDomainName : SCCM-LAB.LOCAL
HardwareID : 2:39AC2A8E6794B559B4F8D5677EFE804D834DE6FF
InternetEnabled : 0
IPAddresses : {172.30.202.92, fe80::4cca:c991:272d:24c3}
IPSubnets : {172.30.202.0}
IPv6Addresses : {}
IPv6Prefixes : {}
IsAOACCapable : False
IsAssignedToUser : False
IsClientAMT30Compatible :
IsMachineChangesPersisted : True
IsPortableOperatingSystem : False
IsVirtualMachine : True
IsWriteFilterCapable : False
LastLogonTimestamp : 20200731060204.000000+***
LastLogonUserDomain : SCCM-LAB
LastLogonUserName : Administrator
MACAddresses : {00:50:56:A2:D7:A8}
ManagementAuthority : 0
MDMComplianceStatus :
MDMDeviceCategoryID :
Name : SCCM-W10
NetbiosName : SCCM-W10
ObjectGUID : {230, 152, 150, 13...}
Obsolete : 0
OperatingSystemNameandVersion : Microsoft Windows NT Workstation 10.0
OSBranch : 0
PreviousSMSUUID : Unknown
PrimaryGroupID : 515
PublisherDeviceID :
ResourceDomainORWorkgroup : SCCM-LAB
ResourceId : 16777219
ResourceNames : {SCCM-W10.sccm-lab.local}
ResourceType : 5
SecurityGroupName : {SCCM-LAB\Domain Computers}
SerialNumber :
SID : S-1-5-21-3004247314-75612377-2250890222-1104
SMBIOSGUID : 8ABD2242-1FEF-CCCE-12F5-77021D40BE0E
SMSAssignedSites : {SCM}
SMSInstalledSites : {SCM}
SMSResidentSites : {SCM}
SMSUniqueIdentifier : GUID:778CB685-B19A-40CD-9257-E9883A0E4AD3
SMSUUIDChangeDate : 20200701090912.000000+***
SNMPCommunityName :
SuppressAutoProvision :
SystemContainerName : {}
SystemGroupName : {SCCM-LAB\Domain Computers}
SystemOUName : {SCCM-LAB.LOCAL/SCCM, SCCM-LAB.LOCAL/SCCM/WORKSTATIONS}
SystemRoles : {}
Unknown :
UserAccountControl : 4096
VirtualMachineHostName :
VirtualMachineType : 0
WipeStatus :
WTGUniqueKey :
PSComputerName : SCCM-SCCM
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל ולא אמורה לעצור את ההרצה של הפלייבוק: אם חלק מהישויות שסופקו או כולן עברו העשרה: 'הישויות הבאות עברו העשרה בנתוני SCCM:\n {0}'.format([entity list]) אם חלק מהישויות שסופקו לא עברו העשרה: "לא נמצאו נתונים של SCCM עבור הישויות הבאות:\n {0}".format([entity list]) אם לא בוצע обогащение לכל הישויות שסופקו: 'לא בוצע обогащение לאף ישות' הפעולה צריכה להיכשל ולהפסיק את ההרצה של הפלייבוק: אם מופיעה שגיאה קריטית, כמו פרטי כניסה שגויים או בעיות בקישוריות לרשת: "החיבור למופע של Microsoft SCCM נכשל! השגיאה היא {0}".format(exception.stacktrace). |
כללי |
| טבלה | שם הטבלה: תוצאות ההעשרה של Microsoft SCCM עבור {0}.format(entity.Identifier) תוכן הטבלה: התוכן דינמי ומבוסס על תוצאות השאילתה. |
ישות |
הרצת שאילתת WQL
תיאור
הפעלת שאילתה שרירותית בשפת השאילתות של Windows Management Instrumentation (WQL) במכונה של Microsoft SCCM.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| שאילתה להרצה | String | SELECT UniqueUserName,LastLoginTime,LoginCount,ResourceName from SMS_UserMachineIntelligence JOIN SMS_R_User ON SMS_UserMachineIntelligence.UniqueUserName = SMS_R_User.UniqueUserName WHERE SMS_R_User.UserPrincipalName = "sccm_user@sccm-domain.com" | כן | מציינים את שאילתת ה-WQL שרוצים להריץ. מומלץ לעיין בבקשה לדוגמה שמוגדרת כברירת מחדל. |
| מספר הרשומות להחזרה | מספר שלם | 100 | כן | מספר הרשומות המקסימלי שיוחזר בפעולה. |
תרחישים לדוגמה
הפעלת שאילתות שרירותיות מול מופעים של Microsoft SCCM כדי לקבל את הנתונים הנדרשים על סמך ניתוח התראות ב-Google SecOps.
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
תוצאת JSON
דוגמה להחזרה של ישות מארח, הבקשה בוצעה ב-PowerShell:
__GENUS : 2
__CLASS : SMS_R_System
__SUPERCLASS : SMS_Resource
__DYNASTY : SMS_BaseClass
__RELPATH : SMS_R_System.ResourceId=16777219
__PROPERTY_COUNT : 77
__DERIVATION : {SMS_Resource, SMS_BaseClass}
__SERVER : SCCM-SCCM
__NAMESPACE : ROOT\SMS\site_SCM
__PATH : \\SCCM-SCCM\ROOT\SMS\site_SCM:SMS_R_System.ResourceId=16777219
AADDeviceID : 00000000-0000-0000-0000-000000000000
AADTenantID : 00000000-0000-0000-0000-000000000000
Active : 1
ADSiteName : Default-First-Site-Name
AgentName : {SMS_AD_SYSTEM_DISCOVERY_AGENT, SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT, MP_ClientRegistration, Heartbeat Discovery}
AgentSite : {SCM, SCM, SCM, SCM}
AgentTime : {20200730230502.000000+***, 20200415051330.000000+***, 20200415055902.000000+***, 20200730231034.000000+***}
AlwaysInternet : 0
AMTFullVersion :
AMTStatus :
Build : 10.0.18363
BuildExt : 10.0.18363.900
Client : 1
ClientEdition : 0
ClientType : 1
ClientVersion : 5.00.8790.1007
CPUType : Intel64 Family 6 Model 63 Stepping 2
CreationDate : 20200415121334.000000+***
Decommissioned : 0
DeviceOwner : 1
DistinguishedName : CN=SCCM-W10,OU=Workstations,OU=SCCM,DC=sccm-lab,DC=local
EASDeviceID :
FullDomainName : SCCM-LAB.LOCAL
HardwareID : 2:39AC2A8E6794B559B4F8D5677EFE804D834DE6FF
InternetEnabled : 0
IPAddresses : {172.30.202.92, fe80::4cca:c991:272d:24c3}
IPSubnets : {172.30.202.0}
IPv6Addresses : {}
IPv6Prefixes : {}
IsAOACCapable : False
IsAssignedToUser : False
IsClientAMT30Compatible :
IsMachineChangesPersisted : True
IsPortableOperatingSystem : False
IsVirtualMachine : True
IsWriteFilterCapable : False
LastLogonTimestamp : 20200731060204.000000+***
LastLogonUserDomain : SCCM-LAB
LastLogonUserName : Administrator
MACAddresses : {00:50:56:A2:D7:A8}
ManagementAuthority : 0
MDMComplianceStatus :
MDMDeviceCategoryID :
Name : SCCM-W10
NetbiosName : SCCM-W10
ObjectGUID : {230, 152, 150, 13...}
Obsolete : 0
OperatingSystemNameandVersion : Microsoft Windows NT Workstation 10.0
OSBranch : 0
PreviousSMSUUID : Unknown
PrimaryGroupID : 515
PublisherDeviceID :
ResourceDomainORWorkgroup : SCCM-LAB
ResourceId : 16777219
ResourceNames : {SCCM-W10.sccm-lab.local}
ResourceType : 5
SecurityGroupName : {SCCM-LAB\Domain Computers}
SerialNumber :
SID : S-1-5-21-3004247314-75612377-2250890222-1104
SMBIOSGUID : 8ABD2242-1FEF-CCCE-12F5-77021D40BE0E
SMSAssignedSites : {SCM}
SMSInstalledSites : {SCM}
SMSResidentSites : {SCM}
SMSUniqueIdentifier : GUID:778CB685-B19A-40CD-9257-E9883A0E4AD3
SMSUUIDChangeDate : 20200701090912.000000+***
SNMPCommunityName :
SuppressAutoProvision :
SystemContainerName : {}
SystemGroupName : {SCCM-LAB\Domain Computers}
SystemOUName : {SCCM-LAB.LOCAL/SCCM, SCCM-LAB.LOCAL/SCCM/WORKSTATIONS}
SystemRoles : {}
Unknown :
UserAccountControl : 4096
VirtualMachineHostName :
VirtualMachineType : 0
WipeStatus :
WTGUniqueKey :
PSComputerName : SCCM-SCCM
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל ולא אמורה לעצור את ההרצה של הפלייבוק: אם השאילתה הצליחה והתקבלו נתונים: print "Query executed successfully and returned results". אם לא נמצאו תוצאות: print "Query executed successfully, but did not return any results.". אם יש שגיאה: print "Query didn't complete due to error: {0}".format(exception.stacktrace). אם תוצאות השאילתה נחתכו: print "Query results exceeded limits and were truncated!". הפעולה צריכה להיכשל ולהפסיק את ההרצה של הפלייבוק: אם מדובר בשגיאה קריטית, כמו פרטי כניסה שגויים או בעיות בחיבור לרשת: print "Failed to connect to the Microsoft SCCM instance! השגיאה היא {0}".format(exception.stacktrace). |
כללי |
| טבלה | שם הטבלה: תוצאות של שאילתת WQL עמודות: יצירה דינמית של עמודות על סמך תוצאות השאילתה |
כללי |
| קבצים מצורפים | Run_WQL_query_response.json – מכיל נתוני JSON טכניים שמוחזרים על ידי הפעולה. | כללי |
| JSON Viewer | הצגת כלי לצפייה ב-JSON של תוצאת השאילתה. | כללי |
יצירת משימה של נקודת קצה לסריקה
תיאור
יצירת משימה של סריקת נקודת קצה בשרת Microsoft SCCM עבור נקודת הקצה. יש שני סוגים של סריקות – מלאה או מהירה. הפעולה פועלת עם ישויות של Google SecOps מסוג Host או IP.
פרמטרים
| השם המוצג של הפרמטר | סוג | ערך ברירת המחדל | חובה | תיאור |
|---|---|---|---|---|
| סוג סריקה | DDL | סריקה מהירה | כן | מציינים אם רוצים להפעיל סריקה מלאה או סריקה מהירה. |
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_success | נכון/לא נכון | is_success:False |
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל ולא אמורה לעצור את ההרצה של הפלייבוק: אם המשימה נוצרה בהצלחה עבור חלק מהישויות שסופקו או עבור כולן: 'משימת סריקת נקודת הקצה נוצרה עבור הישויות הבאות:\n {0}'.format([entity list]) אם לא בוצע обогащение של חלק מהישויות שסופקו: "Failed to create scan endpoint task for the following entities:\n {0}".format([entity list]) אם לא מצליחים ליצור משימה לכל הישויות שסופקו: 'לא נוצרו משימות לסריקת נקודות קצה, כדאי לבדוק את יומן הפעולות לפרטים' הפעולה צריכה להיכשל ולהפסיק את ההרצה של הפלייבוק: אם מופיעה שגיאה קריטית, כמו פרטי כניסה שגויים או בעיות בקישוריות לרשת: "החיבור למופע של Microsoft SCCM נכשל! השגיאה היא {0}".format(exception.stacktrace). |
כללי |
פינג
תיאור
בודקים את הקישוריות למופע של Microsoft SCCM באמצעות הפרמטרים שמופיעים בדף הגדרת השילוב בכרטיסייה Google Security Operations Marketplace.
פרמטרים
לא רלוונטי
תרחישים לדוגמה
הפעולה משמשת לבדיקת הקישוריות בדף ההגדרות של השילוב בכרטיסייה Google Security Operations Marketplace. אפשר להריץ אותה כפעולה ידנית, שלא נכללת ב-playbooks.
ריצה
הפעולה הזו לא מופעלת על ישויות.
תוצאות הפעולה
תוצאת סקריפט
| שם תוצאת התסריט | אפשרויות ערך | דוגמה |
|---|---|---|
| is_succeed | נכון/לא נכון | is_succeed:False |
Case Wall
| סוג התוצאה | ערך / תיאור | סוג |
|---|---|---|
| הודעת פלט* | הפעולה לא אמורה להיכשל ולא אמורה לעצור את ההרצה של הפלייבוק: אם הפעולה תצליח: "Successfully connected to the Microsoft SCCM instance with the provided connection parameters!" (החיבור למופע Microsoft SCCM בוצע בהצלחה עם פרמטרי החיבור שסופקו). הפעולה צריכה להיכשל ולהפסיק את ההרצה של הפלייבוק: אם הפעולה לא הצליחה: "החיבור למופע Microsoft SCCM נכשל! השגיאה היא {0}".format(exception.stacktrace). |
כללי |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.