Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
malwoverview — Malwoverview é uma ferramenta de primeira resposta para caça a ameaças em VirusTotal, Hybrid Analysis, URLHaus, Polyswarm, Malshare, Alien Vault, Malpedia, Malware Bazaar, ThreatFox, Triage, IPInfo, Shodan, AbuseIPDB, GreyNoise, URLScan.io, Whois/RDAP, NIST e VulnCheck. Suporta enriquecimento com LLM, extração de IOCs, varredura YARA e análise de Android. | Kitploit
Ferramentas/GitHubGitHub/alexandreborges/malwoverview
Segurança AndroidGerenciamento de Indicadores de Comprometimento (IOC)OSINT (Inteligência de Fontes Abertas)Análise de VulnerabilidadesColeta de InformaçõesAnálise de MalwareInteligência de AmeaçasTop em OSINT (Inteligência de Fontes Abertas) nº10

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 →

Sobre

GitHubalexandreborges/malwoverview

malwoverview

Ver Repositório
4.1k551há 13 diasRevisado pelo Kitploit

Malwoverview é uma ferramenta de primeira resposta para caça a ameaças em VirusTotal, Hybrid Analysis, URLHaus, Polyswarm, Malshare, Alien Vault, Malpedia, Malware Bazaar, ThreatFox, Triage, IPInfo, Shodan, AbuseIPDB, GreyNoise, URLScan.io, Whois/RDAP, NIST e VulnCheck. Suporta enriquecimento com LLM, extração de IOCs, varredura YARA e análise de Android.

Compartilhar

Malwoverview

GitHub release (latest by date) GitHub last commit GitHub Release Date GitHub GitHub stars Twitter Follow Downloads Downloads/Total CodeQL

Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text

root@kitploit:~
  Copyright (C)  2018-2026 Alexandre Borges (https://exploitreversing.com) 

  Este programa é um software livre: você pode redistribuí-lo e/ou modificá-lo
  sob os termos da Licença Pública Geral GNU, conforme publicada pela
  Free Software Foundation, seja a versão 3 da Licença, ou
  (a seu critério) qualquer versão posterior.

  Este programa é distribuído na esperança de que seja útil,
  mas SEM NENHUMA GARANTIA; sem sequer a garantia implícita de
  COMERCIABILIDADE ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja a
  Licença Pública Geral GNU para mais detalhes.

  Veja a Licença Pública GNU em <http://www.gnu.org/licenses/>.

Versão Atual: 8.1.0 (Codinome: Revolutions)

root@kitploit:~
 Nota importante:  O Malwoverview NÃO envia amostras para nenhum endpoint por padrão,
 portanto respeita possíveis Acordos de Não Divulgação (NDAs). Existem opções específicas
 que enviam amostras explicitamente, mas essas opções são explicadas na ajuda.

SOBRE

Malwoverview.py é uma ferramenta de primeira resposta para caça a ameaças, que realiza uma triagem inicial e rápida de amostras de malware, URLs, endereços IP, domínios, famílias de malware, IOCs e hashes. Além disso, o Malwoverview é capaz de obter relatórios de comportamento dinâmico e estático, enviar e baixar amostras de vários endpoints. Em poucas palavras, funciona como um cliente para as principais sandboxes existentes.

Esta ferramenta tem como objetivo :

  1. Determinar amostras de malware executáveis semelhantes (PE/PE+) de acordo com a tabela de importação (imphash) e agrupá-las por diferentes cores (preste atenção à segunda coluna da saída). Portanto, as cores importam!
  2. Exibir informações de hash nos mecanismos Virus Total, Hybrid Analysis, Malshare, Polyswarm, URLhaus, Alien Vault, Malpedia e ThreatCrowd.
  3. Determinar se as amostras de malware contêm overlay e, se desejar, extraí-lo.
  4. Verificar arquivos suspeitos no Virus Total, Hybrid Analysis e Polyswarm.
  5. Verificar URLs nos mecanismos Virus Total, Malshare, Polyswarm, URLhaus e no Alien Vault.
  6. Baixar amostras de malware dos mecanismos Hybrid Analysis, Malshare, URLHaus, Polyswarm e Malpedia.
  7. Enviar amostras de malware para VirusTotal, Hybrid Analysis e Polyswarm.
  8. Listar as últimas URLs suspeitas do URLHaus.
  9. Listar os últimos payloads do URLHaus.
  10. Pesquisar payloads específicos no Malshare.
  11. Pesquisar payloads semelhantes (PE32/PE32+) no mecanismo Polyswarm.
  12. Classificar todos os arquivos em um diretório pesquisando informações no Virus Total e no Hybrid Analysis.
  13. Gerar relatórios sobre um domínio suspeito usando diferentes mecanismos, como VirusTotal, Malpedia e ThreatCrowd.
  14. Verificar pacotes APK diretamente de dispositivos Android no Hybrid Analysis e no Virus Total.
  15. Enviar pacotes APK diretamente de dispositivos Android para Hybrid Analysis e Virus Total.
  16. Exibir URLs relacionadas a uma tag fornecida pelo usuário do URLHaus.
  17. Exibir payloads relacionados a uma tag (assinatura) do URLHaus.
  18. Exibir informações sobre um endereço IP do Virus Total, Alien Vault, Malpedia e ThreatCrowd.
  19. Exibir informações de endereço IP, domínio e URL do Polyswarm.
  20. Realizar meta-busca na rede Polyswarm usando vários critérios: imphash, IPv4, domínio, URL e família de malware.
  21. Coletar informações de caça a ameaças do AlienVault usando diferentes critérios.
  22. Coletar informações de caça a ameaças do Malpedia usando diferentes critérios.
  23. Coletar informações de caça a ameaças do Malware Bazaar usando diferentes critérios.
  24. Coletar informações de IOC do ThreatFox usando diferentes critérios.
  25. Coletar informações de caça a ameaças do Triage usando diferentes critérios.
  26. Obter avaliação de hashes de um determinado arquivo no Virus Total.
  27. Enviar arquivos grandes (>= 32 MB) para o Virus Total.
  28. O Malwoverview usa a API v.3 do Virus Total, portanto não há mais nenhuma opção usando a v.2.
  29. Recuperar informações sobre um determinado endereço IP do serviço IPInfo.
  30. Recuperar informações combinadas sobre um determinado endereço IP de vários serviços.

CONTRIBUIDORES

root@kitploit:~
  Alexandre Borges (https://github.com/alexandreborges) | proprietário do projeto e desenvolvedor principal
  Artur Marzano (https://github.com/Macmod) | co-desenvolvedor principal
  Corey Forman (https://github.com/digitalsleuth) | responsável pela integração com REMnux
  Christian Clauss (https://github.com/cclauss)

COMO CONTRIBUIR COM ESTE PROJETO

Desde a versão 6.0.0, existe um novo branch chamado "dev". Todas as contribuições e propostas devem ser feitas neste branch "dev".

Profissionais que desejam contribuir devem abrir uma issue explicando sua melhoria proposta e como ela tornaria o projeto melhor. Uma vez aceita, ele/ela está autorizado(a) a enviar o PR, que será testado.

Depois que todas as alterações forem testadas, essa nova versão do Malwoverview é replicada para o branch master e um novo pacote Python é gerado.

INSTALAÇÃO

Esta ferramenta foi testada em REMnux, Ubuntu, Kali Linux, macOS e Windows. O Malwoverview pode ser instalado executando o seguinte comando:

root@kitploit:~
  * pip3.11 install git+https://github.com/alexandreborges/malwoverview
  
  ou...
  
  * python -m pip install -U malwoverview
  

Se quiser instalar o Malwoverview no macOS, execute os seguintes comandos:

root@kitploit:~
  * /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  * brew install libmagic
  * pip3 install urllib3==1.26.6
  * pip3 install -U malwoverview
  * Adicione o diretório dos binários Python à variável PATH editando o arquivo .bash_profile no seu diretório 
    inicial. Exemplo:

      export PATH=$PATH:/Users/alexandreborges/Library/Python/3.9/bin

  * Execute: . ./.bash_profile

Se você estiver instalando o Malwoverview no Windows, verifique se as seguintes condições são verdadeiras
APÓS ter instalado o Malwoverview:

root@kitploit:~
  * python-magic NÃO está instalado. (pip show python-magic)
  * python-magic-bin ESTÁ instalado. (pip show python-magic-bin)

Nota: É recomendado salvar o .malwapi.conf antes de qualquer atualização!

Recursos Opcionais

Alguns recursos exigem dependências opcionais. Instale-as conforme necessário:

root@kitploit:~
  * YARA scanning:       pip install malwoverview[yara]
  * Signature checking:  pip install malwoverview[signature]
  * PDF report export:   pip install malwoverview[pdf]
  * TUI dashboard:       pip install malwoverview[tui]
  * All optional:        pip install malwoverview[all]

APIs NECESSÁRIAS

É possível começar a usar o Malwoverview sem inserir todas as APIs. No entanto, para usar todas as opções do Malwoverview, você deve inserir a respectiva API dos seguintes serviços: VirusTotal, Hybrid Analysis, URLHaus, Malshare, Polyswarm, Alien Vault, Malpedia, Triage, IPInfo, Malware Bazaar, ThreatFox, VulnCheck, Shodan, AbuseIPDB, GreyNoise e URLScan.io no arquivo de configuração .malwapi.conf, que deve estar presente (ou ser criado) no diretório inicial (/home/[usuário] ou /root no Linux, e C:\Users[usuário] no Windows. Alternativamente, os usuários podem criar um arquivo de configuração personalizado e indicá-lo usando a opção -c.

Um destaque: se o arquivo .malwapi.conf não existir no seu diretório inicial, você deve criá-lo!

  • Uma nota especial sobre o Alien Vault: é necessário assinar os pulses no site do Alien Vault antes de usar a opção -n 1.

  • Uma nota especial sobre Malshare e Shodan: ambos os serviços exigem que sua chave de API seja enviada na própria URL, e nenhum deles documenta uma alternativa de cabeçalho ou corpo de requisição (o endpoint hashlookup do Malshare é um POST, mas a chave ainda viaja na string de consulta). O Malwoverview substitui essas duas chaves por [REDACTED] em todas as mensagens de erro que imprime, para que elas não apareçam na saída que você cola em um relatório de bug, mas a chave ainda fica registrada nos logs de acesso desses serviços e em qualquer proxy que encerre o TLS entre você e eles. Trate ambas as chaves como expostas ao operador do serviço e faça a rotação delas como faria com qualquer outra credencial.

O arquivo de configuração .malwapi.conf tem o seguinte formato:

root@kitploit:~
  [VIRUSTOTAL]
  VTAPI = 

  [HYBRID-ANALYSIS]
  HAAPI = 

  [MALSHARE]
  MALSHAREAPI = 

  [HAUSSUBMIT]
  HAUSSUBMITAPI =

  [POLYSWARM]
  POLYAPI = 

  [ALIENVAULT]
  ALIENAPI = 

  [MALPEDIA]
  MALPEDIAAPI =

  [TRIAGE]
  TRIAGEAPI =

  [IPINFO]
  IPINFOAPI =  
  
  [BAZAAR]
  BAZAARAPI = 

  [THREATFOX]
  THREATFOXAPI = 

  [VULNCHECK]
  VULNCHECKAPI =

  [URLHAUS]
  URLHAUSAPI =

  [SHODAN]
  SHODANAPI =

  [ABUSEIPDB]
  ABUSEIPDBAPI =

  [GREYNOISE]
  GREYNOISEAPI =

  [URLSCANIO]
  URLSCANIOAPI =

  [LLM]
  PROVIDER = claude
  CLAUDE_API_KEY =
  CLAUDE_MODEL = claude-opus-4-8
  GEMINI_API_KEY =
  OPENAI_API_KEY =
  OPENAI_MODEL = gpt-4o-mini
  OLLAMA_URL = http://localhost:11434
  OLLAMA_MODEL = llama3.1

As APIs podem ser solicitadas nos respectivos sites dos serviços:

  1. Virus Total (API comunitária e paga): https://www.virustotal.com/gui/join-us
  2. Hybrid Analysis: https://www.hybrid-analysis.com/signup
  3. Malshare: https://malshare.com/doc.php
  4. URLHaus: https://urlhaus.abuse.ch/api/#account
  5. Polyswarm: https://docs.polyswarm.io/consumers
  6. Alien Vault: https://otx.alienvault.com/api
  7. Malpedia: Não oferece registro aberto, mas você pode solicitar uma conta de usuário diretamente pelo Twitter (DM) ou e-mail de feedback. O identificador do Malpedia no Twitter é @malpedia.
  8. Malware Bazaar: https://bazaar.abuse.ch/api/#auth\_key
  9. ThreatFox: https://threatfox.abuse.ch/api/#auth\_key
  10. Triage: https://tria.ge/signup.
  11. IPInfo: https://ipinfo.io/
  12. VulnCheck: https://vulncheck.com/signin (plano Community/Gratuito disponível)
  13. Shodan: https://account.shodan.io/register
  14. AbuseIPDB: https://www.abuseipdb.com/register
  15. GreyNoise: https://viz.greynoise.io/signup
  16. URLScan.io: https://urlscan.io/user/signup

Provedores de Enriquecimento com LLM (opcional)

O Malwoverview suporta enriquecimento de ameaças com LLM por meio da flag --enrich. Após qualquer consulta, uma avaliação de ameaça gerada por IA é adicionada com nível de risco, identificação de família de malware, mapeamento MITRE ATT&CK e recomendações de analista.

Três provedores são suportados. Configure um na seção [LLM] do .malwapi.conf:

18. Anthropic Claude (pago, melhor qualidade)

root@kitploit:~
  Melhores resultados para análise de inteligência de ameaças. Identifica com precisão
  famílias de malware, mapeia técnicas MITRE ATT&CK precisas e fornece recomendações
  acionáveis com base em conhecimento real de ameaças.

  Configuração:
  a) Crie uma conta de API em https://console.anthropic.com/ (separada da
     assinatura do claude.ai)
  b) Vá para Configurações → Faturamento → Adicionar crédito (mínimo de US$ 5, pagamento por uso)
  c) Vá para Configurações → Chaves de API → Criar chave
  d) Copie a chave (começa com sk-ant-api03-...)
  e) Configure o .malwapi.conf:

        [LLM]
        PROVIDER = claude
        CLAUDE_API_KEY = sk-ant-api03-your-key-here
        CLAUDE_MODEL = claude-opus-4-8

  CLAUDE_MODEL é opcional e o padrão é claude-opus-4-8. Escolhas comuns:
  - claude-opus-4-8    — Melhor qualidade (padrão)
  - claude-sonnet-4-6  — Ótimo equilíbrio entre qualidade e custo
  - claude-haiku-4-5   — Mais rápido e mais barato

  Custo: ~US$ 0,02 a 0,04 por chamada de enriquecimento usando o modelo Opus padrão (menos com
  Sonnet ou Haiku). O crédito de US$ 5 fornece aproximadamente 125 a 250 chamadas de enriquecimento Opus.

19. Google Gemini (requer faturamento)

root@kitploit:~
  Resultados de boa qualidade. Requer uma conta de faturamento do Google Cloud.

  Configuração:
  a) Acesse https://aistudio.google.com/apikeys
  b) Entre com a conta do Google
  c) Clique em Criar chave de API → copie a chave
  d) Ative o faturamento: clique no link do projeto ao lado da sua chave → Console do Google
     Cloud → Faturamento → Vincular uma conta de faturamento
  e) Configure o .malwapi.conf:

        [LLM]
        PROVIDER = gemini
        GEMINI_API_KEY = your-gemini-key-here
        GEMINI_MODEL = gemini-2.0-flash

  Nota: O nível gratuito tem um limite de taxa baixo (2 a 5 requisições por minuto). Para
  limites maiores, ative o faturamento por uso.

20. OpenAI (pago)

root@kitploit:~
  Resultados de boa qualidade usando modelos GPT. Requer uma conta OpenAI com
  créditos de API.

  Configuração:
  a) Crie uma conta em https://platform.openai.com/signup
  b) Vá para https://platform.openai.com/api-keys → Criar nova chave secreta
  c) Adicione faturamento em https://platform.openai.com/settings/organization/billing
  d) Configure o .malwapi.conf:

        [LLM]
        PROVIDER = openai
        OPENAI_API_KEY = sk-your-key-here
        OPENAI_MODEL = gpt-4o-mini

  Modelos disponíveis:
  - gpt-4o-mini  — Mais barato (~US$ 0,002 por enriquecimento), boa qualidade (padrão)
  - gpt-4o       — Melhor qualidade (~US$ 0,01 por enriquecimento)

21. Ollama (gratuito, local, privado)

