
strelka v1.0.2
एंटरप्राइज़ स्तर पर रीयल-टाइम, कंटेनर-आधारित फ़ाइल स्कैनिंग
[रिलीज़][release] | [दस्तावेज़ीकरण][wiki] | [पुल अनुरोध][pr] | [मुद्दे][issues]
[![GitHub release][img-version-badge]][repo] [![Build Status][img-actions-badge]][actions-ci] [![Pull Requests][img-pr-badge]][pr] [![Slack][img-slack-badge]][slack] [![License][img-license-badge]][license]
स्ट्रेल्का एक रीयल-टाइम, कंटेनर-आधारित फ़ाइल स्कैनिंग सिस्टम है जिसका उपयोग खतरे की खोज, खतरे का पता लगाने और घटना प्रतिक्रिया के लिए किया जाता है। मूल रूप से लॉकहीड मार्टिन के लाइका बॉस और इसी तरह की परियोजनाओं (देखें: संबंधित परियोजनाएँ) द्वारा स्थापित डिज़ाइन पर आधारित, स्ट्रेल्का का उद्देश्य उद्यम स्तर पर फ़ाइल निष्कर्षण और मेटाडेटा संग्रह करना है।
स्ट्रेल्का अपनी सहयोगी परियोजनाओं से कई महत्वपूर्ण तरीकों से भिन्न है:
- मुख्य कोडबेस Go और Python3.10+ है
- सर्वर घटक तैनाती में आसानी और लचीलेपन के लिए कंटेनरों में चलते हैं
- विंडोज, मैक और लिनक्स के लिए OS-नेटिव क्लाइंट एप्लिकेशन
- लाइब्रेरी और प्रारूपों का उपयोग करके बनाया गया है जो क्रॉस-प्लेटफ़ॉर्म, क्रॉस-लैंग्वेज समर्थन प्रदान करते हैं
विशेषताएँ
स्ट्रेल्का एक मॉड्यूलर डेटा स्कैनिंग प्लेटफ़ॉर्म है, जो उपयोगकर्ताओं या सिस्टम को फ़ाइल सामग्री और मेटाडेटा का विश्लेषण, निष्कर्षण और रिपोर्ट करने के उद्देश्य से फ़ाइलें सबमिट करने की अनुमति देता है। एक SIEM के साथ जोड़ा गया, स्ट्रेल्का एकत्र करने, अलर्ट करने और विश्लेषकों को प्रत्यक्ष डेटा संग्रह या समय लेने वाले फ़ाइल विश्लेषण किए बिना अपने वातावरण को बेहतर ढंग से समझने की क्षमता प्रदान करने में सक्षम है।

