Meerkat

Meerkat PowerShell मॉड्यूल का एक संग्रह है जो Windows-आधारित एंडपॉइंट्स पर पूर्व-तैनात एजेंट की आवश्यकता के बिना आर्टिफैक्ट संग्रह और टोही के लिए डिज़ाइन किया गया है। उपयोग के मामलों में घटना प्रतिक्रिया ट्राइएज, खतरे की खोज, बेसलाइन निगरानी, स्नैपशॉट तुलना, और अधिक शामिल हैं।
आर्टिफैक्ट्स
- अपनी पसंद के SIEM का उपयोग करके इन्जेस्ट करें (Check out the SIEM Repository!)
अनुक्रमणिका
त्वरित प्रारंभ
आवश्यकताएँ
- 'स्कैनिंग' डिवाइस पर Powershell 5.0 या उससे ऊपर की आवश्यकता है।
- लक्ष्य प्रणालियों पर Powershell 3.0 या उच्चतर की आवश्यकता है। आप 'Get-CIMinstance' के उदाहरणों को 'Get-WMIObject' से बदलकर इसे PowerShell 2.0 के साथ और अधिक पिछड़ा संगत बना सकते हैं।
- WinRM एक्सेस की आवश्यकता है।
Git के साथ इंस्टॉल करें
कमांड या PowerShell कंसोल में, निम्नलिखित टाइप करें...
git clone "https://github.com/TonyPhipps/Meerkat" "C:\Program Files\WindowsPowerShell\Modules\Meerkat"
अपडेट करने के लिए...
cd C:\Program Files\WindowsPowerShell\Modules\Meerkat
git pull
PowerShell के साथ इंस्टॉल करें
इसे PowerShell कंसोल में कॉपी/पेस्ट करें
$Modules = "C:\Program Files\WindowsPowerShell\Modules\"
New-Item -ItemType Directory $Modules\Meerkat\ -force
Invoke-WebRequest https://github.com/TonyPhipps/Meerkat/archive/master.zip -OutFile $Modules\master.zip
Expand-Archive $Modules\master.zip -DestinationPath $Modules
Copy-Item $Modules\Meerkat-master\* $Modules\Meerkat\ -Force -Recurse
Remove-Item $Modules\Meerkat-master -Recurse -Force
अपडेट करने के लिए, बस कमांड का वही ब्लॉक फिर से चलाएँ।
फ़ंक्शन का उपयोग .psm1 फ़ाइल खोलकर और उसकी संपूर्ण सामग्री को PowerSell कंसोल में कॉपी-पेस्ट करके भी किया जा सकता है।
Meerkat चलाएँ
यह कमांड परिणामों को C:\Users\YourName\Meerkat\ पर आउटपुट करेगा
नोट: निम्नलिखित मॉड्यूल प्रशासनिक विशेषाधिकारों के साथ नहीं चलाए जाने पर परिणाम नहीं लौटाएँगे
- AuditPolicy
- Drivers
- EventsLoginFailures
- Hotfixes
- RegistryMRU
- Registry
- Processes
- RecycleBin
विश्लेषण
विश्लेषण पद्धतियाँ और तकनीकें Wiki पेजों पर प्रदान की गई हैं।
समस्या निवारण
Powershell मॉड्यूल स्थापित करना
यदि आपका सिस्टम आपके उपयोगकर्ता प्रोफ़ाइल में स्वचालित रूप से मॉड्यूल लोड नहीं करता है, तो आपको मॉड्यूल को मैन्युअल रूप से आयात करने की आवश्यकता हो सकती है।
Import-Module C:\Program Files\WindowsPowerShell\Modules\Meerkat\Meerkat.psm1
यह अनुशंसा की जाती है कि वास्तविक समस्या कहाँ स्थित है, इसका पता लगाने में सहायता के लिए निम्नलिखित दृष्टिकोण अपनाया जाए।
परीक्षण 1 – क्या Meerkat स्थानीय रूप से काम करता है?
- Meerkat को स्थानीय सिस्टम के विरुद्ध परीक्षण करें
परीक्षण 2 – क्या रिमोट स्कैनिंग काम करती है?
नोट: यह परीक्षण एक खाते से करें जिसके पास लक्ष्य सिस्टम पर स्थानीय व्यवस्थापक अधिकार हों।
- Meerkat को एक रिमोट Windows सिस्टम के विरुद्ध परीक्षण करें
- Invoke-Meerkat -Computer RemoteName
परीक्षण 3 – क्या आप शेड्यूल टास्क और MSA बना सकते हैं?
- Meerkat से संबंधित किसी भी मौजूदा शेड्यूल टास्क को हटाएँ
- Meerkat से संबंधित किसी भी MSA को हटाएँ
- Schedule-Meerkat.ps1 फ़ाइल कॉन्फ़िगर करें, फिर इसे चलाएँ।
परीक्षण 4 – क्या Meerkat-Task.ps1 काम करता है?
नोट: यह परीक्षण एक खाते से करें जिसके पास लक्ष्य सिस्टम पर स्थानीय व्यवस्थापक अधिकार हों।
- Meerkat-Task.ps1 फ़ाइल को # OPTION 1 (लोकल होस्ट) से कॉन्फ़िगर करें
- स्क्रिप्ट को मैन्युअल रूप से चलाएँ।
परीक्षण 5 – क्या शेड्यूल टास्क और MSA काम करते हैं?
- शेड्यूल टास्क के माध्यम से Meerkat-Task.ps1 स्क्रिप्ट चलाएँ।
यदि यह विफल होता है:
- सुनिश्चित करें कि रिमोट होस्ट पर WinRM सक्षम है
- सुनिश्चित करें कि MSA के पास रिमोट होस्ट पर स्थानीय व्यवस्थापक अधिकार हैं
परीक्षण 6 – क्या Meerkat-Task.ps1 दूरस्थ रूप से काम करता है?
- Meerkat-Daily-Task.ps1 फ़ाइल को # OPTION 3 (रिमोट होस्ट, दैनिक) से कॉन्फ़िगर करें
- hosts.txt में एक रिमोट होस्ट निर्दिष्ट करें
- रिमोट सिस्टम पर स्थानीय व्यवस्थापक वाले खाते से स्क्रिप्ट को मैन्युअल रूप से चलाएँ।
परीक्षण 7 – क्या MSA के पास रिमोट होस्ट पर उचित अनुमतियाँ हैं?
- Meerkat-Task.ps1 फ़ाइल को # OPTION 3 (रिमोट होस्ट, दैनिक) से कॉन्फ़िगर करें
- hosts.txt में एक रिमोट होस्ट निर्दिष्ट करें
- शेड्यूल टास्क के माध्यम से Meerkat-Task.ps1 स्क्रिप्ट चलाएँ।
परीक्षण 8 – क्या अब सब कुछ काम करता है?
- Meerkat-Task.ps1 फ़ाइल को # OPTION 2 (पूरी तरह से स्वचालित डोमेन स्कैन) से कॉन्फ़िगर करें
- रिमोट सिस्टम पर स्थानीय व्यवस्थापक वाले खाते से स्क्रिप्ट को मैन्युअल रूप से चलाएँ।
- शेड्यूल टास्क के माध्यम से Meerkat-Task.ps1 स्क्रिप्ट चलाएँ।
नया मॉड्यूल जोड़ना
- नई .psm1 फ़ाइल बनाएँ, अधिमानतः एक मौजूदा मॉड्यूल को कॉपी करके जिसमें पर्याप्त समान तर्क हो और इसे एक प्रारंभिक बिंदु के रूप में उपयोग करें।
- मॉड्यूल का नाम अपडेट करें
- खोज और बदलें का उपयोग करके, टेम्पलेट के नाम के सभी उदाहरणों को बदलें
- सिनॉप्सिस, विवरण, पैरामीटर, उदाहरण और नोट्स अनुभाग अपडेट करें
- process{} तर्क को नए तर्क से बदलें। सुनिश्चित करें कि यह मिलान करने वाले PowerShell ऑब्जेक्ट्स की एक सरणी लौटाता है।
- मॉड्यूल को एक उपयुक्त नाम से सहेजें।
- नए मॉड्यूल का नाम Meerkat.psd1 में जोड़ें। यह मैन्युअल रूप से या /Utilities/Generate-ModuleManifest.ps1 चलाकर किया जा सकता है।
- नए मॉड्यूल को इस README.md में तालिका में जोड़ें
- आर्टिफैक्ट्स तालिका में जोड़ें।
- नए मॉड्यूल को Invoke-Meerkat.psm1 में जोड़ें
- पैरामीटर m/mod/modules में जोड़ें, जिसमें ValidateSet और $Modules सरणी दोनों शामिल हों।
- begin{} में, $ModuleCommandArray में जोड़ें
- begin{} में,
if ($All) {} कोड ब्लॉक में जोड़ें
- यदि मॉड्यूल को कुछ सेकंड से अधिक समय लगता है, तो
if ($Quick) { कोड ब्लॉक में भी जोड़ें। यह इसे तब चलने से रोकता है जब उपयोगकर्ता -Fast का उपयोग करता है
स्क्रीनशॉट्स
कमांड "Invoke-Meerkat" का आउटपुट

आउटपुट फ़ाइलें

समान परियोजनाएँ
Meerkat को क्या अलग बनाता है?
- हल्का। एक फ्लॉपी डिस्क पर फिट बैठता है!
- लक्ष्यों पर बहुत कम पदचिह्न/प्रभाव।
- Powershell और WMI/CIM का लाभ उठाता है।
- कोडिंग शैली उचित कोड समीक्षा, सीखने और 'उधार लेने' को प्रोत्साहित करती है।
- कोई DLL या संकलित घटक नहीं।
- मानकीकृत आउटपुट - डिफ़ॉल्ट रूप से .csv, और आसानी से json, xml, आदि का समर्थन कर सकता है।