Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/mandiant/stringsifter
रिवर्स इंजीनियरिंगमालवेयर विश्लेषणबाइनरी विश्लेषणमशीन लर्निंग
GitHubmandiant/stringsifter

stringsifter

एक मशीन लर्निंग टूल जो मैलवेयर विश्लेषण के लिए उनकी प्रासंगिकता के आधार पर स्ट्रिंग्स को रैंक करता है।

रिपॉजिटरी देखें
7611261 महीना पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

StringSifter एक मशीन लर्निंग उपकरण है जो मैलवेयर विश्लेषण के लिए उनकी प्रासंगिकता के आधार पर स्ट्रिंग्स को स्वचालित रूप से रैंक करता है।

त्वरित लिंक

  • तकनीकी ब्लॉगपोस्ट - मैलवेयर विश्लेषण को तेज़ बनाने के लिए स्ट्रिंग्स आउटपुट को रैंक करना सीखें
  • घोषणा ब्लॉगपोस्ट - StringSifter को ओपन सोर्स करना
  • DerbyCon वार्ता - StringSifter: मैलवेयर विश्लेषण को तेज़ बनाने के लिए स्ट्रिंग्स आउटपुट को रैंक करना सीखें
  • PyPi पर StringSifter रिलीज़

उपयोग

StringSifter के लिए Python संस्करण 3.9 या नया आवश्यक है। कोड प्राप्त करने, यूनिट परीक्षण चलाने और उपकरण का उपयोग करने के लिए निम्नलिखित कमांड चलाएँ:

स्थापना

root@kitploit:~
pip install stringsifter

विकास के लिए, poetry का उपयोग करें:

root@kitploit:~
git clone https://github.com/mandiant/stringsifter.git
cd stringsifter
poetry install --with dev

यूनिट परीक्षण चलाना

StringSifter स्थापना निर्देशिका से यूनिट परीक्षण चलाने के लिए:

root@kitploit:~
poetry run tests -v

कमांड लाइन से चलाना

pip install कमांड आपके python वातावरण में दो चलाने योग्य स्क्रिप्ट flarestrings और rank_strings स्थापित करता है। स्रोत से विकास करते समय, pipenv run flarestrings और pipenv run rank_strings का उपयोग करें।

flarestrings GNU binutils के strings की सुविधाओं की नकल करता है, और rank_strings पाइप किए गए इनपुट को स्वीकार करता है, उदाहरण के लिए:

root@kitploit:~
flarestrings <my_sample> | rank_strings

rank_strings कई कमांड लाइन तर्कों का समर्थन करता है। स्थितीय तर्क input_strings रैंक करने के लिए स्ट्रिंग्स की एक फ़ाइल निर्दिष्ट करता है। वैकल्पिक तर्क निम्नलिखित हैं:

रैंक की गई स्ट्रिंग्स मानक आउटपुट पर लिखी जाती हैं, जब तक कि --batch विकल्प निर्दिष्ट न किया जाए, जिससे रैंक किए गए आउटपुट <input_file>.ranked_strings नामक फ़ाइलों में लिखे जाते हैं।

flarestrings विकल्प -n (या --min-len) का समर्थन करता है, जो डिफ़ॉल्ट 4 के बजाय कम से कम min-len वर्णों की लंबाई वाले वर्णों के अनुक्रम को प्रिंट करता है। उदाहरण के लिए:

root@kitploit:~
flarestrings -n 8 <my_sample> | rank_strings

केवल लंबाई 8 या उससे अधिक की स्ट्रिंग्स को प्रिंट और रैंक करेगा।

Docker कंटेनर से चलाना

  • रिपोजिटरी क्लोन करने के बाद, कंटेनर बनाएँ। पैकेज की शीर्ष स्तरीय निर्देशिका से:
root@kitploit:~
docker build -t stringsifter -f docker/Dockerfile .
  • flarestrings या rank_strings तर्क के साथ कंटेनर चलाएँ ताकि संबंधित कमांड का उपयोग किया जा सके। कंटेनराइज़्ड कमांड पाइपलाइनों में उपयोग किए जा सकते हैं:
root@kitploit:~
cat <my_sample> | docker run -i stringsifter flarestrings | docker run -i stringsifter rank_strings
  • या, शेल प्रॉम्प्ट पाने के लिए बिना तर्कों के कंटेनर चलाएँ, होस्ट निर्देशिका को कंटेनर में उजागर करने के लिए -v फ्लैग का उपयोग करें:
root@kitploit:~
docker run -v <my_malware>:/samples -it stringsifter

जहाँ <my_malware> में विश्लेषण के लिए नमूने होते हैं, उदाहरण के लिए:

root@kitploit:~
docker run -v $HOME/malware/binaries:/samples -it stringsifter
  • कंटेनर प्रॉम्प्ट पर:
root@kitploit:~
flarestrings /samples/<my_sample> | rank_strings <options>

सभी कमांड लाइन तर्क कंटेनराइज़्ड स्क्रिप्ट में समर्थित हैं।

FLOSS आउटपुट पर चलाना

StringSifter को स्ट्रिंग्स की किसी भी सूची पर लागू किया जा सकता है, जो इसे वैकल्पिक खुफिया-संग्रह स्रोतों जैसे लाइव मेमोरी डंप, सैंडबॉक्स रन, या ऐसे बाइनरीज़ से अंतर्दृष्टि प्राप्त करने के इच्छुक अभ्यासकर्ताओं के लिए उपयोगी बनाता है जिनमें अस्पष्ट (obfuscated) स्ट्रिंग्स होती हैं। उदाहरण के लिए, FireEye Labs Obfuscated Strings Solver (FLOSS) Strings की तरह ही प्रिंट करने योग्य स्ट्रिंग्स निकालता है, लेकिन अतिरिक्त रूप से उन अस्पष्ट स्ट्रिंग्स को भी प्रकट करता है जो एन्कोडेड, पैक्ड, या स्टैक पर मैन्युअल रूप से निर्मित हैं। इसे Strings के इन-लाइन प्रतिस्थापन के रूप में उपयोग किया जा सकता है, जिसका अर्थ है कि StringSifter को निम्नलिखित कमांड का उपयोग करके FLOSS आउटपुट पर समान रूप से लागू किया जा सकता है:

