Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
malwoverview — Malwoverview est un outil de première réponse pour la chasse aux menaces sur VirusTotal, Hybrid Analysis, URLHaus, Polyswarm, Malshare, Alien Vault, Malpedia, Malware Bazaar, ThreatFox, Triage, IPInfo, Shodan, AbuseIPDB, GreyNoise, URLScan.io, Whois/RDAP, NIST et VulnCheck. Prend en charge l'enrichissement par LLM, l'extraction d'IOC, l'analyse YARA et l'analyse Android. | Kitploit
Outils/GitHubGitHub/alexandreborges/malwoverview
Sécurité AndroidGestion des Indicateurs de Compromission (IOC)OSINT (Renseignement de Sources Ouvertes)Analyse des VulnérabilitésCollecte d'InformationsAnalyse de MalwareRenseignement sur les MenacesTop en OSINT (Renseignement de Sources Ouvertes) n°10

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

GitHubalexandreborges/malwoverview

malwoverview

Voir le dépôt
4.1k551il y a 13 joursVérifié par Kitploit

Malwoverview est un outil de première réponse pour la chasse aux menaces sur VirusTotal, Hybrid Analysis, URLHaus, Polyswarm, Malshare, Alien Vault, Malpedia, Malware Bazaar, ThreatFox, Triage, IPInfo, Shodan, AbuseIPDB, GreyNoise, URLScan.io, Whois/RDAP, NIST et VulnCheck. Prend en charge l'enrichissement par LLM, l'extraction d'IOC, l'analyse YARA et l'analyse Android.

Partager

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) 

  Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier
  selon les termes de la GNU General Public License telle que publiée par
  la Free Software Foundation, soit la version 3 de la Licence, soit
  (à votre choix) toute version ultérieure.

  Ce programme est distribué dans l'espoir qu'il sera utile,
  mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de
  QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la
  GNU General Public License pour plus de détails.

  Voir la GNU Public License sur <http://www.gnu.org/licenses/>.

Version actuelle : 8.1.0 (Nom de code : Revolutions)

root@kitploit:~
 Note importante : Malwoverview ne soumet PAS d'échantillons à un endpoint par défaut,
 ce qui respecte d'éventuels accords de non-divulgation (NDA). Certaines options
 spécifiques soumettent explicitement des échantillons, mais ces options sont expliquées dans l'aide.

À PROPOS

Malwoverview.py est un outil de première réponse pour la chasse aux menaces (threat hunting), qui effectue un tri initial et rapide des échantillons de logiciels malveillants, des URL, des adresses IP, des domaines, des familles de logiciels malveillants, des IOC et des hachages. De plus, Malwoverview est capable d'obtenir des rapports de comportement dynamiques et statiques, de soumettre et de télécharger des échantillons depuis plusieurs endpoints. En quelques mots, il fonctionne comme un client pour les principales sandboxes existantes.

Cet outil vise à :

  1. Déterminer des échantillons de logiciels malveillants exécutables similaires (PE/PE+) en fonction de la table d'imports (imphash) et les regrouper par différentes couleurs (faites attention à la deuxième colonne de la sortie). Ainsi, les couleurs comptent !
  2. Afficher les informations de hachage sur les moteurs Virus Total, Hybrid Analysis, Malshare, Polyswarm, URLhaus, Alien Vault, Malpedia et ThreatCrowd.
  3. Déterminer si les échantillons de logiciels malveillants contiennent un overlay et, si vous le souhaitez, l'extraire.
  4. Vérifier les fichiers suspects sur Virus Total, Hybrid Analysis et Polyswarm.
  5. Vérifier les URL sur les moteurs Virus Total, Malshare, Polyswarm, URLhaus et Alien Vault.
  6. Télécharger des échantillons de logiciels malveillants depuis les moteurs Hybrid Analysis, Malshare, URLHaus, Polyswarm et Malpedia.
  7. Soumettre des échantillons de logiciels malveillants à VirusTotal, Hybrid Analysis et Polyswarm.
  8. Lister les dernières URL suspectes de URLHaus.
  9. Lister les derniers payloads de URLHaus.
  10. Rechercher des payloads spécifiques sur Malshare.
  11. Rechercher des payloads similaires (PE32/PE32+) sur le moteur Polyswarm.
  12. Classifier tous les fichiers d'un répertoire en recherchant des informations sur Virus Total et Hybrid Analysis.
  13. Établir des rapports sur un domaine suspect en utilisant différents moteurs tels que VirusTotal, Malpedia et ThreatCrowd.
  14. Vérifier les paquets APK directement depuis des appareils Android contre Hybrid Analysis et Virus Total.
  15. Soumettre des paquets APK directement depuis des appareils Android à Hybrid Analysis et Virus Total.
  16. Afficher les URL liées à un tag fourni par l'utilisateur depuis URLHaus.
  17. Afficher les payloads liés à un tag (signature) depuis URLHaus.
  18. Afficher des informations sur une adresse IP depuis Virus Total, Alien Vault, Malpedia et ThreatCrowd.
  19. Afficher les informations d'adresse IP, de domaine et d'URL depuis Polyswarm.
  20. Effectuer une méta-recherche sur le réseau Polyswarm en utilisant plusieurs critères : imphash, IPv4, domaine, URL et famille de logiciels malveillants.
  21. Recueillir des informations de chasse aux menaces depuis AlienVault en utilisant différents critères.
  22. Recueillir des informations de chasse aux menaces depuis Malpedia en utilisant différents critères.
  23. Recueillir des informations de chasse aux menaces depuis Malware Bazaar en utilisant différents critères.
  24. Recueillir des informations IOC depuis ThreatFox en utilisant différents critères.
  25. Recueillir des informations de chasse aux menaces depuis Triage en utilisant différents critères.
  26. Obtenir une évaluation des hachages d'un fichier donné contre Virus Total.

CONTRIBUTEURS

root@kitploit:~
  Alexandre Borges (https://github.com/alexandreborges) | propriétaire du projet et développeur principal
  Artur Marzano (https://github.com/Macmod) | co-développeur principal
  Corey Forman (https://github.com/digitalsleuth) | responsable de l'intégration REMnux
  Christian Clauss (https://github.com/cclauss)

COMMENT CONTRIBUER À CE PROJET

Depuis la version 6.0.0, il existe une nouvelle branche nommée « dev ». Toutes les contributions et propositions doivent être effectuées sur cette branche « dev ».

Les professionnels souhaitant contribuer doivent ouvrir une issue expliquant l'amélioration proposée et la manière dont elle améliorerait le projet. Une fois acceptée, il ou elle est autorisé(e) à soumettre la PR, qui sera testée.

Une fois toutes les modifications testées, cette nouvelle version de Malwoverview est répliquée sur la branche master et un nouveau paquet Python est généré.

INSTALLATION

Cet outil a été testé sur REMnux, Ubuntu, Kali Linux, macOS et Windows. Malwoverview peut être installé en exécutant la commande suivante :

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

Si vous souhaitez installer Malwoverview sur macOS, vous devez exécuter les commandes suivantes :

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
  * Ajoutez le répertoire binaire Python à la variable PATH en modifiant le fichier .bash_profile dans votre répertoire 
    personnel. Exemple :

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

  * Exécutez : . ./.bash_profile

Si vous installez Malwoverview sur Windows, assurez-vous que les conditions suivantes sont vraies
APRÈS avoir installé Malwoverview :

root@kitploit:~
  * python-magic n'est PAS installé. (pip show python-magic)
  * python-magic-bin EST installé. (pip show python-magic-bin)

Remarque : il est recommandé d'enregistrer le fichier .malwapi.conf avant toute mise à jour !

Fonctionnalités optionnelles

Certaines fonctionnalités nécessitent des dépendances optionnelles. Installez-les selon vos besoins :

root@kitploit:~
  * Analyse YARA :        pip install malwoverview[yara]
  * Vérification de signature :  pip install malwoverview[signature]
  * Export de rapport PDF :   pip install malwoverview[pdf]
  * Tableau de bord TUI :       pip install malwoverview[tui]
  * Tout en option :        pip install malwoverview[all]

API REQUISES

Il est possible de commencer à utiliser Malwoverview sans insérer toutes les API. Cependant, pour utiliser toutes les options de Malwoverview, vous devez insérer l'API respective des services suivants : VirusTotal, Hybrid Analysis, URLHaus, Malshare, Polyswarm, Alien Vault, Malpedia, Triage, IPInfo, Malware Bazaar, ThreatFox, VulnCheck, Shodan, AbuseIPDB, GreyNoise et URLScan.io dans le fichier de configuration .malwapi.conf, qui doit être présent (ou créé) dans le répertoire personnel (/home/[nom_utilisateur] ou /root sous Linux, et C:\Users[nom_utilisateur] sous Windows. Alternativement, les utilisateurs peuvent créer un fichier de configuration personnalisé et l'indiquer en utilisant l'option -c.

À souligner : si le fichier .malwapi.conf n'existe pas dans votre répertoire personnel, vous devez le créer !

  • Une note spéciale concernant Alien Vault : il est nécessaire de s'abonner aux pulses sur le site Web d'Alien Vault avant d'utiliser l'option -n 1.

  • Une note spéciale concernant Malshare et Shodan : les deux services exigent que leur clé API soit envoyée dans l' URL elle-même, et aucun ne documente d'en-tête ou de corps de requête alternatif (l'endpoint hashlookup de Malshare est un POST, mais la clé voyage toujours dans la chaîne de requête). Malwoverview remplace ces deux clés par [REDACTED] dans chaque message d'erreur qu'il imprime, afin qu'elles ne se retrouvent pas dans la sortie que vous collez dans un rapport de bug, mais la clé est toujours enregistrée dans les journaux d'accès de ces services et dans tout proxy qui termine le TLS entre vous et eux. Traitez les deux clés comme exposées à l'opérateur du service et faites-les tourner comme vous le feriez pour toute autre information d'identification.

Le fichier de configuration .malwapi.conf a le format suivant :

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

Les API peuvent être demandées sur les sites Web des services respectifs :

  1. Virus Total (API communautaire et payante) : 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 : Il n'offre pas d'inscription ouverte, mais vous pouvez demander un compte utilisateur directement via Twitter (DM) ou par e-mail de retour. Le handle Twitter de Malpedia est @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 (niveau Communautaire/Gratuit disponible)
  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

Fournisseurs d'enrichissement LLM (optionnels)

Malwoverview prend en charge l'enrichissement des menaces par LLM via le drapeau --enrich. Après toute requête, une évaluation de menace générée par IA est ajoutée avec le niveau de risque, l'identification de la famille de logiciels malveillants, le mappage MITRE ATT&CK et des recommandations d'analyste.

Trois fournisseurs sont pris en charge. Configurez-en un dans la section [LLM] de .malwapi.conf :

18. Anthropic Claude (payant, meilleure qualité)

root@kitploit:~
  Meilleurs résultats pour l'analyse de renseignements sur les menaces. Identifie avec précision les familles
  de logiciels malveillants, mappe des techniques MITRE ATT&CK précises et fournit des recommandations
  exploitables basées sur une connaissance réelle des menaces.

  Configuration :
  a) Créez un compte API sur https://console.anthropic.com/ (distinct de
     l'abonnement claude.ai)
  b) Allez dans Paramètres → Facturation → Ajouter du crédit (5 $ minimum, paiement à l'utilisation)
  c) Allez dans Paramètres → Clés API → Créer une clé
  d) Copiez la clé (commence par sk-ant-api03-...)
  e) Configurez .malwapi.conf :

        [LLM]
        PROVIDER = claude
        CLAUDE_API_KEY = sk-ant-api03-votre-clé-ici
        CLAUDE_MODEL = claude-opus-4-8

  CLAUDE_MODEL est optionnel et prend par défaut claude-opus-4-8. Choix courants :
  - claude-opus-4-8    — Meilleure qualité (défaut)
  - claude-sonnet-4-6  — Bon équilibre entre qualité et coût
  - claude-haiku-4-5   — Le plus rapide et le moins cher

  Coût : ~0,02-0,04 $ par appel d'enrichissement avec le modèle Opus par défaut (moins avec
  Sonnet ou Haiku). Un crédit de 5 $ fournit environ 125 à 250 appels d'enrichissement Opus.

