
एक फोरेंसिक साक्ष्य संग्राहक

Rust 1.50+ के साथ संकलित और परीक्षण किया गया। प्रोजेक्ट डायरेक्टरी में टर्मिनल खोलें और रिलीज़ बिल्ड संकलित करने के लिए टाइप करें:
cargo build --release
डीबग बिल्ड इस प्रकार संकलित किया जा सकता है:
cargo build
संकलित एक्जीक्यूटेबल target/release/gargamel.exe या target/debug/gargamel.exe में स्थित होता है।
यदि आप लॉगिंग स्तर बदलना चाहते हैं:
src/main.rs खोलेंLevelFilter::Info को (उदाहरण के लिए) LevelFilter::Trace में बदलें ताकि अधिक विस्तृत लॉगिंग हो सके।
LevelFilter::Trace पासवर्ड सहित सब कुछ लॉग करेगा।अभी, यह ऐप केवल विंडोज पर काम करता है और लक्ष्य कंप्यूटर विंडोज या लिनक्स का उपयोग कर रहा होना चाहिए।
सुनिश्चित करें कि Gargamel के समान डायरेक्टरी में निम्नलिखित प्रोग्राम हों:
psexec, डाउनलोडpaexec, PsExec का एक ओपन सोर्स विकल्प, डाउनलोडwinpmem, एक ओपन सोर्स मेमोरी इमेज टूल, डाउनलोड।
plink और pscp, ओपन सोर्स CLI SSH/SCP क्लाइंट, डाउनलोडSharpRDP, RDP का उपयोग करने वाला एक ओपन सोर्स कमांड निष्पादक, डाउनलोडWMImplant, एक ओपन सोर्स PowerShell WMI कमांड निष्पादक, डाउनलोड7za.exe, 7zip आर्काइवर का एक स्टैंडअलोन कंसोल संस्करण, डाउनलोडनोट: हमें psexec और paexec दोनों की आवश्यकता है। हालांकि दोनों एप्लिकेशन कार्यात्मक रूप से समतुल्य माने जाते हैं, फिर भी कुछ परिस्थितियों में उनका व्यवहार भिन्न होता है।
Gargamel को पूरी तरह कार्यशील होने के लिए एक उन्नत टर्मिनल (elevated terminal) से लॉन्च किया जाना चाहिए। वर्तमान में यह सीमित विशेषाधिकारों के साथ चलने पर UAC डायलॉग या किसी भी प्रकार की सूचना का समर्थन नहीं करता है। सीमित उपयोगकर्ता विशेषाधिकारों के साथ चलने पर, लक्ष्य मेमोरी डंपिंग जैसे कुछ ऑपरेशन काम नहीं करेंगे।
मान लें कि आप निम्नलिखित पैरामीटर वाले कंप्यूटर से कनेक्ट करना चाहते हैं:
192.168.42.47Janonbusr123निम्नलिखित कमांड PsExec विधि का उपयोग करके फ़ायरवॉल स्थिति, नेटवर्क स्थिति, लॉग इन उपयोगकर्ता, चल रही प्रक्रियाएँ,
सक्रिय नेटवर्क कनेक्शन, रजिस्ट्री, सिस्टम और एप्लिकेशन इवेंट लॉग प्राप्त करेगी।
साक्ष्य (evidence) Gargamel के स्थान के सापेक्ष testResults डायरेक्टरी में संग्रहीत किया जाएगा।
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults
Gargamel आपसे दूरस्थ उपयोगकर्ता का पासवर्ड मांगेगा, हमारे उदाहरण में पासवर्ड nbusr123 है।
ध्यान दें कि टाइप करते समय पासवर्ड छिपा रहेगा।
पासवर्ड को सीधे प्रोग्राम तर्क के रूप में निर्दिष्ट करना भी संभव है।
gargamel.exe -c 192.168.42.47 -u Jano --psexec -p nbusr123 -o testResults
मान लें कि आप एक डोमेन में निम्नलिखित पैरामीटर वाले कंप्यूटर से कनेक्ट करना चाहते हैं:
WORKSPACEJanovPCJanonbusr123निम्नलिखित कमांड PsExec विधि का उपयोग करके फ़ायरवॉल स्थिति, नेटवर्क स्थिति, लॉग इन उपयोगकर्ता, चल रही प्रक्रियाएँ, सक्रिय नेटवर्क कनेक्शन, रजिस्ट्री, सिस्टम और एप्लिकेशन इवेंट लॉग प्राप्त करेगी।
gargamel.exe -c JanovPC -u Jano -d WORKSPACE --psexec -o testResults
या पासवर्ड प्रॉम्प्ट को छोड़ने के लिए सीधे पासवर्ड निर्दिष्ट करें।
gargamel.exe -c JanovPC -u Jano -d WORKSPACE --psexec -p nbusr123 -o testResults
PsExec समर्थित 5 कनेक्शन विधियों में से एक है।
आप --psexec को निम्नलिखित विकल्पों से बदल सकते हैं:
--psexec--psrem, यदि लक्ष्य मशीन पर PowerShell रिमोटिंग कॉन्फ़िगर की गई है।--rdp, यदि लक्ष्य मशीन पर RDP सक्षम है।--wmi.--ssh, यदि लक्ष्य मशीन लिनक्स का उपयोग करती है।एक साथ कई विधियों का उपयोग करना संभव है। उदाहरण के लिए, PsExec और RDP दोनों का उपयोग करने के लिए निम्नलिखित कमांड का उपयोग किया जा सकता है।
gargamel.exe -c 192.168.42.47 -u Jano --psexec --rdp -o testResults
एक विशेष स्विच --all भी है जो --psexec --rdp --psrem --wmi निर्दिष्ट करने के बराबर है।
नोट: लॉन्च पैरामीटर क्रम-अज्ञेय हैं, अर्थात पैरामीटर किस क्रम में निर्दिष्ट किए गए हैं, इससे कोई फर्क नहीं पड़ता।
मेमोरी डंप भी प्राप्त करने के लिए, प्रोग्राम पैरामीटर में केवल -m फ्लैग जोड़ें, उदाहरण के लिए:
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -m
यदि आप अन्य साक्ष्य के बिना केवल मेमोरी डंप प्राप्त करना चाहते हैं, तो निम्नलिखित कमांड का उपयोग करें।
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -m --no-events-search --no-evidence-search --no-registry-search
यह कार्यक्षमता केवल विंडोज लक्ष्यों के लिए उपलब्ध है।
Gargamel दूरस्थ मशीन पर कस्टम विंडोज CMD या लिनक्स शेल कमांड चला सकता है।
पहले निम्नलिखित सामग्री के साथ एक फ़ाइल custom-commands.txt बनाएँ।
# किसी भी विधि का उपयोग करके चलाया जाएगा
ipconfig
# केवल तब चलेगा जब --all, --psexec, --wmi विधियों में से कम से कम एक के साथ लॉन्च किया जाए
:psexec:wmi ipconfig -all
उपरोक्त आदेशों के परिणाम -o विकल्प द्वारा निर्दिष्ट डायरेक्टरी में संग्रहीत किए जाएंगे।
custom-commands.txt में लिखे उपरोक्त आदेशों को चलाने के लिए -e स्विच का उपयोग करें, अर्थात:
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -e custom-commands.txt
Gargamel दूरस्थ फ़ाइलें डाउनलोड करने में सक्षम है।
पहले निम्नलिखित सामग्री के साथ एक फ़ाइल custom-files.txt बनाएँ।
C:\Users\Public\sss*
C:\Users\Jano\danove.pdf
# यह पंक्ति और अगली पंक्ति को अनदेखा किया जाएगा
# C:\Users\Jano\somBajecny.pptx
उपरोक्त आदेशों के परिणाम -o विकल्प द्वारा निर्दिष्ट डायरेक्टरी में संग्रहीत किए जाएंगे।
custom-files.txt में लिखे उपरोक्त आदेशों को चलाने के लिए -s स्विच का उपयोग करें, अर्थात:
gargamel.exe -c 192.168.42.47 -u Jano --psexec -o testResults -s custom-files.txt
सभी समर्थित स्विचों का वर्णन नीचे दिया गया है।
USAGE:
gargamel.exe [FLAGS] [OPTIONS] --user <user>