
Sysmon और ग्राफ़ के बारे में थ्रेट हंटिंग टूल

Grafiki एक Django प्रोजेक्ट है जो Sysmon और ग्राफ़ के बारे में है, फिलहाल के लिए।
मेरी राय में EventViewer, Elastic और यहां तक कि Kibana, पर्याप्त ग्राफिकल नहीं हैं। वर्तमान खतरे जटिल हैं और यदि हमलावर ग्राफ़ में सोचते हैं, तो रक्षकों को भी ऐसा करना चाहिए।
यह एक प्रूफ ऑफ कॉन्सेप्ट है, कोड को अभी तक डीबग नहीं किया गया है लेकिन शायद किसी के लिए उपयोगी हो सकता है, मैं इसे सुधारूंगा।
यह प्रोजेक्ट EVTX पार्सर से SQL डेटाबेस के रूप में शुरू हुआ और शायद यह प्रोजेक्ट का मुख्य भाग है।
प्रोजेक्ट अभी पर्याप्त परिपक्व नहीं है, हालांकि यह काम करता है, परीक्षण योजना अभी तक परिभाषित नहीं है।
कोई भी राय, बग मिलने, सुधार अनुरोध ... का स्वागत है।
git clone https://github.com/lucky-luk3/Grafiki.git
cd Grafiki
sudo -- sh -c -e "echo '127.0.0.1 grafiki.local' >> /etc/hosts"
docker compose up --build &
docker exec -it -d grafiki-app-1 /init_django.sh
अपने ब्राउज़र में http://127.0.0.1:8000/ या http://grafiki.local:8000/ पर जाएं।
शिकार करें, सीखें और आनंद लें!
यह एप्लिकेशन दो प्रकार की फ़ाइलों को संसाधित कर सकता है।

इस पृष्ठ पर, आप evtx फ़ाइलें या इलास्टिक इवेंट फ़ाइलें अपलोड कर सकते हैं और उन्हें संसाधित कर सकते हैं।

यह पृष्ठ ऑनलाइन नमूना फ़ाइलों की लाइब्रेरी बनाने के लिए उपयोगी है।
जब आप एक उदाहरण बनाते हैं, तो आप फ़ाइल का URL डालते हैं और जब आप इसे संसाधित करते हैं, तो एप्लिकेशन इवेंट फ़ाइल डाउनलोड करता है और उसे संसाधित करता है।

इस पृष्ठ पर, आप अपने Elastic इंस्टेंस में खोज बना सकते हैं और परिणाम का एक ग्राफ़ बना सकते हैं। आप इसके बारे में फ़िल्टर बना सकते हैं:

ग्राफ़ पृष्ठ इस एप्लिकेशन का मुख्य भाग और इसकी अनुसंधान इंटरफ़ेस है।
अन्य पृष्ठों पर आप अपना डेटा चुनते हैं और ये पृष्ठ आपको ग्राफ़ पृष्ठ पर भेजते हैं, यदि आप सीधे ग्राफ़ पृष्ठ पर जाते हैं, तो वहाँ कुछ नहीं होगा या आपके द्वारा खोजा गया अंतिम डेटा होगा।
इस पृष्ठ पर दो टैब हैं, एक Sysmon के लिए और दूसरा PowerShell इवेंट के लिए।
दो प्रकार के तत्व हैं, नोड और किनारे। नोड संस्थाओं का प्रतिनिधित्व करते हैं जैसे प्रक्रिया, फ़ाइल या रजिस्ट्री कुंजी और किनारे क्रियाओं का प्रतिनिधित्व करते हैं जैसे बनाना, हटाना या कनेक्ट करना।

हम मुख्य भाग में हैं।
यह भाग विश्लेषण किए गए इवेंट के बारे में ग्राफ़ बनाने के लिए डेटाबेस में जानकारी का उपयोग करता है।
आप ग्राफ़ में नेविगेट कर सकते हैं, प्रक्रिया निर्माण, नामित पाइप कनेक्शन आदि देख सकते हैं, लेकिन आमतौर पर आराम से काम करने के लिए बहुत अधिक जानकारी होती है।
टैब के अंदर ग्राफ़ फ़िल्टर के बारे में एक छिपा हुआ अनुभाग है।
इस क्षेत्र में आप ग्राफ़ फ़िल्टरिंग डेटा के साथ काम कर सकते हैं।
आप नोड को इस संस्थाओं द्वारा फ़िल्टर कर सकते हैं:
आप प्रक्रिया नोड को इसके द्वारा भी फ़िल्टर कर सकते हैं:
इसके अलावा, आप किनारों को इस क्रियाओं द्वारा फ़िल्टर कर सकते हैं:
एक महान विशेषता ग्राफ़ में डेटा के बारे में एनिमेशन बनाना है, यह उदाहरण के लिए पेरेंट PID स्पूफिंग या जब कोई उपयोगकर्ता किसी कंप्यूटर में दूरस्थ रूप से कमांड निष्पादित करता है, में बहुत उपयोगी है।

जब ग्राफ़ में बहुत अधिक जानकारी होती है, तो एक नोड, एक किनारा, नोड का एक समूह या नोड का एक समूह पुनरावर्ती रूप से हटाना संभव है।
नोट्स के समूह को हटाने का काम एक नोड का चयन करके काम करता है और एप्लिकेशन उन सभी नोड को हटा देगा जिनका पैरेंट चयनित नोड है।
पुनरावर्ती रूप से समूह हटाने का काम भी एक नोड का चयन करके काम करता है लेकिन एप्लिकेशन नोड के माध्यम से जाएगा और इस ट्री शाखा को समाप्त होने तक हटाएगा। यदि शाखा में बहुत अधिक जानकारी है, तो इसमें लंबा समय लगेगा।
स्क्रीन के नीचे ग्राफ़ के भौतिकी को बदलना संभव है।
जब ग्राफ़ में बहुत अधिक जानकारी होती है, तो ग्राफ़ को स्थिर करने के लिए भौतिकी को अक्षम करना उपयोगी हो सकता है।
आप भौतिकी के साथ खेल सकते हैं, यह मजेदार है।
PowerShell टैब में PowerShell कमांड का विश्लेषण करना संभव है।
कमांड एक अकॉर्डियन में दिखाए जाते हैं और प्रत्येक पंक्ति के अंदर, यदि कमांड में base64 कमांड है, तो इसे डीकोड और पार्स किया जाएगा।
आप कमांड के एन्कोडेड या डीकोडेड भाग के लिए सभी इवेंट में खोज सकते हैं।