root@kitploit:~
  Funciona inteiramente na sua máquina. Não é necessária chave de API, nenhum dado sai do seu
  sistema. Bom para ambientes em que o envio de dados de ameaças para APIs na nuvem
  não é permitido. A qualidade depende do modelo escolhido.

  Configuração:
  a) Baixe e instale o Ollama de https://ollama.com/download
     (disponível para Windows, Linux e macOS)
  b) Abra um terminal e baixe um modelo:

        ollama pull qwen2.5:14bModelos recomendados:
     - qwen2.5:14b  — Melhor qualidade em tamanho razoável (9 GB, precisa de 16 GB de RAM)
     - llama3.1:8b  — Boa qualidade, menor (5 GB, precisa de 8 GB de RAM)
     - llama3.1:70b — Excelente qualidade, grande (40 GB, precisa de 48 GB de RAM)

  c) O Ollama inicia automaticamente e fica disponível em http://localhost:11434
  d) Configure o .malwapi.conf:

        [LLM]
        PROVIDER = ollama
        OLLAMA_URL = http://localhost:11434
        OLLAMA_MODEL = qwen2.5:14b

  Desempenho: GPU com 12+ GB de VRAM fornece respostas rápidas (5-10s).
  Somente CPU é mais lento (30-60s), mas funcional. Modelos maiores (14b, 70b)
  exigem mais VRAM e podem expirar na CPU se não houver memória suficiente
  disponível. O modelo llama3.1:8b é recomendado para máquinas com
  memória GPU limitada (6 GB ou menos).

Tempos de resposta esperados:

root@kitploit:~
  - Claude API:  3-8 segundos
  - Gemini API:  3-8 segundos
  - Ollama (GPU com VRAM suficiente): 5-15 segundos
  - Ollama (somente CPU, modelo 8b): 30-60 segundos
  - Ollama (somente CPU, modelo 14b+): 60-300 segundos

Exemplos de uso:

root@kitploit:~
  # CLI: append --enrich to any query
  malwoverview -v 8 -V <hash> --enrich
  malwoverview -ip 1 -IP 8.8.8.8 --enrich
  malwoverview --correlate-hash <hash> --enrich

  # Interactive REPL: toggle enrichment on/off or switch provider
  malwoverview --interactive
  malwoverview> set enrich on                    # use provider from config
  malwoverview> set enrich claude                # switch to Claude
  malwoverview> set enrich ollama                # switch to Ollama
  malwoverview> set enrich openai                # switch to OpenAI
  malwoverview> set enrich off                   # disable enrichment
  malwoverview> vt hash <hash>                   # malware analysis + enrichment
  malwoverview> nist cve CVE-2024-3400           # CVE lookup + enrichment
  malwoverview> vulncheck cve CVE-2024-3400      # VulnCheck + enrichment

  # TUI: click the Enrich button to cycle through providers
  #   Enrich (OFF) → claude → gemini → openai → ollama → OFF
  #   Green button  = provider active and configured
  #   Yellow button = provider selected but API key missing
  #   Default button = enrichment disabled
  malwoverview --tui

Nota sobre solicitações de API ao MALPEDIA:

O serviço e a aceitação são baseados na verificação da comunidade. Portanto, é recomendado que você envie uma solicitação de API do seu endereço de e-mail comercial e NÃO de um público/gratuito (Gmail, Outlook e assim por diante). Além disso, seria ótimo se você fornecesse mais informações sobre você (conta do LinkedIn, X/Twitter, Mastodon, BlueSky, etc.), pois isso facilitaria a verificação de sua identidade, perfil profissional e legitimidade, agilizando a aprovação da sua solicitação.


Nota sobre o Triage:

Toda operação do Triage é baseada no ID de Triage de cada artefato, então você precisa usar o "-x 1 -X <attribute>:<value>" para pesquisar o ID correto do artefato e depois usar essas informações de ID com as opções restantes do Triage (-x [2-7]) para obter mais informações de caça a ameaças no endpoint do Triage.


Nota sobre URLHaus, Malware Bazaar e Threat Fox:

A partir do segundo semestre de 2025, uma chave de autenticação (API) será necessária para usar os serviços URLHaus, Malware Bazaar e Threat Fox.


Nota sobre a cor de fundo do terminal:

O Malwoverview foi escrito para produzir saída para um fundo de terminal escuro. No entanto, existe a opção -o 0 que altera e adapta as cores de saída para um fundo claro.


Para verificar a instalação, execute:

root@kitploit:~
   malwoverview --help
   

Mais informações estão disponíveis em:

root@kitploit:~
   (repositório PYPI.org) https://pypi.org/project/malwoverview/
   (Github) https://github.com/alexandreborges/malwoverview

Se você quiser realizar a instalação manual (geralmente não é necessária), apenas alguns passos devem ser executados, como mostrado na próxima subseção.

INSTALAÇÃO MANUAL (REMnux e Ubuntu)

  1. Versão Python 3.11 ou posterior (Somente Python 3.x !!! NÃO funciona usando Python 2.7)

    root@kitploit:~
    $ apt-get install python3.11  (for example)
    
  2. Python-magic.

    Para instalar o pacote python-magic, você pode executar o seguinte comando:

    root@kitploit:~
    $ pip3.11 install python-magic
    

    Ou você pode compilá-lo a partir do repositório do github:

    root@kitploit:~
    $ git clone https://github.com/ahupp/python-magic
    $ cd python-magic/
    $ python3.11 setup.py build
    $ python3.11 setup.py install
    

    Como existem sérios problemas relacionados à existência de duas versões do pacote python-magic, a recomendação é instalá-lo a partir do Github (segundo procedimento acima) e copiar o arquivo magic.py para o MESMO diretório da ferramenta malwoverview.

  3. Instale todos os pacotes Python necessários:

    root@kitploit:~
    $ pip3.11 install -r requirements.txt
    
    OR
    
    $ pip3.11 install -U pefile
    $ pip3.11 install -U colorama
    $ pip3.11 install -U simplejson
    $ pip3.11 install -U python-magic
    $ pip3.11 install -U requests
    $ pip3.11 install -U validators
    $ pip3.11 install -U geocoder
    $ pip3.11 install -U polyswarm-api
    $ pip3.11 install -U pathlib
    $ pip3.11 install -U configparser
    
  4. Para verificar um celular Android, você precisa instalar a ferramenta "adb":

    root@kitploit:~
    $ sudo apt get install adb
    

    OBS.: antes de tentar as opções do Android, verifique:

    root@kitploit:~
    * Se a ferramenta adb está listada na variável de ambiente PATH.
    * Se o sistema tem acesso autorizado ao dispositivo usando "adb devices -l"
    

AJUDA

usage: python malwoverview.py -c -d -o <0|1> -v <1-20> -V -a <1-13> -A -l <1-8> -L <hash|file type> -j <1-8> -J -p <1-8> -P -y <1-5> -Y -n <1-5> -N -m <1-9> -M -b <1-15> -B -x <1-9> -X -ip <1-8> -IP -O --nist <1-5> --NIST -vc <1-8> -VC -s <1-2> -S -ab <1> -AB -gn <1> -GN -wh <1-2> -WH -ct <1-2> -CT -u <1-5> -U --correlate-hash --extract-iocs <file|url> --yara --yara-target --peinfo <file|directory> --entropy-threshold --sigcheck <file|directory> --no-signature --sig-verify-mode <any|first|all|best> --output-format text|json|csv --proxy --quiet --verbose --no-cache --cache-ttl --cache-stats --prune-cache --clear-cache --no-resolve --defang --no-ioc-filter --report html|pdf --interactive --tui --attack-map

Malwoverview é uma ferramenta de primeira resposta para caça a ameaças escrita por Alexandre Borges.

OPÇÕES DE MALWARE: Opções de consulta e inteligência para análise de malware

root@kitploit:~
-h, --help

	+ mostra esta mensagem de ajuda e sai

-c CONFIG FILE, --config CONFIG FILE

	+ Use um arquivo de configuração personalizado para especificar as APIs.

-d DIRECTORY, --directory DIRECTORY

	+ Especifica o diretório que contém amostras de malware a serem verificadas no VIRUS TOTAL.
	+ Use a opção -D para decidir se você está usando uma API VT pública ou uma API VT 
	Premium.

-o BACKGROUND, --background BACKGROUND

	+ Adapta as cores de saída para um terminal com fundo claro. 
	+ O padrão é terminal com fundo escuro.

-v VIRUSTOTAL, --virustotal_option VIRUSTOTAL

	+ -v 1: dado um arquivo usando a opção -V, consulta o banco de dados do VIRUS TOTAL (API v.3)
		  para obter o relatório do arquivo fornecido através da opção -V.
	+ v 2: mostra um relatório antivírus para um arquivo fornecido usando a opção -V (API v.3);
	+ v 3: igual ao -v2, mas o IAT e o EAT do binário também são mostrados (API v.3); 
	+ v 4: extrai o overlay; 
	+ v 5: envia uma URL para varredura no VT; 
	+ v 6: envia um endereço IP para o Virus Total; 
	+ v 7: esta opção obtém um relatório sobre o domínio fornecido do Virus Total; 
	+ v 8: verifica um hash fornecido contra o Virus Total; 
	+ v 9: envia uma amostra ao VT (até 32 MB). Use barra para especificar o 
		   arquivo de destino em sistemas Windows. Exige passar o arquivo de amostra com a opção -V; 
	+ -v 10: verifica hashes de um arquivo fornecido através da opção -V. Esta opção usa 
			a API pública do VT v.3;
	+ -v 11: verifica hashes de um arquivo fornecido através da opção -V. Esta opção usa 
			a API Premium v.3; 
	+ -v 12: mostra informações de comportamento de uma amostra dado um hash através da opção -V. 
			Esta opção usa a API do VT v.3; -v 13: envia arquivos GRANDES (acima de 32 MB)
			ao VT usando a API v.3;
	+ -v 14: envia um job Retrohunt usando o arquivo de regras YARA ou diretório de regras 
			fornecido com -V (o VT examina as amostras recebidas nos últimos meses 
			contra as regras);
	+ -v 15: lista seus jobs Retrohunt, opcionalmente filtrados por um status passado 
			através de -V (starting, running, aborting, aborted ou finished);
	+ -v 16: mostra o status e o progresso do job Retrohunt cujo id é 
			fornecido com -V;
	+ -v 17: lista os arquivos correspondidos pelo job Retrohunt cujo id é fornecido com -V;
	+ -v 18: cria um conjunto de regras Livehunt a partir do arquivo de regras YARA ou diretório de regras 
			fornecido com -V (o VT então compara cada nova submissão contra ele);
	+ -v 19: lista seus conjuntos de regras Livehunt;
	+ -v 20: lista suas notificações Livehunt. As opções 14 a 20 precisam de uma chave VT com 
			privilégios premium (empresariais);

-V VIRUSTOTAL_ARG, --virustotal_arg VIRUSTOTAL_ARG

	+ Fornece o argumento para a opção -v. Se "-v 1" a "-v 4", então -V deve ser
	um caminho de arquivo; Se "-v 5", então -V deve ser uma URL; Se "-v 6", então -V deve
	ser um endereço IP; Se "-v 7", então -V deve ser um domínio; Se "-v 8", então
	-V deve ser um hash (MD5/SHA1/SHA256); Se "-v 9" ou "-v 13", então -V deve
	ser um caminho de arquivo para enviar; Se "-v 10" ou "-v 11", então -V deve ser um arquivo
	contendo hashes (um por linha); Se "-v 12", então -V deve ser um hash para
	análise de comportamento; Se "-v 14" ou "-v 18", então -V deve ser um arquivo de regras YARA
	ou um diretório de regras; Se "-v 15", então -V pode ser um status de job;
	Se "-v 16" ou "-v 17", então -V deve ser um id de job Retrohunt.

-a HYBRID_ANALYSIS, --hybrid_option HYBRID_ANALYSIS

	+ Este parâmetro obtém relatórios da HYBRID ANALYSIS, baixa amostras e envia
	amostras para análise. 
	+ Os valores possíveis são: 
		+ 1: obtém um relatório para um hash ou amostra fornecidos de um ambiente Windows 7 32 bits; 
		+ 2: obtém um relatório para um hash ou amostra fornecidos de um ambiente Windows 7 32 bits 
		(suporte HWP); 
		+ 3: obtém um relatório para hash ou amostra fornecidos de um ambiente Windows 64 bits; 
		+ 4: obtém um relatório para um hash ou amostra fornecidos de um ambiente Android; 
		+ 5: obtém um relatório para um hash ou amostra fornecidos de um ambiente Linux 64 bits; 
		+ 6: envia uma amostra para um ambiente Windows 7 32 bits; 
		+ 7. envia uma amostra para um ambiente Windows 7 32 bits com suporte a ambiente HWP; 
		+ 8. envia uma amostra para um ambiente Windows 7 64 bits;
		+ 9. envia uma amostra para um ambiente Android; 
		+ 10. envia uma amostra para um ambiente Linux 64 bits;
		+ 11. baixa a amostra para um hash fornecido (a amostra armazenada é a 
		mesma independentemente do ambiente de sandbox, então uma única opção 
		substitui as antigas opções 11 a 15); 
		+ 12. verificação em lote de hashes a partir de um arquivo (um hash por linha); 
		+ 13. varredura de diretório - calcula o SHA256 de cada arquivo e verifica 
		contra o Hybrid Analysis.

-A SUBMIT_HA, --ha_arg SUBMIT_HA

	+ Fornece o argumento para a opção -a da HYBRID ANALYSIS. Se "-a 1" a
	"-a 5", então -A deve ser um hash ou um caminho de arquivo (detecção automática); Se "-a 6"
	a "-a 10", então -A deve ser um caminho de arquivo para enviar; Se "-a 11", então -A
	deve ser um hash para baixar; Se "-a 12", então -A deve ser um arquivo
	contendo hashes (um por linha); Se "-a 13", então -A deve ser um caminho de diretório
	para verificar.

-D VT_PUBLIC_PREMIUM, --vtpubpremium VT_PUBLIC_PREMIUM

	+ Esta opção deve ser usada com a opção -d. 
	+ Valores possíveis: 
		+ <0> usa a API Premium do VT v3 (padrão); 
		+ <1> usa a API Pública do VT v3.
		
-l MALSHARE_HASHES, --malsharelist MALSHARE_HASHES

	+ Esta opção baixa uma amostra e mostra hashes de um tipo específico
	das últimas 24 horas do repositório MALSHARE. 
	+ Os valores possíveis são: 
		+ 1: Baixar uma amostra; 
		+ 2: PE32 (padrão) ; 
		+ 3: ELF ; 
		+ 4: Java; 
		+ 5: PDF ; 
		+ 6: Listar os tipos de arquivo disponíveis nas últimas 24 horas (e quantas 
		amostras de cada); 
		+ 7: Lista de hashes das últimas 24 horas; 
		+ 8: Listar hashes do tipo de arquivo fornecido com -L (use -l 6 para descobrir 
		os tipos de arquivo válidos).

-L MALSHARE_HASH_SEARCH, --malshare_hash MALSHARE_HASH_SEARCH

	+ Fornece um hash como argumento para baixar uma amostra do repositório MALSHARE 
	(-l 1) ou, quando usado com -l 8, o tipo de arquivo cujos hashes 
	devem ser listados.
	
-j HAUS_OPTION, --haus_option HAUS_OPTION

	+ Esta opção obtém informações do URLHaus dependendo do valor passado como argumento: 
		+ 1: realiza o download da amostra fornecida; 
		+ 2: consulta informações sobre um 
		hash fornecido ; 
		+ 3: pesquisa informações sobre uma URL fornecida; 
		+ 4: pesquisa uma URL maliciosa por uma tag fornecida (sensível a maiúsculas/minúsculas); 
		+ 5: pesquisa payloads dado uma tag; 
		+ 6: recupera uma lista de links para download de payloads recentes; 
		+ 7: recupera uma lista de URLs maliciosas recentes; 
		+ 8: verificação em lote de hashes a partir de um arquivo (um hash por linha).

-J HAUS_ARG, --haus_arg HAUS_ARG

	+ Fornece o argumento para a opção -j do URLHaus. Se "-j 1", então -J deve
	ser um hash SHA256 para baixar a amostra; Se "-j 2", então -J deve ser um
	hash (MD5/SHA1/SHA256) para pesquisar; Se "-j 3", então -J deve ser uma URL para
	verificar; Se "-j 4", então -J deve ser uma tag (sensível a maiúsculas/minúsculas); Se "-j 5", então
	-J deve ser um nome de assinatura.