19. Google Gemini (nécessite une facturation)

root@kitploit:~
  Résultats de bonne qualité. Nécessite un compte de facturation Google Cloud.

  Configuration :
  a) Allez sur https://aistudio.google.com/apikeys
  b) Connectez-vous avec un compte Google
  c) Cliquez sur Créer une clé API → copiez la clé
  d) Activez la facturation : cliquez sur le lien du projet à côté de votre clé → Google Cloud
     Console → Facturation → Associer un compte de facturation
  e) Configurez .malwapi.conf :

        [LLM]
        PROVIDER = gemini
        GEMINI_API_KEY = votre-clé-gemini-ici
        GEMINI_MODEL = gemini-2.0-flash

  Remarque : le niveau gratuit a une limite de débit faible (2 à 5 requêtes par minute). Pour des
  limites plus élevées, activez la facturation à l'utilisation.

20. OpenAI (payant)

root@kitploit:~
  Résultats de bonne qualité avec les modèles GPT. Nécessite un compte OpenAI avec
  des crédits API.

  Configuration :
  a) Créez un compte sur https://platform.openai.com/signup
  b) Allez sur https://platform.openai.com/api-keys → Créer une nouvelle clé secrète
  c) Ajoutez la facturation sur https://platform.openai.com/settings/organization/billing
  d) Configurez .malwapi.conf :

        [LLM]
        PROVIDER = openai
        OPENAI_API_KEY = sk-votre-clé-ici
        OPENAI_MODEL = gpt-4o-mini

  Modèles disponibles :
  - gpt-4o-mini  — Le moins cher (~0,002 $ par enrichissement), bonne qualité (défaut)
  - gpt-4o       — Meilleure qualité (~0,01 $ par enrichissement)

21. Ollama (gratuit, local, privé)

root@kitploit:~
  Fonctionne entièrement sur votre machine. Aucune clé API requise, aucune donnée ne quitte votre
  système. Idéal pour les environnements où l'envoi de données de menace vers des API cloud
  n'est pas autorisé. La qualité dépend du modèle choisi.

  Configuration :
  a) Téléchargez et installez Ollama depuis https://ollama.com/download
     (disponible pour Windows, Linux et macOS)
  b) Ouvrez un terminal et récupérez un modèle :

        ollama pull qwen2.5:14bModèles recommandés :
     - qwen2.5:14b  — Meilleure qualité pour une taille raisonnable (9 Go, nécessite 16 Go de RAM)
     - llama3.1:8b  — Bonne qualité, plus petit (5 Go, nécessite 8 Go de RAM)
     - llama3.1:70b — Excellente qualité, volumineux (40 Go, nécessite 48 Go de RAM)

  c) Ollama démarre automatiquement et sert sur http://localhost:11434
  d) Configurez .malwapi.conf :

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

  Performances : un GPU avec 12+ Go de VRAM fournit des réponses rapides (5-10 s).
  Avec CPU uniquement, c'est plus lent (30-60 s) mais fonctionnel. Les modèles plus grands (14b, 70b)
  nécessitent plus de VRAM et peuvent expirer sur CPU si la mémoire est insuffisante.
  Le modèle llama3.1:8b est recommandé pour les machines disposant d'une
  mémoire GPU limitée (6 Go ou moins).

Temps de réponse attendus :

root@kitploit:~
  - API Claude : 3-8 secondes
  - API Gemini : 3-8 secondes
  - Ollama (GPU avec VRAM suffisante) : 5-15 secondes
  - Ollama (CPU uniquement, modèle 8b) : 30-60 secondes
  - Ollama (CPU uniquement, modèle 14b+) : 60-300 secondes

Exemples d'utilisation :

root@kitploit:~
  # CLI : ajoutez --enrich à n'importe quelle requête
  malwoverview -v 8 -V <hash> --enrich
  malwoverview -ip 1 -IP 8.8.8.8 --enrich
  malwoverview --correlate-hash <hash> --enrich

  # REPL interactif : activez/désactivez l'enrichissement ou changez de fournisseur
  malwoverview --interactive
  malwoverview> set enrich on                    # utilise le fournisseur de la configuration
  malwoverview> set enrich claude                # bascule vers Claude
  malwoverview> set enrich ollama                # bascule vers Ollama
  malwoverview> set enrich openai                # bascule vers OpenAI
  malwoverview> set enrich off                   # désactive l'enrichissement
  malwoverview> vt hash <hash>                   # analyse de malware + enrichissement
  malwoverview> nist cve CVE-2024-3400           # recherche CVE + enrichissement
  malwoverview> vulncheck cve CVE-2024-3400      # VulnCheck + enrichissement

  # TUI : cliquez sur le bouton Enrich pour parcourir les fournisseurs
  #   Enrich (OFF) → claude → gemini → openai → ollama → OFF
  #   Bouton vert  = fournisseur actif et configuré
  #   Bouton jaune = fournisseur sélectionné mais clé API manquante
  #   Bouton par défaut = enrichissement désactivé
  malwoverview --tui

Note concernant les requêtes API vers MALPEDIA :

Le service et l'acceptation reposent sur l'examen par la communauté. Il est donc recommandé de soumettre une requête API depuis votre adresse e-mail professionnelle et NON depuis une adresse publique/gratuite (Gmail, Outlook, etc.). De plus, il serait appréciable de fournir davantage d'informations sur vous (compte LinkedIn, X/Twitter, Mastodon, BlueSky, etc.) car cela faciliterait la vérification de votre identité, de votre profil professionnel et de votre légitimité, et accélérerait l'approbation de votre demande.


Note concernant Triage :

Chaque opération Triage est basée sur l'ID Triage de chaque artefact, vous devez donc utiliser « -x 1 -X <attribute>:<value> » pour rechercher l'ID correct de l'artefact, puis utiliser ces informations d'ID avec les options Triage restantes (-x [2-7]) pour obtenir davantage d'informations de threat hunting depuis le point de terminaison Triage.


Note concernant URLHaus, Malware Bazaar et Threat Fox :

À partir de la seconde moitié de 2025, une clé d'authentification (API) sera nécessaire pour utiliser les services URLHaus, Malware Bazaar et Threat Fox.


Note concernant la couleur de fond du terminal :

Malwoverview a été conçu pour produire une sortie adaptée à un fond de terminal sombre. Cependant, il existe l'option -o 0 qui change et adapte les couleurs de sortie pour un fond clair.


Pour vérifier l'installation, exécutez :

root@kitploit:~
   malwoverview --help
   

Des informations complémentaires sont disponibles sur :

root@kitploit:~
   (dépôt PYPI.org) https://pypi.org/project/malwoverview/
   (Github) https://github.com/alexandreborges/malwoverview

Si vous souhaitez effectuer l'installation manuelle (elle n'est généralement pas nécessaire), quelques étapes doivent être exécutées, comme indiqué dans la sous-section suivante.

INSTALLATION MANUELLE (REMnux et Ubuntu)

  1. Version de Python 3.11 ou ultérieure (Uniquement Python 3.x !!! Cela ne fonctionne PAS avec Python 2.7)

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

    Pour installer le paquet python-magic, vous pouvez exécuter la commande suivante :

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

    Ou vous pouvez le compiler depuis le dépôt Github :

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

    Comme il existe de sérieux problèmes liés aux deux versions existantes du paquet python-magic, il est recommandé de l'installer depuis Github (seconde procédure ci-dessus) et de copier le fichier magic.py dans le MÊME répertoire que l'outil malwoverview.

  3. Installez tous les paquets Python nécessaires :

    root@kitploit:~
    $ pip3.11 install -r requirements.txt
    
    OU
    
    $ 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. Pour vérifier un mobile Android, vous devez installer l'outil « adb » :

    root@kitploit:~
    $ sudo apt get install adb
    

    PS : avant d'essayer les options Android, vérifiez :

    root@kitploit:~
    * Si l'outil adb est listé dans la variable d'environnement PATH.
    * Si le système dispose d'un accès autorisé à l'appareil en utilisant « adb devices -l »
    

AIDE

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 est un outil de première réponse pour le threat hunting écrit par Alexandre Borges.

OPTIONS MALWARE : Options de requête d'analyse et de renseignement sur les malwares

root@kitploit:~
-h, --help

	+ Affiche ce message d'aide et quitte

-c CONFIG FILE, --config CONFIG FILE

	+ Utilise un fichier de configuration personnalisé pour spécifier les API.

-d DIRECTORY, --directory DIRECTORY

	+ Spécifie le répertoire contenant les échantillons de malwares à vérifier auprès de VIRUS TOTAL.
	+ Utilisez l'option -D pour décider si vous utilisez une API VT publique ou une 
	API VT Premium.

-o BACKGROUND, --background BACKGROUND

	+ Adapte les couleurs de sortie à un terminal à fond clair. 
	+ Le défaut est un terminal à fond sombre.

