मैं WEF/WEC वाले वातावरण में OSQuery का उपयोग करने का प्रयास कर रहा हूं और जो मैं करने का प्रयास कर रहा हूं वह WEC सर्वर में सदस्यता के माध्यम से संग्रहीत सभी Windows ईवेंट एकत्र करना है।

मेरी समस्या यह है कि जब मैं OSQuery के माध्यम से विंडोज़ ईवेंट एकत्र करता हूं तो मुझे लगता है कि मैं "कंप्यूटर" फ़ील्ड प्राप्त करने में सक्षम नहीं हूं जिसमें होस्टनाम शामिल है जो वास्तव में ईवेंट उत्पन्न करता है।

क्या किसी ने यह काम करने का प्रबंधन किया? या यह OSquery की वास्तविक सीमा है? windows_events तालिका स्कीमा को देखते समय (https://osquery.io/schema/4.5.1 /#windows_events) ऐसा नहीं लगता कि "कंप्यूटर" फ़ील्ड को ध्यान में रखा गया है।

एक उदाहरण के रूप में, मेरे पास DESKTOP-JC2OUUQ नामक होस्ट में एक WEC कॉन्फ़िगर किया गया है और मेरे पास DESKTOP-BEH0A7O नामक लैपटॉप के लिए एक सदस्यता है। इवेंटलॉग WEC की ओर सही ढंग से बह रहे हैं और मैं उन्हें प्राप्त कर सकता हूं। मुझे प्राप्त होने वाली घटनाओं में से एक निम्नलिखित है:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event" xml:lang="en-US">
<System>
  <Provider Name="Microsoft-Windows-Security-SPP" Guid="{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}" EventSourceName="Software Protection Platform Service" /> 
  <EventID Qualifiers="16384">16384</EventID> 
  <Version>0</Version> 
  <Level>4</Level> 
  <Task>0</Task> 
  <Opcode>0</Opcode> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2020-10-22T16:20:17.2647971Z" /> 
  <EventRecordID>907</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="0" ThreadID="0" /> 
  <Channel>Application</Channel> 
  <Computer>DESKTOP-BEH0A7O</Computer> 
  <Security /> 
  </System>
<EventData>
  <Data>2020-12-18T12:30:17Z</Data> 
  <Data>RulesEngine</Data> 
  </EventData>
<RenderingInfo Culture="en-US">
  <Message>Successfully scheduled Software Protection service for re-start at 2020-12-18T12:30:17Z. Reason: RulesEngine.</Message> 
  <Level>Information</Level> 
  <Task /> 
  <Opcode /> 
  <Channel /> 
  <Provider>Microsoft-Windows-Security-SPP</Provider> 
<Keywords>
  <Keyword>Classic</Keyword> 
  </Keywords>
  </RenderingInfo>
  </Event>

जब मैं इस घटना को OSQuery के साथ एकत्र करने का प्रयास करता हूं, तो मुझे निम्न आउटपुट मिलता है:

{
    "name": "windows_events_query",
    "hostIdentifier": "DESKTOP-JC2OUUQ",
    "calendarTime": "Thu Oct 22 16:26:14 2020 UTC",
    "unixTime": 1603383974,
    "epoch": 0,
    "counter": 0,
    "numerics": false,
    "decorations": {
        "host_uuid": "A7A0828C-1264-4E24-A67F-F5B69BE86165",
        "username": "vagrant"
    },
    "columns": {
        "data": "{\"EventData\":[\"2020-12-18T12:30:17Z\",\"RulesEngine\"]}",
        "datetime": "2020-10-22T16:20:17.2647971Z",
        "eventid": "16384",
        "keywords": "0x80000000000000",
        "level": "4",
        "provider_guid": "{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}",
        "provider_name": "Microsoft-Windows-Security-SPP",
        "source": "Application",
        "task": "0",
        "time": "1603383958"
    },
    "action": "added"
}

जैसा कि आप देख सकते हैं, अन्य क्षेत्रों में मैं "कंप्यूटर" टैग नहीं देख रहा हूं, जो मेरी जानकारी के लिए केवल एक ही वास्तविक होस्ट है जिसने ईवेंट उत्पन्न किया है। क्या OSQuery के साथ उस मान को प्राप्त करने का कोई तरीका है या यह एक सीमा है?

धन्यवाद!

2
Juan Alvarez Gonzalez 22 अक्टूबर 2020, 15:12
आप कितने निश्चित हैं कि यह ठीक वैसी ही घटना है? क्या आपके लॉग में केवल यही इवेंट आईडी 16384 है?
 – 
Ben Voigt
15 नवम्बर 2020, 06:22
मुझे पूरा यकीन है कि यह वही है। वास्तव में, यह सिर्फ एक उदाहरण है जैसा कि हर घटना के साथ होता है। मैंने यह सुनिश्चित करने के लिए दोनों मेजबानों में ईवेंट व्यूअर की जाँच की कि दोनों सर्वरों में कोई डुप्लिकेट ईवेंट नहीं हो रहा है।
 – 
Juan Alvarez Gonzalez
16 नवम्बर 2020, 11:18
साथ ही, मैंने उसी परिणाम के साथ कमांड लाइन के माध्यम से कस्टम ईवेंट भेजने का प्रयास किया है।
 – 
Juan Alvarez Gonzalez
16 नवम्बर 2020, 17:22
ठीक है, मैं सिर्फ यह देख रहा था कि JSON में एक फ़ील्ड hostIdentifier है जो XML में <Computer> के अलावा किसी अन्य चीज़ से मैप नहीं करता है। decorations.host_uuid भी है, जिसमें वह जानकारी हो सकती है जिसकी आपको आवश्यकता है यदि आप यह पता लगाते हैं कि इसे कैसे डिकोड करना है (कहीं एक मानचित्रण तालिका होनी चाहिए)
 – 
Ben Voigt
16 नवम्बर 2020, 18:59
घटना के शीर्ष पर OSQuery द्वारा hostIdentifier और सजावट जोड़े जाते हैं। जो मैं जानता हूं उससे दोनों दूरस्थ होस्ट के बजाय OsQuery एजेंट चलाने वाले होस्ट का संदर्भ देते हैं।
 – 
Juan Alvarez Gonzalez
17 नवम्बर 2020, 11:36

1 उत्तर

सबसे बढ़िया उत्तर

Osquery ने Computer फ़ील्ड का समर्थन नहीं किया। यह अब करता है:

https://github.com/osquery/osquery/pull/6952

0
Josh Brower 17 फरवरी 2021, 18:38