-p POLY_OPTION, --poly_option POLY_OPTION

	+ (Somente para Linux) Esta opção está relacionada às operações do POLYSWARM:
		+ 1. pesquisa informações relacionadas a um hash fornecido usando a opção -P; 
		+ 2. envia uma amostra fornecida pela opção -P para ser analisada pelo mecanismo Polyswarm ; 
		+ 3. Baixa uma amostra do Polyswarm fornecendo o hash através da opção -P.
		Atenção: o Polyswarm impõe um máximo de 20 amostras por mês; 
		+ 4. pesquisa amostras semelhantes dado um arquivo de amostra através da opção -P;
		+ 5. pesquisa amostras relacionadas a um endereço IP fornecido através da opção -P; 
		+ 6. pesquisa amostras relacionadas a um domínio fornecido pela opção -P; 
		+ 7. pesquisa amostras relacionadas a uma URL fornecida através da opção -P; 
		+ 8. pesquisa amostras relacionadas a uma família de malware fornecida pela opção -P.

-P POLYSWARM_ARG, --poly_arg POLYSWARM_ARG

	+ (Somente para Linux) Fornece um argumento para a opção -p do POLYSWARM.

-y ANDROID_OPTION, --android_option ANDROID_OPTION

	+ Esta opção ANDROID tem múltiplos valores possíveis: 
		+ <1>: Verifica todos os pacotes APK de terceiros do dispositivo Android conectado via USB 
		contra o Hybrid Analysis usando multithreads. Notas: o dispositivo Android não 
		precisa estar com root e o sistema precisa ter a ferramenta adb na variável de ambiente 
		PATH; 
		+ <2>: Verifica todos os pacotes APK de terceiros do dispositivo Android conectado via USB
		contra o VirusTotal usando a API Pública (mais lento por causa do atraso de 60 segundos para cada 
		4 hashes). Notas: o dispositivo Android não precisa estar com root e o sistema 
		precisa ter a ferramenta adb na variável de ambiente PATH; 
		+ <3>: Verifica todos os pacotes APK de terceiros do dispositivo Android conectado via USB 
		contra o VirusTotal usando multithreads (somente para API de Vírus Privada). Notas: o 
		dispositivo Android não precisa estar com root e o sistema precisa ter a ferramenta adb 
		na variável de ambiente PATH; 
		+ <4> Envia um APK de terceiros do seu dispositivo Android conectado via USB para 
		o Hybrid Analysis; 
		+ 5. Envia um APK de terceiros do seu dispositivo Android conectado via USB para o Virus-Total.

-Y ANDROID_ARG, --android_arg ANDROID_ARG

	+ Esta opção fornece o argumento para -y do ANDROID.

-n ALIENVAULT, --alienvault ALIENVAULT

	+ Verifica múltiplas informações do ALIENVAULT. Os valores possíveis são: 
		+ 1: Obter os pulses subscritos; 
		+ 2: Obter informações sobre um endereço IP; 
		+ 3: Obter informações sobre um domínio; 
		+ 4: Obter informações sobre um hash; 
		+ 5: Obter informações sobre uma URL.

-N ALIENVAULT_ARGS, --alienvaultargs ALIENVAULT_ARGS

	+ Fornece o argumento para a opção -n do ALIENVAULT. Se "-n 1", então -N
	deve ser o número de pulses subscritos a recuperar; Se "-n 2", então -N
	deve ser um endereço IP; Se "-n 3", então -N deve ser um domínio; Se "-n 4",
	então -N deve ser um hash (MD5/SHA256); Se "-n 5", então -N deve ser uma URL.

-m MALPEDIA, --malpedia MALPEDIA

	+ Esta opção está relacionada ao MALPEDIA e apresenta diferentes significados dependendo 
	do valor escolhido. Assim:
		+ 1: Listar meta-informações para todas as famílias; 
		+ 2: Listar todos os IDs de atores; 
		+ 3: Listar todos os payloads disponíveis organizados por família do Malpedia; 
		+ 4: Obter meta-informações de um ator específico, então é necessário usar 
		a opção -M. Além disso, tente confirmar o ID correto do ator executando
		malwoverview com a opção -m 3; 
		+ 5: Listar todos os IDs de famílias; 
		+ 6: Obter meta-informações de uma família específica, então é necessário 
		usar a opção -M. Além disso, tente confirmar o ID correto da família 
		executando malwoverview com a opção -m 5; 
		+ 7: Obter uma amostra de malware do malpedia (formato zip -- senha: infected). 
		É necessário especificar o hash solicitado usando a opção -M;
		+ 8: Obter um arquivo zip contendo regras Yara para uma família específica 
		(obtenha as famílias possíveis usando -m 5), que deve ser especificada usando a opção -M; 
		+ 9: Obter um arquivo zip contendo o conjunto completo de regras Yara do Malpedia para 
		um nível TLP, que deve ser fornecido com -M como um de tlp_white, tlp_green, 
		tlp_amber ou auto (as formas curtas white, green e amber também são 
		aceitas). Combine-o com --yara para verificar com as regras baixadas.

-M MALPEDIAARG, --malpediarg MALPEDIAARG

	+ Fornece o argumento para a opção -m do MALPEDIA. Se "-m 4", então -M deve
	ser um nome de ator (confirme com -m 2); Se "-m 6", então -M deve ser um
	nome de família (confirme com -m 5); Se "-m 7", então -M deve ser um hash para
	baixar a amostra; Se "-m 8", então -M deve ser um nome de família para obter
	regras YARA.

-b BAZAAR, --bazaar BAZAAR+ Verifica múltiplas informações do MALWARE BAZAAR e THREATFOX. Os valores 
	possíveis são: 
		+ 1: (Bazaar) Consulta informações sobre uma amostra de hash de malware; 
		+ 2: (Bazaar) Obtém informações e uma lista de amostras de malware associadas 
		e de acordo com uma tag específica; 
		+ 3: (Bazaar) Obtém uma lista de amostras de malware de acordo com um imphash 
		fornecido; 
		+ 4: (Bazaar) Consulta as amostras de malware mais recentes; 
		+ 5: (Bazaar) Baixa uma amostra de malware do Malware Bazaar fornecendo um 
		hash SHA256. A amostra baixada é compactada usando a seguinte senha: infected; 
		+ 6: (ThreatFox) Obtém o conjunto de dados de IOC atual dos últimos x dias 
		informados pela opção -B (máximo de 7 dias); 
		+ 7: (ThreatFox) Procura o IOC especificado no ThreatFox informado pela opção -B; 
		+ 8: (ThreatFox) Procura IOCs de acordo com a tag especificada informada pela 
		opção -B; 
		+ 9: (ThreatFox) Procura IOCs de acordo com a família de malware especificada 
		fornecida pela opção -B; 
		+ 10. (ThreatFox) Lista todas as famílias de malware disponíveis.
		+ 11: (Bazaar) Verificação em lote de hashes a partir de um arquivo (um hash 
		por linha) contra o Malware Bazaar;
		+ 12: (Bazaar) Verificação de diretório — calcula o SHA256 de cada arquivo em 
		um diretório e verifica no Malware Bazaar;
		+ 13: (Bazaar) Procura amostras que correspondem ao nome da regra YARA 
		informado pela opção -B. Os nomes das regras são listados no final de um 
		relatório de hash (-b 1) e também são os nomes das regras no conjunto YARAify 
		baixado com -b 14 e extraído com -b 15;
		+ 14: (YARAify) Baixa o conjunto de regras YARAify (abuse.ch), que é o 
		conjunto de regras por trás do Malware Bazaar;
		+ 15: (YARAify) Extrai o conjunto de regras YARAify baixado para um diretório 
		de regras que pode ser informado para --yara.

-B BAZAAR_ARG, --bazaararg BAZAAR_ARG

	+ Fornece argumento para a opção -b MALWARE BAZAAR e THREAT FOX:
		+ "-b 1" indica que o argumento de -B deve ser um hash e um relatório sobre 
		a amostra será obtido; 
		+ "-b 2" indica que o argumento de -B deve ser uma tag de malware e as últimas 
		amostras correspondentes a essa tag serão exibidas; 
		+ "-b 3" significa que o argumento fornecido por -M deve ser um imphash e as 
		últimas amostras correspondentes a esse imphash serão exibidas; 
		+ "-b 4" significa que o argumento fornecido por -M deve ser "100 ou time", 
		onde "100" lista as últimas "100 amostras" e "time" lista as últimas amostras 
		adicionadas ao Malware Bazaar nos últimos 60 minutos; 
		+ "-b 5" significa que a amostra será baixada e o argumento de -B deve ser 
		um hash SHA256 da amostra que você deseja baixar do Malware Bazaar; 
		+ "-b 6" indica que uma lista de IOCs será obtida e o valor de -B é o número 
		de DIAS para filtrar esses IOCs. O tempo máximo é 7 (dias); 
		+ "-b 7" indica que o argumento de -B é o IOC que você deseja procurar; 
		+ "-b 8" indica que o argumento de -B é a TAG do IOC que você deseja 
		procurar; 
		+ "-b 9" indica que o argumento -B é a família de malware para a qual você 
		deseja procurar IOCs;
		
-x TRIAGE, --triage TRIAGE

	+ Fornece informações do TRIAGE de acordo com o valor especificado: 
		+ 1: esta opção obtém as informações gerais da amostra fornecendo um 
		argumento com a opção -X nos seguintes formatos possíveis: 
			- sha256:<value>
			- sha1:<value>
			- md5:<value>
			- family:<value>
			- score:<value>
			- tag:<value>
			- url:<value>
			- wallet:<value>
			- ip:<value>; 
			
		+ 2: Obtém um relatório resumido para um determinado ID do Triage (obtido 
		pela opção -x 1); 
		+ 3: Envia uma amostra para análise; 
		+ 4: Envia uma amostra por meio de uma URL para análise; 
		+ 5: Baixa a amostra especificada pelo ID do Triage; 
		+ 6: Baixa o arquivo pcapng da amostra associada ao ID do Triage fornecido; 
		+ 7: Obtém um relatório dinâmico para o ID do Triage fornecido (obtido pela 
		opção -x 1);
		+ 8: Verificação em lote de hashes a partir de um arquivo (um hash por linha) 
		contra o Triage;
		+ 9: Verificação de diretório — calcula o SHA256 de cada arquivo em um 
		diretório e verifica no Triage.

-X TRIAGE_ARG, --triagearg TRIAGE_ARG

	+ Fornece argumento para a opção -x do TRIAGE. Se "-x 1" então -X deve
	ser uma consulta de pesquisa (ex.: sha256:<hash>, family:<name>, tag:<tag>,
	ip:<ip>); Se "-x 2" então -X deve ser um ID de amostra do Triage (obtido
	de -x 1); Se "-x 3" então -X deve ser o caminho de um arquivo para enviar; 
	Se "-x 4" então -X deve ser uma URL para enviar; Se "-x 5" ou "-x 6" 
	então -X deve ser um ID de amostra do Triage para baixar; Se "-x 7" então 
	-X deve ser um ID de amostra do Triage para relatório dinâmico; Se "-x 8" 
	então -X deve ser um arquivo contendo hashes (um por linha); Se "-x 9" 
	então -X deve ser o caminho de um diretório para verificar.

  -O OUTPUTDIR, --output-dir OUTPUTDIR
        
        + Define o diretório de saída para todos os downloads de amostras.
  
  -ip IP, --ip IP

  + Obtém informações de IP de várias fontes. Os valores possíveis são:
        + 1: Obtém detalhes de um endereço IP fornecido com -IP do IPInfo;
        + 2: Removido na versão 8.1.0 (BGPView encerrado);
        + 3: Obtém detalhes de um endereço IP fornecido com -IP de todos
        os serviços de inteligência disponíveis (VirusTotal/Alienvault);
        + 4: Obtém detalhes de um endereço IP do Shodan;
        + 5: Obtém detalhes de um endereço IP do AbuseIPDB;
        + 6: Obtém detalhes de um endereço IP do GreyNoise;
        + 7: Obtém detalhes de um endereço IP de todos os serviços (abrangente);
        + 8: Verificação em lote de endereços IP a partir de um arquivo (um por 
        linha) contra o VirusTotal e exibe uma tabela resumida (Endereço IP, País, 
        Proprietário AS, Detecção). Use -D para escolher entre a API VT Pública 
        (-D 1) e Premium (-D 0, padrão).

  -IP IPARG, --iparg IPARG

        + Fornece um argumento para a opção -ip. Para -ip 1 a 7 deve
        ser um endereço IP válido (IPv4 ou IPv6); para -ip 8 deve ser um
        arquivo contendo endereços IP (um por linha).

-s SHODAN, --shodan SHODAN

	+ Opções do SHODAN:
		+ 1: Consulta de IP;
		+ 2: Consulta de pesquisa.

-S SHODAN_ARG, --shodanarg SHODAN_ARG

	+ Fornece argumento para a opção -s do SHODAN. Se "-s 1" então -S deve
	ser um endereço IP; Se "-s 2" então -S deve ser uma consulta de pesquisa 
	(ex.: "apache", "port:22 country:BR").

-ab ABUSEIPDB, --abuseipdb ABUSEIPDB

	+ Opções do ABUSEIPDB:
		+ 1: Verifica a reputação do IP.

-AB ABUSEIPDB_ARG, --abuseipdbarg ABUSEIPDB_ARG

	+ Fornece um endereço IP para a opção -ab do ABUSEIPDB.

-gn GREYNOISE, --greynoise GREYNOISE

	+ Opções do GREYNOISE:
		+ 1: Verificação rápida de IP (API da comunidade).

-GN GREYNOISE_ARG, --greynoisearg GREYNOISE_ARG

	+ Fornece um endereço IP para a opção -gn do GREYNOISE.

-wh WHOIS, --whois WHOIS

	+ Opções do WHOIS:
		+ 1: Consulta whois de domínio;
		+ 2: Consulta whois/RDAP de IP.

-WH WHOIS_ARG, --whoisarg WHOIS_ARG

	+ Fornece argumento para a opção -wh do WHOIS. Se "-wh 1" então -WH deve
	ser um nome de domínio; Se "-wh 2" então -WH deve ser um endereço IP.

-ct CRTSH, --crtsh CRTSH

	+ Consulta os logs de Transparência de Certificados por meio do crt.sh, 
	que não precisa de chave de API. Valores possíveis:
		+ 1: lista os nomes DNS distintos vistos nos certificados emitidos para
		o domínio informado com -CT, o que é uma forma barata de enumerar
		subdomínios. Nomes pertencentes a outros domínios, que aparecem porque 
		um certificado pode cobrir vários locatários, são contados e relatados 
		separadamente;
		+ 2: lista os próprios certificados (identificador, emissor, nome 
		comum e datas de validade, do mais recente para o mais antigo).

-CT CRTSH_ARG, --crtsharg CRTSH_ARG

	+ Fornece o nome de domínio consultado pela opção -ct.

-u URLSCANIO, --urlscanio URLSCANIO

	+ Opções do URLSCAN.IO:
		+ 1: Envia uma URL para verificação;
		+ 2: Obtém o resultado da verificação por UUID;
		+ 3: Pesquisa verificações usando a sintaxe de consulta do Elasticsearch
		(ex.: "page.server:nginx", "task.tags:phishing");
		+ 4: Pesquisa verificações por domínio;
		+ 5: Pesquisa verificações por IP.

-U URLSCANIO_ARG, --urlscanioarg URLSCANIO_ARG

	+ Fornece argumento para a opção -u do URLSCAN.IO. Se "-u 1" então -U
	deve ser uma URL para enviar para verificação; Se "-u 2" então -U deve 
	ser um UUID (obtido de -u 1); Se "-u 3" então -U deve ser uma consulta 
	do Elasticsearch (ex.: "page.server:nginx", "task.tags:phishing"); 
	Se "-u 4" então -U deve ser um domínio; Se "-u 5" então -U deve ser um 
	endereço IP.

--correlate-hash HASH

	+ Correlação de hash entre serviços: consulta um hash no VirusTotal,
	Hybrid Analysis, Triage e AlienVault gerando um relatório consolidado.

--extract-iocs SOURCE

	+ Extrai IOCs (hashes, IPs, URLs, domínios, e-mails, CVEs) de um arquivo
	(.txt, .pdf, .eml) ou URL (http/https).
	A extração de PDF requer: pip install malwoverview[pdf]

--yara RULES_FILE

	+ Arquivo de regras YARA a ser usado para verificação. Deve ser usado com 
	--yara-target.
	Requer: pip install malwoverview[yara]

--yara-target TARGET

	+ Arquivo ou diretório para verificar com regras YARA.