-v VIRUSTOTAL, --virustotal_option VIRUSTOTAL

	+ -v 1 : étant donné un fichier via l'option -V, interroge la base de données VIRUS TOTAL (API v.3)
		  pour obtenir le rapport du fichier fourni via l'option -V.
	+ v 2 : affiche un rapport antivirus pour un fichier donné via l'option -V (API v.3) ;
	+ v 3 : identique à -v2, mais l'IAT et l'EAT du binaire sont également affichés (API v.3) ; 
	+ v 4 : extrait l'overlay ; 
	+ v 5 : soumet une URL à l'analyse VT ; 
	+ v 6 : soumet une adresse IP à Virus Total ; 
	+ v 7 : cette option obtient un rapport sur le domaine fourni depuis Virus Total ; 
	+ v 8 : vérifie un hash donné auprès de Virus Total ; 
	+ v 9 : soumet un échantillon à VT (jusqu'à 32 Mo). Utilisez une barre oblique pour spécifier le 
		   fichier cible sur les systèmes Windows. Nécessite de passer le fichier d'échantillon avec l'option -V ; 
	+ -v 10 : vérifie les hashs d'un fichier fourni via l'option -V. Cette option utilise 
			l'API publique VT v.3 ;
	+ -v 11 : vérifie les hashs d'un fichier fourni via l'option -V. Cette option utilise 
			l'API Premium v.3 ; 
	+ -v 12 : affiche les informations de comportement d'un échantillon à partir d'un hash fourni via l'option -V. 
			Cette option utilise l'API VT v.3 ; -v 13 : soumet des fichiers VOLUMINEUX (plus de 32 Mo)
			à VT en utilisant l'API v.3 ;
	+ -v 14 : soumet un travail Retrohunt en utilisant le fichier de règles YARA ou le répertoire de règles 
			fourni avec -V (VT analyse les échantillons reçus au cours des derniers mois 
			par rapport aux règles) ;
	+ -v 15 : liste vos travaux Retrohunt, éventuellement filtrés par un statut passé 
			via -V (starting, running, aborting, aborted ou finished) ;
	+ -v 16 : affiche le statut et la progression du travail Retrohunt dont l'identifiant est 
			fourni avec -V ;
	+ -v 17 : liste les fichiers correspondant au travail Retrohunt dont l'identifiant est fourni avec -V ;
	+ -v 18 : crée un ensemble de règles Livehunt à partir du fichier de règles YARA ou du répertoire de règles 
			fourni avec -V (VT fait ensuite correspondre chaque nouvelle soumission à ces règles) ;
	+ -v 19 : liste vos ensembles de règles Livehunt ;
	+ -v 20 : liste vos notifications Livehunt. Les options 14 à 20 nécessitent une clé VT avec 
			des privilèges premium (entreprise) ;

-V VIRUSTOTAL_ARG, --virustotal_arg VIRUSTOTAL_ARG

	+ Fournit l'argument pour l'option -v. Si « -v 1 » à « -v 4 », alors -V doit être
	un chemin de fichier ; Si « -v 5 », alors -V doit être une URL ; Si « -v 6 », alors -V doit
	être une adresse IP ; Si « -v 7 », alors -V doit être un domaine ; Si « -v 8 », alors
	-V doit être un hash (MD5/SHA1/SHA256) ; Si « -v 9 » ou « -v 13 », alors -V doit
	être un chemin de fichier à soumettre ; Si « -v 10 » ou « -v 11 », alors -V doit être un fichier
	contenant des hashs (un par ligne) ; Si « -v 12 », alors -V doit être un hash pour
	l'analyse de comportement ; Si « -v 14 » ou « -v 18 », alors -V doit être un fichier de règles YARA
	ou un répertoire de règles ; Si « -v 15 », alors -V peut être un statut de travail ;
	Si « -v 16 » ou « -v 17 », alors -V doit être un identifiant de travail Retrohunt.

-a HYBRID_ANALYSIS, --hybrid_option HYBRID_ANALYSIS

	+ Ce paramètre récupère les rapports de HYBRID ANALYSIS, télécharge des échantillons et soumet
	des échantillons à analyser. 
	+ Les valeurs possibles sont : 
		+ 1 : obtient un rapport pour un hash ou un échantillon donné depuis un environnement Windows 7 32 bits ; 
		+ 2 : obtient un rapport pour un hash ou un échantillon donné depuis un environnement Windows 7 32 bits 
		(prise en charge HWP) ; 
		+ 3 : obtient un rapport pour un hash ou un échantillon donné depuis un environnement Windows 64 bits ; 
		+ 4 : obtient un rapport pour un hash ou un échantillon donné depuis un environnement Android ; 
		+ 5 : obtient un rapport pour un hash ou un échantillon donné depuis un environnement Linux 64 bits ; 
		+ 6 : soumet un échantillon à un environnement Windows 7 32 bits ; 
		+ 7. soumet un échantillon à un environnement Windows 7 32 bits avec prise en charge HWP ; 
		+ 8. soumet un échantillon à un environnement Windows 7 64 bits ;
		+ 9. soumet un échantillon à un environnement Android ; 
		+ 10. soumet un échantillon à un environnement Linux 64 bits ;
		+ 11. télécharge l'échantillon pour un hash donné (l'échantillon stocké est le 
		même quel que soit l'environnement sandbox, donc une seule option 
		remplace les anciennes options 11 à 15) ; 
		+ 12. vérification par lot des hashs à partir d'un fichier (un hash par ligne) ; 
		+ 13. analyse de répertoire - calcule le SHA256 de chaque fichier et vérifie 
		auprès de Hybrid Analysis.

-A SUBMIT_HA, --ha_arg SUBMIT_HA

	+ Fournit l'argument pour l'option -a de HYBRID ANALYSIS. Si « -a 1 » à
	« -a 5 », alors -A doit être un hash ou un chemin de fichier (détection automatique) ; Si « -a 6 »
	à « -a 10 », alors -A doit être un chemin de fichier à soumettre ; Si « -a 11 », alors -A
	doit être un hash à télécharger ; Si « -a 12 », alors -A doit être un fichier
	contenant des hashs (un par ligne) ; Si « -a 13 », alors -A doit être un chemin de répertoire
	à analyser.

-D VT_PUBLIC_PREMIUM, --vtpubpremium VT_PUBLIC_PREMIUM

	+ Cette option doit être utilisée avec l'option -d. 
	+ Valeurs possibles : 
		+ <0> utilise l'API VT Premium v3 (par défaut) ; 
		+ <1> utilise l'API VT publique v3.
		