त्वरित आरंभ
स्ट्रेल्का के माध्यम से एक फ़ाइल चलाना सरल है। इस अनुभाग में, एक बार के विश्लेषण के लिए स्ट्रेल्का की निष्कर्षण और विश्लेषण क्षमताओं का प्रदर्शन किया गया है।
कृपया उद्यम वातावरण में स्ट्रेल्का को ठीक से बनाने और तैनात करने के विवरण के लिए दस्तावेज़ीकरण की समीक्षा करें।
चरण 1: पूर्वापेक्षाएँ स्थापित करें
# Ubuntu 23.04
sudo apt install -y wget git docker docker-compose golang jq && \
sudo usermod -aG docker $USER && \
newgrp docker
चरण 2: स्ट्रेल्का डाउनलोड करें
git clone https://github.com/target/strelka.git && \
cd strelka
चरण 3: पसंदीदा yara नियम डाउनलोड और इंस्टॉल करें (वैकल्पिक)
rm configs/python/backend/yara/rules.yara && \
git clone https://github.com/Yara-Rules/rules.git configs/python/backend/yara/rules/ && \
echo 'include "./rules/index.yar"' > configs/python/backend/yara/rules.yara
चरण 4a: पूर्व-संकलित इमेज खींचें और स्ट्रेल्का शुरू करें
नोट: आप go build प्रक्रिया को छोड़ सकते हैं और फ़ाइलों का विश्लेषण करने के लिए http://0.0.0.0:9980 पर Strelka UI का उपयोग कर सकते हैं।
docker compose -f build/docker-compose-no-build.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
चरण 4b: स्ट्रेल्का बनाएं और शुरू करें
नोट: आप go build प्रक्रिया को छोड़ सकते हैं और फ़ाइलों का विश्लेषण करने के लिए http://0.0.0.0:9980 पर Strelka UI का उपयोग कर सकते हैं।
docker compose -f build/docker-compose.yaml build && \
docker compose -f build/docker-compose.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
चरण 5: विश्लेषण करने के लिए एक फ़ाइल तैयार करें
कोई भी मैलवेयर नमूना, या कोई अन्य फ़ाइल जिसका आप स्ट्रेल्का से विश्लेषण करना चाहते हैं, का उपयोग करें।
wget https://github.com/ytisf/theZoo/raw/master/malware/Binaries/Win32.Emotet/Win32.Emotet.zip -P samples/
चरण 6: डॉकराइज़्ड वनशॉट का उपयोग करके स्ट्रेल्का के साथ फ़ाइल का विश्लेषण करें
./strelka-oneshot -f samples/Win32.Emotet.zip -l - | jq
यहाँ क्या हो रहा है?
- स्ट्रेल्का ने निर्धारित किया कि सबमिट की गई फ़ाइल एक एन्क्रिप्टेड ZIP थी (देखें: taste.yara backend.yaml)
- ScanEncryptedZip ने ZIP फ़ाइल का पासवर्ड क्रैक करने और संपीड़ित फ़ाइल निकालने के लिए एक डिक्शनरी का उपयोग किया
- निकाली गई फ़ाइल को स्कैनर द्वारा वापस स्ट्रेल्का पाइपलाइन में भेज दिया गया, और स्ट्रेल्का ने निर्धारित किया कि निकाली गई फ़ाइल एक EXE थी
- ScanPe ने EXE फ़ाइल का विच्छेदन किया और आउटपुट में उपयोगी मेटाडेटा जोड़ा
- ScanYara ने प्रदान किए गए नियमों का उपयोग करके EXE फ़ाइल का विश्लेषण किया, और आउटपुट में कई मैच जोड़े, जिनमें से कुछ इंगित करते हैं कि फ़ाइल दुर्भावनापूर्ण हो सकती है
संक्षिप्तता के लिए निम्नलिखित आउटपुट को संपादित किया गया है।
{
"file": {
"depth": 0,
"flavors": {
"mime": ["application/zip"],
"yara": ["encrypted_zip", "zip_file"]
},
"scanners": [
"ScanEncryptedZip",
"ScanEntropy",
"ScanFooter",
"ScanHash",
"ScanHeader",
"ScanYara",
"ScanZip"
]
},
"scan": {
"encrypted_zip": {
"cracked_password": "infected",
"elapsed": 0.114269,
"total": {"extracted": 1, "files": 1}
}
}
}
{
"file": {
"depth": 1,
"flavors": {
"mime": ["application/x-dosexec"],
"yara": ["mz_file"]
},
"name": "29D6161522C7F7F21B35401907C702BDDB05ED47.bin",
"scanners": [
"ScanEntropy",
"ScanFooter",
"ScanHash",
"ScanHeader",
"ScanPe",
"ScanYara"
]
},
"scan": {
"pe": {
"address_of_entry_point": 5168,
"base_of_code": 4096,
"base_of_data": 32768,
"checksum": 47465,
"compile_time": "2015-03-31T08:53:51",
"elapsed": 0.013076,
"file_alignment": 4096,
"file_info": {
"company_name": "In CSS3",
"file_description": "Note: In CSS3, the text-decoration property is a shorthand property for text-decoration-line, text-decoration-color, and text-decoration-style, but this is currently.",
"file_version": "1.00.0065",
"fixed": {"operating_systems": ["WINDOWS32"]},
"internal_name": "Callstb",
"original_filename": "NOFAstb.exe",
"product_name": "Goodreads",
"product_version": "1.00.0065",
"var": {"character_set": "Unicode", "language": "U.S. English"}
}
},
"yara": {
"elapsed": 0.068918,
"matches": [
"SEH__vba",
"SEH_Init",
"Big_Numbers1",
"IsPE32",
"IsWindowsGUI",
"HasOverlay",
"HasRichSignature",
"Microsoft_Visual_Basic_v50v60",
"Microsoft_Visual_Basic_v50",
"Microsoft_Visual_Basic_v50_v60",
"Microsoft_Visual_Basic_v50_additional",
"Microsoft_Visual_Basic_v50v60_additional"
],
"tags": [
"AntiDebug",
"SEH",
"Tactic_DefensiveEvasion",
"Technique_AntiDebugging",
"SubTechnique_SEH",
"PECheck",
"PEiD"
]
}
}
}
आगे क्या?
यदि स्ट्रेल्का को आपके वातावरण में तैनात किया गया था और फ़ाइलों को अंतर्ग्रहित कर रहा था, तो आप इन घटनाओं को अपने SIEM में एकत्र कर रहे होंगे। इस विश्लेषण के साथ, आप एक नियम लिख सकते हैं जो संदिग्ध yara टैग से मेल खाने वाली घटनाओं की खोज करता है, जो आपको संभावित दुर्भावनापूर्ण फ़ाइल के प्रति सचेत करता है।
scan.yara.tags:("Technique_AntiDebugging" && "SubTechnique_SEH")