--peinfo TARGET

	+ Triagem local de PE de um arquivo ou diretório (sem chave de API): tipo 
	de arquivo, tamanho, overlay, tamanho do overlay e entropia. Diretórios 
	são verificados recursivamente. A entropia é a maior entropia de seção do 
	PE, ou a entropia de Shannon do arquivo inteiro para arquivos não-PE.

--entropy-threshold VALUE

	+ Valor de entropia no qual --peinfo destaca um arquivo como empacotado ou 
	criptografado. Padrão: 7.0

--sigcheck TARGET

	+ Verifica a assinatura Authenticode de um arquivo ou diretório (sem chave 
	de API): status, signatário, emissor, datas do certificado, algoritmo de 
	resumo, impressão digital do certificado e número de série. O status é um 
	dos seguintes: VALID, TAMPERED, UNTRUSTED, EXPIRED, MALFORMED, INVALID, 
	NONE (sem assinatura incorporada), PRESENT (há uma assinatura, mas ela 
	não foi verificada) ou N/A (não é um arquivo PE). Apenas assinaturas 
	incorporadas são lidas: um arquivo relatado como NONE ainda pode estar 
	assinado por meio de um catálogo do Windows.
	Verificação completa requer: pip install malwoverview[signature]

	VALID significa que o arquivo ainda corresponde ao certificado com o qual 
	foi assinado. Não é um veredito sobre o arquivo: certificados de assinatura 
	são roubados, abusados e emitidos por engano, e malware já carregou 
	assinaturas válidas da Microsoft. Uma assinatura incorporada é armazenada 
	no overlay, portanto um arquivo assinado sempre apresenta uma, e esse 
	overlay não é uma carga anexada.

	A revogação do certificado não é verificada. Nenhuma requisição de rede é 
	feita, portanto um arquivo assinado com um certificado revogado 
	posteriormente ainda é relatado como VALID.

	Uma assinatura permanece VALID após a expiração do certificado quando 
	contém uma contra-assinatura, porque a contra-assinatura prova que o 
	arquivo foi assinado enquanto o certificado ainda era válido. É assim que 
	o Authenticode deve funcionar, e o relatório informa isso quando ocorre: 
	uma data de expiração no passado ao lado de VALID não é uma contradição.

	Um arquivo pode conter mais de uma assinatura incorporada, geralmente 
	SHA-1 para compatibilidade além de SHA-256, e os signatários 
	frequentemente diferem. A coluna Signer mostra uma delas e marca as 
	demais como (+N); executar --sigcheck em um único arquivo lista todas 
	as assinaturas com seu próprio algoritmo de resumo, certificado, 
	impressão digital e número de série.

--no-signature

	+ Ignora a verificação de assinatura em --peinfo e --sigcheck, relatando
	apenas se há uma assinatura presente. Útil em diretórios grandes.

--sig-verify-mode MODE

	+ Qual assinatura incorporada decide o status de um arquivo com múltiplas
	assinaturas: any, first, all ou best. Padrão: best

	best segue a assinatura feita com o algoritmo de resumo mais forte,
	que é o que o Windows honra. first segue a ordem do arquivo, correspondendo
	ao sigcheck.exe. all exige que todas as assinaturas sejam verificadas, e
	any aceita o arquivo quando apenas uma delas é verificada. A escolha
	importa: em 517 drivers com múltiplas assinaturas, 37 mudam de status
	dependendo dessa configuração, e any relata VALID em 21 arquivos que
	first rejeita.

--attack-map

	+ Ativa o mapeamento de técnicas MITRE ATT&CK para relatórios de comportamento.

OPÇÕES GERAIS: Opções de formato de saída, proxy, cache e verbosidade

root@kitploit:~
--output-format text|json|csv

	+ Formato de saída: text (padrão, terminal colorido), json ou csv.