-l MALSHARE_HASHES, --malsharelist MALSHARE_HASHES

	+ Cette option télécharge un échantillon et affiche les hashs d'un type spécifique
	des dernières 24 heures depuis le dépôt MALSHARE. 
	+ Les valeurs possibles sont : 
		+ 1 : Télécharger un échantillon ; 
		+ 2 : PE32 (défaut) ; 
		+ 3 : ELF ; 
		+ 4 : Java ; 
		+ 5 : PDF ; 
		+ 6 : Lister les types de fichiers disponibles au cours des dernières 24 heures (et combien 
		d'échantillons de chaque) ; 
		+ 7 : Liste des hashs des dernières 24 heures ; 
		+ 8 : Lister les hashs du type de fichier donné avec -L (utilisez -l 6 pour découvrir 
		les types de fichiers valides).

-L MALSHARE_HASH_SEARCH, --malshare_hash MALSHARE_HASH_SEARCH

	+ Fournit un hash comme argument pour télécharger un échantillon depuis le dépôt 
	MALSHARE (-l 1) ou, lorsqu'il est utilisé avec -l 8, le type de fichier dont les hashs 
	doivent être listés.
	
-j HAUS_OPTION, --haus_option HAUS_OPTION

	+ Cette option récupère des informations d'URLHaus selon la valeur passée en argument : 
		+ 1 : effectue le téléchargement de l'échantillon donné ; 
		+ 2 : interroge les informations concernant un 
		hash fourni ; 
		+ 3 : recherche des informations sur une URL donnée ; 
		+ 4 : recherche une URL malveillante par une balise donnée (sensible à la casse) ; 
		+ 5 : recherche des payloads pour une balise donnée ; 
		+ 6 : récupère une liste de liens téléchargeables vers des payloads récents ; 
		+ 7 : récupère une liste d'URL malveillantes récentes ; 
		+ 8 : vérification par lot des hashs à partir d'un fichier (un hash par ligne).

-J HAUS_ARG, --haus_arg HAUS_ARG

	+ Fournit l'argument pour l'option -j d'URLHaus. Si « -j 1 », alors -J doit
	être un hash SHA256 pour télécharger l'échantillon ; Si « -j 2 », alors -J doit être un
	hash (MD5/SHA1/SHA256) à rechercher ; Si « -j 3 », alors -J doit être une URL à
	vérifier ; Si « -j 4 », alors -J doit être une balise (sensible à la casse) ; Si « -j 5 », alors
	-J doit être un nom de signature.

-p POLY_OPTION, --poly_option POLY_OPTION

	+ (Uniquement pour Linux) Cette option concerne les opérations POLYSWARM :
		+ 1. recherche des informations liées à un hash donné fourni via l'option -P ; 
		+ 2. soumet un échantillon fourni par l'option -P pour analyse par le moteur Polyswarm ; 
		+ 3. télécharge un échantillon depuis Polyswarm en fournissant le hash via l'option -P.
		Attention : Polyswarm impose un maximum de 20 échantillons par mois ; 
		+ 4. recherche des échantillons similaires à partir d'un fichier d'échantillon via l'option -P ;
		+ 5. recherche des échantillons liés à une adresse IP fournie via l'option -P ; 
		+ 6. recherche des échantillons liés à un domaine donné fourni par l'option -P ; 
		+ 7. recherche des échantillons liés à une URL fournie via l'option -P ; 
		+ 8. recherche des échantillons liés à une famille de malwares fournie par l'option -P.

-P POLYSWARM_ARG, --poly_arg POLYSWARM_ARG

	+ (Uniquement pour Linux) Fournit un argument pour l'option -p de POLYSWARM.

-y ANDROID_OPTION, --android_option ANDROID_OPTION

	+ Cette option ANDROID a plusieurs valeurs possibles : 
		+ <1> : Vérifie tous les packages APK tiers de l'appareil Android connecté en USB 
		auprès de Hybrid Analysis en utilisant le multithreading. Remarques : l'appareil Android ne doit 
		pas être rooté et le système doit avoir l'outil adb dans la variable d'environnement 
		PATH ; 
		+ <2> : Vérifie tous les packages APK tiers de l'appareil Android connecté en USB
		auprès de VirusTotal en utilisant l'API publique (plus lent en raison d'un délai de 60 secondes pour 
		4 hashs). Remarques : l'appareil Android ne doit pas être rooté et le système 
		doit avoir l'outil adb dans la variable d'environnement PATH ; 
		+ <3> : Vérifie tous les packages APK tiers de l'appareil Android connecté en USB 
		auprès de VirusTotal en utilisant le multithreading (uniquement pour l'API VirusTotal privée). Remarques : 
		l'appareil Android ne doit pas être rooté et le système doit avoir l'outil adb 
		dans la variable d'environnement PATH ; 
		+ <4> Envoie un APK tiers depuis votre appareil Android connecté en USB vers 
		Hybrid Analysis ; 
		+ 5. Envoie un APK tiers depuis votre appareil Android connecté en USB vers Virus-Total.

-Y ANDROID_ARG, --android_arg ANDROID_ARG

	+ Cette option fournit l'argument pour -y d'ANDROID.

-n ALIENVAULT, --alienvault ALIENVAULT

	+ Vérifie plusieurs informations depuis ALIENVAULT. Les valeurs possibles sont : 
		+ 1 : Obtenir les pulses auxquels vous êtes abonné ; 
		+ 2 : Obtenir des informations sur une adresse IP ; 
		+ 3 : Obtenir des informations sur un domaine ; 
		+ 4 : Obtenir des informations sur un hash ; 
		+ 5 : Obtenir des informations sur une URL.

-N ALIENVAULT_ARGS, --alienvaultargs ALIENVAULT_ARGS

	+ Fournit l'argument pour l'option -n d'ALIENVAULT. Si « -n 1 », alors -N
	doit être le nombre de pulses abonnés à récupérer ; Si « -n 2 », alors -N
	doit être une adresse IP ; Si « -n 3 », alors -N doit être un domaine ; Si « -n 4 »,
	alors -N doit être un hash (MD5/SHA256) ; Si « -n 5 », alors -N doit être une URL.

-m MALPEDIA, --malpedia MALPEDIA

	+ Cette option est liée à MALPEDIA et présente différentes significations selon 
	la valeur choisie. Ainsi :
		+ 1 : Lister les méta-informations pour toutes les familles ; 
		+ 2 : Lister tous les identifiants d'acteurs ; 
		+ 3 : Lister tous les payloads disponibles organisés par famille depuis Malpedia ; 
		+ 4 : Obtenir les méta-informations d'un acteur spécifique, il est donc nécessaire d'utiliser 
		l'option -M. De plus, essayez de confirmer l'identifiant d'acteur correct en exécutant
		malwoverview avec l'option -m 3 ; 
		+ 5 : Lister tous les identifiants de familles ; 
		+ 6 : Obtenir les méta-informations d'une famille spécifique, il est donc nécessaire 
		d'utiliser l'option -M. De plus, essayez de confirmer l'identifiant de famille correct en 
		exécutant malwoverview avec l'option -m 5 ; 
		+ 7 : Obtenir un échantillon de malware depuis malpedia (format zip -- mot de passe : infected). 
		Il est nécessaire de spécifier le hash demandé en utilisant l'option -M ;
		+ 8 : Obtenir un fichier zip contenant les règles Yara pour une famille spécifique 
		(obtenez les familles possibles en utilisant -m 5), qui doit être spécifiée en utilisant l'option -M ; 
		+ 9 : Obtenir un fichier zip contenant l'ensemble complet des règles Yara de Malpedia pour un 
		niveau TLP, qui doit être fourni avec -M comme l'une des valeurs tlp_white, tlp_green, 
		tlp_amber ou auto (les formes courtes white, green et amber sont également 
		acceptées). Combinez-le avec --yara pour analyser avec les règles téléchargées.

-M MALPEDIAARG, --malpediarg MALPEDIAARG

	+ Fournit l'argument pour l'option -m de MALPEDIA. Si « -m 4 », alors -M doit
	être un nom d'acteur (confirmez avec -m 2) ; Si « -m 6 », alors -M doit être un
	nom de famille (confirmez avec -m 5) ; Si « -m 7 », alors -M doit être un hash pour
	télécharger l'échantillon ; Si « -m 8 », alors -M doit être un nom de famille pour obtenir
	les règles YARA.

-b BAZAAR, --bazaar BAZAAR+ Vérifie plusieurs informations provenant de MALWARE BAZAAR et THREATFOX. Les valeurs 
	possibles sont : 
		+ 1: (Bazaar) Interroge les informations sur un hash de malware ; 
		+ 2: (Bazaar) Obtient des informations et une liste d'échantillons de malware associés 
		et selon un tag spécifique ; 
		+ 3: (Bazaar) Obtient une liste d'échantillons de malware selon un imphash donné ; 
		+ 4: (Bazaar) Interroge les derniers échantillons de malware ; 
		+ 5: (Bazaar) Télécharge un échantillon de malware depuis Malware Bazaar en fournissant un 
		hash SHA256. L'échantillon téléchargé est compressé avec le mot de passe suivant : 
		infected ; 
		+ 6: (ThreatFox) Obtient le jeu de données IOC actuel des x derniers jours fournis par 
		l'option -B (maximum 7 jours) ; 
		+ 7: (ThreatFox) Recherche l'IOC spécifié sur ThreatFox via l'option -B ; 
		+ 8: (ThreatFox) Recherche des IOC selon le tag spécifié via l'option -B ; 
		+ 9: (ThreatFox) Recherche des IOC selon la famille de malware spécifiée fournie par 
		l'option -B ; 
		+ 10. (ThreatFox) Liste toutes les familles de malware disponibles.
		+ 11: (Bazaar) Vérification par lot de hash à partir d'un fichier (un hash par ligne)
		auprès de Malware Bazaar ;
		+ 12: (Bazaar) Analyse de répertoire — calcule le SHA256 de chaque fichier dans un 
		répertoire et vérifie auprès de Malware Bazaar ;
		+ 13: (Bazaar) Recherche des échantillons correspondant au nom de règle YARA fourni par 
		l'option -B. Les noms de règles sont listés à la fin d'un rapport de hash 
		(-b 1), et correspondent également aux noms de règles de l'ensemble YARAify 
		téléchargé avec -b 14 et extrait avec -b 15 ;
		+ 14: (YARAify) Télécharge l'ensemble de règles YARAify (abuse.ch), qui est l'ensemble 
		de règles utilisé par Malware Bazaar ;
		+ 15: (YARAify) Extrait l'ensemble de règles YARAify téléchargé dans un répertoire 
		de règles qui peut être fourni à --yara.

-B BAZAAR_ARG, --bazaararg BAZAAR_ARG

	+ Fournit un argument à l'option -b MALWARE BAZAAR et THREAT FOX :
		+ « -b 1 » indique que l'argument de -B doit être un hash et qu'un rapport sur 
		l'échantillon sera récupéré ; 
		+ « -b 2 » indique que l'argument de -B doit être un tag de malware et que les derniers échantillons 
		correspondant à ce tag seront affichés ; 
		+ « -b 3 » signifie que l'argument fourni par -M doit être un imphash et que les derniers échantillons 
		correspondant à cet impshash seront affichés ; 
		+ « -b 4 » signifie que l'argument fourni par -M doit être « 100 or time », où « 100 » 
		liste les « 100 derniers échantillons » et « time » liste les derniers échantillons ajoutés à Malware Bazaar 
		au cours des 60 dernières minutes ; 
		+ « -b 5 » signifie que l'échantillon sera téléchargé et que l'argument de -B doit être 
		un hash SHA256 de l'échantillon que vous souhaitez télécharger depuis Malware Bazaar ; 
		+ « -b 6 » indique qu'une liste d'IOC sera récupérée et que la valeur de -B 
		est le nombre de JOURS pour filtrer ces IOC. La durée maximale est de 7 (jours) ; 
		+ « -b 7 » indique que l'argument de -B est l'IOC que vous souhaitez rechercher ; 
		+ « -b 8 » indique que l'argument de -B est le TAG de l'IOC que vous souhaitez rechercher ; 
		+ « -b 9 » indique que l'argument de -B est la famille de malware pour laquelle vous souhaitez 
		rechercher des IOC ;
		
-x TRIAGE, --triage TRIAGE

	+ Fournit des informations de TRIAGE selon la valeur spécifiée : 
		+ 1: cette option obtient les informations générales de l'échantillon en fournissant un argument avec l'option -X dans les formats possibles suivants : 
			- sha256:<value>
			- sha1:<value>
			- md5:<value>
			- family:<value>
			- score:<value>
			- tag:<value>
			- url:<value>
			- wallet:<value>
			- ip:<value>; 
			
		+ 2: Obtient un rapport récapitulatif pour un ID Triage donné (obtenu avec l'option -x 1) ; 
		+ 3: Soumet un échantillon pour analyse ; 
		+ 4: Soumet un échantillon via une URL pour analyse ; 
		+ 5: Télécharge l'échantillon spécifié par l'ID Triage ; 
		+ 6: Télécharge le fichier pcapng de l'échantillon associé à l'ID Triage donné ; 
		+ 7: Obtient un rapport dynamique pour l'ID Triage donné (obtenu avec l'option -x 1) ;
		+ 8: Vérification par lot de hash à partir d'un fichier (un hash par ligne) auprès de Triage ;
		+ 9: Analyse de répertoire — calcule le SHA256 de chaque fichier dans un répertoire
		et vérifie auprès de Triage.

-X TRIAGE_ARG, --triagearg TRIAGE_ARG

	+ Fournit un argument pour l'option -x de TRIAGE. Si « -x 1 », alors -X doit
	être une requête de recherche (par ex., sha256:<hash>, family:<name>, tag:<tag>,
	ip:<ip>) ; Si « -x 2 », alors -X doit être un ID d'échantillon Triage (obtenu avec
	-x 1) ; Si « -x 3 », alors -X doit être un chemin de fichier à soumettre ; Si « -x 4 »
	alors -X doit être une URL à soumettre ; Si « -x 5 » ou « -x 6 » alors -X doit être
	un ID d'échantillon Triage à télécharger ; Si « -x 7 » alors -X doit être un ID Triage
	pour le rapport dynamique ; Si « -x 8 » alors -X doit être un fichier
	contenant des hashs (un par ligne) ; Si « -x 9 » alors -X doit être un répertoire
	à analyser.

  -O OUTPUTDIR, --output-dir OUTPUTDIR
        
        + Définit le répertoire de sortie pour tous les téléchargements d'échantillons.
  
  -ip IP, --ip IP

  + Obtient des informations IP de diverses sources. Les valeurs possibles sont :
        + 1: Obtient les détails d'une adresse IP fournie avec -IP depuis IPInfo ;
        + 2: Supprimé dans 8.1.0 (BGPView arrêté) ;
        + 3: Obtient les détails d'une adresse IP fournie avec -IP depuis tous 
        les services de renseignement disponibles (VirusTotal/Alienvault) ;
        + 4: Obtient les détails d'une adresse IP depuis Shodan ;
        + 5: Obtient les détails d'une adresse IP depuis AbuseIPDB ;
        + 6: Obtient les détails d'une adresse IP depuis GreyNoise ;
        + 7: Obtient les détails d'une adresse IP depuis tous les services (complet) ;
        + 8: Vérification par lot d'adresses IP à partir d'un fichier (une par ligne) 
        auprès de VirusTotal et affichage d'un tableau récapitulatif (Adresse IP, Pays, Propriétaire AS, 
        Détection). Utilisez -D pour choisir entre l'API VT Publique (-D 1) et Premium 
        (-D 0, par défaut).

  -IP IPARG, --iparg IPARG

        + Fournit un argument pour l'option -ip. Pour -ip 1 à 7, il doit
        s'agir d'une adresse IP valide (IPv4 ou IPv6) ; pour -ip 8, il doit s'agir d'un
        fichier contenant des adresses IP (une par ligne).

-s SHODAN, --shodan SHODAN

	+ Options SHODAN :
		+ 1: Recherche IP ;
		+ 2: Requête de recherche.

-S SHODAN_ARG, --shodanarg SHODAN_ARG

	+ Fournit un argument pour l'option -s de SHODAN. Si « -s 1 », alors -S doit
	être une adresse IP ; Si « -s 2 », alors -S doit être une requête de recherche
	(par ex., « apache », « port:22 country:BR »).

-ab ABUSEIPDB, --abuseipdb ABUSEIPDB

	+ Options ABUSEIPDB :
		+ 1: Vérifie la réputation IP.

-AB ABUSEIPDB_ARG, --abuseipdbarg ABUSEIPDB_ARG

	+ Fournit une adresse IP pour l'option -ab de ABUSEIPDB.

-gn GREYNOISE, --greynoise GREYNOISE

	+ Options GREYNOISE :
		+ 1: Vérification IP rapide (API communauté).

-GN GREYNOISE_ARG, --greynoisearg GREYNOISE_ARG

	+ Fournit une adresse IP pour l'option -gn de GREYNOISE.

-wh WHOIS, --whois WHOIS

	+ Options WHOIS :
		+ 1: Recherche whois de domaine ;
		+ 2: Recherche whois/RDAP IP.

-WH WHOIS_ARG, --whoisarg WHOIS_ARG

	+ Fournit un argument pour l'option -wh de WHOIS. Si « -wh 1 », alors -WH doit
	être un nom de domaine ; Si « -wh 2 », alors -WH doit être une adresse IP.

-ct CRTSH, --crtsh CRTSH

	+ Interroge les journaux de Certificate Transparency via crt.sh, qui ne nécessite
	aucune clé API. Valeurs possibles :
		+ 1: liste les noms DNS distincts vus dans les certificats émis pour
		le domaine fourni avec -CT, ce qui est un moyen simple d'énumérer les
		sous-domaines. Les noms appartenant à d'autres domaines, qui apparaissent parce
		qu'un certificat peut couvrir plusieurs tenants, sont comptés et rapportés
		séparément ;
		+ 2: liste les certificats eux-mêmes (identifiant, émetteur, nom commun
		et dates de validité, du plus récent au plus ancien).

-CT CRTSH_ARG, --crtsharg CRTSH_ARG

	+ Fournit le nom de domaine interrogé par l'option -ct.

-u URLSCANIO, --urlscanio URLSCANIO

	+ Options URLSCAN.IO :
		+ 1: Soumet une URL pour analyse ;
		+ 2: Obtient le résultat d'analyse par UUID ;
		+ 3: Recherche des analyses à l'aide de la syntaxe de requête Elasticsearch
		(par ex., « page.server:nginx », « task.tags:phishing ») ;
		+ 4: Recherche des analyses par domaine ;
		+ 5: Recherche des analyses par IP.

-U URLSCANIO_ARG, --urlscanioarg URLSCANIO_ARG

	+ Fournit un argument pour l'option -u de URLSCAN.IO. Si « -u 1 », alors -U
	doit être une URL à soumettre pour analyse ; Si « -u 2 », alors -U doit être un UUID
	(obtenu avec -u 1) ; Si « -u 3 », alors -U doit être une requête Elasticsearch
	(par ex., « page.server:nginx », « task.tags:phishing ») ; Si « -u 4 », alors -U
	doit être un domaine ; Si « -u 5 », alors -U doit être une adresse IP.