root@kitploit:~
$PY2_VENV/bin/floss –q <options> <my_sample> | rank_strings <options>

नोट्स:

  1. –q तर्क केवल निकाली गई स्ट्रिंग्स दिखाने के लिए हेडर और फ़ॉर्मेटिंग को दबा देता है। अतिरिक्त FLOSS विकल्पों के बारे में अधिक जानने के लिए, कृपया इसके Usage Docs देखें।
  2. FLOSS के लिए Python 2 आवश्यक है, जबकि StringSifter के लिए Python 3 आवश्यक है। उदाहरण कमांड में floss या rank_strings में से कम से कम एक में python वर्चुअल वातावरण का संदर्भ देने वाला एक सापेक्ष पथ शामिल होना चाहिए।
  3. FLOSS को स्टैंडअलोन निष्पादन योग्य के रूप में डाउनलोड किया जा सकता है। इस मामले में Python वातावरण निर्दिष्ट करना आवश्यक नहीं है क्योंकि निष्पादन योग्य Python इंटरप्रेटर पर निर्भर नहीं करता है।

strings चलाने पर नोट्स

यह वितरण विभिन्न प्लेटफार्मों पर अनुमानित आउटपुट सुनिश्चित करने के लिए flarestrings प्रोग्राम शामिल करता है। यदि आप अपने सिस्टम पर स्थापित strings को चलाना चुनते हैं, तो ध्यान दें कि इसके विकल्प संस्करणों और प्लेटफार्मों के बीच सुसंगत नहीं हैं:

Linux

अधिकांश Linux वितरण GNU Binutils से strings प्रोग्राम शामिल करते हैं। "वाइड" और "नैरो" दोनों स्ट्रिंग्स निकालने के लिए प्रोग्राम को दो बार चलाना होगा, आउटपुट फ़ाइल में पाइप करते हुए:

root@kitploit:~
strings <my_sample>       > strs.txt   # narrow strings
strings -el <my_sample>  >> strs.txt   # wide strings.  note the ">>"

MacOS

MacOS के साथ पैकेज किए गए BSD strings के कुछ संस्करण वाइड स्ट्रिंग्स का समर्थन नहीं करते हैं। यह भी ध्यान दें कि पूरी फ़ाइल को स्कैन करने के लिए strings का -a विकल्प डिफ़ॉल्ट कॉन्फ़िगरेशन में अक्षम हो सकता है। -a के बिना सूचनात्मक स्ट्रिंग्स खो सकती हैं। हम वाइड वर्णों का समर्थन करने वाला strings संस्करण प्राप्त करने के लिए Homebrew या MacPorts के माध्यम से GNU Binutils स्थापित करने की अनुशंसा करते हैं। strings के सही संस्करण को लागू करने के लिए सावधानी बरतें।

Windows

strings Windows पर डिफ़ॉल्ट रूप से स्थापित नहीं है। हम एक कार्यशील strings प्राप्त करने के लिए Windows Sysinternals, Cygwin, या Malcode Analyst Pack स्थापित करने की अनुशंसा करते हैं।

चर्चा

StringSifter का यह संस्करण पहले EMBER डेटासेट से जुड़े नमूना मैलवेयर बाइनरीज़ के Strings आउटपुट का उपयोग करके प्रशिक्षित किया गया था। क्रमिक लेबल कमजोर पर्यवेक्षण प्रक्रियाओं का उपयोग करके उत्पन्न किए गए थे, और पर्यवेक्षित शिक्षण Gradient Boosted Decision Trees द्वारा लर्निंग-टू-रैंक उद्देश्य फ़ंक्शन के साथ किया जाता है। आगे के तकनीकी विवरणों के लिए Quick Links देखें। कृपया ध्यान दें कि न तो लेबल किया गया डेटा और न ही प्रशिक्षण कोड वर्तमान में उपलब्ध है, हालाँकि हम भविष्य के रिलीज़ में इस दृष्टिकोण पर पुनर्विचार कर सकते हैं।

समस्याएँ

हम बग्स और फीचर अनुरोध पोस्ट करने के लिए GitHub Issues का उपयोग करते हैं।

आभार

  • समीक्षा और प्रतिक्रिया के लिए FireEye Data Science (FDS) और FireEye Labs Reverse Engineering (FLARE) टीमों को धन्यवाद।
  • StringSifter को Philip Tully (FDS), Matthew Haigh (FLARE), Jay Gibble (FLARE), और Michael Sikorski (FLARE) द्वारा डिज़ाइन और विकसित किया गया था।
  • StringSifter लोगो Josh Langner (FLARE) द्वारा डिज़ाइन किया गया था।
  • flarestrings उत्कृष्ट उपकरण FLOSS से व्युत्पन्न है।
टूल डाउनलोड करें
विकल्पअर्थ
--scores (-s)आउटपुट में रैंक स्कोर शामिल करें
--limit (-l)आउटपुट को शीर्ष limit रैंक की गई स्ट्रिंग्स तक सीमित करें
--min-score (-m)आउटपुट को उन स्ट्रिंग्स तक सीमित करें जिनका स्कोर >= min-score है
--batch (-b)बैच प्रोसेसिंग के लिए strings आउटपुट का एक फ़ोल्डर निर्दिष्ट करें