--proxy URL

	+ URL de proxy HTTP/HTTPS/SOCKS5 (ex.: socks5://127.0.0.1:9050).

--quiet

	+ Suprime o banner e a saída cosmética.

--verbose

	+ Exibe informações de depuração (URLs de requisição, tempos, etc.).

--no-cache

	+ Desativa o cache de resultados.

--cache-ttl SECONDS

	+ Tempo de vida do cache em segundos (padrão: 3600).

--cache-stats

	+ Exibe o local do cache de resultados local, quantas entradas contém, 
	quantas delas estão expiradas de acordo com o --cache-ttl atual e seu 
	tamanho em disco. Em seguida, sai.

--prune-cache

	+ Exclui apenas as entradas expiradas do cache de resultados local (de 
	acordo com --cache-ttl) e sai.

--clear-cache

	+ Exclui todas as entradas do cache de resultados local e sai.

--no-resolve

	+ Não resolve nem geolocaliza os nomes de host encontrados nos resultados. 
	Listar um feed (por exemplo, as listagens de payloads e tags do URLHaus) 
	normalmente faz o seu host consultar cada URL exibida, o que informa ao 
	operador dessa infraestrutura que ela está sendo investigada. Com esta 
	opção, a coluna de localização mostra "Not Resolved" em vez disso.

--defang

	+ Imprime os IOCs listados por --extract-iocs na forma desarmada
	(hxxp://example[.]com), para que possam ser copiados para um relatório ou 
	ticket sem se tornarem clicáveis. Isso se aplica apenas a essa listagem e 
	altera somente a saída: as consultas ainda são feitas com os valores reais.

--no-ioc-filter

	+ Desativa a filtragem de ruído que --extract-iocs aplica por padrão.
	Normalmente, uma página HTML tem seus blocos <script>, <style> e <svg> 
	ignorados, um domínio só é relatado quando seu último rótulo é um domínio 
	de topo real, e links de volta ao site de origem ou a elementos conhecidos 
	de página (analytics, fontes, botões sociais) são descartados. Com esta 
	opção, cada correspondência de regex no código-fonte bruto é relatada em 
	vez disso.

--report html|pdf

	+ Gera um relatório no formato especificado.
	A exportação em PDF requer: pip install malwoverview[pdf]

--report-file PATH

	+ Caminho de saída para o relatório gerado.

--interactive

	+ Inicia o modo REPL interativo.

--tui

	+ Inicia o modo painel TUI (Interface de Texto com o Usuário) com seletor 
	de serviço, entrada de consulta e painel de resultados rolável. Requer: 
	pip install malwoverview[tui]

--enrich

	+ Ativa o enriquecimento de resultados por LLM. Acrescenta uma avaliação 
	de ameaça gerada por IA após cada resultado de consulta. Funciona com todos 
	os tipos de consulta, incluindo consultas de hash de malware, verificações 
	de reputação de IP, buscas de CVE (NIST e VulnCheck) e correlação entre 
	serviços. Usa o provedor configurado na seção [LLM] do .malwapi.conf ou 
	substituído por --llm. Provedores suportados:
	  - claude:  API Anthropic Claude (melhor qualidade, paga)
	  - gemini:  API Google Gemini (requer faturamento)
	  - openai:  API OpenAI (paga, modelos GPT)
	  - ollama:  instância local do Ollama (gratuita, privada)

--llm PROVIDER

	+ Substitui o provedor de LLM para enriquecimento (use com --enrich).
	  Exemplos:
	    malwoverview -v 8 -V <hash> --enrich --llm claude
	    malwoverview --nist 2 --NIST CVE-2024-3400 --enrich --llm claude
	    malwoverview -vc 3 -VC CVE-2024-3400 --enrich --llm ollama

OPÇÕES DE VULNERABILIDADE: Opções de consulta ao banco de dados de vulnerabilidades

root@kitploit:~
  Consulta ao Banco de Dados NIST CVE:
  Opções de consulta para o banco de dados NIST CVE (o tipo de consulta e o valor são obrigatórios; as demais opções são opcionais)

  --nist NIST_OPTION,   Tipo de consulta: 1=Busca CPE/Produto, 2=Busca por ID CVE, 
                        3=Severidade CVSS v3, 4=Busca por palavra-chave, 5=Busca por ID CWE
  --NIST NIST_ARG       Valor da busca (o formato depende do tipo de consulta)
  --time YEARS          Limita os resultados aos últimos N anos
  --rpp NUM             Resultados por página (padrão: 100, máximo: 2000)
  --startindex NUM      Índice inicial de paginação (padrão: 0)
  --ncves NUM           Limita a saída aos primeiros N CVEs

  Consulta ao Banco de Dados VulnCheck:
  Opções de consulta para o banco de dados de vulnerabilidades VulnCheck (camada Comunitária/Gratuita)

-vc VULNCHECK_OPTION, --vulncheck VULNCHECK_OPTION

	+ Tipo de consulta: 1: Lista os índices disponíveis; 
	2: Obtém KEV (Known Exploited Vulnerabilities); 
	3: Pesquisa CVE no KEV; 
	4: Obtém o link de backup do KEV; 
	5: Lista CVEs do MITRE; 
	6: Lista CVEs do NIST NVD2; 
	7: Pesquisa CVE no MITRE; 
	8: Pesquisa CVE no NIST NVD2.

-VC VULNCHECK_ARG, --VULNCHECK VULNCHECK_ARG

	+ Valor da busca (ID CVE para as opções 3/7/8, máximo de resultados para 
	as opções 2/5/6, ex.: 50).

SUBCOMANDOS

A partir da versão 8.0, o Malwoverview suporta uma sintaxe alternativa de subcomandos, além da sintaxe tradicional baseada em flags. Ambas as sintaxes são totalmente suportadas e produzem resultados idênticos.

Subcomandos disponíveis:

root@kitploit:~
  vt          Operações do VirusTotal (file, av, hash, url, ip, domain, submit, behavior, batch)
  ha          Operações do Hybrid Analysis (report, submit, download, batch, dir)
  bazaar      Operações do Malware Bazaar (hash, tag, download, batch, dir)
  triage      Operações do Triage (search, summary, submit, dynamic, batch, dir)
  urlhaus     Operações do URLHaus (hash, url, tag, download, batch)
  ip          Consultas de endereço IP (info, shodan, abuse, greynoise, all, batch)
  whois       Consultas Whois/RDAP (domain, ip)
  shodan      Operações do Shodan (ip, search)
  correlate   Correlação entre serviços (hash)
  extract     Extração de IOCs de arquivos ou URLs
  yara        Verificação de regras YARA
  nist        Consultas ao banco de dados NIST CVE
  vulncheck   Consultas ao banco de dados VulnCheck

Exemplos de subcomandos (equivalentes à sintaxe baseada em flags):

root@kitploit:~
  # These pairs are equivalent:
  malwoverview vt hash <sha256>                     # same as: malwoverview -v 8 -V <sha256>
  malwoverview vt behavior <sha256>                 # same as: malwoverview -v 12 -V <sha256>
  malwoverview ha report <hash> --env 3             # same as: malwoverview -a 3 -A <hash>
  malwoverview ha batch <hashfile>                  # same as: malwoverview -a 12 -A <hashfile>
  malwoverview bazaar hash <sha256>                 # same as: malwoverview -b 1 -B <sha256>
  malwoverview bazaar batch <hashfile>              # same as: malwoverview -b 11 -B <hashfile>
  malwoverview bazaar dir <directory>               # same as: malwoverview -b 12 -B <directory>
  malwoverview triage search sha256:<value>         # same as: malwoverview -x 1 -X sha256:<value>
  malwoverview triage batch <hashfile>              # same as: malwoverview -x 8 -X <hashfile>
  malwoverview ip all <ipaddr>                      # same as: malwoverview -ip 7 -IP <ipaddr>
  malwoverview ip shodan <ipaddr>                   # same as: malwoverview -ip 4 -IP <ipaddr>
  malwoverview ip batch <ipfile>                    # same as: malwoverview -ip 8 -IP <ipfile>
  malwoverview whois domain <domain>                # same as: malwoverview -wh 1 -WH <domain>
  malwoverview correlate hash <sha256>              # same as: malwoverview --correlate-hash <sha256>
  malwoverview extract <file|url>                    # same as: malwoverview --extract-iocs <file|url>
  malwoverview yara <rules> <target>                # same as: malwoverview --yara <rules> --yara-target <target>
  malwoverview nist 2 CVE-2021-44228               # same as: malwoverview --nist 2 --NIST CVE-2021-44228

Use --help com qualquer subcomando para obter detalhes:

root@kitploit:~
  malwoverview vt --help
  malwoverview ip --help
  malwoverview ha report --help

EXEMPLOS

OPÇÕES DE MALWARE:malwoverview -d /home/remnux/malware/windows_2/

root@kitploit:~
  malwoverview -v 1 -V 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
  malwoverview -v 2 -V 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
  malwoverview -v 3 -V 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
  malwoverview -v 4 -V 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe,
  malwoverview -v 5 -V http://jamogames.com/templates/JLHk/
  malwoverview -v 6 -V 185.220.100.243
  malwoverview -v 7 -V xurl.es
  malwoverview -v 8 -V ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
  malwoverview -v 9 -V cc2d791b16063a302e1ebd35c0e84e6cf6519e90bb710c958ac4e4ddceca68f7.exe
  malwoverview -v 10 -V /home/remnux/malware/hash_list_3.txt
  malwoverview -v 11 -V /home/remnux/malware/hash_list_3.txt
  malwoverview -v 12 -V 9d26e19b8fc5819b634397d48183637bacc9e1c62d8b1856b8116141cb8b4000
  malwoverview -v 13 -V /largefiles/4b3b46558cffe1c0b651f09c719af2779af3e4e0e43da060468467d8df445e93
  malwoverview -v 14 -V /home/remnux/rules/apt_rules.yar
  malwoverview -v 14 -V /home/remnux/rules/
  malwoverview -v 15
  malwoverview -v 16 -V 1712345678-abcdef0123456789
  malwoverview -v 17 -V 1712345678-abcdef0123456789
  malwoverview -v 18 -V /home/remnux/rules/livehunt.yar
  malwoverview -v 19
  malwoverview -v 20
  malwoverview -a 1 -A 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8
  malwoverview -a 1 -A 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8.exe
  malwoverview -a 2 -A 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8
  malwoverview -a 3 -A 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8
  malwoverview -a 4 -A malware1.apk
  malwoverview -a 4 -A 82eb6039cdda6598dc23084768e18495d5ebf3bc3137990280bc0d9351a483eb
  malwoverview -a 5 -A 2b03806939d1171f063ba8d14c3b10622edb5732e4f78dc4fe3eac98b56e5d46
  malwoverview -a 5 -A 2b03806939d1171f063ba8d14c3b10622edb5732e4f78dc4fe3eac98b56e5d46.elf
  malwoverview -a 6 -A 47eccaaa672667a9cea23e24fd702f7b3a45cbf8585403586be474585fd80243.exe
  malwoverview -a 7 -A 47eccaaa672667a9cea23e24fd702f7b3a45cbf8585403586be474585fd80243.exe
  malwoverview -a 8 -A 47eccaaa672667a9cea23e24fd702f7b3a45cbf8585403586be474585fd80243.exe
  malwoverview -a 9 -A malware_7.apk
  malwoverview -a 10 -A 925f649617743f0640bdfff4b6b664b9e12761b0e24bbb99ca72740545087ad2.elf
  malwoverview -a 11 -A cd856b20a5e67a105b220be56c361b21aff65cac00ed666862b6f96dd190775e
  malwoverview -a 12 -A /home/remnux/malware/hash_list.txt
  malwoverview -a 13 -A /home/remnux/malware/samples/
  malwoverview -l 1 -L d3dcc08c9b955cd3f68c198e11d5788869d1b159dc8014d6eaa39e6c258123b0
  malwoverview -l 2
  malwoverview -l 3
  malwoverview -l 4
  malwoverview -l 5
  malwoverview -l 6
  malwoverview -l 8 -L PE32
  malwoverview -j 1 -J 7c99d644cf39c14208df6d139313eaf95123d569a9206939df996cfded6924a6
  malwoverview -j 2 -J 7c99d644cf39c14208df6d139313eaf95123d569a9206939df996cfded6924a6
  malwoverview -j 3 -J https://unada.us/acme-challenge/3NXwcYNCa/
  malwoverview -j 4 -J Qakbot
  malwoverview -j 5 -J Emotet
  malwoverview -j 5 -J Icedid
  malwoverview -j 6
  malwoverview -j 7
  malwoverview -j 8 -J /home/remnux/malware/hash_list.txt
  malwoverview -p 1 -P 1999ba265cd51c94e8ae3a6038b3775bf9a49d6fe57d75dbf1726921af8a7ab2
  malwoverview -p 2 -P 301524c3f959d2d6db9dffdf267ab16a706d3286c0b912f7dda5eb42b6d89996.exe
  malwoverview -p 3 -P 68c11ef39769674123066bcd52e1d687502eb6c4c0788b4f682e8d31c15e5306
  malwoverview -p 4 -P 68c11ef39769674123066bcd52e1d687502eb6c4c0788b4f682e8d31c15e5306.exe
  malwoverview -p 5 -P 188.40.75.132
  malwoverview -p 6 -P covid19tracer.ca
  malwoverview -p 7 -P http://ksahosting.net/wp-includes/utf8.php
  malwoverview -p 8 -P Qakbot
  malwoverview -y 1
  malwoverview -y 2
  malwoverview -y 3
  malwoverview -y 4 -Y com.spaceship.netprotect
  malwoverview -y 5 -Y com.mwr.dz
  malwoverview -v 1 -V 368afeda7af69f329e896dc86e9e4187a59d2007e0e4b47af30a1c117da0d792.apk
  malwoverview -n 1 -N 10
  malwoverview -n 2 -N 176.57.215.100
  malwoverview -n 3 -N threesmallhills.com
  malwoverview -n 4 -N 6d1756aa6b45244764409398305c460368d64ff9 -o 0
  malwoverview -n 5 -N http://ksahosting.net/wp-includes/utf8.php
  malwoverview -m 1 | more
  malwoverview -m 2 | more
  malwoverview -m 3 | more 
  malwoverview -m 4 -M apt41 | more
  malwoverview -m 5 | more 
  malwoverview -m 6 -M win.qakbot
  malwoverview -m 7 -M 3d375d0ead2b63168de86ca2649360d9dcff75b3e0ffa2cf1e50816ec92b3b7d 
  malwoverview -m 8 -M win.qakbot
  malwoverview -m 9 -M tlp_white
  malwoverview -m 9 -M tlp_green
  malwoverview -b 1 -B c9d7b5d06cd8ab1a01bf0c5bf41ef2a388e41b4c66b1728494f86ed255a95d48
  malwoverview -b 2 -B Revil | more
  malwoverview -b 3 -B f34d5f2d4577ed6d9ceec516c1f5a744
  malwoverview -b 4 -B 100 
  malwoverview -b 4 -B time | more
  malwoverview -b 5 -B bda50ff249b947617d9551c717e78131ed32bf77db9dc5b7591d3e1af6cb2f1a
  malwoverview -b 6 -B 3 | more
  malwoverview -b 7 -B 193.150.103.37:21330
  malwoverview -b 8 -B Magecart | more
  malwoverview -b 9 -B "Cobalt Strike"
  malwoverview -b 10 | more
  malwoverview -x 1 -X score:10 | more
  malwoverview -x 1 -X 71382e72d8fb3728dc8941798ab1c180493fa978fd7eadc1ab6d21dae0d603e2
  malwoverview -x 2 -X 220315-qxzrfsadfl
  malwoverview -x 3 -X cd856b20a5e67a105b220be56c361b21aff65cac00ed666862b6f96dd190775e
  malwoverview -x 4 -X http://ztechinternational.com/Img/XSD.exe
  malwoverview -x 5 -X 220315-xmbp7sdbel
  malwoverview -x 6 -X 220315-xmbp7sdbel
  malwoverview -x 7 -X 220315-xmbp7sdbel
  malwoverview -ip 1 -IP 8.8.8.8
  malwoverview -ip 3 -IP 8.8.8.8
  malwoverview -b 5 -B <hash> -O <directory>
  malwoverview -b 11 -B /home/remnux/malware/hash_list.txt
  malwoverview -b 12 -B /home/remnux/malware/samples/
  malwoverview -b 13 -B Windows_Trojan_Emotet
  malwoverview -b 14
  malwoverview -b 15
  malwoverview -x 8 -X /home/remnux/malware/hash_list.txt
  malwoverview -x 9 -X /home/remnux/malware/samples/
  malwoverview -ip 4 -IP 8.8.8.8
  malwoverview -ip 5 -IP 8.8.8.8
  malwoverview -ip 6 -IP 8.8.8.8
  malwoverview -ip 7 -IP 8.8.8.8
  malwoverview -ip 8 -IP /home/remnux/malware/ip_list.txt
  malwoverview -ip 8 -IP /home/remnux/malware/ip_list.txt -D 1
  malwoverview -s 1 -S 8.8.8.8
  malwoverview -s 2 -S "apache"
  malwoverview -ab 1 -AB 185.220.100.243
  malwoverview -gn 1 -GN 185.220.100.243
  malwoverview -wh 1 -WH example.com
  malwoverview -wh 2 -WH 8.8.8.8
  malwoverview -ct 1 -CT iana.org
  malwoverview -ct 2 -CT iana.org
  malwoverview -u 1 -U https://example.com
  malwoverview -u 2 -U 019ce889-ab8d-768b-894e-3e5bf5401f8d
  malwoverview -u 3 -U task.tags:phishing
  malwoverview -u 4 -U example.com
  malwoverview -u 5 -U 8.8.8.8
  malwoverview --correlate-hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
  malwoverview --extract-iocs /home/remnux/malware/report.txt
  malwoverview --extract-iocs /home/remnux/malware/report.pdf
  malwoverview --extract-iocs https://example.com/threat-report.html
  malwoverview --yara /home/remnux/rules/malware.yar --yara-target /home/remnux/malware/samples/
  malwoverview --yara /home/remnux/rules/ --yara-target /home/remnux/malware/samples/
  malwoverview --peinfo /home/remnux/malware/samples/
  malwoverview --peinfo /home/remnux/malware/dropper.exe
  malwoverview --peinfo /home/remnux/malware/samples/ --entropy-threshold 7.5
  malwoverview --peinfo /home/remnux/malware/samples/ --output-format csv
  malwoverview --peinfo /home/remnux/malware/samples/ --no-signature
  malwoverview --sigcheck /home/remnux/malware/suspicious.exe
  malwoverview --sigcheck /home/remnux/malware/samples/
  malwoverview --sigcheck /home/remnux/malware/samples/ --output-format json
  malwoverview --sigcheck /home/remnux/malware/samples/ --sig-verify-mode all
  malwoverview --interactive
  malwoverview --tui
  malwoverview -v 8 -V <hash> --output-format json
  malwoverview -ip 3 -IP 8.8.8.8 --proxy socks5://127.0.0.1:9050
  malwoverview -v 12 -V <hash> --attack-map
  malwoverview -a 1 -A <hash> --attack-map
  malwoverview --correlate-hash <hash> --attack-map

  # cache local de resultados
  malwoverview --cache-stats
  malwoverview --prune-cache
  malwoverview --clear-cache

  # Baixe o conjunto de regras do YARAify e faça a varredura com ele (-b 15 extrai para
  # <output directory>/yaraify-rules, então use o mesmo -O para ambas as etapas)
  malwoverview -b 14 -O /home/remnux/rules
  malwoverview -b 15 -O /home/remnux/rules
  malwoverview --yara /home/remnux/rules/yaraify-rules --yara-target /home/remnux/malware/samples/

  # Conjunto de regras do Malpedia (-m 9 salva malpedia_yara_<level>.zip; extraia-o primeiro)
  malwoverview -m 9 -M tlp_white -O /home/remnux/rules
  unzip /home/remnux/rules/malpedia_yara_tlp_white.zip -d /home/remnux/rules/malpedia
  malwoverview --yara /home/remnux/rules/malpedia --yara-target /home/remnux/malware/samples/

  # Enriquecimento com LLM (anexa uma avaliação de ameaça por IA a qualquer consulta)
  malwoverview -v 8 -V <hash> --enrich                    # usa o provedor do config
  malwoverview -v 8 -V <hash> --enrich --llm claude       # substituir: usar Claude
  malwoverview -v 8 -V <hash> --enrich --llm ollama       # substituir: usar Ollama
  malwoverview -v 8 -V <hash> --enrich --llm openai       # substituir: usar OpenAI
  malwoverview -ip 1 -IP 8.8.8.8 --enrich
  malwoverview --correlate-hash <hash> --enrich
  malwoverview --nist 2 --NIST CVE-2024-3400 --enrich     # enriquecimento de CVE (NIST)
  malwoverview -vc 3 -VC CVE-2024-3400 --enrich           # enriquecimento de CVE (VulnCheck)
  malwoverview --nist 4 --NIST palo alto --enrich          # busca por palavra-chave + enriquecimento

SINTAXE DE SUBCOMANDO (alternativa às flags):

root@kitploit:~
  # VirusTotal
  malwoverview vt hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
  malwoverview vt file 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
  malwoverview vt av 95a8370c36d81ea596d83892115ce6b90717396c8f657b17696c7eeb2dba1d2e.exe
  malwoverview vt url http://jamogames.com/templates/JLHk/
  malwoverview vt ip 185.220.100.243
  malwoverview vt domain xurl.es
  malwoverview vt submit cc2d791b16063a302e1ebd35c0e84e6cf6519e90bb710c958ac4e4ddceca68f7.exe
  malwoverview vt behavior 9d26e19b8fc5819b634397d48183637bacc9e1c62d8b1856b8116141cb8b4000
  malwoverview vt batch /home/remnux/malware/hash_list_3.txt
  malwoverview vt batch /home/remnux/malware/hash_list_3.txt --public

  # Hybrid Analysis
  malwoverview ha report 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8
  malwoverview ha report 2e1fcadbac81296946930fe3ba580fd0b1aca11bc8ffd7cefa19dea131274ae8 --env 3
  malwoverview ha submit 47eccaaa672667a9cea23e24fd702f7b3a45cbf8585403586be474585fd80243.exe
  malwoverview ha download cd856b20a5e67a105b220be56c361b21aff65cac00ed666862b6f96dd190775e
  malwoverview ha batch /home/remnux/malware/hash_list.txt
  malwoverview ha dir /home/remnux/malware/samples/

  # Malware Bazaar
  malwoverview bazaar hash c9d7b5d06cd8ab1a01bf0c5bf41ef2a388e41b4c66b1728494f86ed255a95d48
  malwoverview bazaar tag Revil | more
  malwoverview bazaar download bda50ff249b947617d9551c717e78131ed32bf77db9dc5b7591d3e1af6cb2f1a
  malwoverview bazaar batch /home/remnux/malware/hash_list.txt
  malwoverview bazaar dir /home/remnux/malware/samples/

  # Triage
  malwoverview triage search score:10 | more
  malwoverview triage search sha256:71382e72d8fb3728dc8941798ab1c180493fa978fd7eadc1ab6d21dae0d603e2
  malwoverview triage summary 220315-qxzrfsadfl
  malwoverview triage submit cd856b20a5e67a105b220be56c361b21aff65cac00ed666862b6f96dd190775e
  malwoverview triage dynamic 220315-xmbp7sdbel
  malwoverview triage batch /home/remnux/malware/hash_list.txt
  malwoverview triage dir /home/remnux/malware/samples/

  # URLHaus
  malwoverview urlhaus hash 7c99d644cf39c14208df6d139313eaf95123d569a9206939df996cfded6924a6
  malwoverview urlhaus url https://unada.us/acme-challenge/3NXwcYNCa/
  malwoverview urlhaus tag Qakbot
  malwoverview urlhaus download 7c99d644cf39c14208df6d139313eaf95123d569a9206939df996cfded6924a6

  # Consultas de IP
  malwoverview ip info 8.8.8.8
  malwoverview ip shodan 8.8.8.8
  malwoverview ip abuse 185.220.100.243
  malwoverview ip greynoise 185.220.100.243
  malwoverview ip all 8.8.8.8

  # Shodan (independente)
  malwoverview shodan ip 8.8.8.8
  malwoverview shodan search "apache"

  # Whois
  malwoverview whois domain example.com
  malwoverview whois ip 8.8.8.8

  # Correlação entre serviços
  malwoverview correlate hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585

  # Extração de IOCs (texto, PDF, e-mail ou URL)
  malwoverview extract /home/remnux/malware/report.txt
  malwoverview extract /home/remnux/malware/report.pdf
  malwoverview extract https://example.com/threat-report.html

  # Varredura YARA
  malwoverview yara /home/remnux/rules/malware.yar /home/remnux/malware/samples/

  # Consultas NIST CVE
  malwoverview nist 1 "windows" --ncves 50
  malwoverview nist 2 CVE-2021-44228
  malwoverview nist 3 CRITICAL --ncves 50
  malwoverview nist 4 "remote code execution" --ncves 50

  # Consultas VulnCheck
  malwoverview vulncheck 2 30
  malwoverview vulncheck 3 CVE-2021-44228

  # Subcomandos combinados com opções globais
  malwoverview vt hash <sha256> --output-format json
  malwoverview ip all 8.8.8.8 --proxy socks5://127.0.0.1:9050
  malwoverview vt behavior <sha256> --attack-map

MODO INTERATIVO (--interactive):

root@kitploit:~
  malwoverview --interactive

  # Dentro do prompt (digite "help" para ver a lista completa):
  vt hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585
  vt file /home/remnux/malware/sample.exe
  vt behavior 9d26e19b8fc5819b634397d48183637bacc9e1c62d8b1856b8116141cb8b4000
  vt batch /home/remnux/malware/hash_list.txt
  vt retrohunt submit /home/remnux/rules/
  vt retrohunt list
  vt retrohunt status 1712345678-abcdef0123456789
  vt livehunt notifications
  bazaar yara Windows_Trojan_Emotet
  bazaar yaradownload
  bazaar yaraextract
  bazaar dir /home/remnux/malware/samples/
  urlhaus batch /home/remnux/malware/hash_list.txt
  urlhaus payloads
  triage submit /home/remnux/malware/sample.exe
  triage pcap 220315-xmbp7sdbel
  malpedia ruleset tlp_white
  malpedia meta emotet
  malshare types
  malshare type PE32
  hybrid file /home/remnux/malware/sample.exe
  hybrid dir /home/remnux/malware/samples/
  threatfox malwarelist
  ip batch /home/remnux/malware/ip_list.txt
  ip multi 8.8.8.8
  ip all 8.8.8.8
  crtsh subdomains iana.org
  crtsh certs iana.org
  android ha
  android sendvt com.example.app
  yara /home/remnux/rules/ /home/remnux/malware/samples/
  iocs /home/remnux/malware/report.pdf
  peinfo /home/remnux/malware/samples/
  peinfo /home/remnux/malware/samples/ 7.5
  sigcheck /home/remnux/malware/suspicious.exe
  cache stats
  cache prune
  set attack on
  set enrich claude
  export json
  export csv results.csv          # o caminho de exportação deve estar dentro do diretório atual

MODO TUI (--tui):

root@kitploit:~
  malwoverview --tui

  # Escolha um serviço no painel esquerdo, digite a consulta e pressione Enter.
  # F3 copia o resultado, F4 extrai um ID dele, F5 exporta os
  # resultados coletados para json, F6 os exporta para csv, Ctrl+L limpa.
  # Ctrl+V (ou Shift+Insert) cola o conteúdo da área de transferência na caixa de consulta de
  # qualquer lugar do painel, para que um hash possa ser colado sem clicar
  # primeiro na caixa.
  # A lista de teclas é exibida acima dos resultados e é reescrita sempre que
  # o painel é limpo, o que inclui o início de cada busca.
  # Enquanto a caixa de consulta está com foco, sair é Ctrl+Q, porque o próprio Q
  # precisa continuar digitável.

OPÇÕES DE VULNERABILIDADES:

root@kitploit:~
  # Buscar vulnerabilidades do Windows
  malwoverview --nist 1 --NIST "windows" --ncves 50

  # Buscar vulnerabilidades do Apache
  malwoverview --nist 1 --NIST "apache" --ncves 30

  # Buscar vulnerabilidades do Chrome
  malwoverview --nist 1 --NIST "chrome" --ncves 25

  # Buscar vulnerabilidades do Chromium
  malwoverview --nist 1 --NIST "chromium" --ncves 25

  # Buscar vulnerabilidades do Linux
  malwoverview --nist 1 --NIST "linux" --ncves 25

  # Buscar vulnerabilidades do MacOS
  malwoverview --nist 1 --NIST "MacOS" --ncves 25

  # Buscar vulnerabilidade Log4Shell
  malwoverview --nist 2 --NIST "CVE-2021-44228" 

  # Buscar vulnerabilidade ProxyShell
  malwoverview --nist 2 --NIST "CVE-2021-34473" 

  # Buscar vulnerabilidade Spring4Shell
  malwoverview --nist 2 --NIST "CVE-2022-22965" 

  # Buscar vulnerabilidades de severidade CRÍTICA
  malwoverview --nist 3 --NIST "CRITICAL" --ncves 50

  # Buscar vulnerabilidades de severidade ALTA
  malwoverview --nist 3 --NIST "HIGH" --ncves 40

  # Buscar vulnerabilidades de severidade MÉDIA
  malwoverview --nist 3 --NIST "MEDIUM" --ncves 30

  # Buscar vulnerabilidades de bypass de autenticação
  malwoverview --nist 4 --NIST "authentication bypass" --ncves 30

  # Buscar vulnerabilidades de execução remota de código (RCE)
  malwoverview --nist 4 --NIST "remote code execution" --ncves 50

  # Buscar vulnerabilidades de injeção SQL
  malwoverview --nist 4 --NIST "sql injection" --ncves 25

  # Buscar vulnerabilidades de path traversal (CWE-22)
  malwoverview --nist 5 --NIST "CWE-22" --ncves 30

  # Buscar vulnerabilidades de injeção SQL (CWE-89)
  malwoverview --nist 5 --NIST "CWE-89" ---ncves 40

  # Buscar vulnerabilidades de cross-site scripting (CWE-79)
  malwoverview --nist 5 --NIST "CWE-79" --ncves 35

  # Listar índices disponíveis do VulnCheck (camada Comunitária/Gratuita)
  malwoverview -vc 1

  # Obter Known Exploited Vulnerabilities (KEV) - 30 resultados
  malwoverview -vc 2 -VC 30

  # Obter Known Exploited Vulnerabilities (KEV) - 100 resultados
  malwoverview -vc 2 -VC 100

  # Buscar um CVE específico no banco de dados KEV
  malwoverview -vc 3 -VC CVE-2021-44228

  # Buscar um CVE específico no banco de dados KEV 
  malwoverview -vc 3 -VC CVE-2022-22965

  # Obter link de download de backup do conjunto de dados KEV do VulnCheck
  malwoverview -vc 4

  # Listar CVEs recentes do banco de dados MITRE
  malwoverview -vc 5

  # Listar CVEs recentes do banco de dados MITRE - 20 resultados
  malwoverview -vc 5 -VC 20

  # Listar CVEs recentes do banco de dados NIST NVD2
  malwoverview -vc 6

  # Listar CVEs recentes do banco de dados NIST NVD2 - 50 resultados
  malwoverview -vc 6 -VC 50

  # Buscar CVE específico no banco de dados MITRE (registros oficiais de CVE)
  malwoverview -vc 7 -VC CVE-2024-21412

  # Buscar CVE específico no NIST NVD2 (pontuações CVSS, CWE, status CISA KEV)
  malwoverview -vc 8 -VC CVE-2024-21412

O QUE HÁ DE NOVO NA 8.1.0, POR EXEMPLOTudo o que esta versão adiciona ou altera, como comandos que você pode executar. A versão narrativa da mesma lista é o bloco 8.1.0 em HISTÓRICO, abaixo.

1. Opções que mudaram de número (leia isto primeiro)

A única mudança que quebra compatibilidade. As cinco opções de download do Hybrid Analysis faziam a mesma coisa, então foram condensadas em uma só e as duas opções seguintes foram movidas para baixo:

root@kitploit:~
  # Download a sample from Hybrid Analysis  (was -a 11, -a 12, -a 13, -a 14 or -a 15)
  malwoverview -a 11 -A 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979

  # Batch hash check from a file            (was -a 16)
  malwoverview -a 12 -A /home/remnux/malware/hashes.txt

  # Scan every file in a directory          (was -a 17)
  malwoverview -a 13 -A /home/remnux/malware/samples/

Todas as outras opções mantiveram seus números. Todos os novos números são aditivos.

2. Análise local sem chave de API e sem requisição de rede

root@kitploit:~
  # Triage a directory: type, size, overlay, overlay size, entropy, signature
  malwoverview --peinfo /home/remnux/malware/samples/

  # Lower the bar for what counts as packed or encrypted (default 7.0)
  malwoverview --peinfo /home/remnux/malware/samples/ --entropy-threshold 6.5

  # Skip signature verification on a large sweep
  malwoverview --peinfo /home/remnux/malware/samples/ --no-signature

  # YARA now accepts a whole rules directory, scanned recursively
  malwoverview --yara /home/remnux/rules/ --yara-target /home/remnux/malware/samples/

3. Authenticode: está assinado e a assinatura é válida?

root@kitploit:~
  # One file: status, signer, issuer, certificate dates, thumbprint, serial
  malwoverview --sigcheck /home/remnux/malware/suspicious.exe

  # A whole directory, one row per file
  malwoverview --sigcheck /home/remnux/malware/samples/

Um arquivo pode conter várias assinaturas embutidas — normalmente SHA-1 para compatibilidade além de SHA-256 — e os signatários costumam ser diferentes. A tabela marca as extras como (+N); execute a forma de arquivo único para listar todas. Qual assinatura decide o status é selecionável:

root@kitploit:~
  # Strongest digest decides (default, and what Windows honours)
  malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode best

  # First in file order decides (what sigcheck.exe reports)
  malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode first

  # Every signature must verify (strictest)
  malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode all

  # Any one signature verifying is enough (most permissive)
  malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode any

Os dados de assinatura do próprio VirusTotal agora também são exibidos, então uma consulta por hash informa a cadeia de signatários, a data de assinatura e o thumbprint de cada certificado:

root@kitploit:~
  # Signature block from VirusTotal, by hash
  malwoverview -v 8 -V 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979

  # Same block when checking a local file
  malwoverview -v 1 -V /home/remnux/malware/suspicious.exe

4. Certificate Transparency por meio do crt.sh (sem chave de API)

root@kitploit:~
  # Distinct DNS names seen in certificates issued for a domain
  malwoverview -ct 1 -CT example.com

  # The certificates themselves: identifier, issuer, common name, validity
  malwoverview -ct 2 -CT example.com

5. Retrohunt e Livehunt do VirusTotal (requer chave Enterprise)

root@kitploit:~
  # Submit a Retrohunt job from a rules file or a rules directory
  malwoverview -v 14 -V /home/remnux/rules/hunting.yar

  # List your Retrohunt jobs, optionally filtered by status
  malwoverview -v 15
  malwoverview -v 15 -V finished

  # Status and progress of one job, then the files it matched
  malwoverview -v 16 -V 1234abcd-5678-90ef-1234-567890abcdef
  malwoverview -v 17 -V 1234abcd-5678-90ef-1234-567890abcdef

  # Create a Livehunt ruleset, list your rulesets, list notifications
  malwoverview -v 18 -V /home/remnux/rules/livehunt.yar
  malwoverview -v 19
  malwoverview -v 20

6. Mais locais para obter regras YARA e como pivotar a partir delas

Uma consulta por hash agora lista as regras YARA que coincidiram com a amostra, e é daí que vem o nome da regra para o próximo comando:

root@kitploit:~
  # 1. look a sample up: the report ends with the rules that matched it
  malwoverview -b 1 -B 3b89db05cd1e6283a5d23e32eb6a6c17d92953c80c93befa194a0c93a633c1b5

          tags:         elf Mirai upx-dec
          yara rules:
                        ELF_Mirai
                        linux_generic_ipv6_catcher
                        unixredflags3

  # 2. take one of those names and pull every other sample it matched
  malwoverview -b 13 -B ELF_Mirai

Os nomes das regras também estão nos próprios conjuntos de regras, que podem ser baixados e lidos localmente:

root@kitploit:~
  # Download the YARAify rule set from abuse.ch, then extract it.
  # Both use -O for the working directory; -b 15 finds the archive there.
  malwoverview -b 14 -O /home/remnux/rules/
  malwoverview -b 15 -O /home/remnux/rules/

O arquivo chega como /home/remnux/rules/yaraify-rules.zip e é extraído em /home/remnux/rules/yaraify-rules/, um arquivo .yar por regra. Esse diretório é o alvo do --yara, e os nomes dos arquivos são os nomes das regras:

root@kitploit:~
  malwoverview --yara /home/remnux/rules/yaraify-rules/ --yara-target /home/remnux/malware/samples/

Um conjunto de regras reunido de muitos autores não compila perfeitamente contra todas as versões do YARA. Arquivos com erros de sintaxe são listados e ignorados, e a varredura segue com o restante: uma execução do conjunto acima compilou 548 de 557 arquivos.

root@kitploit:~
  # The complete Malpedia YARA ruleset for a TLP level
  malwoverview -m 9 -M white

7. Opções que estavam quebradas e agora funcionam

root@kitploit:~
  # -m 1 returned the family list; it now returns family meta information
  malwoverview -m 1

  # -l 6 lists the file types seen in the last 24 hours, -l 8 lists one of them
  malwoverview -l 6
  malwoverview -l 8 -L PE32

  # -ip 3 and -ip 7 used to be identical; -ip 3 is VirusTotal + OTX,
  # -ip 7 queries every configured service (IPInfo was never reached)
  malwoverview -ip 3 -IP 8.8.8.8
  malwoverview -ip 7 -IP 8.8.8.8

  # -j 8 (URLhaus batch hash check) was unreachable
  malwoverview -j 8 -J /home/remnux/malware/hashes.txt

8. Saída legível por máquina para todas as opções

json e csv agora funcionam em toda a ferramenta, em vez de apenas em um terço dela:

root@kitploit:~
  malwoverview -v 8 -V 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979 --output-format json
  malwoverview --sigcheck /home/remnux/malware/samples/ --output-format csv
  malwoverview -b 6 -B 3 --output-format json

  # LLM enrichment reaches json and csv too, as a typed record
  malwoverview -v 8 -V 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979 --enrich --output-format json

9. Mantendo uma consulta silenciosa e a saída segura para colar

root@kitploit:~
  # Do not resolve attacker-controlled hostnames to IP addresses
  malwoverview -j 2 -J http://malicious.example.com/payload.bin --no-resolve

  # Defang the extracted IOCs so the list can be pasted into a ticket
  malwoverview --extract-iocs /home/remnux/malware/report.txt --defang

  # The source can equally be a URL, so a published report can be read and
  # its IOCs defanged in one step
  malwoverview --extract-iocs https://example.com/threat-report.html --defang

  # A vendor blog is mostly navigation, analytics and minified JavaScript, so
  # the extractor skips <script>, <style> and <svg>, drops links back to the
  # source site and to known page furniture, and only reports a domain whose
  # last label is a real top-level domain
  malwoverview --extract-iocs https://www.fortinet.com/blog/threat-research/dprk-related-campaigns-with-lnk-and-github-c2

  # Turn all of that off and report every regex match in the raw source
  malwoverview --extract-iocs https://example.com/threat-report.html --no-ioc-filter

10. Controle de cache

root@kitploit:~
  malwoverview --cache-stats
  malwoverview --prune-cache
  malwoverview --clear-cache

11. As duas interfaces interativas alcançam todos os serviços

root@kitploit:~
  # Command-line REPL
  malwoverview --interactive

  # Full-screen dashboard: 111 services, Ctrl+V pastes, F5 exports json,
  # F6 exports csv
  malwoverview --tui

O QUE HÁ DE NOVO EM 8.0.0 ATÉ 8.0.5, POR EXEMPLO

O 8.0.0 adicionou muita coisa de uma vez, então os comandos estão agrupados aqui pelo que servem, em vez de pelo número da opção. O 8.0.1 ao 8.0.5 foram em sua maioria correções e ficam no final. Quando o 8.1.0 mudou posteriormente o número de uma opção, o comando abaixo usa o número atual e informa qual era o antigo.

1. Cinco novos serviços

root@kitploit:~
  # URLScan.io (-u): submit a URL, fetch a result by id, search,
  # then look up a domain or an IP
  malwoverview -u 1 -U https://example.com
  malwoverview -u 2 -U 019ce889-ab8d-768b-894e-3e5bf5401f8d
  malwoverview -u 3 -U task.tags:phishing
  malwoverview -u 4 -U example.com
  malwoverview -u 5 -U 8.8.8.8

  # Shodan (-s): a single IP, or a search query
  malwoverview -s 1 -S 8.8.8.8
  malwoverview -s 2 -S "apache"

  # AbuseIPDB (-ab): IP reputation
  malwoverview -ab 1 -AB 185.220.100.243

  # GreyNoise (-gn): background internet noise, or aimed at you?
  malwoverview -gn 1 -GN 185.220.100.243

  # Whois / RDAP (-wh): a domain, then an IP
  malwoverview -wh 1 -WH example.com
  malwoverview -wh 2 -WH 8.8.8.8

Os novos serviços de IP também podem ser acessados pelo -ip, então um único endereço pode ser consultado serviço por serviço, ou por todos de uma vez:

root@kitploit:~
  malwoverview -ip 4 -IP 8.8.8.8
  malwoverview -ip 5 -IP 8.8.8.8
  malwoverview -ip 6 -IP 8.8.8.8
  malwoverview -ip 7 -IP 8.8.8.8

2. Um único hash em vários serviços com um único comando

root@kitploit:~
  malwoverview --correlate-hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585

3. Verificações de hash em lote e varreduras de diretório

root@kitploit:~
  # Malware Bazaar: a file of hashes, then a directory of samples
  malwoverview -b 11 -B /home/remnux/malware/hash_list.txt
  malwoverview -b 12 -B /home/remnux/malware/samples/

  # Hybrid Analysis (8.0.0 numbered these -a 16 and -a 17)
  malwoverview -a 12 -A /home/remnux/malware/hash_list.txt
  malwoverview -a 13 -A /home/remnux/malware/samples/

  # Triage
  malwoverview -x 8 -X /home/remnux/malware/hash_list.txt
  malwoverview -x 9 -X /home/remnux/malware/samples/

4. Extração de IOCs e varredura com YARA

root@kitploit:~
  # Pull hashes, IPs, URLs, domains, emails and CVEs out of a report
  malwoverview --extract-iocs /home/remnux/malware/report.txt
  malwoverview --extract-iocs /home/remnux/malware/report.pdf
  malwoverview --extract-iocs https://example.com/threat-report.html

  # Scan samples with YARA rules
  malwoverview --yara /home/remnux/rules/malware.yar --yara-target /home/remnux/malware/samples/

5. Enriquecimento por LLM de qualquer resultado

root@kitploit:~
  # Provider taken from the [LLM] section of .malwapi.conf
  malwoverview -v 8 -V <hash> --enrich

  # Override it per run: claude, gemini, openai or ollama
  malwoverview -v 8 -V <hash> --enrich --llm claude
  malwoverview --nist 2 --NIST CVE-2024-3400 --enrich --llm gemini

6. Saída estruturada, relatórios e mapeamento ATT&CK

root@kitploit:~
  malwoverview -v 8 -V <hash> --output-format json
  malwoverview -ip 1 -IP 8.8.8.8 --output-format csv

  malwoverview -v 12 -V <hash> --attack-map

  malwoverview -v 8 -V <hash> --report html --report-file /home/remnux/report.html
  malwoverview -v 8 -V <hash> --report pdf --report-file /home/remnux/report.pdf

7. Cache, proxy e verbosidade

root@kitploit:~
  malwoverview -v 8 -V <hash> --no-cache
  malwoverview -v 8 -V <hash> --cache-ttl 86400
  malwoverview -ip 3 -IP 8.8.8.8 --proxy socks5://127.0.0.1:9050
  malwoverview -v 8 -V <hash> --quiet
  malwoverview -v 8 -V <hash> --verbose

8. Duas interfaces interativas

root@kitploit:~
  malwoverview --interactive
  malwoverview --tui

9. O que o 8.0.1 ao 8.0.5 corrigiu, como comandos

root@kitploit:~
  # 8.0.1: these take a file path again, not only a hash
  malwoverview -v 1 -V /home/remnux/malware/suspicious.exe
  malwoverview -a 1 -A /home/remnux/malware/suspicious.exe
  malwoverview -l 1 -L ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585

  # 8.0.2: batch IP check against VirusTotal, Premium then Public API
  malwoverview -ip 8 -IP /home/remnux/malware/ip_list.txt
  malwoverview -ip 8 -IP /home/remnux/malware/ip_list.txt -D 1

  # 8.0.2: Android scans work on current devices again, hashing with SHA256
  malwoverview -y 1
  malwoverview -y 2

  # 8.0.3 and 8.0.4: Claude enrichment works again and is rendered with colour
  malwoverview -v 8 -V <hash> --enrich --llm claude

  # 8.0.5: overlay and entropy in the directory check and the hash report
  malwoverview -d /home/remnux/malware/samples/
  malwoverview -v 8 -V <hash>

HISTÓRICO

Versão 8.1.0:

root@kitploit:~
  This version adds YARA hunting and local PE triage, repairs options
  that did not do what they announced, and includes a set of security
  fixes.

  ATTENTION: two options changed number. The five Hybrid Analysis download
  options (-a 11 to -a 15) are now a single option, -a 11. The batch hash
  check moved to -a 12 (it was -a 16) and the directory scan to -a 13 (it
  was -a 17). Nothing else changed number.

  NEW OPTIONS

        * --sigcheck: Authenticode signature checking of a file or a
          directory, with no API key and no network request. Reports VALID,
          TAMPERED, UNTRUSTED, EXPIRED, MALFORMED, INVALID, NONE or N/A with
          the signer, issuer and certificate dates. Every embedded signature
          is listed, each with its own digest algorithm, thumbprint and
          serial number. Verification needs
          pip install malwoverview[signature]; without it the status is
          PRESENT or NONE.

        * --sig-verify-mode any|first|all|best: which signature decides the
          status of a multi-signed file. Default best.

        * --no-signature: skips signature verification on large directories.

        * --peinfo and --entropy-threshold: local PE triage of a file or
          directory, listing file type, size, overlay, overlay size, entropy
          and signature status, highlighting files at or above the threshold
          (default 7.0). Recursive, no API key.

        * -ct 1|2 and -CT: Certificate Transparency through crt.sh, no API
          key. -ct 1 lists the DNS names seen in certificates issued for a
          domain, -ct 2 lists the certificates.

        * -v 14 to -v 20: VirusTotal Retrohunt and Livehunt. Submit a job,
          list jobs, follow a job, list matched files, create a ruleset, list
          rulesets and list notifications. Requires a premium key.

        * -b 13, -b 14 and -b 15: Malware Bazaar search by YARA rule name,
          and download and extraction of the YARAify rule set.

        * -m 9: download of the Malpedia YARA ruleset for a TLP level.

        * -l 8: lists the hashes of a MalShare file type given with -L.

        * -j 8: URLHaus batch hash check, which no option reached before.

        * --cache-stats, --prune-cache and --clear-cache.

        * --no-resolve: does not resolve or geolocate the host names shown by
          -j 2 and -j 3.

        * --defang: prints the IOCs listed by --extract-iocs as
          hxxp://example[.]com. Output only.

        * --no-ioc-filter: turns off the --extract-iocs noise filtering and
          reports every regex match in the raw source.

        * --yara now accepts a directory of rules, each file compiled in its
          own namespace. A file that fails to compile is reported and
          skipped.

  REPAIRED OPTIONS

        * -m 1 called the same endpoint as -m 5. It now retrieves the family
          meta information and accepts an optional filter with -M.

        * -l 6 was labelled "Composite(OLE)" and listed PDF samples. It now
          lists the file types seen in the last 24 hours with a count.

        * -ip 3 and -ip 7 produced identical output. -ip 3 now queries
          VirusTotal and AlienVault only; -ip 7 queries every remaining
          service, including IPInfo.

        * -l 1 wrote a zero byte file for every sample and reported success.
          Redirects are followed and an empty body is refused.

        * -a 6 to -a 10 and -y 4 always failed with "Requested URI - Not
          Found". Hybrid Analysis requests no longer go through the www host,
          whose redirect dropped the upload.

        * -b 14 answered HTTP 301. The rule set is fetched from the working
          address with the abuse.ch Auth-Key.

        * -v 20 reads the Livehunt notifications from the
          hunting_notification_files endpoint, which carries the sha256.

        * -b 6, -m 4 and the other options that consume an argument now
          require it. Eight of them stopped with a raw TypeError when it was
          omitted.

        * -A now accepts a native Windows path (-a 1 to -a 5), which was
          rejected as "Input contains invalid characters".

        * --report html, --report pdf and --enrich now work for
          --correlate-hash, --extract-iocs and --yara, which produced no
          report.

        * The Malpedia sample and rule downloads no longer end the program
          before the report and the json/csv export.

        * The validated form of every argument is now the one used. A URL
          written as hxxp://example[.]com was sent to the service still
          defanged, and paths such as ~/samples were not expanded.

        * -ip 2 (BGPView) is removed: its domain no longer resolves. The
          number is kept and reports the removal, pointing at -ip 1 and
          -ip 7. No other -ip number changed.

        * --defang is documented as applying to --extract-iocs only, which is
          the only option that reads it.

  NEW BEHAVIOUR

        * -y 1, -y 2 and -y 3 hash every APK of a package instead of the base
          APK alone. On the test device a scan went from 35 to 79 APKs.
          -y 4 and -y 5 report when the selected package is a split APK.

        * -b 1 lists the YARA rules that matched the sample, so a name can be
          passed to -b 13.

        * -v 1 and -v 8 show the signature block VirusTotal already returned:
          whether it verified, the signer and counter signer chains, the
          signing date and every certificate with its status, algorithm,
          dates, serial number and thumbprint.

        * --sigcheck and --peinfo report the certificate thumbprint, serial
          number and digest algorithm, in the report and in json and csv.

        * --extract-iocs no longer reports a web page's own code. On a vendor
          blog it returned 855 IOCs, 743 of them "domains" produced by
          minified JavaScript. Script, style, svg and noscript blocks are
          skipped, a domain is reported only when its last label is a real
          top-level domain, and links back to the source site and to page
          furniture are dropped: 855 IOCs became 16, keeping every sample
          hash and the command-and-control URLs. Suppression is counted and
          reported. Code-hosting, paste and messaging services are never
          suppressed.* O --extract-iocs indica o host e o tipo de falha quando uma busca falha,
          em vez de imprimir a exceção bruta do urllib3.

        * Um 404 da GreyNoise Community é reportado como o resultado que é,
          que o endereço não é um scanner da internet, em vez de um erro.

        * Uma falha de rede não chega mais ao utilizador como um traceback
          do Python. 43 blocos try capturavam apenas ValueError, então um
          erro de conexão escapava sem captura. O host reportado é obtido da
          URL analisada, nunca do texto da exceção.

        * Uma falha de TLS é explicada: um handshake que completa e depois
          fecha, um certificado que falha na verificação, uma porta que
          responde sem TLS e um handshake recusado cada um tem a sua própria
          linha. O texto da exceção é lido, mas nunca impresso.

        * O crt.sh usa uma política de novas tentativas paciente (5
          tentativas, backoff de 2 segundos) porque responde à mesma URL com
          200, 404 ou 502 com segundos de diferença. Todos os outros
          serviços mantêm a política anterior.

        * HTTP 429 agora é repetido, no máximo três vezes, respeitando as
          duas formas de Retry-After e nunca esperando mais de 300 segundos.
          Uploads de amostras não são repetidos.

        * O cálculo de entropia lê o ficheiro em blocos em vez de o carregar
          inteiro. O valor reportado não muda.

        * O scanner YARA não muda mais o diretório de trabalho do processo
          ao compilar regras.

        * A correspondência de --attack-map é exata em vez de uma pesquisa de
          substring, que atribuía técnicas não relacionadas (uma tag vazia
          correspondia a todas as 691). Foi estendida aos relatórios do
          Hybrid Analysis e ao --correlate-hash.

        * O --enrich recebe os registos recolhidos em vez do texto extraído
          do terminal, e agora funciona com --output-format json e csv, onde
          era ignorado silenciosamente.

        * Todas as opções agora produzem registos para --output-format json
          e csv. Apenas um terço delas produzia.

        * Os resultados do MalShare são incluídos em json e csv.

        * As secções [INQUEST] e [VIRUSEXCHANGE] foram removidas do
          .malwapi.conf e do código por trás delas.

        * A versão mínima do Python é 3.10, e os classifiers anunciam 3.10 a
          3.13.

  MODOS INTERATIVO E GRÁFICO

        * O --interactive ganha todos os comandos que só a linha de comandos
          tinha: os relatórios do VirusTotal, uploads, relatório de
          comportamento, verificação em lote, Retrohunt e Livehunt; o
          imphash do Malware Bazaar, download, lote, diretório, pesquisa de
          regras YARA e conjunto de regras do YARAify; o download de
          payloads do URLHaus, pesquisa de assinaturas, lista de payloads,
          verificação em lote e feed; as submissões do Triage, downloads,
          relatório dinâmico, verificações em lote e de diretório; a meta de
          famílias do Malpedia, lista de payloads e conjunto de regras; as
          listagens de tipos de ficheiro do MalShare; a submissão do Hybrid
          Analysis, verificações em lote e de diretório; a lista de famílias
          do ThreatFox; as consultas em lote de IP e multi-serviço; e crtsh,
          android, yara, iocs e cache. O ATT&CK é alternado com
          "set attack on|off".

        * O --tui foi reconstruído sobre o código de módulo usado pela linha
          de comandos em vez de uma cópia própria de cada chamada de
          serviço: 3013 linhas tornaram-se 818, e a lista de serviços passou
          de 37 para 111 entradas. Os resultados exportam com F5 (json) e F6
          (csv), algo que não suportava de todo.

        * A colagem no --tui foi corrigida. Um hash colado antes de clicar na
          caixa de consulta era descartado sem mensagem, porque apenas o
          widget focado recebe uma colagem e o painel começa na lista de
          serviços. A colagem agora é capturada para a janela inteira.

        * O --tui ganha Ctrl+V e Shift+Insert, que leem a área de
          transferência diretamente para terminais que nunca enviam uma
          colagem. Nenhum pacote de terceiros é necessário.

        * A lista de teclas do --tui é reescrita sempre que o painel de
          resultados é limpo, e é construída a partir dos próprios atalhos de
          teclado. A barra de teclas mantém Quit (como Ctrl+Q) e Paste
          enquanto a caixa de consulta tem o foco, e os seus rótulos não
          repetem mais a tecla.

  RELATÓRIOS

        * O --peinfo e o --sigcheck dimensionam as colunas a partir dos
          ficheiros que estão a ser analisados e nunca encurtam o nome do
          ficheiro, que normalmente é o SHA256. Type e Signer permanecem
          limitados; um valor encurtado só é encurtado no ecrã.

        * Cada coluna de tabela é medida em células do terminal em vez de
          caracteres, para que um assunto de certificado ou nome de ficheiro
          CJK não desalinhe mais as colunas. O truncamento para num limite de
          caracteres.

        * As linhas de uma tabela agora são iguais à soma das suas colunas,
          os cabeçalhos das colunas e as linhas são neutros, uma célula vazia
          lê n/a e os totais de fecho abrem com "[+] ". Aplicado a -j 8,
          -a 12, -a 13, -b 11, -b 12, -b 13, -x 8, -x 9, -l 6, -s 2, -u 3,
          --yara, --peinfo e --sigcheck, cujas linhas discordavam das suas
          colunas em até 51 caracteres.

        * O mesmo tratamento foi concluído em todos os relatórios restantes.
          Nenhuma linha é mais escrita como um número fixo: cada uma é
          derivada de uma largura nomeada ou do cabeçalho sob o qual se
          encontra, para que o título, a linha e as colunas não possam mais
          discordar. 88 linhas em 19 ficheiros, alcançando todos os serviços
          que a ferramenta consulta.

        * 38 títulos de relatórios foram preenchidos com 28 espaços finais,
          colocando a linha do título além da linha abaixo. Invisível no
          ecrã e visível assim que a saída é canalizada, redirecionada ou
          copiada.

        * -b 6 a -b 10: valores longos são quebrados à largura do relatório.
          Uma URL de referência ou uma lista de aliases unida por vírgulas
          chegava a 137 colunas sob uma linha de 100 colunas; numa execução
          de -b 6, 52 de 5936 linhas faziam isso.

        * -j 2 a -j 7: cada relatório é desenhado com uma largura obtida das
          colunas que realmente imprime, substituindo os seis números
          diferentes (100, 104, 126, 130, 136 e 146) usados antes. O -j 2
          também dimensiona a coluna URL a partir da resposta e não imprime
          mais o cabeçalho duas vezes.

        * -l 1 e -l 8 são tabelas. O cabeçalho anunciava três colunas
          centradas em 75, 38 e 8 sob uma linha de 126, enquanto as linhas
          abaixo imprimiam "sha256: ... md5: ... type: ...", então os
          cabeçalhos alinhavam-se com nada. Um erro do MalShare não é mais
          impresso sob um cabeçalho que promete resultados que nunca chegam.

        * -ct 1 e -ct 2: o cabeçalho do relatório é desenhado à largura da
          tabela que introduz, e as linhas de estado, erro e contagem são
          quebradas para caber como avisos com marcadores em vez de passarem
          para além dele.

        * -a 12 e -a 13: um hash que o Hybrid Analysis nunca viu produzia
          uma linha em branco e agora lê not found, que é distinto do
          veredicto "unknown". Uma falha HTTP é reportada como tal. O -a 13
          não corta mais todos os nomes de ficheiro para 40 caracteres.

        * -j 8: a coluna Status mostrava a resposta bruta, então um sucesso
          lia "ok". Agora lê found, not found, invalid hash ou bad request.
          A coluna de hash segue os hashes no ficheiro.

        * -x 8 e -x 9: o nome do ficheiro e as tags eram cortados com um
          corte simples e agora são truncados com reticências, e a pontuação
          é colorida pelo valor.

        * -b 11 e -b 12: a coluna Signature tem 17 colunas e uma amostra
          desconhecida lê n/a em vez de deixar um espaço vazio.

        * -s 2 é uma tabela em vez de quatro linhas rotuladas por host, cem
          blocos para uma consulta. As colunas são IP, Port, Country,
          Product, Vulns e Organization. O banner bruto é substituído por
          Product, que é o que o Shodan analisou do banner ou do cabeçalho
          Server; o banner completo ainda chega ao json e ao csv. Vulns é o
          número de CVEs que o Shodan lista para o host.

        * -u 3: a coluna Score era sempre zero, porque o endpoint de pesquisa
          não retorna nenhum veredicto e o código usava o valor por omissão;
          os registos json e csv carregavam "malicious": "False" para cada
          resultado de uma consulta de phishing. Ambos os campos
          desapareceram, substituídos por Age(d), a idade do domínio em dias,
          colorido pelo valor. As células são truncadas com reticências em
          vez de cortadas, e a coluna IP não corta mais um endereço IPv6 ao
          meio.

        * -u 2: o veredicto, a pontuação, as categorias, as tags e as marcas
          são realçados em vez de serem desenhados como o tipo MIME, os
          valores quebram em vez de saírem do ecrã, e as datas do certificado
          são mostradas em UTC em vez de segundos epoch brutos. O título da
          página não é mais cortado aos 80 caracteres.

        * -u 1: a nota final é prefixada com "[+] ", desenhada como um aviso
          em vez de mais um campo, e carrega o UUID da análise acabada de
          submeter para que o comando de recuperação possa ser copiado.

        * --correlate-hash, -wh 1 e -wh 2 quebram os seus valores, com
          continuações alinhadas sob a primeira linha. Um estado WHOIS
          alcançou 187 colunas, acima de uma linha de 100, e os IDs ATT&CK de
          um conjunto de pulses alcançaram 200. O SHA512 é quebrado em várias
          linhas; os registos mantêm cada valor numa linha.

        * O --yara não imprime mais os erros do compilador por ficheiro, que
          são uma propriedade do conjunto de regras em vez das amostras e
          empurravam o relatório para fora do ecrã. A contagem permanece no
          resumo e o detalhe está disponível com --verbose. As colunas File e
          Rule são dimensionadas a partir do seu conteúdo, porque cortar
          qualquer uma quebra a ligação de volta à amostra ou à regra.

        * O bloco de certificados de -v 1 e -v 8 quebra às 120 colunas. Um
          estado é uma frase por problema unida por vírgulas e alcançou 233
          caracteres numa linha.

        * A saída do --enrich quebra à largura da linha acima, com
          continuações indentadas sob um marcador de lista. Os registos json
          e csv mantêm a resposta sem quebras.

        * O -y 1 reporta o seu inventário de APKs no fim da tabela em vez de
          acima dela, prefixado com "[+] " na cor neutra. As linhas são
          impressas por uma thread por pacote e essas threads nunca eram
          esperadas fora do Windows, então a linha agora é impressa depois de
          o serem. -y 2 e -y 3 são tratados da mesma forma.

        * -ip 3 e -ip 7: as duas notas de referência cruzada são prefixadas
          com "[+] ", onde eram lidas como parte dos dados acima delas.

        * Um ficheiro de regras YARA que é ignorado agora reporta o motivo.
          O caminho ocupava a linha toda e o motivo era cortado.

        * A saída json e csv de --correlate-hash, --extract-iocs e --yara
          não começa mais com uma linha em branco.

        * Os relatórios não são mais impressos na saída padrão juntamente
          com o json ou o csv, o que tornava o resultado impossível de
          analisar, e vinte e nove funções não terminam mais o programa antes
          da exportação. O texto vai para o erro padrão quando um comando não
          produz nenhum registo, para que uma falha possa ser distinguida de
          um resultado vazio.

        * O csv escrito na saída padrão no Windows não segue mais cada linha
          com uma em branco, e tanto o json como o csv são escritos em UTF-8
          em vez da codificação da consola.

        * O csv escrito por "export csv" no modo interativo não termina mais
          cada linha com dois retornos de carro no Windows.

        * Um certificado que contém caracteres que a consola não consegue
          representar não termina mais a execução com UnicodeEncodeError.

        * Uma sequência de escape inválida na pesquisa de famílias do
          PolySwarm não emite mais um SyntaxWarning.

        * Uma cache ATT&CK truncada ou corrompida não falha mais com
          "Error while connecting to Virus Total!". É detetada, transferida
          novamente e escrita atomicamente.

        * Uma submissão recusada do Hybrid Analysis não para mais com um
          KeyError; o motivo dado pelo serviço é impresso.

        * 43 handlers em volta de um pedido capturavam apenas ValueError,
          então uma falha de rede ainda podia chegar ao utilizador como um
          traceback do Python. Agora capturam também os erros de pedido e
          identificam o serviço e o host. A mensagem nunca contém o texto da
          exceção, porque o MalShare e o Shodan carregam a chave API na URL.

        * Sete desses handlers no URLHaus eram inalcançáveis: um handler
          mais amplo acima deles capturava a falha primeiro, não imprimia
          nada e saía. O -j 7 contra um serviço inalcançável imprimia um
          cabeçalho, uma linha e nada mais, o que parece exatamente uma
          pesquisa que não encontrou nada.

        * O --defang agora também desarma a linha Source do relatório de
          extração de IOCs, para que o relatório inteiro possa ser colado em
          segurança noutro local. Um caminho de ficheiro local é deixado
          intacto, e o registo exportado mantém o valor real em ambos os
          casos.

        * A lista SUBCOMMANDS neste ficheiro anunciava "ip bgp", removido
          nesta versão, omitia "ip batch" e "urlhaus batch", e listava um
          subcomando urlscanio que nunca existiu. O URLScan.io é alcançável
          através de -u.

  CORES

        * Num fundo claro, nem ciano nem azul claro são mais usados, apenas
          azul. Num fundo escuro, ambos permanecem em uso. Isto mudou 298
          locais em 16 ficheiros, incluindo a cor partilhada info().

        * Uma auditoria ao pacote inteiro encontrou mais 26 locais que
          violavam a regra, alguns dentro de um teste de fundo e alguns
          coloridos uma vez para ambos os fundos. Verde no escuro agora é
          verde claro.

        * A cor neutra nunca era aplicada no Windows com um fundo escuro:
          era escrita como um escape de cor estendida de 256, que o
          conversor usado pelo colorama entende apenas os códigos básicos,
          então era descartada e a cor anterior permanecia em vigor. Cada
          linha de tabela, cabeçalho de coluna e aviso com marcador foi
          afetado.

        * -x 8 e -x 9: a coluna Tags é azul claro no escuro e azul no claro.
          Usava o mesmo tom da coluna Hash ao lado.

        * -b 1: os rótulos dos campos são ciano claro no escuro e azul no
          claro, coincidindo com todos os outros relatórios; o fundo claro
          usava verde.

        * -j 8: a coluna hash é roxo claro no escuro e azul no claro. A
          coluna de estado é cinzenta até haver algo a reportar.

        * -ab 1: os rótulos dos campos são azul claro no escuro e azul no
          claro.

        * -y 1: a coluna Package é azul claro no escuro.

        * -y 2 e -y 3: a coluna Hash é rosa no escuro e roxo no claro.

        * -s 2: a coluna Product é azul claro no escuro e ciano no claro.

  As alterações abaixo são correções de segurança. Nenhuma delas altera
  qualquer sintaxe de comando.

        * Corrige a injeção de sequências de escape no terminal proveniente
          de respostas de serviços (ALTA). Campos controlados por atacantes
          impressos no terminal (os dados de comportamento e nomes de
          amostras do VirusTotal, os nomes de ficheiros, assinaturas e tags
          do Malware Bazaar e do URLHaus, os nomes e descrições de pulses do
          AlienVault OTX, os campos do ThreatFox e do Hybrid Analysis)
          conseguiam mover o cursor e sobrescrever um veredicto já impresso,
          definir o título da janela, escrever na área de transferência ou
          limpar o ecrã. Cada resposta JSON agora é sanitizada assim que é
          analisada.

        * Corrige a mesma injeção de sequências de escape no modo gráfico
          (ALTA). O --tui analisava as respostas dos serviços em dezasseis
          locais, nenhum deles sanitizado. Agora não analisa mais nenhuma
          resposta.

        * Corrige a injeção de sequências de escape no terminal vinda da
          linha de comandos e de ficheiros de entrada (MÉDIA). -B, -X, -TR,
          -S, -M, -L, -NIST e os outros argumentos de texto livre aceitavam
          ESC, o CSI de 8 bits e backspace, e os validadores ecoavam um valor
          rejeitado de volta ao terminal sem o limpar primeiro. Isto afetou
          apenas Linux e macOS.

        * Corrige a injeção de sequências de escape no terminal a partir de
          mais três fontes (MÉDIA): os valores extraídos por --extract-iocs,
          cujo padrão de URL excluía espaços em branco, mas não os outros
          caracteres de controlo; os campos WHOIS, que chegam como texto
          simples escrito pelo registrar e pelo registrant; e o sha256 lido
          de um dispositivo Android ligado por USB, que agora é verificado
          contra uma lista de permitidos de 64 caracteres hexadecimais.

        * Corrige uma negação de serviço no --extract-iocs (MÉDIA). O
          processamento de HTML removia blocos de script, style, svg e
          comentários com uma expressão regular lazy, que é quadrática quando
          a etiqueta de abertura nunca é fechada: 50 000 etiquetas script sem
          terminação em 400 KB demoravam 158 segundos, e a opção lê até 10 MB
          de uma URL. Os blocos agora são removidos por uma única varredura
          direta.

        * Corrige uma possível negação de serviço na extração de IOCs
          (BAIXA/MÉDIA): as expressões regulares de domínio e e-mail podiam
          demorar muito tempo num documento maliciosamente criado. O texto
          agora é dividido em tokens limitados antes da correspondência, e os
          IOCs extraídos permanecem inalterados.

        * Corrige a injeção de fórmulas em CSV nos relatórios exportados
          (MÉDIA). Valores que começam com "=", "+", "-", "@" ou um tab eram
          executados como fórmulas pelo Excel e LibreOffice. Agora são
          prefixados com uma aspa simples, e as quebras de linha embutidas
          são removidas.

        * Corrige a injeção de fórmulas em CSV na linha de cabeçalho dos
          relatórios exportados (BAIXA). Os nomes das colunas são obtidos da
          resposta do serviço e eram escritos sem a proteção acima.

        * Corrige sequências de escape a chegar ao terminal através de uma
          mensagem de erro nos modos interativo e gráfico (BAIXA). Ambos
          imprimiam o texto de uma exceção não tratada sem o limpar.

        * Corrige DNS rebinding no --extract-iocs (MÉDIA). O endereço que era
          validado agora é o endereço ao qual se liga, enquanto o nome do
          host é mantido no cabeçalho Host e no SNI de TLS. Nomes de host que
          não podem ser resolvidos são recusados. Pedidos feitos através de um
          proxy não são fixados.

        * Corrige um bypass da proteção de endereços privados usando
          endereços IPv6 mapeados para IPv4, como ::ffff:127.0.0.1 (MÉDIA).
          Os endereços multicast e não especificados também são recusados
          agora.* Corrige a exposição de chaves de API em mensagens de erro (MEDIUM). As
          chaves do Malshare e do Shodan são substituídas por [REDACTED], e os
          erros de conexão do Malshare são tratados em vez de gerar uma
          exceção.

        * Adiciona um tempo limite padrão de 15 segundos para conectar e 180
          segundos para ler em cada requisição HTTP que não define o próprio
          (MEDIUM).

        * Para de enviar o caminho local completo da amostra para o VirusTotal
          (LOW/MEDIUM). Apenas o nome do arquivo é enviado em -v 9.

        * Recusa caminhos de APK contendo ".." durante as varreduras Android (LOW).

        * Sanitiza o nome do arquivo usado no envio ao Triage (LOW).

        * Remove todas as sequências de escape da saída do enriquecimento LLM, e
          não apenas as de cor (LOW).

        * Avisa quando .malwapi.conf é legível por outros usuários e sugere
          "chmod 600" (Linux e macOS).

Versão 8.0.5:

root@kitploit:~
  Esta versão:

        * Adiciona relatórios de overlay e entropia às opções do VirusTotal: a
          verificação de diretório (-d) ganha uma coluna "Overlay" (SIM/NÃO, ou
          N/A para arquivos não-PE) e uma coluna "Ent" (0,00 a 8,00), o
          relatório de arquivo (-v 1/2/3) ganha o overlay, seu tamanho em KB/MB
          e a entropia, e o relatório de hash (-v 8) ganha o overlay e o
          tamanho obtidos dos dados pe_info do VirusTotal sem baixar a amostra.
          A entropia é a maior entropia por seção do PE, o melhor sinal para
          seções empacotadas ou criptografadas, recorrendo à entropia de Shannon
          do arquivo inteiro para arquivos não-PE. "AV Detection" é renomeado
          para "AV" e a tabela -d é realinhada.

Versão 8.0.4:

root@kitploit:~
  Esta versão:

        * Renderiza o relatório de enriquecimento LLM com cores em vez de
          Markdown bruto: títulos e termos-chave em **negrito** são destacados
          e os símbolos de marcação removidos. Em um fundo escuro, o texto do
          corpo usa um tom quase branco enquanto os títulos mantêm seus acentos
          azul/roxo/ciano. A CLI, o REPL e o TUI compartilham o renderizador, e
          os prompts pedem ao modelo essa estrutura para que ela permaneça
          consistente.

Versão 8.0.3:

root@kitploit:~
  Esta versão:

        * Corrige o enriquecimento LLM do Claude (Anthropic), que falhava em
          todas as chamadas porque o nome do modelo estava codificado para um
          modelo aposentado. Agora ele é definido por CLAUDE_MODEL na seção
          [LLM] do .malwapi.conf, juntamente com GEMINI_MODEL / OPENAI_MODEL /
          OLLAMA_MODEL, e o padrão é claude-opus-4-8. O Claude também é agora o
          provedor padrão, e a correção abrange a CLI, o REPL e o TUI.

Versão 8.0.2:

root@kitploit:~
  Esta versão:

        * Introduz uma verificação de IP em lote contra o VirusTotal (-ip 8 /
          "ip batch"), que lê um endereço IP por linha de um arquivo e imprime
          o Endereço IP, País, Proprietário do AS e a taxa de detecção. Use
          -D 1 para a API Pública, que aguarda 61s a cada 4 IPs para respeitar
          o limite de taxa, ou -D 0 para Premium (padrão).

        * Corrige as opções de verificação de dispositivo Android (-y 1, -y 2
          e -y 3), que pararam de funcionar nas versões atuais do Android. A
          listagem de pacotes agora entende o layout moderno de /data/app (o
          prefixo '~~' e os segmentos '==' introduzidos no Android 10+) e a
          saída CRLF do adb, para que as opções também funcionem no Windows. O
          hash no dispositivo usa sha256sum em vez de md5sum, e mensagens
          claras são impressas quando o adb não está no PATH ou nenhum pacote
          de terceiros é encontrado.

        * Corrige dois bypasses de SSRF em --extract-iocs <url>. O primeiro
          (issue #96) validava com urlparse() enquanto o requests normalizava
          a URL de forma diferente, então http://127.0.0.1:6666\@1.1.1.1
          passava na verificação de hostname público e ainda assim alcançava um
          endereço interno; o validador agora rejeita barras invertidas,
          espaços em branco e caracteres de controle e valida a URL efetiva
          obtida de requests.PreparedRequest. O segundo seguia redirecionamentos
          automaticamente depois que a verificação já havia passado, permitindo
          que uma URL pública alcançasse um endereço interno ou de metadata de
          nuvem, como 169.254.169.254; cada salto agora é revalidado contra a
          allowlist de endereços privados/reservados, com um limite de
          redirecionamentos.

        * Endurece as opções de envio do Android (-y 4 e -y 5) contra path
          traversal a partir de um dispositivo malicioso ou comprometido: o
          nome do pacote relatado pelo adb é restrito a caracteres válidos de

Read more

Baixar ferramenta
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
  • Oferecer opção extra para salvar qualquer arquivo baixado em um local central.
  • Listar e pesquisar vulnerabilidades do NIST por meio de diferentes critérios.
  • Consultar o banco de dados VulnCheck - nível Community/Gratuito.
  • Coletar informações de caça a ameaças do Shodan usando diferentes critérios.
  • Verificar a reputação de IP do AbuseIPDB.
  • Verificar a classificação de IP do GreyNoise (API comunitária).
  • Realizar consultas Whois/RDAP de domínio e IP.
  • Correlação de hashes entre serviços, abrangendo VirusTotal, Hybrid Analysis, Triage e AlienVault.
  • Verificação em lote de hashes no Malware Bazaar a partir de um arquivo contendo hashes.
  • Verificação em lote de hashes no Hybrid Analysis a partir de um arquivo contendo hashes.
  • Verificação em lote de hashes no Triage a partir de um arquivo contendo hashes.
  • Varredura de diretório no Malware Bazaar, Hybrid Analysis e Triage.
  • Extrair IOCs (hashes, IPs, URLs, domínios, CVEs) de arquivos de texto.
  • Escanear arquivos ou diretórios com regras YARA.
  • Modo REPL interativo para sessões contínuas de caça a ameaças.
  • Formatos de saída estruturados em JSON e CSV.
  • Cache de resultados com TTL configurável (baseado em SQLite).
  • Suporte a proxy HTTP/HTTPS/SOCKS5 para todas as requisições de API.
  • Mapeamento de técnicas MITRE ATT&CK para relatórios de comportamento.
  • Modo painel TUI (Interface de Usuário de Texto) com navegação baseada em painéis.
  • Coletar informações de caça a ameaças do URLScan.io — enviar URLs, recuperar resultados de varredura e pesquisar varreduras.
  • Enriquecimento de ameaças com LLM — avaliação de risco gerada por IA, mapeamento MITRE ATT&CK e recomendações de analista adicionadas a qualquer resultado de consulta. Suporta Claude, Gemini, OpenAI e Ollama (local).
  • Verificação em lote de IPs no VirusTotal a partir de um arquivo contendo endereços IP, exibindo uma tabela resumida (Endereço IP, País, Proprietário do AS, Detecção).
  • Caçar no VirusTotal com regras YARA: enviar e acompanhar trabalhos de Retrohunt, listar os arquivos correspondentes e criar e listar regras e notificações de Livehunt.
  • Escanear com um diretório inteiro de regras YARA, cada arquivo compilado em seu próprio namespace.
  • Pesquisar amostras do Malware Bazaar pelo nome de regra YARA, e baixar e extrair o conjunto de regras YARAify do abuse.ch.
  • Baixar o conjunto completo de regras YARA do Malpedia para um determinado nível de TLP.
  • Listar os tipos de arquivo do MalShare vistos nas últimas 24 horas e listar os hashes de qualquer um desses tipos.
  • Verificação em lote de hashes no URLHaus a partir de um arquivo contendo hashes.
  • Pivôs de Transparência de Certificados por meio do crt.sh, sem chave de API: enumerar os subdomínios vistos em certificados emitidos e listar os próprios certificados.
  • Inspecionar, podar e esvaziar o cache local de resultados.
  • O modo interativo e a TUI alcançam todos os serviços que a linha de comando alcança, e a TUI exporta seus resultados para json e csv.
  • Triagem local de PE de um arquivo ou diretório sem chave de API, listando tipo de arquivo, tamanho, overlay, tamanho do overlay e entropia, e destacando os arquivos acima de um limite de entropia.
  • As varreduras Android calculam o hash de todos os APKs de um pacote, incluindo os APKs divididos, em vez de apenas o APK base.
  • Verificação de assinatura Authenticode sem chave de API, informando se um binário é assinado e se a assinatura ainda é válida, e nomeando o signatário de um arquivo adulterado.
  • Cada assinatura incorporada de um binário com múltiplas assinaturas é relatada, cada uma com seu próprio algoritmo de digest, certificado, impressão digital e número de série, de modo que um segundo signatário nunca fique oculto atrás do primeiro.
  • A verificação de arquivo do VirusTotal (-v 1) e o relatório de hash (-v 8) exibem o bloco de assinatura: se o certificado foi verificado, as cadeias do signatário e do co-signatário, a data de assinatura e cada certificado com seu status, algoritmo, datas de validade, número de série e impressão digital.