--correlate-hash HASH

	+ Corrélation de hash inter-services : interroge un hash auprès de VirusTotal,
	Hybrid Analysis, Triage et AlienVault et produit un rapport consolidé.

--extract-iocs SOURCE

	+ Extrait les IOC (hashs, IP, URL, domaines, e-mails, CVE) d'un fichier
	(.txt, .pdf, .eml) ou d'une URL (http/https).
	L'extraction PDF nécessite : pip install malwoverview[pdf]

--yara RULES_FILE

	+ Fichier de règles YARA à utiliser pour l'analyse. Doit être utilisé avec --yara-target.
	Nécessite : pip install malwoverview[yara]

--yara-target TARGET

	+ Fichier ou répertoire à analyser avec les règles YARA.

--peinfo TARGET

	+ Triage PE local d'un fichier ou d'un répertoire (sans clé API) : type de fichier, taille,
	overlay, taille de l'overlay et entropie. Les répertoires sont analysés récursivement.
	L'entropie est l'entropie de section PE la plus élevée, ou l'entropie de Shannon
	de l'ensemble du fichier pour les fichiers non-PE.

--entropy-threshold VALUE

	+ Valeur d'entropie à partir de laquelle --peinfo signale un fichier comme packé ou
	chiffré. Défaut : 7.0

--sigcheck TARGET

	+ Vérifie la signature Authenticode d'un fichier ou d'un répertoire (sans clé API) :
	statut, signataire, émetteur, dates du certificat, algorithme de digest, empreinte
	du certificat et numéro de série. Le statut est l'un des suivants : VALID, TAMPERED,
	UNTRUSTED, EXPIRED, MALFORMED, INVALID, NONE (aucune signature intégrée),
	PRESENT (une signature est présente mais n'a pas été vérifiée) ou N/A (pas un fichier
	PE). Seules les signatures intégrées sont lues : un fichier signalé comme NONE peut
	encore être signé via un catalogue Windows.
	La vérification complète nécessite : pip install malwoverview[signature]

	VALID signifie que le fichier correspond toujours au certificat avec lequel il a été signé.
	Ce n'est pas un verdict sur le fichier : les certificats de signature sont volés,
	abusés et émis par erreur, et des malwares ont porté des signatures Microsoft valides.
	Une signature intégrée est stockée dans l'overlay, donc un fichier signé
	en possède toujours une et cet overlay n'est pas une charge ajoutée.

	La révocation du certificat n'est pas vérifiée. Aucune requête réseau n'est effectuée,
	donc un fichier signé avec un certificat révoqué par la suite signale toujours VALID.

	Une signature reste VALID après l'expiration de son certificat lorsqu'elle porte une
	contre-signature, car la contre-signature prouve que le fichier a été signé pendant
	que le certificat était encore valide. C'est ainsi qu'Authenticode est conçu pour
	fonctionner, et le rapport l'indique lorsque cela se produit : une date d'expiration
	dans le passé à côté de VALID n'est pas une contradiction.

	Un fichier peut porter plus d'une signature intégrée, généralement SHA-1 pour la
	compatibilité plus SHA-256, et les signataires diffèrent fréquemment. La colonne Signer
	en affiche une et marque les autres comme (+N) ; l'exécution de --sigcheck sur un
	seul fichier liste chaque signature avec son propre algorithme de digest, certificat,
	empreinte et numéro de série.

--no-signature

	+ Ignore la vérification de signature dans --peinfo et --sigcheck, en signalant
	uniquement si une signature est présente. Utile sur les grands répertoires.

--sig-verify-mode MODE

	+ Quelle signature intégrée détermine le statut d'un fichier multi-signé :
	any, first, all ou best. Défaut : best

	best suit la signature réalisée avec l'algorithme de digest le plus fort,
	qui est celui que Windows honore. first suit l'ordre du fichier, comme
	sigcheck.exe. all exige que chaque signature soit vérifiée, et any accepte
	le fichier dès qu'une seule l'est. Le choix a son importance : sur 517
	 pilotes multi-signés, 37 changent de statut selon ce réglage, et
	any signale VALID sur 21 fichiers que first rejette.

--attack-map

	+ Active la correspondance des techniques MITRE ATT&CK pour les rapports de comportement.

OPTIONS GÉNÉRALES : Options de format de sortie, de proxy, de cache et de verbosité

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

	+ Format de sortie : text (défaut, terminal coloré), json ou csv.

--proxy URL

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

--quiet

	+ Supprime la bannière et la sortie cosmétique.

--verbose

	+ Affiche les informations de débogage (URL des requêtes, minutage, etc.).

--no-cache

	+ Désactive la mise en cache des résultats.

--cache-ttl SECONDS

	+ Durée de vie du cache en secondes (défaut : 3600).

--cache-stats

	+ Affiche l'emplacement du cache de résultats local, le nombre d'entrées
	qu'il contient, combien d'entre elles sont expirées selon le --cache-ttl actuel,
	et sa taille sur le disque. Puis quitte.

--prune-cache

	+ Supprime uniquement les entrées expirées du cache de résultats local (selon
	--cache-ttl) et quitte.

--clear-cache

	+ Supprime toutes les entrées du cache de résultats local et quitte.

--no-resolve

	+ Ne résout pas et ne géolocalise pas les noms d'hôte trouvés dans les résultats.
	Lister un flux (par exemple les listes de payloads et de tags URLHaus) fait
	normalement rechercher à votre hôte chaque URL affichée, ce qui indique à l'opérateur
	de cette infrastructure qu'elle est en cours d'investigation. Avec cette option, la
	colonne d'emplacement affiche « Not Resolved » à la place.

