
ETW आधारित POC जो डायरेक्ट और इनडायरेक्ट syscalls की पहचान करता है
यह असामान्य syscalls की निगरानी के लिए एक ETW-आधारित POC है।
फिलहाल, NtOpenThread और NtSetContextThread syscalls की निगरानी IOCs की पहचान करने के लिए की जाती है, जो direct और indirect दोनों syscalls का संकेत करते हैं।
यह प्रोजेक्ट IOCs की निगरानी के लिए ETW का उपयोग करता है, अधिक सटीक रूप से कर्नेल-आधारित ETW प्रोवाइडर्स का।
कर्नेल में स्थित ETW प्रोवाइडर्स को प्रभावी रूप से उपयोग किया जा सकता है, क्योंकि उत्सर्जित इवेंट्स की कॉलट्रेस में वह यूजरमोड पता होता है जहाँ से syscall किया गया था।
यह direct और indirect syscalls का संकेत देने वाले IOCs की निगरानी की अनुमति देता है, यह एक ऐसी तकनीक है जिसे अक्सर हमलावर उपयोग करते हैं:
1: एक syscall एक अविश्वसनीय मॉड्यूल से किया गया था (=direct syscall)
2: ntdll में उपयोग किया गया syscall स्टब, निष्पादित syscall से मेल नहीं खाता (=indirect syscall)
यह प्रोजेक्ट प्रोवाइडर: Microsoft-Windows-Kernel-Audit-API-Calls का उपयोग करके OpenThread और SetContextThread इवेंट्स की निगरानी करता है, जो syscalls NtSetContextThread या NtOpenThread द्वारा क्रमशः ट्रिगर होते हैं।
कॉलट्रेस, EVENT_ENABLE_PROPERTY_STACK_TRACE फ़्लैग का उपयोग करके सक्षम किए जाते हैं।
यह एक POC है, और केवल दो विशिष्ट syscalls की निगरानी करता है। बेशक, टेलीमेट्री बढ़ाने के लिए अन्य कर्नेल-आधारित प्रोवाइडर्स का उपयोग करना संभव है।
इस प्रोजेक्ट में direct और indirect syscalls का उपयोग करने वाले दो सैंपल प्रोग्राम शामिल हैं, जो बेहतरीन SysWhispers3 का उपयोग करके बनाए गए हैं। उन्हें निम्नानुसार जनरेट किया गया था:
python3 syswhispers.py -a x64 -m jumper_randomized --functions NtSetContextThread
python3 syswhispers.py -a x64 -m embedded --functions NtSetContextThread
निष्पादन पर, असामान्य syscalls की पहचान की जानी चाहिए:

10.0.19044 पर परीक्षण किया गया।
IsElevated() के लिए