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.