--defang

	+ Affiche les IOC listés par --extract-iocs sous forme désamorcée
	(hxxp://example[.]com), afin qu'ils puissent être copiés dans un rapport ou un ticket
	sans devenir cliquables. Cela s'applique uniquement à cette liste, et ne modifie
	que la sortie : les requêtes sont toujours effectuées avec les valeurs réelles.

--no-ioc-filter

	+ Désactive le filtrage du bruit que --extract-iocs applique par défaut.
	Normalement, une page HTML voit ses blocs <script>, <style> et <svg> ignorés,
	un domaine n'est signalé que lorsque son dernier libellé est un véritable domaine
	de premier niveau, et les liens de retour vers le site source ou vers des éléments
	de page connus (analytique, polices, boutons sociaux) sont supprimés. Avec cette
	option, chaque correspondance regex dans la source brute est signalée à la place.

--report html|pdf

	+ Génère un rapport au format spécifié.
	L'export PDF nécessite : pip install malwoverview[pdf]

--report-file PATH

	+ Chemin de sortie pour le rapport généré.

--interactive

	+ Lance le mode REPL interactif.

--tui

	+ Lance le mode tableau de bord TUI (Text User Interface) avec sélecteur de service,
	saisie de requête et panneau de résultats défilant. Nécessite : pip install malwoverview[tui]

--enrich

	+ Active l'enrichissement des résultats par LLM. Ajoute une évaluation de menace
	générée par IA après chaque résultat de requête. Fonctionne avec tous les types de
	requêtes, y compris les recherches de hash de malware, les vérifications de réputation
	IP, les recherches CVE (NIST et VulnCheck) et la corrélation inter-services. Utilise
	le fournisseur configuré dans la section [LLM] de .malwapi.conf, ou remplacé avec
	--llm. Fournisseurs pris en charge :
	  - claude : API Anthropic Claude (meilleure qualité, payant)
	  - gemini : API Google Gemini (facturation requise)
	  - openai : API OpenAI (payant, modèles GPT)
	  - ollama : Instance Ollama locale (gratuit, privé)

--llm PROVIDER

	+ Remplace le fournisseur LLM pour l'enrichissement (à utiliser avec --enrich).
	  Exemples :
	    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

OPTIONS DE VULNÉRABILITÉ : Options de requête de base de données de vulnérabilités

root@kitploit:~
  NIST CVE Database Query:
  Query options for NIST CVE database (Query type and value are required; other options are optional)

  --nist NIST_OPTION,   Query type: 1=CPE/Product Search, 2=CVE ID Search, 
                        3=CVSS v3 Severity, 4=Keyword Search, 5=CWE ID Search
  --NIST NIST_ARG       Search value (format depends on query type)
  --time YEARS          Limit results to last N years
  --rpp NUM             Results per page (default: 100, max: 2000)
  --startindex NUM      Pagination start index (default: 0)
  --ncves NUM           Limit output to first N CVEs

  VulnCheck Database Query:
  Query options for VulnCheck vulnerability database (Community/Free tier)

-vc VULNCHECK_OPTION, --vulncheck VULNCHECK_OPTION

	+ Type de requête : 1 : Liste des index disponibles ; 
	2 : Obtenir KEV (Known Exploited Vulnerabilities) ; 
	3 : Rechercher CVE dans KEV ; 
	4 : Obtenir le lien de sauvegarde KEV ; 
	5 : Lister les CVE MITRE ; 
	6 : Lister les CVE NIST NVD2 ; 
	7 : Rechercher CVE dans MITRE ; 
	8 : Rechercher CVE dans NIST NVD2.

-VC VULNCHECK_ARG, --VULNCHECK VULNCHECK_ARG

	+ Valeur de recherche (ID CVE pour les options 3/7/8, nombre maximal de résultats
	pour les options 2/5/6, par ex., 50).

SOUS-COMMANDES

Depuis la version 8.0, Malwoverview prend en charge une syntaxe alternative de sous-commandes en plus de la syntaxe traditionnelle basée sur des options. Les deux syntaxes sont entièrement prises en charge et produisent des résultats identiques.

Sous-commandes disponibles :

root@kitploit:~
  vt          VirusTotal operations (file, av, hash, url, ip, domain, submit, behavior, batch)
  ha          Hybrid Analysis operations (report, submit, download, batch, dir)
  bazaar      Malware Bazaar operations (hash, tag, download, batch, dir)
  triage      Triage operations (search, summary, submit, dynamic, batch, dir)
  urlhaus     URLHaus operations (hash, url, tag, download, batch)
  ip          IP address lookups (info, shodan, abuse, greynoise, all, batch)
  whois       Whois/RDAP lookups (domain, ip)
  shodan      Shodan operations (ip, search)
  correlate   Cross-service correlation (hash)
  extract     IOC extraction from files or URLs
  yara        YARA rule scanning
  nist        NIST CVE database queries
  vulncheck   VulnCheck database queries

Exemples de sous-commandes (équivalents à la syntaxe basée sur des options) :

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

Utilisez --help avec n'importe quelle sous-commande pour plus de détails :

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

EXEMPLES

OPTIONS 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

  # Local result cache
  malwoverview --cache-stats
  malwoverview --prune-cache
  malwoverview --clear-cache

  # Download the YARAify rule set and scan with it (-b 15 extracts into
  # <output directory>/yaraify-rules, so use the same -O for both steps)
  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/

  # Malpedia rule set (-m 9 saves malpedia_yara_<level>.zip; extract it first)
  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/

  # LLM enrichment (append AI threat assessment to any query)
  malwoverview -v 8 -V <hash> --enrich                    # uses provider from config
  malwoverview -v 8 -V <hash> --enrich --llm claude       # override: use Claude
  malwoverview -v 8 -V <hash> --enrich --llm ollama       # override: use Ollama
  malwoverview -v 8 -V <hash> --enrich --llm openai       # override: use OpenAI
  malwoverview -ip 1 -IP 8.8.8.8 --enrich
  malwoverview --correlate-hash <hash> --enrich
  malwoverview --nist 2 --NIST CVE-2024-3400 --enrich     # CVE enrichment (NIST)
  malwoverview -vc 3 -VC CVE-2024-3400 --enrich           # CVE enrichment (VulnCheck)
  malwoverview --nist 4 --NIST palo alto --enrich          # keyword search + enrichment

SYNTAXE DES SOUS-COMMANDES (alternative aux 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

  # IP lookups
  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 (standalone)
  malwoverview shodan ip 8.8.8.8
  malwoverview shodan search "apache"

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

  # Cross-service correlation
  malwoverview correlate hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585

  # IOC extraction (text, PDF, email, or URL)
  malwoverview extract /home/remnux/malware/report.txt
  malwoverview extract /home/remnux/malware/report.pdf
  malwoverview extract https://example.com/threat-report.html

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

  # NIST CVE queries
  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

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

  # Subcommands combined with global options
  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

MODE INTERACTIF (--interactive) :

root@kitploit:~
  malwoverview --interactive

  # Inside the prompt (type "help" for the full list):
  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          # the export path must be inside the current directory

MODE TUI (--tui) :

root@kitploit:~
  malwoverview --tui

  # Pick a service on the left panel, type the query, press Enter.
  # F3 copies the result, F4 picks an ID out of it, F5 exports the
  # collected results to json, F6 exports them to csv, Ctrl+L clears.
  # Ctrl+V (or Shift+Insert) pastes the clipboard into the query box from
  # anywhere in the dashboard, so a hash can be pasted without clicking
  # into the box first.
  # The key list is printed above the results and is written again every
  # time the pane is cleared, which includes the start of every search.
  # While the query box has the focus, quitting is Ctrl+Q, because Q itself
  # has to remain typeable.

OPTIONS DE VULNÉRABILITÉS :

root@kitploit:~
  # Search for Windows vulnerabilities
  malwoverview --nist 1 --NIST "windows" --ncves 50

  # Search for Apache vulnerabilities
  malwoverview --nist 1 --NIST "apache" --ncves 30

  # Search for Chrome vulnerabilities
  malwoverview --nist 1 --NIST "chrome" --ncves 25

  # Search for Chromium vulnerabilities
  malwoverview --nist 1 --NIST "chromium" --ncves 25

  # Search for Linux vulnerabilities
  malwoverview --nist 1 --NIST "linux" --ncves 25

  # Search for MacOS vulnerabilities
  malwoverview --nist 1 --NIST "MacOS" --ncves 25

  # Search for Log4Shell vulnerability
  malwoverview --nist 2 --NIST "CVE-2021-44228" 

  # Search for ProxyShell vulnerability
  malwoverview --nist 2 --NIST "CVE-2021-34473" 

  # Search for Spring4Shell vulnerability
  malwoverview --nist 2 --NIST "CVE-2022-22965" 

  # Search for CRITICAL severity vulnerabilities
  malwoverview --nist 3 --NIST "CRITICAL" --ncves 50

  # Search for HIGH severity vulnerabilities
  malwoverview --nist 3 --NIST "HIGH" --ncves 40

  # Search for MEDIUM severity vulnerabilities
  malwoverview --nist 3 --NIST "MEDIUM" --ncves 30

  # Search for Authentication Bypass vulnerabilities
  malwoverview --nist 4 --NIST "authentication bypass" --ncves 30

  # Search for Remote Code Execution (RCE) vulnerabilities
  malwoverview --nist 4 --NIST "remote code execution" --ncves 50

  # Search for SQL injection vulnerabilities
  malwoverview --nist 4 --NIST "sql injection" --ncves 25

  # Search for Path Traversal vulnerabilities (CWE-22)
  malwoverview --nist 5 --NIST "CWE-22" --ncves 30

  # Search for SQL Injection vulnerabilities (CWE-89)
  malwoverview --nist 5 --NIST "CWE-89" ---ncves 40

  # Search for Cross-Site Scripting vulnerabilities (CWE-79)
  malwoverview --nist 5 --NIST "CWE-79" --ncves 35

  # List available VulnCheck indexes (Community/Free tier)
  malwoverview -vc 1

  # Get Known Exploited Vulnerabilities (KEV) - 30 results
  malwoverview -vc 2 -VC 30

  # Get Known Exploited Vulnerabilities (KEV) - 100 results
  malwoverview -vc 2 -VC 100

  # Search for a specific CVE in KEV database
  malwoverview -vc 3 -VC CVE-2021-44228

  # Search for a specific CVE in KEV database 
  malwoverview -vc 3 -VC CVE-2022-22965

  # Get backup download link for VulnCheck KEV dataset
  malwoverview -vc 4

  # List recent CVEs from MITRE database
  malwoverview -vc 5

  # List recent CVEs from MITRE database - 20 results
  malwoverview -vc 5 -VC 20

  # List recent CVEs from NIST NVD2 database
  malwoverview -vc 6

  # List recent CVEs from NIST NVD2 database - 50 results
  malwoverview -vc 6 -VC 50

  # Search for specific CVE in MITRE database (official CVE records)
  malwoverview -vc 7 -VC CVE-2024-21412

  # Search for specific CVE in NIST NVD2 (CVSS scores, CWE, CISA KEV status)
  malwoverview -vc 8 -VC CVE-2024-21412

QUOI DE NEUF DANS LA 8.1.0, PAR L'EXEMPLETout ce que cette version ajoute ou modifie, sous forme de commandes que vous pouvez exécuter. La version narrative de cette même liste est le bloc 8.1.0 sous HISTORIQUE, ci-dessous.

1. Options dont le numéro a changé (à lire en premier)

Le seul changement incompatible. Les cinq options de téléchargement d'Hybrid Analysis faisaient la même chose, elles ont donc été fusionnées en une seule et les deux options qui les suivaient ont été décalées vers le bas :

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/

Toutes les autres options ont conservé leur numéro. Tous les nouveaux numéros sont additifs.

2. Analyse locale sans clé API et sans requête réseau

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-ce signé, et la signature est-elle valide ?

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/

Un fichier peut porter plusieurs signatures intégrées — généralement SHA-1 pour la compatibilité plus SHA-256 — et les signataires sont souvent différents. Le tableau marque les signatures supplémentaires par (+N) ; utilisez la forme mono-fichier pour toutes les lister. La signature qui détermine le statut est sélectionnable :

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

Les données de signature propres à VirusTotal sont également affichées désormais, de sorte qu'une recherche par hash rapporte la chaîne de signataires, la date de signature et l'empreinte de chaque certificat :

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 via crt.sh (sans clé 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. VirusTotal Retrohunt et Livehunt (nécessite une clé d'entreprise)

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. D'autres sources de règles YARA, et comment pivoter dessus

Une recherche par hash liste désormais les règles YARA qui ont correspondu à l'échantillon ; c'est de là que provient le nom de règle pour la commande suivante :

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

Les noms de règles se trouvent aussi dans les ensembles de règles eux-mêmes, qui peuvent être téléchargés et lus localement :

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/

L'archive est enregistrée sous /home/remnux/rules/yaraify-rules.zip et est extraite dans /home/remnux/rules/yaraify-rules/, un fichier .yar par règle. Ce répertoire est la cible de --yara, et ses noms de fichiers sont les noms de règles :

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

Un ensemble de règles rassemblé auprès de nombreux auteurs ne se compile pas proprement avec chaque version de YARA. Les fichiers avec des erreurs de syntaxe sont listés et ignorés, et l'analyse s'exécute avec le reste : une exécution de l'ensemble ci-dessus a compilé 548 des 557 fichiers.

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

7. Options qui étaient cassées et qui fonctionnent désormais

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. Sortie lisible par machine pour chaque option

json et csv fonctionnent désormais sur tout l'outil plutôt que sur un tiers de celui-ci :

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. Garder une recherche discrète et une sortie sûre à coller

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. Contrôle du cache

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

11. Les deux interfaces interactives couvrent tous les services

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

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

CE QUI EST NOUVEAU DE 8.0.0 À 8.0.5, PAR L'EXEMPLE

8.0.0 a ajouté beaucoup de choses d'un coup ; les commandes sont donc regroupées ici selon leur fonction plutôt que par numéro d'option. Les versions 8.0.1 à 8.0.5 contenaient surtout des correctifs et se trouvent à la fin. Lorsque 8.1.0 a ensuite modifié un numéro d'option, la commande ci-dessous utilise le numéro actuel et indique ce qu'il était auparavant.

1. Cinq nouveaux services

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

Les nouveaux services IP sont également accessibles via -ip, de sorte qu'une même adresse peut être traitée service par service, ou par tous à la fois :

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. Un même hash sur plusieurs services en une seule commande

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

3. Vérifications par lots de hash et analyses de répertoires

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. Extraction d'IOC et analyse 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. Enrichissement par LLM de n'importe quel résultat

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. Sortie structurée, rapports et mapping 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 et verbosité

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. Deux interfaces interactives

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

9. Ce que 8.0.1 à 8.0.5 ont corrigé, en commandes

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>

HISTORIQUE

Version 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.* --extract-iocs nomme l'hôte et le type de défaillance lorsqu'une récupération
          échoue, au lieu d'afficher l'exception urllib3 brute.

        * Une 404 GreyNoise Community est rapportée comme le résultat qu'elle est, à savoir que
          l'adresse n'est pas un scanner internet, au lieu d'une erreur.

        * Un échec réseau n'atteint plus l'utilisateur sous la forme d'un traceback Python.
          43 blocs try ne capturaient que ValueError, donc une erreur de connexion
          s'échappait sans être interceptée. L'hôte rapporté est tiré de l'URL analysée, jamais
          du texte de l'exception.

        * Un échec TLS est expliqué : une poignée de main qui se termine puis
          se ferme, un certificat qui échoue à la vérification, un port qui répond
          sans TLS et une poignée de main refusée ont chacun leur propre ligne. Le
          texte de l'exception est lu mais jamais affiché.

        * crt.sh utilise une politique de nouvelle tentative patiente (5 tentatives, 2 secondes de délai)
          car il répond à la même URL avec 200, 404 ou 502 à quelques secondes d'intervalle.
          Tous les autres services conservent la politique précédente.

        * La réponse HTTP 429 est désormais retentée, au plus trois fois, en respectant les deux formes
          de Retry-After et sans jamais attendre plus de 300 secondes. Les
          téléversements d'échantillons ne sont pas retentés.

        * Le calcul d'entropie lit le fichier par blocs au lieu de le charger
          en entier. La valeur rapportée ne change pas.

        * Le scanner YARA ne modifie plus le répertoire de travail du
          processus lors de la compilation des règles.

        * La correspondance --attack-map est exacte au lieu d'une recherche de sous-chaîne, ce qui
          attribuait des techniques sans rapport (une balise vide correspondait aux 691).
          Elle est étendue aux rapports Hybrid Analysis et à --correlate-hash.

        * --enrich reçoit les enregistrements collectés au lieu du texte extrait
          du terminal, et fonctionne désormais avec --output-format json et csv,
          où il était silencieusement ignoré.

        * Chaque option produit désormais des enregistrements pour --output-format json et csv.
          Seul un tiers d'entre elles le faisait.

        * Les résultats MalShare sont inclus dans le json et le csv.

        * Les sections [INQUEST] et [VIRUSEXCHANGE] sont supprimées de
          .malwapi.conf et du code qui les sous-tend.

        * La version minimale de Python est 3.10, et les classificateurs annoncent
          3.10 à 3.13.

  MODES INTERACTIF ET GRAPHIQUE

        * --interactive gagne toutes les commandes que seule la ligne de commande possédait :
          les rapports VirusTotal, les téléversements, le rapport de comportement, la vérification par lot,
          Retrohunt et Livehunt ; l'imphash Malware Bazaar, le téléchargement,
          le lot, le répertoire, la recherche de règles YARA et l'ensemble de règles YARAify ; le
          téléchargement de payload URLHaus, la recherche de signatures, la liste de payloads, la vérification
          par lot et le flux ; les soumissions Triage, les téléchargements, le rapport dynamique,
          les vérifications par lot et de répertoire ; les métadonnées de famille Malpedia, la liste de payloads
          et l'ensemble de règles ; les listes de types de fichiers MalShare ; la soumission
          Hybrid Analysis, les vérifications par lot et de répertoire ; la liste de familles ThreatFox ;
          le lot IP et les requêtes multi-services ; et crtsh, android, yara,
          iocs et cache. ATT&CK est activé avec « set attack on|off ».

        * --tui est reconstruit sur le code du module utilisé par la ligne de commande
          au lieu de sa propre copie de chaque appel de service : 3013 lignes sont devenues
          818, et la liste des services est passée de 37 à 111 entrées. Les résultats
          s'exportent avec F5 (json) et F6 (csv), ce qu'il ne prenait pas en charge du
          tout.

        * Le collage dans --tui est corrigé. Un hash collé avant de cliquer dans la
          zone de requête était ignoré sans message, car seul le
          widget focalisé reçoit un collage et le tableau de bord démarre sur la liste des
          services. Le collage est désormais capté pour toute la fenêtre.

        * --tui gagne Ctrl+V et Shift+Insert, qui lisent le presse-papiers
          directement pour les terminaux qui n'envoient jamais de collage. Aucun paquet
          tiers n'est nécessaire.

        * La liste des touches --tui est réécrite à chaque fois que le volet des résultats est
          effacé, et est construite à partir des liaisons de touches elles-mêmes. La barre de touches
          conserve Quit (comme Ctrl+Q) et Paste lorsque la zone de requête a le focus,
          et ses libellés ne répètent plus la touche.

  RAPPORTS

        * --peinfo et --sigcheck dimensionnent leurs colonnes à partir des fichiers
          scannés et ne raccourcissent jamais le nom du fichier, qui est généralement le
          SHA256. Type et Signer restent plafonnés ; une valeur raccourcie ne l'est
          qu'à l'écran.

        * Chaque colonne de tableau est mesurée en cellules de terminal plutôt qu'en
          caractères, donc un sujet de certificat ou un nom de fichier CJK ne
          pousse plus les colonnes hors alignement. La troncature s'arrête sur une limite
          de caractère.

        * Les règles d'un tableau égalent désormais la somme de ses colonnes, les en-têtes
          de colonnes et les règles sont neutres, une cellule vide affiche n/a et le
          décompte final commence par « [+] ». Appliqué à -j 8, -a 12, -a 13,
          -b 11, -b 12, -b 13, -x 8, -x 9, -l 6, -s 2, -u 3, --yara,
          --peinfo et --sigcheck, dont les règles étaient en désaccord avec leurs colonnes
          jusqu'à 51 caractères.

        * Le même traitement a été appliqué à tous les rapports restants.
          Aucune règle n'est plus écrite comme un nombre fixe : chacune est tirée d'une
          largeur nommée ou de l'en-tête sous lequel elle se trouve, donc le titre, la
          règle et les colonnes ne peuvent plus diverger. 88 règles dans 19 fichiers,
          atteignant tous les services interrogés par l'outil.

        * 38 titres de rapports étaient complétés par 28 espaces de fin, plaçant la
          ligne de titre au-delà de la règle en dessous. Invisible à l'écran et visible
          dès que la sortie est canalisée, redirigée ou copiée.

        * -b 6 à -b 10 : les valeurs longues sont renvoyées à la ligne à la largeur du rapport. Une
          URL de référence ou une liste d'alias joints par des virgules atteignait 137 colonnes
          sous une règle de 100 colonnes ; sur une exécution de -b 6, 52 des 5936 lignes le faisaient.

        * -j 2 à -j 7 : chaque rapport est tracé sur une seule largeur tirée des
          colonnes qu'il imprime réellement, remplaçant les six nombres différents
          (100, 104, 126, 130, 136 et 146) utilisés auparavant. -j 2 dimensionne aussi sa
          colonne URL à partir de la réponse et n'imprime plus son en-tête deux fois.

        * -l 1 et -l 8 sont des tableaux. L'en-tête annonçait trois colonnes
          centrées sur 75, 38 et 8 sous une règle de 126, tandis que les lignes ci-dessous
          imprimaient « sha256: ... md5: ... type: ... », donc les en-têtes ne s'alignaient
          avec rien. Une erreur MalShare n'est plus imprimée sous un
          en-tête promettant des résultats qui n'arrivent jamais.

        * -ct 1 et -ct 2 : l'en-tête du rapport est tracé à la largeur du
          tableau qu'il introduit, et les lignes de statut, d'erreur et de comptage sont
          renvoyées à la ligne comme des avis à puces au lieu de le dépasser.

        * -a 12 et -a 13 : un hash qu'Hybrid Analysis n'a jamais vu produisait une
          ligne vide et affiche désormais not found, ce qui est distinct du
          verdict « unknown ». Un échec HTTP est rapporté comme tel. -a 13 ne
          coupe plus chaque nom de fichier à 40 caractères.

        * -j 8 : la colonne Statut affichait la réponse brute, donc un résultat lisait « ok ».
          Elle affiche désormais found, not found, invalid hash ou bad request. La
          colonne de hash suit les hash du fichier.

        * -x 8 et -x 9 : le nom de fichier et les balises étaient coupés par une simple
          tranche et sont désormais tronqués avec des points de suspension, et le score est coloré selon la valeur.

        * -b 11 et -b 12 : la colonne Signature fait 17 colonnes et un échantillon
          inconnu affiche n/a au lieu de laisser un espace vide.

        * -s 2 est un tableau au lieu de quatre lignes étiquetées par hôte, soit une centaine
          de blocs pour une seule requête. Les colonnes sont IP, Port, Country, Product,
          Vulns et Organization. La bannière brute est remplacée par Product,
          c'est-à-dire ce que Shodan a analysé à partir de la bannière ou de l'en-tête Server ;
          la bannière entière atteint toujours json et csv. Vulns est le nombre de
          CVE que Shodan liste pour l'hôte.

        * -u 3 : la colonne Score était toujours à zéro, car le point de terminaison de recherche
          ne renvoie aucun verdict et le code mettait la valeur par défaut ; les
          enregistrements json et csv portaient « malicious » : « False » pour chaque résultat
          d'une requête de phishing. Les deux champs ont disparu, remplacés par Age(d), l'
          âge du domaine en jours, coloré selon la valeur. Les cellules sont tronquées avec des points de suspension
          au lieu d'être découpées, et la colonne IP ne coupe plus une adresse IPv6
          en deux.

        * -u 2 : le verdict, le score, les catégories, les balises et les marques sont
          mis en évidence au lieu d'être affichés comme le type MIME, les valeurs passent à la ligne
          au lieu de sortir de l'écran, et les dates du certificat sont
          affichées en UTC au lieu des secondes epoch brutes. Le titre de la page n'est plus
          coupé à 80 caractères.

        * -u 1 : la note de fin est préfixée par « [+] », affichée comme un conseil
          plutôt que comme un champ supplémentaire, et porte l'UUID de l'analyse
          qui vient d'être soumise afin que la commande de récupération puisse être copiée.

        * --correlate-hash, -wh 1 et -wh 2 renvoient leurs valeurs à la ligne, avec
          les continuations alignées sous la première ligne. Un statut WHOIS atteignait
          187 colonnes pour une règle de 100, et les identifiants ATT&CK d'un ensemble de pulses
          atteignaient 200. Le SHA512 est réparti sur plusieurs lignes ; les enregistrements conservent
          chaque valeur sur une seule ligne.

        * --yara n'affiche plus les erreurs de compilation par fichier, qui sont une
          propriété de l'ensemble de règles plutôt que des échantillons et poussaient le
          rapport hors de l'écran. Le compte reste dans le résumé et le
          détail est disponible avec --verbose. Les colonnes File et Rule sont
          dimensionnées en fonction de leur contenu, car couper l'une ou l'autre rompt le lien
          vers l'échantillon ou la règle.

        * Le bloc de certificat de -v 1 et -v 8 passe à la ligne à 120 colonnes. Un
          statut est une phrase par problème jointe par des virgules et atteignait
          233 caractères sur une seule ligne.

        * La sortie de --enrich passe à la ligne à la largeur de la règle au-dessus, avec
          des continuations en retrait sous un marqueur de liste. Les enregistrements json et csv
          conservent la réponse sans retour à la ligne.

        * -y 1 rapporte son inventaire APK à la fin du tableau plutôt qu'au
          dessus, préfixé par « [+] » dans la couleur neutre. Les lignes sont
          imprimées par un thread par paquet et ces threads n'étaient jamais
          joints hors de Windows, donc la ligne est maintenant imprimée après qu'ils le sont.
          -y 2 et -y 3 sont traités de la même manière.

        * -ip 3 et -ip 7 : les deux notes de renvoi sont préfixées par
          « [+] », alors qu'elles se lisent comme partie des données au-dessus.

        * Un fichier de règles YARA ignoré indique désormais pourquoi. Le chemin prenait toute
          la ligne et la raison était coupée.

        * La sortie json et csv de --correlate-hash, --extract-iocs et
          --yara ne commence plus par une ligne vide.

        * Les rapports ne sont plus imprimés sur la sortie standard en même temps
          que le json ou le csv, ce qui rendait le résultat impossible à
          analyser, et vingt-neuf fonctions ne terminent plus le programme avant
          l'exportation. Le texte va vers l'erreur standard lorsqu'une commande
          ne produit aucun enregistrement, afin qu'un échec puisse être distingué d'un résultat
          vide.

        * Le csv écrit sur la sortie standard sous Windows ne fait plus suivre
          chaque ligne d'une ligne vide, et le json et le csv sont
          écrits en UTF-8 plutôt que dans l'encodage de la console.

        * Le csv écrit par « export csv » en mode interactif ne termine plus
          chaque ligne par deux retours chariot sous Windows.

        * Un certificat contenant des caractères que la console ne peut pas représenter ne
          termine plus l'exécution avec UnicodeEncodeError.

        * Une séquence d'échappement invalide dans la recherche de famille PolySwarm n'émet plus
          de SyntaxWarning.

        * Un cache ATT&CK tronqué ou corrompu ne plante plus avec « Error
          while connecting to Virus Total! ». Il est détecté, téléchargé à nouveau
          et écrit atomiquement.

        * Une soumission Hybrid Analysis refusée ne s'arrête plus avec une
          KeyError ; la raison donnée par le service est affichée.

        * 43 gestionnaires autour d'une requête ne capturaient que ValueError, donc un échec
          réseau pouvait encore atteindre l'utilisateur sous la forme d'un traceback Python. Ils
          capturent désormais aussi les erreurs de requête et nomment le service et l'hôte.
          Le message ne contient jamais le texte de l'exception, car MalShare
          et Shodan portent la clé API dans l'URL.

        * Sept de ces gestionnaires dans URLHaus étaient inaccessibles : un gestionnaire plus large
          au-dessus d'eux attrapait l'échec en premier, n'imprimait rien et
          sortait. -j 7 contre un service inaccessible imprimait un en-tête, une
          règle et rien d'autre, ce qui ressemble exactement à une recherche qui n'a
          rien trouvé.

        * --defang neutralise désormais aussi la ligne Source du rapport d'extraction
          d'IOC, afin que tout le rapport puisse être collé quelque part en sécurité. Un
          chemin de fichier local est laissé intact, et l'enregistrement exporté conserve la
          valeur réelle dans les deux cas.

        * La liste SUBCOMMANDS de ce fichier annonçait « ip bgp », supprimé dans
          cette version, omettait « ip batch » et « urlhaus batch », et listait une
          sous-commande urlscanio qui n'a jamais existé. URLScan.io est
          accessible via -u.

  COULEURS

        * Sur un fond clair, ni le cyan ni le bleu clair ne sont plus utilisés,
          seulement le bleu. Sur un fond sombre, les deux restent utilisés. Cela a changé
          298 endroits dans 16 fichiers, y compris la couleur partagée info().

        * Un audit de l'ensemble du paquet a trouvé 26 autres endroits qui enfreignaient
          la règle, certains dans un test d'arrière-plan et certains colorés une seule fois pour
          les deux arrière-plans. Le vert sur fond sombre est maintenant vert clair.

        * La couleur neutre n'était jamais appliquée sur Windows avec un fond sombre :
          elle était écrite comme une échappée de couleur 256 étendue, que
          le convertisseur utilisé par colorama ne comprend que les codes de base, donc elle
          était ignorée et la couleur précédente restait en vigueur. Chaque règle de tableau,
          en-tête de colonne et avis à puces était affecté.

        * -x 8 et -x 9 : la colonne Tags est bleu clair sur fond sombre et bleu sur fond
          clair. Elle utilisait la même teinte que la colonne Hash à côté.

        * -b 1 : les étiquettes de champs sont cyan clair sur fond sombre et bleu sur fond clair,
          comme tous les autres rapports ; le fond clair utilisait le vert.

        * -j 8 : la colonne de hash est violet clair sur fond sombre et bleu sur fond clair.
          La colonne de statut est grise jusqu'à ce qu'il y ait quelque chose à rapporter.

        * -ab 1 : les étiquettes de champs sont bleu clair sur fond sombre et bleu sur fond clair.

        * -y 1 : la colonne Package est bleu clair sur fond sombre.

        * -y 2 et -y 3 : la colonne Hash est rose sur fond sombre et violet sur fond clair.

        * -s 2 : la colonne Product est bleu clair sur fond sombre et cyan sur fond clair.

  Les changements ci-dessous sont des correctifs de sécurité. Aucun d'eux ne modifie la syntaxe
  d'une commande.

        * Corrige l'injection de séquences d'échappement terminal provenant des réponses
          de services (ÉLEVÉE). Les champs contrôlés par l'attaquant imprimés sur le
          terminal (les données de comportement VirusTotal et les noms d'échantillons, les
          noms de fichiers, signatures et balises Malware Bazaar et URLHaus, les
          noms et descriptions de pulses AlienVault OTX, les champs ThreatFox et
          Hybrid Analysis) pouvaient déplacer le curseur et écraser
          un verdict déjà imprimé, définir le titre de la fenêtre, écrire dans le
          presse-papiers ou effacer l'écran. Chaque réponse JSON est désormais assainie
          dès qu'elle est analysée.

        * Corrige la même injection de séquences d'échappement en mode graphique
          (ÉLEVÉE). --tui analysait lui-même les réponses des services à seize
          endroits, aucun n'étant assaini. Il n'analyse plus aucune réponse.

        * Corrige l'injection de séquences d'échappement terminal provenant de la ligne
          de commande et des fichiers d'entrée (MOYENNE). -B, -X, -TR, -S, -M, -L, -NIST
          et les autres arguments de texte libre acceptaient ESC, le CSI 8 bits et
          la touche retour arrière, et les validateurs renvoyaient une valeur rejetée au
          terminal sans la nettoyer au préalable. Cela affectait uniquement Linux et macOS.

        * Corrige l'injection de séquences d'échappement terminal provenant de trois autres sources
          (MOYENNE) : les valeurs extraites par --extract-iocs, dont le motif d'URL
          excluait les espaces mais pas les autres caractères de contrôle ; les champs WHOIS,
          qui arrivent comme texte brut écrit par le bureau d'enregistrement et la
          personne enregistrée ; et le sha256 lu depuis un appareil Android connecté en USB,
          qui est désormais vérifié contre une liste autorisée de 64 caractères hexadécimaux.

        * Corrige un déni de service dans --extract-iocs (MOYENNE). Le traitement HTML
          supprimait les blocs script, style, svg et commentaire avec une expression
          régulière paresseuse, qui est quadratique lorsque la balise ouvrante n'est
          jamais fermée : 50 000 balises script non terminées dans 400 Ko prenaient 158
          secondes, et l'option lit jusqu'à 10 Mo depuis une URL. Les blocs
          sont désormais supprimés par un seul balayage avant.

        * Corrige un possible déni de service dans l'extraction d'IOC
          (FAIBLE/MOYENNE) : les expressions régulières de domaine et d'e-mail pouvaient prendre
          beaucoup de temps sur un document conçu à cet effet. Le texte est désormais divisé en
          jetons bornés avant la mise en correspondance, et les IOC extraits sont
          inchangés.

        * Corrige l'injection de formules CSV dans les rapports exportés (MOYENNE).
          Les valeurs commençant par « = », « + », « - », « @ » ou une tabulation étaient interprétées comme des
          formules par Excel et LibreOffice. Elles sont désormais préfixées par une
          apostrophe, et les sauts de ligne intégrés sont supprimés.

        * Corrige l'injection de formules CSV dans la ligne d'en-tête des rapports exportés
          (FAIBLE). Les noms de colonnes sont tirés de la réponse du service
          et étaient écrits sans la protection ci-dessus.

        * Corrige les séquences d'échappement atteignant le terminal via un message
          d'erreur dans les modes interactif et graphique (FAIBLE). Les deux imprimaient
          le texte d'une exception non gérée sans le nettoyer.

        * Corrige le rebinding DNS dans --extract-iocs (MOYENNE). L'adresse qui
          était validée est désormais l'adresse à laquelle on se connecte, tandis que le nom d'hôte
          est conservé dans l'en-tête Host et dans le SNI TLS. Les noms d'hôtes qui
          ne peuvent pas être résolus sont refusés. Les requêtes faites via un proxy ne sont
          pas épinglées.

        * Corrige un contournement de la protection des adresses privées utilisant des adresses
          IPv6 mappées IPv4 telles que ::ffff:127.0.0.1 (MOYENNE). Les adresses de multidiffusion et
          non spécifiées sont également refusées désormais.* Corrige l'exposition des clés API dans les messages d'erreur (MOYEN). Les
          clés Malshare et Shodan sont remplacées par [REDACTED], et les
          erreurs de connexion Malshare sont gérées au lieu de lever une
          exception.

        * Ajoute un délai d'expiration par défaut de 15 secondes pour la connexion et
          de 180 secondes pour la lecture sur chaque requête HTTP qui n'en définit pas
          (MOYEN).

        * Cesse d'envoyer le chemin local complet de l'échantillon à VirusTotal
          (FAIBLE/MOYEN). Seul le nom du fichier est envoyé avec -v 9.

Read more

Télécharger l’outil
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
  • Soumettre des fichiers volumineux (>= 32 Mo) à Virus Total.
  • Malwoverview utilise l'API v.3 de Virus Total, il n'y a donc plus aucune option utilisant la v.2.
  • Récupérer des informations sur une adresse IP donnée depuis le service IPInfo.
  • Récupérer des informations combinées sur une adresse IP donnée depuis plusieurs services.
  • Offrir une option supplémentaire pour enregistrer tout fichier téléchargé dans un emplacement central.
  • Lister et rechercher des vulnérabilités depuis NIST selon différents critères.
  • Interroger la base de données VulnCheck — niveau Communautaire/Gratuit.
  • Recueillir des informations de chasse aux menaces depuis Shodan en utilisant différents critères.
  • Vérifier la réputation d'une IP depuis AbuseIPDB.
  • Vérifier la classification d'une IP depuis GreyNoise (API communautaire).
  • Effectuer des recherches Whois/RDAP de domaine et d'IP.
  • Corrélation de hachages entre services : VirusTotal, Hybrid Analysis, Triage et AlienVault.
  • Vérification par lots de hachages contre Malware Bazaar à partir d'un fichier contenant des hachages.
  • Vérification par lots de hachages contre Hybrid Analysis à partir d'un fichier contenant des hachages.
  • Vérification par lots de hachages contre Triage à partir d'un fichier contenant des hachages.
  • Analyse d'un répertoire contre Malware Bazaar, Hybrid Analysis et Triage.
  • Extraction d'IOC (hachages, IP, URL, domaines, CVE) depuis des fichiers texte.
  • Analyse de fichiers ou de répertoires avec des règles YARA.
  • Mode REPL interactif pour des sessions continues de chasse aux menaces.
  • Formats de sortie structurés JSON et CSV.
  • Cache de résultats avec TTL configurable (basé sur SQLite).
  • Prise en charge des proxys HTTP/HTTPS/SOCKS5 pour toutes les requêtes API.
  • Mappage des techniques MITRE ATT&CK pour les rapports de comportement.
  • Mode tableau de bord TUI (interface utilisateur texte) avec navigation par panneaux.
  • Recueillir des informations de chasse aux menaces depuis URLScan.io — soumettre des URL, récupérer les résultats de scan et rechercher des scans.
  • Enrichissement des menaces par LLM — évaluation de risque générée par IA, mappage MITRE ATT&CK et recommandations d'analyste ajoutés à tout résultat de requête. Prend en charge Claude, Gemini, OpenAI et Ollama (local).
  • Vérification par lots d'IP contre VirusTotal à partir d'un fichier contenant des adresses IP, avec affichage d'un tableau récapitulatif (Adresse IP, Pays, Propriétaire AS, Détection).
  • Chasse sur VirusTotal avec des règles YARA : soumettre et suivre des tâches Retrohunt, lister les fichiers correspondants, et créer et lister les rulesets et notifications Livehunt.
  • Analyse avec tout un répertoire de règles YARA, chaque fichier compilé dans son propre namespace.
  • Rechercher des échantillons Malware Bazaar par nom de règle YARA, et télécharger et extraire le jeu de règles YARAify depuis abuse.ch.
  • Télécharger le jeu complet de règles YARA Malpedia pour un niveau TLP donné.
  • Lister les types de fichiers MalShare vus au cours des dernières 24 heures, et lister les hachages de chacun de ces types.
  • Vérification par lots de hachages contre URLHaus à partir d'un fichier contenant des hachages.
  • Pivots de transparence des certificats via crt.sh, sans clé API : énumérer les sous-domaines vus dans les certificats émis et lister les certificats eux-mêmes.
  • Inspecter, élaguer et vider le cache de résultats local.
  • Le mode interactif et la TUI atteignent tous les services accessibles en ligne de commande, et la TUI exporte ses résultats en json et csv.
  • Tri PE local d'un fichier ou d'un répertoire sans clé API, listant le type de fichier, la taille, l'overlay, la taille de l'overlay et l'entropie, et mettant en évidence les fichiers au-dessus d'un seuil d'entropie.
  • Les scans Android hachent chaque APK d'un paquet, y compris les APK fractionnés (split APKs), au lieu de l'APK de base seul.
  • Vérification de signature Authenticode sans clé API, indiquant si un binaire est signé et si la signature est toujours valide, et nommant le signataire d'un fichier altéré.
  • Chaque signature intégrée d'un binaire multi-signé est signalée, chacune avec son propre algorithme de hachage, certificat, empreinte et numéro de série, de sorte qu'un second signataire n'est jamais caché derrière le premier.
  • La vérification de fichier VirusTotal (-v 1) et le rapport de hachage (-v 8) affichent le bloc de signature : si le certificat est vérifié, les chaînes du signataire et du contre-signataire, la date de signature et chaque certificat avec son statut, son algorithme, ses dates de validité, son numéro de série et son empreinte.