Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
malwoverview — Malwoverview è uno strumento di prima risposta per la caccia alle minacce attraverso VirusTotal, Hybrid Analysis, URLHaus, Polyswarm, Malshare, Alien Vault, Malpedia, Malware Bazaar, ThreatFox, Triage, IPInfo, Shodan, AbuseIPDB, GreyNoise, URLScan.io, Whois/RDAP, NIST e VulnCheck. Supporta l'arricchimento LLM, l'estrazione di IOC, la scansione YARA e l'analisi Android. | Kitploit
Strumenti/GitHubGitHub/alexandreborges/malwoverview
Sicurezza AndroidGestione degli Indicatori di Compromissione (IOC)OSINT (Open Source Intelligence)Analisi delle VulnerabilitàRaccolta InformazioniAnalisi MalwareThreat IntelligenceTop in OSINT (Open Source Intelligence) n.10

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

GitHubalexandreborges/malwoverview

malwoverview

Vedi Repository
4.1k55113 giorni faRevisionato da Kitploit

Malwoverview è uno strumento di prima risposta per la caccia alle minacce attraverso VirusTotal, Hybrid Analysis, URLHaus, Polyswarm, Malshare, Alien Vault, Malpedia, Malware Bazaar, ThreatFox, Triage, IPInfo, Shodan, AbuseIPDB, GreyNoise, URLScan.io, Whois/RDAP, NIST e VulnCheck. Supporta l'arricchimento LLM, l'estrazione di IOC, la scansione YARA e l'analisi Android.

Condividi

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) 

  Questo programma è software libero: puoi redistribuirlo e/o modificarlo
  secondo i termini della GNU General Public License come pubblicata dalla
  Free Software Foundation, versione 3 della Licenza, o
  (a tua scelta) qualsiasi versione successiva.

  Questo programma è distribuito nella speranza che possa essere utile,
  ma SENZA ALCUNA GARANZIA; senza nemmeno la garanzia implicita di
  COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la
  GNU General Public License per maggiori dettagli.

  Vedi la GNU Public License su <http://www.gnu.org/licenses/>.

Versione corrente: 8.1.0 (Nome in codice: Revolutions)

root@kitploit:~
 Nota importante: Malwoverview NON invia campioni a nessun endpoint per impostazione predefinita,
 quindi rispetta eventuali accordi di non divulgazione (NDA). Esistono opzioni specifiche
 che inviano esplicitamente i campioni, ma queste opzioni sono spiegate nella guida.

INFORMAZIONI

Malwoverview.py è uno strumento di prima risposta per il threat hunting, che esegue una triage iniziale e rapida di campioni di malware, URL, indirizzi IP, domini, famiglie di malware, IOC e hash. Inoltre, Malwoverview è in grado di ottenere report di comportamento dinamici e statici, inviare e scaricare campioni da diversi endpoint. In poche parole, funziona come un client per le principali sandbox esistenti.

Questo strumento mira a:

  1. Determinare campioni di malware eseguibili simili (PE/PE+) in base alla tabella degli import (imphash) e raggrupparli per colori diversi (presta attenzione alla seconda colonna dell'output). Quindi, i colori contano!
  2. Mostrare informazioni sugli hash nei motori Virus Total, Hybrid Analysis, Malshare, Polyswarm, URLhaus, Alien Vault, Malpedia e ThreatCrowd.
  3. Determinare se i campioni di malware contengono overlay e, se lo desideri, estrailo.
  4. Controllare file sospetti su Virus Total, Hybrid Analysis e Polyswarm.
  5. Controllare URL sui motori Virus Total, Malshare, Polyswarm, URLhaus e su Alien Vault.
  6. Scaricare campioni di malware dai motori Hybrid Analysis, Malshare, URLHaus, Polyswarm e Malpedia.
  7. Inviare campioni di malware a VirusTotal, Hybrid Analysis e Polyswarm.
  8. Elencare gli ultimi URL sospetti da URLHaus.
  9. Elencare gli ultimi payload da URLHaus.
  10. Cercare payload specifici su Malshare.
  11. Cercare payload simili (PE32/PE32+) sul motore Polyswarm.
  12. Classificare tutti i file in una directory cercando informazioni su Virus Total e Hybrid Analysis.
  13. Creare report su un dominio sospetto utilizzando diversi motori come VirusTotal, Malpedia e ThreatCrowd.
  14. Controllare pacchetti APK direttamente da dispositivi Android tramite Hybrid Analysis e Virus Total.
  15. Inviare pacchetti APK direttamente da dispositivi Android a Hybrid Analysis e Virus Total.
  16. Mostrare gli URL correlati a un tag fornito dall'utente da URLHaus.
  17. Mostrare i payload correlati a un tag (firma) da URLHaus.
  18. Mostrare informazioni su un indirizzo IP da Virus Total, Alien Vault, Malpedia e ThreatCrowd.
  19. Mostrare informazioni su indirizzo IP, dominio e URL da Polyswarm.
  20. Eseguire meta-ricerche sul Polyswarm Network utilizzando diversi criteri: imphash, IPv4, dominio, URL e famiglia di malware.
  21. Raccogliere informazioni di threat hunting da AlienVault utilizzando diversi criteri.
  22. Raccogliere informazioni di threat hunting da Malpedia utilizzando diversi criteri.
  23. Raccogliere informazioni di threat hunting da Malware Bazaar utilizzando diversi criteri.
  24. Raccogliere informazioni sugli IOC da ThreatFox utilizzando diversi criteri.
  25. Raccogliere informazioni di threat hunting da Triage utilizzando diversi criteri.
  26. Ottenere la valutazione degli hash di un determinato file tramite Virus Total.
  27. Inviare file di grandi dimensioni (>= 32 MB) a Virus Total.
  28. Malwoverview utilizza Virus Total API v.3, quindi non esiste più alcuna opzione che usa la v.2.
  29. Recuperare informazioni su un determinato indirizzo IP dal servizio IPInfo.
  30. Recuperare informazioni combinate su un determinato indirizzo IP da più servizi.

CONTRIBUTORI

root@kitploit:~
  Alexandre Borges (https://github.com/alexandreborges) | proprietario del progetto e sviluppatore principale
  Artur Marzano (https://github.com/Macmod) | co-sviluppatore principale
  Corey Forman (https://github.com/digitalsleuth) | responsabile dell'integrazione con REMnux
  Christian Clauss (https://github.com/cclauss)

COME CONTRIBUIRE A QUESTO PROGETTO

Dalla versione 6.0.0 esiste un nuovo branch chiamato "dev". Tutti i contributi e le proposte devono essere fatti su questo branch "dev".

I professionisti che vogliono contribuire devono aprire una issue spiegando il miglioramento proposto e come migliorerebbe il progetto. Una volta accettato, viene autorizzato/a a inviare la PR, che verrà testata.

Una volta testate tutte le modifiche, questa nuova versione di Malwoverview viene replicata sul branch master e viene generato un nuovo pacchetto Python.

INSTALLAZIONE

Questo strumento è stato testato su REMnux, Ubuntu, Kali Linux, macOS e Windows. Malwoverview può essere installato eseguendo il seguente comando:

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

Se vuoi installare Malwoverview su macOS, devi eseguire i seguenti comandi:

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
  * Aggiungi la directory dei binari Python alla variabile PATH modificando il file .bash_profile nella tua home
    directory. Esempio:

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

  * Esegui: . ./.bash_profile

Se stai installando Malwoverview su Windows, assicurati che le seguenti condizioni siano vere
DOPO aver installato Malwoverview:

root@kitploit:~
  * python-magic NON è installato. (pip show python-magic)
  * python-magic-bin È installato. (pip show python-magic-bin)

Nota: si consiglia di salvare il .malwapi.conf prima di qualsiasi aggiornamento!

Funzionalità opzionali

Alcune funzionalità richiedono dipendenze opzionali. Installale secondo necessità:

root@kitploit:~
  * Scansione YARA:       pip install malwoverview[yara]
  * Verifica firma:       pip install malwoverview[signature]
  * Esporta report PDF:   pip install malwoverview[pdf]
  * Dashboard TUI:        pip install malwoverview[tui]
  * Tutte le opzionali:   pip install malwoverview[all]

API RICHIESTE

È possibile iniziare a usare Malwoverview senza inserire tutte le API. Tuttavia, per usare tutte le opzioni di Malwoverview, devi inserire la rispettiva API dei seguenti servizi: VirusTotal, Hybrid Analysis, URLHaus, Malshare, Polyswarm, Alien Vault, Malpedia, Triage, IPInfo, Malware Bazaar, ThreatFox, VulnCheck, Shodan, AbuseIPDB, GreyNoise e URLScan.io nel file di configurazione .malwapi.conf, che deve essere presente (o creato) nella home directory (/home/[username] o /root su Linux, e C:\Users[username] su Windows. In alternativa, gli utenti possono creare un file di configurazione personalizzato e indicarlo utilizzando l'opzione -c.

Da notare: se il file .malwapi.conf non esiste nella tua home directory, devi crearlo!

  • Una nota speciale su Alien Vault: è necessario iscriversi ai pulse sul sito di Alien Vault prima di usare l'opzione -n 1.

  • Una nota speciale su Malshare e Shodan: entrambi i servizi richiedono che la loro chiave API venga inviata nell'URL stesso, e nessuno dei due documenta un'intestazione o un corpo della richiesta come alternativa (l'endpoint hashlookup di Malshare è una POST, ma la chiave viaggia comunque nella query string). Malwoverview sostituisce queste due chiavi con [REDACTED] in ogni messaggio di errore che stampa, così non finiscono nell'output che incolli in un bug report, ma la chiave viene comunque registrata nei log di accesso di quei servizi e in qualsiasi proxy che termina TLS tra te e loro. Tratta entrambe le chiavi come esposte al gestore del servizio e ruotale come faresti con qualsiasi altra credenziale.

Il file di configurazione .malwapi.conf ha il seguente formato:

root@kitploit:~
  [VIRUSTOTAL]
  VTAPI = 

  [HYBRID-ANALYSIS]
  HAAPI = 

  [MALSHARE]
  MALSHAREAPI = 

  [HAUSSUBMIT]
  HAUSSUBMITAPI =

  [POLYSWARM]
  POLYAPI = 

  [ALIENVAULT]
  ALIENAPI = 

  [MALPEDIA]
  MALPEDIAAPI =

  [TRIAGE]
  TRIAGEAPI =

  [IPINFO]
  IPINFOAPI =  
  
  [BAZAAR]
  BAZAARAPI = 

  [THREATFOX]
  THREATFOXAPI = 

  [VULNCHECK]
  VULNCHECKAPI =

  [URLHAUS]
  URLHAUSAPI =

  [SHODAN]
  SHODANAPI =

  [ABUSEIPDB]
  ABUSEIPDBAPI =

  [GREYNOISE]
  GREYNOISEAPI =

  [URLSCANIO]
  URLSCANIOAPI =

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

Le API possono essere richieste sui rispettivi siti web dei servizi:

  1. Virus Total (API community e a pagamento): 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: non offre registrazione aperta, ma puoi richiedere un account utente direttamente tramite Twitter (DM) o e-mail di feedback. L'handle Twitter di Malpedia è @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 (livello Community/Gratuito disponibile)
  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

Provider di arricchimento LLM (opzionali)

Malwoverview supporta l'arricchimento delle minacce basato su LLM tramite il flag --enrich. Dopo qualsiasi query, viene aggiunta una valutazione della minaccia generata dall'IA, con livello di rischio, identificazione della famiglia di malware, mappatura MITRE ATT&CK e raccomandazioni per gli analisti.

Sono supportati tre provider. Configurane uno nella sezione [LLM] di .malwapi.conf:

18. Anthropic Claude (a pagamento, migliore qualità)

root@kitploit:~
  I migliori risultati per l'analisi dell'intelligence sulle minacce. Identifica con precisione le famiglie
  di malware, mappa tecniche MITRE ATT&CK precise e fornisce raccomandazioni
  attuabili basate su conoscenze reali delle minacce.

  Configurazione:
  a) Crea un account API su https://console.anthropic.com/ (separato
     dall'abbonamento claude.ai)
  b) Vai su Settings → Billing → Add credit (minimo $5, pay-per-use)
  c) Vai su Settings → API Keys → Create Key
  d) Copia la chiave (inizia con sk-ant-api03-...)
  e) Configura .malwapi.conf:

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

  CLAUDE_MODEL è opzionale e il valore predefinito è claude-opus-4-8. Scelte comuni:
  - claude-opus-4-8    — Migliore qualità (predefinito)
  - claude-sonnet-4-6  — Ottimo equilibrio tra qualità e costo
  - claude-haiku-4-5   — Il più veloce ed economico

  Costo: ~$0.02-0.04 per chiamata di arricchimento usando il modello Opus predefinito (meno con
  Sonnet o Haiku). Un credito di $5 fornisce circa 125-250 chiamate di arricchimento Opus.

19. Google Gemini (richiede fatturazione)

root@kitploit:~
  Risultati di buona qualità. Richiede un account di fatturazione Google Cloud.

  Configurazione:
  a) Vai su https://aistudio.google.com/apikeys
  b) Accedi con l'account Google
  c) Fai clic su Create API Key → copia la chiave
  d) Abilita la fatturazione: fai clic sul link del progetto accanto alla tua chiave → Google Cloud
     Console → Billing → Link a billing account
  e) Configura .malwapi.conf:

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

  Nota: il livello gratuito ha un limite di velocità basso (2-5 richieste al minuto). Per
  limiti superiori, abilita la fatturazione pay-per-use.

20. OpenAI (a pagamento)

root@kitploit:~
  Risultati di buona qualità usando i modelli GPT. Richiede un account OpenAI con
  crediti API.

  Configurazione:
  a) Crea un account su https://platform.openai.com/signup
  b) Vai su https://platform.openai.com/api-keys → Create new secret key
  c) Aggiungi la fatturazione su https://platform.openai.com/settings/organization/billing
  d) Configura .malwapi.conf:

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

  Modelli disponibili:
  - gpt-4o-mini  — Il più economico (~$0.002 per arricchimento), buona qualità (predefinito)
  - gpt-4o       — Qualità migliore (~$0.01 per arricchimento)

21. Ollama (gratuito, locale, privato)

root@kitploit:~
  Viene eseguito interamente sulla tua macchina. Nessuna chiave API necessaria, nessun dato lascia il tuo
  sistema. Adatto ad ambienti in cui l'invio di dati sulle minacce a API cloud
  non è consentito. La qualità dipende dal modello scelto.

  Configurazione:
  a) Scarica e installa Ollama da https://ollama.com/download
     (disponibile per Windows, Linux e macOS)
  b) Apri un terminale e scarica un modello:

        ollama pull qwen2.5:14bModelli consigliati:
     - qwen2.5:14b  — Qualità migliore a dimensioni ragionevoli (9 GB, richiede 16 GB di RAM)
     - llama3.1:8b  — Buona qualità, più piccolo (5 GB, richiede 8 GB di RAM)
     - llama3.1:70b — Qualità eccellente, grande (40 GB, richiede 48 GB di RAM)

  c) Ollama si avvia automaticamente e serve su http://localhost:11434
  d) Configura .malwapi.conf:

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

  Prestazioni: una GPU con 12+ GB di VRAM garantisce risposte rapide (5-10s).
  Solo CPU è più lento (30-60s) ma funzionale. I modelli più grandi (14b, 70b)
  richiedono più VRAM e potrebbero andare in timeout sulla CPU se la memoria è
  insufficiente. Il modello llama3.1:8b è consigliato per macchine con
  memoria GPU limitata (6 GB o meno).

Tempi di risposta previsti:

root@kitploit:~
  - Claude API:  3-8 secondi
  - Gemini API:  3-8 secondi
  - Ollama (GPU con VRAM sufficiente): 5-15 secondi
  - Ollama (solo CPU, modello 8b): 30-60 secondi
  - Ollama (solo CPU, modello 14b+): 60-300 secondi

Esempi di utilizzo:

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

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

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

Nota sulle richieste API a MALPEDIA:

Il servizio e l'accettazione si basano sulla verifica della community. Pertanto, è consigliato inviare una richiesta API dal proprio indirizzo e-mail aziendale e NON da uno pubblico/gratuito (Gmail, Outlook e così via). Inoltre, sarebbe ottimo fornire maggiori informazioni su di sé (account LinkedIn, X/Twitter, Mastodon, BlueSky, ecc.) poiché ciò faciliterebbe la verifica della propria identità, del profilo professionale e della legittimità, accelerando l'approvazione della richiesta.


Nota su Triage:

Ogni operazione di Triage si basa sull'ID Triage di ciascun artefatto, quindi è necessario usare l'opzione "-x 1 -X <attribute>:<value>" per cercare l' ID corretto dell'artefatto e poi usare queste informazioni ID con le restanti opzioni di Triage (-x [2-7]) per ottenere maggiori informazioni di threat hunting dall'endpoint Triage.


Nota su URLHaus, Malware Bazaar e Threat Fox:

A partire dalla seconda metà del 2025, sarà richiesta una Auth-Key (API) per utilizzare i servizi URLHaus, Malware Bazaar e Threat Fox.


Nota sul colore di sfondo del terminale:

Malwoverview è stato scritto per produrre un output per uno sfondo scuro del terminale. Tuttavia, esiste l'opzione -o 0 che cambia e adatta i colori dell'output per uno sfondo chiaro.


Per verificare l'installazione, esegui:

root@kitploit:~
   malwoverview --help
   

Ulteriori informazioni sono disponibili su:

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

Se si desidera eseguire l'installazione manuale (di solito non è necessaria), è sufficiente eseguire pochi passaggi, come mostrato nella sottosezione successiva.

INSTALLAZIONE MANUALE (REMnux e Ubuntu)

  1. Versione Python 3.11 o successiva (Solo Python 3.x !!! NON funziona usando Python 2.7)

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

    Per installare il pacchetto python-magic puoi eseguire il seguente comando:

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

    Oppure puoi compilarlo dal repository github:

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

    Poiché ci sono seri problemi legati all'esistenza di due versioni del pacchetto python-magic, si consiglia di installarlo da Github (seconda procedura sopra) e copiare il file magic.py nella STESSA directory dello strumento malwoverview.

  3. Installa tutti i pacchetti Python necessari:

    root@kitploit:~
    $ pip3.11 install -r requirements.txt
    
    OR
    
    $ pip3.11 install -U pefile
    $ pip3.11 install -U colorama
    $ pip3.11 install -U simplejson
    $ pip3.11 install -U python-magic
    $ pip3.11 install -U requests
    $ pip3.11 install -U validators
    $ pip3.11 install -U geocoder
    $ pip3.11 install -U polyswarm-api
    $ pip3.11 install -U pathlib
    $ pip3.11 install -U configparser
    
  4. Per controllare un dispositivo Android è necessario installare lo strumento "adb":

    root@kitploit:~
    $ sudo apt get install adb
    

    PS: prima di provare le opzioni Android, controlla:

    root@kitploit:~
    * If the adb tool is listed in the PATH environment variable.
    * If the system has authorized access to the device by using "adb devices -l"
    

HELP

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 è uno strumento di prima risposta per il threat hunting scritto da Alexandre Borges.

OPZIONI MALWARE: Opzioni di analisi malware e query di intelligence

root@kitploit:~
-h, --help

	+ mostra questo messaggio di aiuto ed esce

-c CONFIG FILE, --config CONFIG FILE

	+ Usa un file di configurazione personalizzato per specificare le API.

-d DIRECTORY, --directory DIRECTORY

	+ Specifica la directory contenente i campioni di malware da controllare su VIRUS TOTAL.
	+ Usa l'opzione -D per decidere se stai usando un'API VT pubblica o un'API VT Premium.

-o BACKGROUND, --background BACKGROUND

	+ Adatta i colori dell'output a un terminale con colore di sfondo chiaro.
	+ Il valore predefinito è un terminale con colore di sfondo scuro.

-v VIRUSTOTAL, --virustotal_option VIRUSTOTAL

	+ -v 1: data un file tramite l'opzione -V, interroga il database VIRUS TOTAL (API v.3)
		  per ottenere il report del file indicato attraverso l'opzione -V.
	+ v 2: mostra un report antivirus per un determinato file usando l'opzione -V (API v.3);
	+ v 3: uguale a -v2, ma vengono mostrati anche IAT ed EAT del binario (API v.3); 
	+ v 4: estrae l'overlay; 
	+ v 5: invia un URL alla scansione VT; 
	+ v 6: invia un indirizzo IP a Virus Total; 
	+ v 7: questa opzione ottiene un report sul dominio fornito da Virus Total; 
	+ v 8: verifica un determinato hash su Virus Total; 
	+ v 9: invia un campione a VT (fino a 32 MB). Usa la barra / per specificare il 
		   file di destinazione su sistemi Windows. Richiede di passare il file campione con l'opzione -V; 
	+ -v 10: verifica gli hash da un file fornito tramite l'opzione -V. Questa opzione usa 
			l'API pubblica VT v.3;
	+ -v 11: verifica gli hash da un file fornito tramite l'opzione -V. Questa opzione usa 
			l'API Premium v.3; 
	+ -v 12: mostra le informazioni comportamentali di un campione dato un hash tramite l'opzione -V. 
			Questa opzione usa VT API v.3; -v 13: invia file GRANDI (oltre 32 MB)
			a VT utilizzando API v.3;
	+ -v 14: invia un job Retrohunt usando il file di regole YARA o la directory di regole 
			indicata con -V (VT scansiona i campioni ricevuti negli ultimi mesi 
			rispetto alle regole);
	+ -v 15: elenca i tuoi job Retrohunt, opzionalmente filtrati per stato passato 
			tramite -V (starting, running, aborting, aborted o finished);
	+ -v 16: mostra lo stato e l'avanzamento del job Retrohunt il cui id è 
			indicato con -V;
	+ -v 17: elenca i file corrispondenti al job Retrohunt il cui id è indicato con -V;
	+ -v 18: crea un ruleset Livehunt dal file di regole YARA o dalla directory di regole 
			indicata con -V (VT quindi confronta ogni nuova sottoposizione con esso);
	+ -v 19: elenca i tuoi ruleset Livehunt;
	+ -v 20: elenca le tue notifiche Livehunt. Le opzioni da 14 a 20 richiedono una chiave VT con 
			privilegi premium (enterprise);

-V VIRUSTOTAL_ARG, --virustotal_arg VIRUSTOTAL_ARG

	+ Fornisce l'argomento per l'opzione -v. Se da "-v 1" a "-v 4" allora -V deve essere
	un percorso di file; Se "-v 5" allora -V deve essere un URL; Se "-v 6" allora -V deve
	essere un indirizzo IP; Se "-v 7" allora -V deve essere un dominio; Se "-v 8" allora
	-V deve essere un hash (MD5/SHA1/SHA256); Se "-v 9" o "-v 13" allora -V deve
	essere un percorso di file da inviare; Se "-v 10" o "-v 11" allora -V deve essere un file
	contenente hash (uno per riga); Se "-v 12" allora -V deve essere un hash per
	l'analisi comportamentale; Se "-v 14" o "-v 18" allora -V deve essere un file di regole YARA
	o una directory di regole; Se "-v 15" allora -V può essere uno stato di job;
	Se "-v 16" o "-v 17" allora -V deve essere un ID di job Retrohunt.

-a HYBRID_ANALYSIS, --hybrid_option HYBRID_ANALYSIS

	+ Questo parametro recupera report da HYBRID ANALYSIS, scarica campioni e invia
	campioni da analizzare. 
	+ I possibili valori sono: 
		+ 1: ottiene un report per un determinato hash o campione da un ambiente Windows 7 a 32 bit; 
		+ 2: ottiene un report per un determinato hash o campione da un ambiente Windows 7 a 32 bit 
		(supporto HWP); 
		+ 3: ottiene un report per un determinato hash o campione da un ambiente Windows a 64 bit; 
		+ 4: ottiene un report per un determinato hash o campione da un ambiente Android; 
		+ 5: ottiene un report per un determinato hash o campione da un ambiente Linux a 64 bit; 
		+ 6: invia un campione a un ambiente Windows 7 a 32 bit; 
		+ 7. invia un campione a un ambiente Windows 7 a 32 bit con supporto HWP; 
		+ 8. invia un campione a un ambiente Windows 7 a 64 bit;
		+ 9. invia un campione a un ambiente Android; 
		+ 10. invia un campione a un ambiente Linux a 64 bit;
		+ 11. scarica il campione per un determinato hash (il campione archiviato è lo 
		stesso indipendentemente dall'ambiente sandbox, quindi una singola opzione 
		sostituisce le precedenti opzioni da 11 a 15); 
		+ 12. controllo batch di hash da un file (un hash per riga); 
		+ 13. scansione di directory - calcola SHA256 per ogni file e controlla 
		su Hybrid Analysis.

-A SUBMIT_HA, --ha_arg SUBMIT_HA

	+ Fornisce l'argomento per l'opzione -a di HYBRID ANALYSIS. Se da "-a 1" a
	"-a 5" allora -A deve essere un hash o un percorso di file (rilevato automaticamente); Se "-a 6"
	a "-a 10" allora -A deve essere un percorso di file da inviare; Se "-a 11" allora -A
	deve essere un hash da scaricare; Se "-a 12" allora -A deve essere un file
	contenente hash (uno per riga); Se "-a 13" allora -A deve essere un percorso di directory
	da scansionare.

-D VT_PUBLIC_PREMIUM, --vtpubpremium VT_PUBLIC_PREMIUM

	+ Questa opzione deve essere usata con l'opzione -d. 
	+ Valori possibili: 
		+ <0> usa l'API VT Premium v3 (predefinita); 
		+ <1> usa l'API VT pubblica v3.
		
-l MALSHARE_HASHES, --malsharelist MALSHARE_HASHES

	+ Questa opzione scarica un campione e mostra gli hash di un tipo specifico
	delle ultime 24 ore dal repository MALSHARE. 
	+ I valori possibili sono: 
		+ 1: Scarica un campione; 
		+ 2: PE32 (predefinito) ; 
		+ 3: ELF ; 
		+ 4: Java; 
		+ 5: PDF ; 
		+ 6: Elenca i tipi di file disponibili nelle ultime 24 ore (e quanti 
		campioni per ciascuno); 
		+ 7: Elenco degli hash delle ultime 24 ore; 
		+ 8: Elenca gli hash del tipo di file indicato con -L (usa -l 6 per scoprire 
		i tipi di file validi).

-L MALSHARE_HASH_SEARCH, --malshare_hash MALSHARE_HASH_SEARCH

	+ Fornisce un hash come argomento per scaricare un campione dal repository 
	MALSHARE (-l 1) o, quando usato con -l 8, il tipo di file di cui elencare 
	gli hash.
	
-j HAUS_OPTION, --haus_option HAUS_OPTION

	+ Questa opzione recupera informazioni da URLHaus a seconda del valore passato come argomento: 
		+ 1: esegue il download del campione indicato; 
		+ 2: interroga le informazioni su un 
		hash fornito ; 
		+ 3: cerca informazioni su un dato URL; 
		+ 4: cerca un URL dannoso tramite un dato tag (case-sensitive); 
		+ 5: cerca payload tramite un tag; 
		+ 6: recupera un elenco di link scaricabili di payload recenti; 
		+ 7: recupera un elenco di URL dannosi recenti; 
		+ 8: controllo batch di hash da un file (un hash per riga).

-J HAUS_ARG, --haus_arg HAUS_ARG

	+ Fornisce l'argomento per l'opzione -j di URLHaus. Se "-j 1" allora -J deve
	essere un hash SHA256 per scaricare il campione; Se "-j 2" allora -J deve essere un
	hash (MD5/SHA1/SHA256) da cercare; Se "-j 3" allora -J deve essere un URL da
	controllare; Se "-j 4" allora -J deve essere un tag (case-sensitive); Se "-j 5" allora
	-J deve essere un nome di firma.

-p POLY_OPTION, --poly_option POLY_OPTION

	+ (Solo per Linux) Questa opzione riguarda le operazioni POLYSWARM:
		+ 1. cerca informazioni relative a un determinato hash fornito tramite l'opzione -P; 
		+ 2. invia un campione fornito dall'opzione -P per essere analizzato dal motore Polyswarm ; 
		+ 3. Scarica un campione da Polyswarm fornendo l'hash tramite l'opzione -P.
		Attenzione: Polyswarm impone un massimo di 20 campioni al mese; 
		+ 4. cerca campioni simili dato un file campione tramite l'opzione -P;
		+ 5. cerca campioni correlati a un indirizzo IP fornito tramite l'opzione -P; 
		+ 6. cerca campioni correlati a un dominio fornito tramite l'opzione -P; 
		+ 7. cerca campioni correlati a un URL fornito tramite l'opzione -P; 
		+ 8. cerca campioni correlati a una famiglia di malware fornita tramite l'opzione -P.

-P POLYSWARM_ARG, --poly_arg POLYSWARM_ARG

	+ (Solo per Linux) Fornisce un argomento per l'opzione -p di POLYSWARM.

-y ANDROID_OPTION, --android_option ANDROID_OPTION

	+ Questa opzione ANDROID ha molteplici valori possibili: 
		+ <1>: Controlla tutti i pacchetti APK di terze parti dal dispositivo Android connesso via USB 
		su Hybrid Analysis usando multithread. Note: il dispositivo Android non 
		necessita di root e il sistema deve avere lo strumento adb nella variabile d'ambiente 
		PATH; 
		+ <2>: Controlla tutti i pacchetti APK di terze parti dal dispositivo Android connesso via USB
		su VirusTotal usando l'API pubblica (più lento a causa del ritardo di 60 secondi per ogni 
		4 hash). Note: il dispositivo Android non necessita di root e il sistema 
		deve avere lo strumento adb nella variabile d'ambiente PATH; 
		+ <3>: Controlla tutti i pacchetti APK di terze parti dal dispositivo Android connesso via USB 
		su VirusTotal usando multithread (solo per API Virus privata). Note: il 
		dispositivo Android non necessita di root e il sistema deve avere lo strumento adb 
		nella variabile d'ambiente PATH; 
		+ <4> Invia un APK di terze parti dal tuo dispositivo Android connesso via USB a 
		Hybrid Analysis; 
		+ 5. Invia un APK di terze parti dal tuo dispositivo Android connesso via USB a Virus-Total.

-Y ANDROID_ARG, --android_arg ANDROID_ARG

	+ Questa opzione fornisce l'argomento per -y di ANDROID.

-n ALIENVAULT, --alienvault ALIENVAULT

	+ Controlla molteplici informazioni da ALIENVAULT. I valori possibili sono: 
		+ 1: Ottieni i pulse a cui sei iscritto; 
		+ 2: Ottieni informazioni su un indirizzo IP; 
		+ 3: Ottieni informazioni su un dominio; 
		+ 4: Ottieni informazioni su un hash; 
		+ 5: Ottieni informazioni su un URL.

-N ALIENVAULT_ARGS, --alienvaultargs ALIENVAULT_ARGS

	+ Fornisce l'argomento per l'opzione -n di ALIENVAULT. Se "-n 1" allora -N
	deve essere il numero di pulse a cui si è iscritti da recuperare; Se "-n 2" allora -N
	deve essere un indirizzo IP; Se "-n 3" allora -N deve essere un dominio; Se "-n 4"
	allora -N deve essere un hash (MD5/SHA256); Se "-n 5" allora -N deve essere un URL.

-m MALPEDIA, --malpedia MALPEDIA

	+ Questa opzione è correlata a MALPEDIA e presenta significati diversi a seconda 
	del valore scelto. Quindi:
		+ 1: Elenca le meta-informazioni per tutte le famiglie; 
		+ 2: Elenca tutti gli ID degli attori; 
		+ 3: Elenca tutti i payload disponibili organizzati per famiglia da Malpedia; 
		+ 4: Ottieni meta-informazioni da un attore specifico, quindi è necessario usare 
		l'opzione -M. Inoltre, prova a confermare il corretto ID dell'attore eseguendo
		malwoverview con l'opzione -m 3; 
		+ 5: Elenca tutti gli ID delle famiglie; 
		+ 6: Ottieni meta-informazioni da una famiglia specifica, quindi è necessario 
		usare l'opzione -M. Inoltre, prova a confermare il corretto ID della famiglia 
		eseguendo malwoverview con l'opzione -m 5; 
		+ 7: Ottieni un campione di malware da Malpedia (formato zip -- password: infected). 
		È necessario specificare l'hash richiesto usando l'opzione -M;
		+ 8: Ottieni un file zip contenente le regole Yara per una famiglia specifica 
		(ottieni le famiglie possibili usando -m 5), che deve essere specificata usando l'opzione -M; 
		+ 9: Ottieni un file zip contenente il ruleset Yara completo di Malpedia per un 
		livello TLP, che deve essere fornito con -M come uno tra tlp_white, tlp_green, 
		tlp_amber o auto (sono accettate anche le forme brevi white, green e amber). 
		Combinalo con --yara per scansionare con le regole scaricate.

-M MALPEDIAARG, --malpediarg MALPEDIAARG

	+ Fornisce l'argomento per l'opzione -m di MALPEDIA. Se "-m 4" allora -M deve
	essere un nome di attore (conferma con -m 2); Se "-m 6" allora -M deve essere un
	nome di famiglia (conferma con -m 5); Se "-m 7" allora -M deve essere un hash per
	scaricare il campione; Se "-m 8" allora -M deve essere un nome di famiglia per ottenere
	le regole YARA.

-b BAZAAR, --bazaar BAZAAR+ Controlla più informazioni da MALWARE BAZAAR e THREATFOX. I possibili 
	valori sono: 
		+ 1: (Bazaar) Interroga le informazioni su un campione di hash di malware; 
		+ 2: (Bazaar) Ottiene informazioni e un elenco di campioni di malware associati 
		e secondo un tag specifico; 
		+ 3: (Bazaar) Ottiene un elenco di campioni di malware in base a un imphash dato; 
		+ 4: (Bazaar) Interroga gli ultimi campioni di malware; 
		+ 5: (Bazaar) Scarica un campione di malware da Malware Bazaar fornendo un 
		hash SHA256. Il campione scaricato viene compresso in zip usando la 
		seguente password: infected; 
		+ 6: (ThreatFox) Ottiene il dataset IOC corrente degli ultimi x giorni indicati 
		dall'opzione -B (massimo 7 giorni); 
		+ 7: (ThreatFox) Cerca l'IOC specificato su ThreatFox indicato dall'opzione -B; 
		+ 8: (ThreatFox) Cerca IOC in base al tag specificato indicato dall'opzione -B; 
		+ 9: (ThreatFox) Cerca IOC in base alla famiglia di malware specificata fornita 
		dall'opzione -B; 
		+ 10. (ThreatFox) Elenca tutte le famiglie di malware disponibili.
		+ 11: (Bazaar) Controllo batch di hash da un file (un hash per riga)
		contro Malware Bazaar;
		+ 12: (Bazaar) Scansione directory — calcola lo SHA256 per ogni file in una
		directory e verifica contro Malware Bazaar;
		+ 13: (Bazaar) Cerca campioni corrispondenti al nome di regola YARA indicato 
		dall'opzione -B. I nomi delle regole sono elencati alla fine di un report di hash 
		(-b 1), e sono anche i nomi delle regole all'interno del set YARAify 
		scaricato con -b 14 ed estratto con -b 15;
		+ 14: (YARAify) Scarica il set di regole YARAify (abuse.ch), che è il 
		set di regole dietro Malware Bazaar;
		+ 15: (YARAify) Estrae il set di regole YARAify scaricato in una 
		directory di regole che può essere passata a --yara.

-B BAZAAR_ARG, --bazaararg BAZAAR_ARG

	+ Fornisce un argomento all'opzione -b MALWARE BAZAAR e THREAT FOX:
		+ "-b 1" indica che l'argomento di -B deve essere un hash e verrà recuperato un report 
		sul campione; 
		+ "-b 2" indica che l'argomento di -B deve essere un tag di malware e verranno mostrati gli ultimi campioni 
		corrispondenti a questo tag; 
		+ "-b 3" significa che l'argomento fornito da -M deve essere un imphash e verranno mostrati gli ultimi campioni 
		corrispondenti a questo imphash; 
		+ "-b 4" significa che l'argomento fornito da -M deve essere "100 o time", dove "100" 
		elenca gli ultimi "100 campioni" e "time" elenca gli ultimi campioni aggiunti a Malware Bazaar 
		negli ultimi 60 minuti; 
		+ "-b 5" significa che il campione verrà scaricato e l'argomento di -B deve essere 
		un hash SHA256 del campione che si desidera scaricare da Malware Bazaar; 
		+ "-b 6" indica che verrà recuperato un elenco di IOC e il valore di -B 
		è il numero di GIORNI per filtrare tali IOC. Il tempo massimo è 7 (giorni); 
		+ "-b 7" indica che l'argomento di -B è l'IOC che si desidera cercare; 
		+ "-b 8" indica che l'argomento di -B è il TAG dell'IOC che si desidera 
		cercare; 
		+ "-b 9" indica che l'argomento di -B è la famiglia di malware per cui si desidera 
		cercare IOC;
		
-x TRIAGE, --triage TRIAGE

	+ Fornisce informazioni da TRIAGE in base al valore specificato: 
		+ 1: questa opzione ottiene le informazioni generali del campione fornendo un 
		argomento con l'opzione -X nei seguenti formati possibili: 
			- sha256:<valore>
			- sha1:<valore>
			- md5:<valore>
			- family:<valore>
			- score:<valore>
			- tag:<valore>
			- url:<valore>
			- wallet:<valore>
			- ip:<valore>; 
			
		+ 2: Ottiene un report riepilogativo per un dato ID Triage (ottenuto dall'opzione -x 1); 
		+ 3: Invia un campione per l'analisi; 
		+ 4: Invia un campione tramite un URL per l'analisi; 
		+ 5: Scarica il campione specificato dall'ID Triage; 
		+ 6: Scarica il file pcapng dal campione associato al dato ID Triage; 
		+ 7: Ottiene un report dinamico per il dato ID Triage (ottenuto dall'opzione -x 1);
		+ 8: Controllo batch di hash da un file (un hash per riga) contro Triage;
		+ 9: Scansione directory — calcola lo SHA256 per ogni file in una directory
		e verifica contro Triage.

-X TRIAGE_ARG, --triagearg TRIAGE_ARG

	+ Fornisce un argomento per l'opzione -x di TRIAGE. Se "-x 1" allora -X deve
	essere una query di ricerca (es., sha256:<hash>, family:<nome>, tag:<tag>,
	ip:<ip>); Se "-x 2" allora -X deve essere un ID campione Triage (ottenuto da
	-x 1); Se "-x 3" allora -X deve essere un percorso di file da inviare; Se "-x 4"
	allora -X deve essere un URL da inviare; Se "-x 5" o "-x 6" allora -X deve essere
	un ID campione Triage da scaricare; Se "-x 7" allora -X deve essere un ID
	campione Triage per il report dinamico; Se "-x 8" allora -X deve essere un file
	contenente hash (uno per riga); Se "-x 9" allora -X deve essere un percorso di
	directory da scansionare.

  -O OUTPUTDIR, --output-dir OUTPUTDIR
        
        + Imposta la directory di output per tutti i download di campioni.
  
  -ip IP, --ip IP

  + Ottiene informazioni sull'IP da varie fonti. I possibili valori sono:
        + 1: Ottiene i dettagli per un indirizzo IP fornito con -IP da IPInfo;
        + 2: Rimosso nella 8.1.0 (BGPView chiuso);
        + 3: Ottiene i dettagli per un indirizzo IP fornito con -IP da tutti
        i servizi intel disponibili (VirusTotal/Alienvault);
        + 4: Ottiene i dettagli per un indirizzo IP da Shodan;
        + 5: Ottiene i dettagli per un indirizzo IP da AbuseIPDB;
        + 6: Ottiene i dettagli per un indirizzo IP da GreyNoise;
        + 7: Ottiene i dettagli per un indirizzo IP da tutti i servizi (completo);
        + 8: Controllo batch di indirizzi IP da un file (uno per riga) contro
        VirusTotal e mostra una tabella riepilogativa (Indirizzo IP, Paese, Proprietario AS,
        Rilevamento). Usare -D per scegliere tra API VT Pubblica (-D 1) e Premium
        (-D 0, predefinita).

  -IP IPARG, --iparg IPARG

        + Fornisce un argomento per l'opzione -ip. Per -ip da 1 a 7 deve
        essere un indirizzo IP valido (IPv4 o IPv6); per -ip 8 deve essere un
        file contenente indirizzi IP (uno per riga).

-s SHODAN, --shodan SHODAN

	+ Opzioni SHODAN:
		+ 1: Ricerca IP;
		+ 2: Query di ricerca.

-S SHODAN_ARG, --shodanarg SHODAN_ARG

	+ Fornisce un argomento per l'opzione -s di SHODAN. Se "-s 1" allora -S deve
	essere un indirizzo IP; Se "-s 2" allora -S deve essere una query di ricerca (es.,
	"apache", "port:22 country:BR").

-ab ABUSEIPDB, --abuseipdb ABUSEIPDB

	+ Opzioni ABUSEIPDB:
		+ 1: Controlla la reputazione dell'IP.

-AB ABUSEIPDB_ARG, --abuseipdbarg ABUSEIPDB_ARG

	+ Fornisce un indirizzo IP per l'opzione -ab di ABUSEIPDB.

-gn GREYNOISE, --greynoise GREYNOISE

	+ Opzioni GREYNOISE:
		+ 1: Controllo rapido IP (API community).

-GN GREYNOISE_ARG, --greynoisearg GREYNOISE_ARG

	+ Fornisce un indirizzo IP per l'opzione -gn di GREYNOISE.

-wh WHOIS, --whois WHOIS

	+ Opzioni WHOIS:
		+ 1: Ricerca whois del dominio;
		+ 2: Ricerca whois/RDAP dell'IP.

-WH WHOIS_ARG, --whoisarg WHOIS_ARG

	+ Fornisce un argomento per l'opzione -wh di WHOIS. Se "-wh 1" allora -WH deve
	essere un nome di dominio; Se "-wh 2" allora -WH deve essere un indirizzo IP.

-ct CRTSH, --crtsh CRTSH

	+ Interroga i log di Certificate Transparency tramite crt.sh, che non
	richiede chiave API. Possibili valori:
		+ 1: elenca i nomi DNS distinti visti nei certificati emessi per
		il dominio indicato con -CT, che è un modo economico di enumerare
		i sottodomini. I nomi appartenenti ad altri domini, che compaiono perché un
		certificato può coprire più tenant, vengono conteggiati e riportati
		separatamente;
		+ 2: elenca i certificati stessi (identificatore, emittente, common
		name e date di validità, dal più recente al meno recente).

-CT CRTSH_ARG, --crtsharg CRTSH_ARG

	+ Fornisce il nome di dominio interrogato dall'opzione -ct.

-u URLSCANIO, --urlscanio URLSCANIO

	+ Opzioni URLSCAN.IO:
		+ 1: Invia un URL per la scansione;
		+ 2: Ottiene il risultato della scansione tramite UUID;
		+ 3: Cerca scansioni usando la sintassi delle query Elasticsearch
		(es., "page.server:nginx", "task.tags:phishing");
		+ 4: Cerca scansioni per dominio;
		+ 5: Cerca scansioni per IP.

-U URLSCANIO_ARG, --urlscanioarg URLSCANIO_ARG

	+ Fornisce un argomento per l'opzione -u di URLSCAN.IO. Se "-u 1" allora -U
	deve essere un URL da inviare per la scansione; Se "-u 2" allora -U deve essere un UUID
	(ottenuto da -u 1); Se "-u 3" allora -U deve essere una query Elasticsearch
	(es., "page.server:nginx", "task.tags:phishing"); Se "-u 4" allora -U
	deve essere un dominio; Se "-u 5" allora -U deve essere un indirizzo IP.

--correlate-hash HASH

	+ Correlazione hash tra servizi: interroga un hash su VirusTotal,
	Hybrid Analysis, Triage e AlienVault producendo un report consolidato.

--extract-iocs SOURCE

	+ Estrae IOC (hash, IP, URL, domini, email, CVE) da un file
	(.txt, .pdf, .eml) o URL (http/https).
	L'estrazione PDF richiede: pip install malwoverview[pdf]

--yara RULES_FILE

	+ File di regole YARA da usare per la scansione. Deve essere usato con --yara-target.
	Richiede: pip install malwoverview[yara]

--yara-target TARGET

	+ File o directory da scansionare con le regole YARA.

--peinfo TARGET

	+ Triage PE locale di un file o directory (senza chiave API): tipo di file, dimensione,
	overlay, dimensione dell'overlay ed entropia. Le directory vengono scansionate in modo ricorsivo.
	L'entropia è l'entropia di sezione PE più alta, oppure l'entropia Shannon
	dell'intero file per i file non PE.

--entropy-threshold VALUE

	+ Valore di entropia al quale --peinfo evidenzia un file come packed o
	cifrato. Predefinito: 7.0

--sigcheck TARGET

	+ Controlla la firma Authenticode di un file o directory (senza chiave API):
	stato, firmatario, emittente, date del certificato, algoritmo di digest, impronta
	del certificato e numero di serie. Lo stato è uno tra VALID, TAMPERED,
	UNTRUSTED, EXPIRED, MALFORMED, INVALID, NONE (nessuna firma incorporata),
	PRESENT (una firma è presente ma non è stata verificata) o N/A (non è un file
	PE). Vengono lette solo le firme incorporate: un file riportato come NONE può
	comunque essere firmato tramite un catalogo Windows.
	La verifica completa richiede: pip install malwoverview[signature]

	VALID significa che il file corrisponde ancora al certificato con cui è stato firmato.
	Non è un verdetto sul file: i certificati di firma vengono rubati,
	abusati ed emessi per errore, e il malware ha portato firme Microsoft
	valide. Una firma incorporata è memorizzata nell'overlay, quindi un file
	firmato ne riporta sempre una e quell'overlay non è un payload aggiunto.

	La revoca del certificato non viene controllata. Non viene effettuata alcuna richiesta di rete, quindi un
	file firmato con un certificato revocato successivamente riporta comunque
	VALID.

	Una firma rimane VALID dopo la scadenza del suo certificato quando contiene una
	controfirma, perché la controfirma prova che il file è stato
	firmato mentre il certificato era ancora valido. È così che Authenticode
	è pensato per funzionare, e il report lo dice quando accade: una data di
	scadenza nel passato accanto a VALID non è una contraddizione.

	Un file può contenere più di una firma incorporata, di solito SHA-1 per
	compatibilità più SHA-256, e i firmatari spesso differiscono. La
	colonna Signer mostra uno di essi e contrassegna gli altri come (+N); eseguendo
	--sigcheck su un singolo file vengono elencate tutte le firme con il proprio algoritmo
	di digest, certificato, impronta e numero di serie.

--no-signature

	+ Salta la verifica della firma in --peinfo e --sigcheck, riportando
	solo se una firma è presente. Utile su directory di grandi dimensioni.

--sig-verify-mode MODE

	+ Quale firma incorporata decide lo stato di un file con più firme:
	any, first, all o best. Predefinito: best

	best segue la firma realizzata con l'algoritmo di digest più forte,
	che è quello onorato da Windows. first segue l'ordine del file, come
	sigcheck.exe. all richiede che ogni firma venga verificata, e any accetta
	il file quando anche una sola lo fa. La scelta è importante: su 517
	driver con più firme, 37 cambiano stato a seconda di questa impostazione, e
	any riporta VALID su 21 file che first rifiuta.

--attack-map

	+ Abilita la mappatura delle tecniche MITRE ATT&CK per i report di comportamento.

OPZIONI GENERALI: Opzioni per formato di output, proxy, cache e verbosità

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

	+ Formato di output: text (predefinito, terminale colorato), json o csv.

--proxy URL

	+ URL proxy HTTP/HTTPS/SOCKS5 (es., socks5://127.0.0.1:9050).

--quiet

	+ Sopprime il banner e l'output estetico.

--verbose

	+ Mostra informazioni di debug (URL delle richieste, tempi, ecc.).

--no-cache

	+ Disabilita la memorizzazione nella cache dei risultati.

--cache-ttl SECONDS

	+ Tempo di vita della cache in secondi (predefinito: 3600).

--cache-stats

	+ Mostra la posizione della cache locale dei risultati, quante voci contiene, quante
	di esse sono scadute con il --cache-ttl corrente, e la sua dimensione su disco.
	Poi esce.

--prune-cache

	+ Elimina solo le voci scadute dalla cache locale dei risultati (in base a
	--cache-ttl) ed esce.

--clear-cache

	+ Elimina ogni voce dalla cache locale dei risultati ed esce.

--no-resolve

	+ Non risolve o geolocalizza i nomi host trovati nei risultati. Elencare un
	feed (ad esempio gli elenchi di payload e tag di URLHaus) normalmente fa sì che il tuo
	host risolva ogni URL che mostra, il che dice all'operatore di quella
	infrastruttura che sta venendo indagata. Con questa opzione la colonna
	posizione mostra "Not Resolved" invece.

--defang

	+ Stampa gli IOC elencati da --extract-iocs in forma defangata
	(hxxp://example[.]com), così possono essere copiati in un report o in un ticket
	senza diventare cliccabili. Si applica solo a quell'elenco e modifica
	solo l'output: le query vengono comunque effettuate con i valori reali.

--no-ioc-filter

	+ Disattiva il filtraggio del rumore che --extract-iocs applica per impostazione predefinita.
	Normalmente in una pagina HTML i blocchi <script>, <style> e <svg> vengono saltati,
	un dominio viene riportato solo quando la sua ultima etichetta è un dominio di primo livello reale,
	e i link di ritorno al sito di origine o a elementi noti della pagina (analytics,
	font, pulsanti social) vengono scartati. Con questa opzione viene riportata invece ogni corrispondenza regex
	nella sorgente grezza.

--report html|pdf

	+ Genera un report nel formato specificato.
	L'esportazione PDF richiede: pip install malwoverview[pdf]

--report-file PATH

	+ Percorso di output per il report generato.

--interactive

	+ Avvia la modalità REPL interattiva.

--tui

	+ Avvia la modalità dashboard TUI (Text User Interface) con selettore di servizi,
	input di query e pannello risultati scorrevole. Richiede: pip install malwoverview[tui]

--enrich

	+ Abilita l'arricchimento LLM dei risultati. Aggiunge una valutazione delle minacce generata dall'IA
	dopo ogni risultato di query. Funziona con tutti i tipi di query, inclusi lookup di hash di malware,
	controlli di reputazione IP, ricerche CVE (NIST e VulnCheck) e
	correlazione tra servizi. Usa il provider configurato nella sezione [LLM] di .malwapi.conf,
	oppure sovrascritto con --llm. Provider supportati:
	  - claude:  API Anthropic Claude (qualità migliore, a pagamento)
	  - gemini:  API Google Gemini (richiede fatturazione)
	  - openai:  API OpenAI (a pagamento, modelli GPT)
	  - ollama:  Istanza Ollama locale (gratuita, privata)

--llm PROVIDER

	+ Sovrascrive il provider LLM per l'arricchimento (usare con --enrich).
	  Esempi:
	    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

OPZIONI DI VULNERABILITÀ: Opzioni di interrogazione dei database di vulnerabilità

root@kitploit:~
  NIST CVE Database Query:
  Opzioni di interrogazione per il database NIST CVE (tipo di query e valore sono obbligatori; le altre opzioni sono facoltative)

  --nist NIST_OPTION,   Tipo di query: 1=Ricerca CPE/Prodotto, 2=Ricerca ID CVE, 
                        3=Severità CVSS v3, 4=Ricerca per parola chiave, 5=Ricerca ID CWE
  --NIST NIST_ARG       Valore di ricerca (il formato dipende dal tipo di query)
  --time YEARS          Limita i risultati agli ultimi N anni
  --rpp NUM             Risultati per pagina (predefinito: 100, max: 2000)
  --startindex NUM      Indice di inizio paginazione (predefinito: 0)
  --ncves NUM           Limita l'output ai primi N CVE

  VulnCheck Database Query:
  Opzioni di interrogazione per il database di vulnerabilità VulnCheck (livello Community/Gratuito)

-vc VULNCHECK_OPTION, --vulncheck VULNCHECK_OPTION

	+ Tipo di query: 1: Elenca gli indici disponibili; 
	2: Ottieni KEV (Known Exploited Vulnerabilities); 
	3: Cerca CVE nel KEV; 
	4: Ottieni il link di backup del KEV; 
	5: Elenca i CVE MITRE; 
	6: Elenca i CVE NIST NVD2; 
	7: Cerca CVE in MITRE; 
	8: Cerca CVE in NIST NVD2.

-VC VULNCHECK_ARG, --VULNCHECK VULNCHECK_ARG

	+ Valore di ricerca (ID CVE per le opzioni 3/7/8, numero massimo di risultati per le opzioni
	2/5/6, es., 50).

SOTTOCOMANDI

A partire dalla versione 8.0, Malwoverview supporta una sintassi alternativa a sottocomandi accanto alla tradizionale sintassi basata su flag. Entrambe le sintassi sono pienamente supportate e producono risultati identici.

Sottocomandi disponibili:

root@kitploit:~
  vt          Operazioni VirusTotal (file, av, hash, url, ip, domain, submit, behavior, batch)
  ha          Operazioni Hybrid Analysis (report, submit, download, batch, dir)
  bazaar      Operazioni Malware Bazaar (hash, tag, download, batch, dir)
  triage      Operazioni Triage (search, summary, submit, dynamic, batch, dir)
  urlhaus     Operazioni URLHaus (hash, url, tag, download, batch)
  ip          Ricerche di indirizzi IP (info, shodan, abuse, greynoise, all, batch)
  whois       Ricerche Whois/RDAP (domain, ip)
  shodan      Operazioni Shodan (ip, search)
  correlate   Correlazione tra servizi (hash)
  extract     Estrazione IOC da file o URL
  yara        Scansione con regole YARA
  nist        Query sul database NIST CVE
  vulncheck   Query sul database VulnCheck

Esempi di sottocomandi (equivalenti alla sintassi basata su flag):

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

Usare --help con qualsiasi sottocomando per i dettagli:

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

ESEMPI

OPZIONI MALWARE:malwoverview -d /home/remnux/malware/windows_2/

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

  # Cache locale dei risultati
  malwoverview --cache-stats
  malwoverview --prune-cache
  malwoverview --clear-cache

  # Scarica il set di regole YARAify e scansiona con esso (-b 15 estrae in
  # <output directory>/yaraify-rules, quindi usa la stessa -O per entrambi i passaggi)
  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/

  # Set di regole Malpedia (-m 9 salva malpedia_yara_<level>.zip; estrailo prima)
  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/

  # Arricchimento LLM (aggiunge una valutazione AI della minaccia a qualsiasi query)
  malwoverview -v 8 -V <hash> --enrich                    # usa il provider dalla configurazione
  malwoverview -v 8 -V <hash> --enrich --llm claude       # override: usa Claude
  malwoverview -v 8 -V <hash> --enrich --llm ollama       # override: usa Ollama
  malwoverview -v 8 -V <hash> --enrich --llm openai       # override: usa OpenAI
  malwoverview -ip 1 -IP 8.8.8.8 --enrich
  malwoverview --correlate-hash <hash> --enrich
  malwoverview --nist 2 --NIST CVE-2024-3400 --enrich     # Arricchimento CVE (NIST)
  malwoverview -vc 3 -VC CVE-2024-3400 --enrich           # Arricchimento CVE (VulnCheck)
  malwoverview --nist 4 --NIST palo alto --enrich          # ricerca per parole chiave + arricchimento

SINTASSI DEI SOTTOCOMANDI (alternativa alle opzioni):

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

  # Ricerche IP
  malwoverview ip info 8.8.8.8
  malwoverview ip shodan 8.8.8.8
  malwoverview ip abuse 185.220.100.243
  malwoverview ip greynoise 185.220.100.243
  malwoverview ip all 8.8.8.8

  # Shodan (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

  # Correlazione tra servizi
  malwoverview correlate hash ab4d6a82cafc92825a0b88183325855f0c44920da970b42c949d5d5ffdcc0585

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

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

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

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

  # Sottocomandi combinati con opzioni globali
  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

MODALITÀ INTERATTIVA (--interactive):

root@kitploit:~
  malwoverview --interactive

  # All'interno del prompt (digita "help" per l'elenco completo):
  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          # il percorso di esportazione deve trovarsi nella directory corrente

MODALITÀ TUI (--tui):

root@kitploit:~
  malwoverview --tui

  # Scegli un servizio nel pannello di sinistra, digita la query e premi Invio.
  # F3 copia il risultato, F4 ne estrae un ID, F5 esporta i risultati
  # raccolti in json, F6 li esporta in csv, Ctrl+L pulisce.
  # Ctrl+V (o Shift+Insert) incolla gli appunti nella casella di query da
  # qualsiasi punto della dashboard, quindi un hash può essere incollato
  # senza prima fare clic nella casella.
  # L'elenco dei tasti viene stampato sopra i risultati e riscritto ogni
  # volta che il pannello viene pulito, inclusa l'inizio di ogni ricerca.
  # Mentre la casella di query ha il focus, l'uscita è Ctrl+Q, perché Q
  # deve rimanere digitabile.

OPZIONI PER LE VULNERABILITÀ:

root@kitploit:~
  # Cerca vulnerabilità Windows
  malwoverview --nist 1 --NIST "windows" --ncves 50

  # Cerca vulnerabilità Apache
  malwoverview --nist 1 --NIST "apache" --ncves 30

  # Cerca vulnerabilità Chrome
  malwoverview --nist 1 --NIST "chrome" --ncves 25

  # Cerca vulnerabilità Chromium
  malwoverview --nist 1 --NIST "chromium" --ncves 25

  # Cerca vulnerabilità Linux
  malwoverview --nist 1 --NIST "linux" --ncves 25

  # Cerca vulnerabilità MacOS
  malwoverview --nist 1 --NIST "MacOS" --ncves 25

  # Cerca la vulnerabilità Log4Shell
  malwoverview --nist 2 --NIST "CVE-2021-44228" 

  # Cerca la vulnerabilità ProxyShell
  malwoverview --nist 2 --NIST "CVE-2021-34473" 

  # Cerca la vulnerabilità Spring4Shell
  malwoverview --nist 2 --NIST "CVE-2022-22965" 

  # Cerca vulnerabilità con gravità CRITICA
  malwoverview --nist 3 --NIST "CRITICAL" --ncves 50

  # Cerca vulnerabilità con gravità ALTA
  malwoverview --nist 3 --NIST "HIGH" --ncves 40

  # Cerca vulnerabilità con gravità MEDIA
  malwoverview --nist 3 --NIST "MEDIUM" --ncves 30

  # Cerca vulnerabilità di bypass dell'autenticazione
  malwoverview --nist 4 --NIST "authentication bypass" --ncves 30

  # Cerca vulnerabilità di esecuzione di codice remoto (RCE)
  malwoverview --nist 4 --NIST "remote code execution" --ncves 50

  # Cerca vulnerabilità di SQL injection
  malwoverview --nist 4 --NIST "sql injection" --ncves 25

  # Cerca vulnerabilità di path traversal (CWE-22)
  malwoverview --nist 5 --NIST "CWE-22" --ncves 30

  # Cerca vulnerabilità di SQL injection (CWE-89)
  malwoverview --nist 5 --NIST "CWE-89" ---ncves 40

  # Cerca vulnerabilità di cross-site scripting (CWE-79)
  malwoverview --nist 5 --NIST "CWE-79" --ncves 35

  # Elenca gli indici VulnCheck disponibili (livello Community/Gratuito)
  malwoverview -vc 1

  # Ottieni le Known Exploited Vulnerabilities (KEV) - 30 risultati
  malwoverview -vc 2 -VC 30

  # Ottieni le Known Exploited Vulnerabilities (KEV) - 100 risultati
  malwoverview -vc 2 -VC 100

  # Cerca un CVE specifico nel database KEV
  malwoverview -vc 3 -VC CVE-2021-44228

  # Cerca un CVE specifico nel database KEV 
  malwoverview -vc 3 -VC CVE-2022-22965

  # Ottieni il link di download di backup per il dataset KEV di VulnCheck
  malwoverview -vc 4

  # Elenca i CVE recenti dal database MITRE
  malwoverview -vc 5

  # Elenca i CVE recenti dal database MITRE - 20 risultati
  malwoverview -vc 5 -VC 20

  # Elenca i CVE recenti dal database NIST NVD2
  malwoverview -vc 6

  # Elenca i CVE recenti dal database NIST NVD2 - 50 risultati
  malwoverview -vc 6 -VC 50

  # Cerca un CVE specifico nel database MITRE (record CVE ufficiali)
  malwoverview -vc 7 -VC CVE-2024-21412

  # Cerca un CVE specifico in NIST NVD2 (punteggi CVSS, CWE, stato CISA KEV)
  malwoverview -vc 8 -VC CVE-2024-21412

COSA C'È DI NUOVO NELLA 8.1.0, CON ESEMPITutto ciò che questa versione aggiunge o modifica, come comandi che puoi eseguire. La versione narrativa dello stesso elenco è il blocco 8.1.0 in CRONOLOGIA, più sotto.

1. Opzioni che hanno cambiato numero (leggi prima questo)

L'unica modifica che rompe la compatibilità. Le cinque opzioni di download di Hybrid Analysis facevano la stessa cosa, quindi sono state unificate in una sola e le due opzioni successive sono state spostate più in basso:

root@kitploit:~
  # Scarica un campione da Hybrid Analysis (era -a 11, -a 12, -a 13, -a 14 o -a 15)
  malwoverview -a 11 -A 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979

  # Controllo batch di hash da un file            (era -a 16)
  malwoverview -a 12 -A /home/remnux/malware/hashes.txt

  # Scansiona ogni file in una directory          (era -a 17)
  malwoverview -a 13 -A /home/remnux/malware/samples/

Tutte le altre opzioni hanno mantenuto il proprio numero. Tutti i nuovi numeri sono additivi.

2. Analisi locale senza chiave API e senza richiesta di rete

root@kitploit:~
  # Triage di una directory: tipo, dimensione, overlay, dimensione overlay, entropia, firma
  malwoverview --peinfo /home/remnux/malware/samples/

  # Abbassa la soglia per ciò che è considerato packed o cifrato (predefinito 7.0)
  malwoverview --peinfo /home/remnux/malware/samples/ --entropy-threshold 6.5

  # Salta la verifica della firma su una scansione ampia
  malwoverview --peinfo /home/remnux/malware/samples/ --no-signature

  # YARA ora accetta un'intera directory di regole, scansionata in modo ricorsivo
  malwoverview --yara /home/remnux/rules/ --yara-target /home/remnux/malware/samples/

3. Authenticode: è firmato e la firma è valida?

root@kitploit:~
  # Un file: stato, firmatario, emittente, date del certificato, impronta, seriale
  malwoverview --sigcheck /home/remnux/malware/suspicious.exe

  # Un'intera directory, una riga per file
  malwoverview --sigcheck /home/remnux/malware/samples/

Un file può contenere più firme incorporate — di solito SHA-1 per compatibilità più SHA-256 — e i firmatari sono spesso diversi. La tabella segna quelle extra come (+N); esegui il formato a file singolo per elencarle tutte. Quale firma determina lo stato è selezionabile:

root@kitploit:~
  # Il digest più forte decide (predefinito, e ciò che Windows onora)
  malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode best

  # La prima nell'ordine del file decide (ciò che riporta sigcheck.exe)
  malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode first

  # Ogni firma deve essere verificata (il più rigoroso)
  malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode all

  # Basta che una qualsiasi firma verifichi (il più permissivo)
  malwoverview --sigcheck /home/remnux/malware/driver.sys --sig-verify-mode any

Anche i dati di firma di VirusTotal vengono ora mostrati, quindi una ricerca per hash riporta la catena del firmatario, la data di firma e ogni impronta del certificato:

root@kitploit:~
  # Blocco firma da VirusTotal, per hash
  malwoverview -v 8 -V 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979

  # Stesso blocco quando si controlla un file locale
  malwoverview -v 1 -V /home/remnux/malware/suspicious.exe

4. Certificate Transparency tramite crt.sh (senza chiave API)

root@kitploit:~
  # Nomi DNS distinti trovati nei certificati emessi per un dominio
  malwoverview -ct 1 -CT example.com

  # I certificati stessi: identificatore, emittente, nome comune, validità
  malwoverview -ct 2 -CT example.com

5. VirusTotal Retrohunt e Livehunt (richiede una chiave enterprise)

root@kitploit:~
  # Invia un job Retrohunt da un file di regole o da una directory di regole
  malwoverview -v 14 -V /home/remnux/rules/hunting.yar

  # Elenca i tuoi job Retrohunt, opzionalmente filtrati per stato
  malwoverview -v 15
  malwoverview -v 15 -V finished

  # Stato e avanzamento di un job, poi i file che ha trovato
  malwoverview -v 16 -V 1234abcd-5678-90ef-1234-567890abcdef
  malwoverview -v 17 -V 1234abcd-5678-90ef-1234-567890abcdef

  # Crea un ruleset Livehunt, elenca i tuoi ruleset, elenca le notifiche
  malwoverview -v 18 -V /home/remnux/rules/livehunt.yar
  malwoverview -v 19
  malwoverview -v 20

6. Altri posti dove trovare regole YARA e come fare pivot su di esse

Una ricerca per hash ora elenca le regole YARA che hanno trovato corrispondenza con il campione; è da lì che viene il nome della regola per il comando successivo:

root@kitploit:~
  # 1. cerca un campione: il rapporto termina con le regole che hanno trovato corrispondenza
  malwoverview -b 1 -B 3b89db05cd1e6283a5d23e32eb6a6c17d92953c80c93befa194a0c93a633c1b5

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

  # 2. prendi uno di quei nomi e recupera ogni altro campione che ha trovato
  malwoverview -b 13 -B ELF_Mirai

I nomi delle regole si trovano anche nei ruleset stessi, che possono essere scaricati e letti localmente:

root@kitploit:~
  # Scarica il ruleset YARAify da abuse.ch, poi estrailo.
  # Entrambi usano -O per la directory di lavoro; -b 15 trova l'archivio lì.
  malwoverview -b 14 -O /home/remnux/rules/
  malwoverview -b 15 -O /home/remnux/rules/

L'archivio viene salvato come /home/remnux/rules/yaraify-rules.zip e viene estratto in /home/remnux/rules/yaraify-rules/, un file .yar per regola. Quella directory è il target di --yara, e i nomi dei suoi file sono i nomi delle regole:

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

Un ruleset raccolto da molti autori non compilerà in modo pulito con ogni versione di YARA. I file con errori di sintassi vengono elencati e saltati, e la scansione procede con il resto: un'esecuzione del set sopra ha compilato 548 file su 557.

root@kitploit:~
  # Il ruleset YARA completo di Malpedia per un livello TLP
  malwoverview -m 9 -M white

7. Opzioni che erano rotte e ora funzionano

root@kitploit:~
  # -m 1 restituiva l'elenco delle famiglie; ora restituisce le meta-informazioni della famiglia
  malwoverview -m 1

  # -l 6 elenca i tipi di file visti nelle ultime 24 ore, -l 8 ne elenca uno
  malwoverview -l 6
  malwoverview -l 8 -L PE32

  # -ip 3 e -ip 7 erano identiche; -ip 3 è VirusTotal + OTX,
  # -ip 7 interroga ogni servizio configurato (IPInfo non veniva mai raggiunto)
  malwoverview -ip 3 -IP 8.8.8.8
  malwoverview -ip 7 -IP 8.8.8.8

  # -j 8 (controllo batch di hash URLHaus) era irraggiungibile
  malwoverview -j 8 -J /home/remnux/malware/hashes.txt

8. Output leggibile da macchina per ogni opzione

json e csv ora funzionano in tutto lo strumento invece che in un terzo di esso:

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

  # L'arricchimento LLM raggiunge anche json e csv, come record tipizzato
  malwoverview -v 8 -V 495c7e5513fa7766c236e76d8520139139fc4ad7203ddcb2ccdae17bdb691979 --enrich --output-format json

9. Mantenere silenziosa una ricerca e rendere l'output sicuro da incollare

root@kitploit:~
  # Non risolvere in indirizzi IP i nomi host controllati dall'attaccante
  malwoverview -j 2 -J http://malicious.example.com/payload.bin --no-resolve

  # Defang gli IOC estratti così che l'elenco possa essere incollato in un ticket
  malwoverview --extract-iocs /home/remnux/malware/report.txt --defang

  # La sorgente può essere anche un URL, quindi un rapporto pubblicato può essere letto e
  # i suoi IOC neutralizzati in un solo passaggio
  malwoverview --extract-iocs https://example.com/threat-report.html --defang

  # Un blog di un vendor è per lo più navigazione, analytics e JavaScript minimizzato, quindi
  # l'estrattore salta <script>, <style> e <svg>, rimuove i link di ritorno al
  # sito sorgente e agli elementi noti della pagina, e riporta solo un dominio il cui
  # ultimo label è un vero dominio di primo livello
  malwoverview --extract-iocs https://www.fortinet.com/blog/threat-research/dprk-related-campaigns-with-lnk-and-github-c2

  # Disattiva tutto questo e riporta ogni corrispondenza regex nella sorgente grezza
  malwoverview --extract-iocs https://example.com/threat-report.html --no-ioc-filter

10. Controllo della cache

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

11. Entrambe le superfici interattive raggiungono ogni servizio

root@kitploit:~
  # REPL da riga di comando
  malwoverview --interactive

  # Dashboard a schermo intero: 111 servizi, Ctrl+V incolla, F5 esporta json,
  # F6 esporta csv
  malwoverview --tui

COSA C'È DI NUOVO DALLA 8.0.0 ALLA 8.0.5, CON ESEMPI

La 8.0.0 ha aggiunto molto tutto in una volta, quindi i comandi sono raggruppati qui in base al loro scopo piuttosto che al numero di opzione. Le versioni dalla 8.0.1 alla 8.0.5 erano per lo più correzioni e si trovano alla fine. Dove la 8.1.0 ha poi cambiato un numero di opzione, il comando qui sotto usa il numero attuale e indica cosa era prima.

1. Cinque nuovi servizi

root@kitploit:~
  # URLScan.io (-u): invia un URL, recupera un risultato per id, cerca,
  # poi cerca un dominio o un 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): un singolo IP, o una query di ricerca
  malwoverview -s 1 -S 8.8.8.8
  malwoverview -s 2 -S "apache"

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

  # GreyNoise (-gn): rumore di fondo di internet, o mirato a te?
  malwoverview -gn 1 -GN 185.220.100.243

  # Whois / RDAP (-wh): un dominio, poi un IP
  malwoverview -wh 1 -WH example.com
  malwoverview -wh 2 -WH 8.8.8.8

I nuovi servizi IP sono raggiungibili anche da -ip, quindi un singolo indirizzo può essere esaminato servizio per servizio, oppure attraverso tutti in una volta:

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 hash attraverso più servizi in un singolo comando

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

3. Controlli batch di hash e scansioni di directory

root@kitploit:~
  # Malware Bazaar: un file di hash, poi una directory di campioni
  malwoverview -b 11 -B /home/remnux/malware/hash_list.txt
  malwoverview -b 12 -B /home/remnux/malware/samples/

  # Hybrid Analysis (la 8.0.0 le numerava -a 16 e -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. Estrazione di IOC e scansione YARA

root@kitploit:~
  # Estrai hash, IP, URL, domini, email e CVE da un rapporto
  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

  # Scansiona campioni con regole YARA
  malwoverview --yara /home/remnux/rules/malware.yar --yara-target /home/remnux/malware/samples/

5. Arricchimento LLM di qualsiasi risultato

root@kitploit:~
  # Provider preso dalla sezione [LLM] di .malwapi.conf
  malwoverview -v 8 -V <hash> --enrich

  # Sovrascrivilo per esecuzione: claude, gemini, openai o ollama
  malwoverview -v 8 -V <hash> --enrich --llm claude
  malwoverview --nist 2 --NIST CVE-2024-3400 --enrich --llm gemini

6. Output strutturato, rapporti e 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 e 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. Due superfici interattive

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

9. Cosa hanno corretto le versioni dalla 8.0.1 alla 8.0.5, come comandi

root@kitploit:~
  # 8.0.1: queste accettano di nuovo un percorso file, non solo un 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: controllo batch IP su VirusTotal, prima API Premium poi Pubblica
  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: le scansioni Android funzionano di nuovo sui dispositivi attuali, con hash SHA256
  malwoverview -y 1
  malwoverview -y 2

  # 8.0.3 e 8.0.4: l'arricchimento di Claude funziona di nuovo e viene reso con il colore
  malwoverview -v 8 -V <hash> --enrich --llm claude

  # 8.0.5: overlay ed entropia nel controllo di directory e nel rapporto hash
  malwoverview -d /home/remnux/malware/samples/
  malwoverview -v 8 -V <hash>

CRONOLOGIA

Versione 8.1.0:

root@kitploit:~
  Questa versione aggiunge la caccia con YARA e il triage PE locale, ripara opzioni
  che non facevano ciò che dichiaravano e include una serie di correzioni di
  sicurezza.

  ATTENZIONE: due opzioni hanno cambiato numero. Le cinque opzioni di download
  di Hybrid Analysis (-a 11 fino a -a 15) sono ora una singola opzione, -a 11. Il controllo batch
  di hash è passato a -a 12 (era -a 16) e la scansione di directory a -a 13 (era
  -a 17). Nessun'altra opzione ha cambiato numero.

  NUOVE OPZIONI

        * --sigcheck: verifica della firma Authenticode di un file o di una
          directory, senza chiave API e senza richiesta di rete. Riporta VALID,
          TAMPERED, UNTRUSTED, EXPIRED, MALFORMED, INVALID, NONE o N/A con
          firmatario, emittente e date del certificato. Ogni firma incorporata
          è elencata, ciascuna con il proprio algoritmo di digest, impronta e
          numero di serie. La verifica richiede
          pip install malwoverview[signature]; senza, lo stato è
          PRESENT or NONE.

        * --sig-verify-mode any|first|all|best: quale firma determina lo stato
          di un file con più firme. Predefinito: best.

        * --no-signature: salta la verifica della firma su directory grandi.

        * --peinfo e --entropy-threshold: triage PE locale di un file o di una
          directory, che elenca tipo di file, dimensione, overlay, dimensione
          overlay, entropia e stato della firma, evidenziando i file uguali o
          sopra la soglia (predefinita 7.0). Ricorsivo, nessuna chiave API.

        * -ct 1|2 e -CT: Certificate Transparency tramite crt.sh, nessuna chiave
          API. -ct 1 elenca i nomi DNS trovati nei certificati emessi per un
          dominio, -ct 2 elenca i certificati.

        * -v 14 fino a -v 20: VirusTotal Retrohunt e Livehunt. Invia un job,
          elenca i job, segui un job, elenca i file corrispondenti, crea un
          ruleset, elenca i ruleset e elenca le notifiche. Richiede una chiave
          premium.

        * -b 13, -b 14 e -b 15: ricerca su Malware Bazaar per nome di regola
          YARA, e download ed estrazione del ruleset YARAify.

        * -m 9: download del ruleset YARA di Malpedia per un livello TLP.

        * -l 8: elenca gli hash di un tipo di file MalShare fornito con -L.

        * -j 8: controllo batch di hash URLHaus, che nessuna opzione raggiungeva
          prima.

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

        * --no-resolve: non risolve né geolocalizza i nomi host mostrati da
          -j 2 e -j 3.

        * --defang: stampa gli IOC elencati da --extract-iocs come
          hxxp://example[.]com. Solo output.

        * --no-ioc-filter: disattiva il filtraggio del rumore di --extract-iocs
          e riporta ogni corrispondenza regex nella sorgente grezza.

        * --yara ora accetta una directory di regole, ogni file compilato nel
          proprio namespace. Un file che non compila viene segnalato e saltato.

  OPZIONI RIPARATE

        * -m 1 chiamava lo stesso endpoint di -m 5. Ora recupera le meta-
          informazioni della famiglia e accetta un filtro opzionale con -M.

        * -l 6 era etichettata "Composite(OLE)" e elencava campioni PDF. Ora
          elenca i tipi di file visti nelle ultime 24 ore con un conteggio.

        * -ip 3 e -ip 7 producevano un output identico. -ip 3 ora interroga solo
          VirusTotal e AlienVault; -ip 7 interroga ogni servizio rimanente,
          incluso IPInfo.

        * -l 1 scriveva un file di zero byte per ogni campione e riportava un
          successo. Ora i redirect vengono seguiti e un corpo vuoto viene
          rifiutato.

        * -a 6 fino a -a 10 e -y 4 fallivano sempre con "Requested URI - Not
          Found". Le richieste a Hybrid Analysis non passano più dall'host www,
          il cui redirect eliminava l'upload.

        * -b 14 rispondeva HTTP 301. Il ruleset viene scaricato dall'indirizzo
          funzionante con l'Auth-Key di abuse.ch.

        * -v 20 legge le notifiche Livehunt dall'endpoint
          hunting_notification_files, che contiene lo sha256.

        * -b 6, -m 4 e le altre opzioni che consumano un argomento ora lo
          richiedono. Otto di esse si fermavano con un TypeError grezzo quando
          veniva omesso.

        * -A ora accetta un percorso Windows nativo (-a 1 fino a -a 5), che
          prima veniva rifiutato con "Input contains invalid characters".

        * --report html, --report pdf e --enrich ora funzionano con
          --correlate-hash, --extract-iocs e --yara, che prima non producevano
          alcun rapporto.

        * I download di campioni e regole Malpedia non terminano più il programma
          prima del rapporto e dell'esportazione json/csv.

        * La forma validata di ogni argomento è ora quella usata. Un URL scritto
          come hxxp://example[.]com veniva inviato al servizio ancora defanged,
          e percorsi come ~/samples non venivano espansi.

        * -ip 2 (BGPView) è stata rimossa: il suo dominio non risolve più. Il
          numero è mantenuto e riporta la rimozione, indicando -ip 1 e -ip 7.
          Nessun altro numero -ip è cambiato.

        * --defang è documentato come applicabile solo a --extract-iocs, che è
          l'unica opzione che lo legge.

  NUOVO COMPORTAMENTO

        * -y 1, -y 2 e -y 3 calcolano l'hash di ogni APK di un pacchetto invece
          della sola APK base. Sul dispositivo di test una scansione è passata
          da 35 a 79 APK. -y 4 e -y 5 segnalano quando il pacchetto selezionato
          è una split APK.

        * -b 1 elenca le regole YARA che hanno trovato corrispondenza con il
          campione, così un nome può essere passato a -b 13.

        * -v 1 e -v 8 mostrano il blocco firma che VirusTotal già restituiva:
          se la verifica è riuscita, le catene del firmatario e del
          controfirmatario, la data di firma e ogni certificato con stato,
          algoritmo, date, numero di serie e impronta.

        * --sigcheck e --peinfo riportano impronta del certificato, numero di
          serie e algoritmo di digest, nel rapporto e in json e csv.

        * --extract-iocs non riporta più il codice della pagina web stessa. Su
          un blog di un vendor restituiva 855 IOC, 743 dei quali "domini"
          prodotti da JavaScript minimizzato. I blocchi script, style, svg e
          noscript vengono saltati, un dominio viene riportato solo quando la
          sua ultima etichetta è un vero dominio di primo livello, e i link di
          ritorno al sito sorgente e agli elementi di pagina vengono rimossi:
          855 IOC sono diventati 16, mantenendo ogni hash di campione e gli URL
          di comando e controllo. La soppressione viene contata e riportata.
          I servizi di hosting di codice, paste e messaggistica non vengono mai
          soppressi.* --extract-iocs indica l'host e il tipo di guasto quando un recupero
          fallisce, invece di stampare l'eccezione urllib3 grezza.

        * Un 404 di GreyNoise Community viene riportato per quello che è, cioè che
          l'indirizzo non è uno scanner Internet, invece di un errore.

        * Un errore di rete non arriva più all'utente come traceback Python.
          43 blocchi try catturavano solo ValueError, quindi un errore di connessione
          sfuggiva senza essere catturato. L'host riportato viene preso dall'URL analizzato, mai
          dal testo dell'eccezione.

        * Un errore TLS viene spiegato: un handshake che si completa e poi
          si chiude, un certificato che non supera la verifica, una porta che risponde
          senza TLS e un handshake rifiutato hanno ciascuno la propria riga. Il
          testo dell'eccezione viene letto ma mai stampato.

        * crt.sh usa una politica di retry paziente (5 tentativi, backoff di 2 secondi)
          perché risponde alla stessa URL con 200, 404 o 502 a distanza di secondi.
          Ogni altro servizio mantiene la politica precedente.

        * L'HTTP 429 viene ora ritentato, al massimo tre volte, rispettando entrambe le forme
          di Retry-After e senza mai attendere più di 300 secondi. Il caricamento
          dei campioni non viene ritentato.

        * Il calcolo dell'entropia legge il file a blocchi invece di caricarlo
          interamente. Il valore riportato non cambia.

        * Lo scanner YARA non cambia più la directory di lavoro del
          processo durante la compilazione delle regole.

        * La corrispondenza di --attack-map è esatta invece di una ricerca per sottostringa, che
          aveva attribuito tecniche non correlate (un tag vuoto corrispondeva a tutte le 691).
          È estesa ai report di Hybrid Analysis e a --correlate-hash.

        * A --enrich vengono inviati i record raccolti invece del testo estratto
          dal terminale, e ora funziona con --output-format json e csv,
          dove prima veniva ignorato silenziosamente.

        * Ogni opzione ora produce record per --output-format json e csv.
          Solo un terzo di esse lo faceva.

        * I risultati di MalShare sono inclusi in json e csv.

        * Le sezioni [INQUEST] e [VIRUSEXCHANGE] sono state rimosse da
          .malwapi.conf e dal codice che le gestiva.

        * La versione minima di Python è la 3.10 e i classificatori dichiarano
          dalla 3.10 alla 3.13.

  MODALITÀ INTERATTIVE E GRAFICHE

        * --interactive acquisisce tutti i comandi che prima avevano solo la riga di comando:
          i report VirusTotal, gli upload, il report del comportamento, il controllo batch,
          Retrohunt e Livehunt; l'imphash di Malware Bazaar, il download,
          batch, directory, ricerca regole YARA e set di regole YARAify; il
          download dei payload URLHaus, ricerca firme, lista payload, controllo
          batch e feed; le submission Triage, download, report dinamico,
          controlli batch e directory; la meta famiglia Malpedia, lista payload
          e set di regole; gli elenchi dei tipi di file MalShare; la
          submission Hybrid Analysis, controlli batch e directory; la lista famiglie ThreatFox;
          le query IP batch e multi-servizio; e crtsh, android, yara,
          iocs e cache. ATT&CK si attiva con "set attack on|off".

        * --tui è stato ricostruito sul codice del modulo usato dalla riga di comando
          invece della propria copia di ogni chiamata di servizio: 3013 righe sono diventate
          818 e l'elenco dei servizi è passato da 37 a 111 voci. I risultati
          si esportano con F5 (json) e F6 (csv), che non supportava
          affatto.

        * L'incolla di --tui è stato corretto. Un hash incollato prima di fare clic nella
          casella di query veniva scartato senza un messaggio, perché solo il widget
          focalizzato riceve un incolla e la dashboard inizia sulla lista dei
          servizi. L'incolla ora viene catturato per l'intera finestra.

        * --tui acquisisce Ctrl+V e Shift+Insert, che leggono gli appunti
          direttamente per i terminali che non inviano mai un incolla. Non è necessario
          alcun pacchetto di terze parti.

        * L'elenco dei tasti di --tui viene riscritto ogni volta che il pannello dei risultati viene
          cancellato ed è costruito dalle associazioni dei tasti stesse. La barra dei tasti
          mantiene Quit (come Ctrl+Q) e Incolla mentre la casella di query ha il focus,
          e le sue etichette non ripetono più il tasto.

  REPORT

        * --peinfo e --sigcheck dimensionano le loro colonne in base ai file
          scansionati e non abbreviano mai il nome del file, che di solito è lo
          SHA256. Type e Signer restano limitati; un valore abbreviato viene abbreviato
          solo sullo schermo.

        * Ogni colonna di tabella viene misurata in celle del terminale piuttosto che in
          caratteri, quindi un soggetto di certificato o un nome di file CJK non
          spingono più le colonne fuori allineamento. Il troncamento si ferma su un confine
          di carattere.

        * Le linee di una tabella ora equivalgono alla somma delle sue colonne, le intestazioni
          di colonna e le linee sono neutre, una cella vuota riporta n/a e la
          chiusura dei conteggi inizia con "[+] ". Applicato a -j 8, -a 12, -a 13,
          -b 11, -b 12, -b 13, -x 8, -x 9, -l 6, -s 2, -u 3, --yara,
          --peinfo e --sigcheck, le cui linee non coincidevano con le colonne
          fino a 51 caratteri.

        * Lo stesso trattamento è stato completato su tutti i report rimanenti.
          Nessuna linea è più scritta come numero fisso: ciascuna è ricavata da
          una larghezza nominata o dall'intestazione sotto cui si trova, quindi il titolo, la
          linea e le colonne non possono più essere in disaccordo. 88 linee in 19 file,
          che raggiungono ogni servizio interrogato dallo strumento.

        * 38 titoli di report erano riempiti con 28 spazi finali, portando la
          riga del titolo oltre la linea sottostante. Invisibile a schermo e visibile
          appena l'output viene passato via pipe, reindirizzato o copiato.

        * Da -b 6 a -b 10: i valori lunghi vengono mandati a capo in base alla larghezza del report. Un
          URL di riferimento o una lista di alias unita da virgole arrivava a 137 colonne
          sotto una linea di 100 colonne; in una singola esecuzione di -b 6, 52 delle 5936 righe lo facevano.

        * Da -j 2 a -j 7: ogni report viene disegnato con un'unica larghezza ricavata dalle
          colonne che stampa effettivamente, sostituendo i sei diversi numeri
          (100, 104, 126, 130, 136 e 146) usati prima. -j 2 dimensiona anche la sua
          colonna URL in base alla risposta e non stampa più due volte la sua intestazione.

        * -l 1 e -l 8 sono tabelle. L'intestazione annunciava tre colonne
          centrate a 75, 38 e 8 sotto una linea di 126, mentre le righe sottostanti
          stampavano "sha256: ... md5: ... type: ...", quindi le intestazioni non si allineavano
          con nulla. Un errore di MalShare non viene più stampato sotto
          un'intestazione che promette risultati che non arrivano mai.

        * -ct 1 e -ct 2: l'intestazione del report viene disegnata con la larghezza della
          tabella che introduce, e le righe di stato, errore e conteggio vengono
          mandate a capo come avvisi puntati invece di superarla.

        * -a 12 e -a 13: un hash che Hybrid Analysis non ha mai visto produceva una
          riga vuota e ora riporta not found, che è distinto dal
          verdetto "unknown". Un errore HTTP viene riportato come tale. -a 13 non
          taglia più ogni nome di file a 40 caratteri.

        * -j 8: la colonna Status mostrava la risposta grezza, quindi un risultato leggeva "ok".
          Ora legge found, not found, invalid hash o bad request. La
          colonna hash segue gli hash presenti nel file.

        * -x 8 e -x 9: il nome del file e i tag venivano tagliati con uno slice
          semplice e ora vengono troncati con i puntini di sospensione, e il punteggio è colorato in base al valore.

        * -b 11 e -b 12: la colonna Signature è di 17 colonne e un campione sconosciuto
          riporta n/a invece di lasciare uno spazio vuoto.

        * -s 2 è una tabella invece di quattro righe etichettate per host, un centinaio di
          blocchi per una singola query. Le colonne sono IP, Port, Country, Product,
          Vulns e Organization. Il banner grezzo è sostituito da Product,
          che è ciò che Shodan ha estratto dal banner o dall'header Server;
          l'intero banner arriva ancora a json e csv. Vulns è il numero di
          CVE che Shodan elenca per l'host.

        * -u 3: la colonna Score era sempre zero, perché l'endpoint di ricerca
          non restituisce alcun verdetto e il codice impostava il valore predefinito; i
          record json e csv contenevano "malicious": "False" per ogni risultato
          di una query di phishing. Entrambi i campi sono stati rimossi, sostituiti da Age(d), l'età
          del dominio in giorni, colorato in base al valore. Le celle vengono troncate con i puntini
          invece di essere tagliate, e la colonna IP non taglia più un indirizzo IPv6
          a metà.

        * -u 2: il verdetto, il punteggio, le categorie, i tag e i brand vengono
          evidenziati invece di essere disegnati come il tipo MIME, i valori vanno a capo
          invece di uscire dallo schermo, e le date del certificato vengono
          mostrate come UTC invece dei secondi epoch grezzi. Il titolo della pagina non viene
          più tagliato a 80 caratteri.

        * -u 1: la nota di chiusura è preceduta da "[+] ", disegnata come avviso
          piuttosto che come un campo aggiuntivo, e riporta l'UUID della scansione
          appena inviata così il comando di recupero può essere copiato.

        * --correlate-hash, -wh 1 e -wh 2 mandano a capo i loro valori, con
          le righe di continuazione allineate sotto la prima riga. Uno stato WHOIS raggiungeva
          187 colonne sotto una linea di 100, e gli ID ATT&CK di un set pulse
          raggiungevano 200. Lo SHA512 viene spezzato su più righe; i record mantengono
          ogni valore su una sola riga.

        * --yara non stampa più gli errori di compilazione per file, che sono una
          proprietà del set di regole piuttosto che dei campioni e spingevano il
          report fuori dallo schermo. Il conteggio rimane nel riepilogo e il
          dettaglio è disponibile con --verbose. Le colonne File e Rule sono
          dimensionate in base al loro contenuto, perché tagliarle spezza il collegamento
          al campione o alla regola.

        * Il blocco del certificato di -v 1 e -v 8 va a capo a 120 colonne. Una
          frase di stato per problema, unita da virgole, raggiungeva
          233 caratteri su una sola riga.

        * L'output di --enrich va a capo in base alla larghezza della linea sopra di esso, con
          le righe di continuazione indentate sotto un indicatore di elenco. I record json e csv
          mantengono la risposta senza interruzioni.

        * -y 1 riporta il suo inventario APK alla fine della tabella piuttosto che
          sopra di essa, preceduto da "[+] " nel colore neutro. Le righe vengono
          stampate da un thread per pacchetto e quei thread non venivano mai
          uniti (join) al di fuori di Windows, quindi la riga ora viene stampata dopo che lo sono.
          -y 2 e -y 3 vengono trattati allo stesso modo.

        * -ip 3 e -ip 7: le due note di cross-reference sono precedute da
          "[+] ", dove prima apparivano come parte dei dati sovrastanti.

        * Un file di regole YARA che viene saltato ora riporta il motivo. Il percorso occupava l'intera
          riga e il motivo veniva tagliato.

        * L'output json e csv di --correlate-hash, --extract-iocs e
          --yara non inizia più con una riga vuota.

        * I report non vengono più stampati sull'output standard insieme
          al json o al csv, che rendeva il risultato impossibile da
          analizzare, e ventinove funzioni non terminano più il programma prima
          dell'esportazione. Il testo va sull'errore standard quando un comando
          non produce alcun record, così un errore può essere distinto da un risultato
          vuoto.

        * Il csv scritto sull'output standard su Windows non segue più
          ogni riga con una riga vuota, e sia il json che il csv vengono
          scritti in UTF-8 piuttosto che nella codifica della console.

        * Il csv scritto da "export csv" nella modalità interattiva non termina più
          ogni riga con due ritorni a capo su Windows.

        * Un certificato contenente caratteri che la console non può rappresentare non
          termina più l'esecuzione con UnicodeEncodeError.

        * Una sequenza di escape non valida nella ricerca famiglia PolySwarm non
          emette più un SyntaxWarning.

        * Una cache ATT&CK troncata o corrotta non crasha più con "Error
          while connecting to Virus Total!". Viene rilevata, scaricata di nuovo
          e scritta atomicamente.

        * Una submission Hybrid Analysis rifiutata non si ferma più con un
          KeyError; viene stampato il motivo fornito dal servizio.

        * 43 handler intorno a una richiesta catturavano solo ValueError, quindi un errore
          di rete poteva ancora arrivare all'utente come traceback Python. Ora
          catturano anche gli errori di richiesta e indicano il servizio e l'host.
          Il messaggio non contiene mai il testo dell'eccezione, perché MalShare
          e Shodan portano la chiave API nell'URL.

        * Sette di quegli handler in URLHaus erano irraggiungibili: un handler
          più ampio sopra di loro catturava l'errore per primo, non stampava nulla e
          usciva. -j 7 contro un servizio irraggiungibile stampava un'intestazione, una
          linea e nient'altro, che si legge esattamente come una ricerca che
          non ha trovato nulla.

        * --defang ora defanga anche la riga Source del report di estrazione IOC,
          così l'intero report può essere incollato in un luogo sicuro. Un
          percorso di file locale viene lasciato invariato e il record esportato mantiene il
          valore reale in entrambi i casi.

        * L'elenco SUBCOMMANDS in questo file pubblicizzava "ip bgp", rimosso in
          questa release, ometteva "ip batch" e "urlhaus batch", e elencava un
          sottocomando urlscanio che non è mai esistito. URLScan.io è
          raggiungibile tramite -u.

  COLORI

        * Su uno sfondo chiaro non si usano più né ciano né azzurro,
          solo blu. Su uno sfondo scuro entrambi restano in uso. Questo ha cambiato
          298 punti in 16 file, incluso il colore condiviso di info().

        * Un audit dell'intero pacchetto ha trovato altri 26 punti che violavano
          la regola, alcuni dentro un test di sfondo e alcuni colorati una volta sola per
          entrambi gli sfondi. Il verde su sfondo scuro ora è verde chiaro.

        * Il colore neutro non veniva mai applicato su Windows con uno sfondo
          scuro: veniva scritto come una sequenza di escape a 256 colori estesa, della quale
          il convertitore usato da colorama comprende solo i codici base, quindi
          veniva scartato e il colore precedente restava in vigore. Ogni linea
          di tabella, intestazione di colonna e avviso puntato era interessato.

        * -x 8 e -x 9: la colonna Tags è azzurra su sfondo scuro e blu su sfondo
          chiaro. Prima usava lo stesso tono della colonna Hash accanto.

        * -b 1: le etichette dei campi sono ciano chiaro su sfondo scuro e blu su sfondo chiaro,
          come in ogni altro report; lo sfondo chiaro usava il verde.

        * -j 8: la colonna hash è viola chiaro su sfondo scuro e blu su sfondo chiaro.
          La colonna status è grigia finché non c'è qualcosa da riportare.

        * -ab 1: le etichette dei campi sono azzurro chiaro su sfondo scuro e blu su sfondo chiaro.

        * -y 1: la colonna Package è azzurra su sfondo scuro.

        * -y 2 e -y 3: la colonna Hash è rosa su sfondo scuro e viola su sfondo chiaro.

        * -s 2: la colonna Product è azzurra su sfondo scuro e ciano su sfondo chiaro.

  Le modifiche seguenti sono correzioni di sicurezza. Nessuna di esse modifica alcuna
  sintassi dei comandi.

        * Corregge l'iniezione di sequenze di escape nel terminale proveniente dalle risposte
          dei servizi (HIGH). I campi controllati dall'attaccante stampati sul
          terminale (i dati di comportamento e i nomi dei campioni VirusTotal, i
          nomi di file, le firme e i tag di Malware Bazaar e URLHaus, i
          nomi e le descrizioni dei pulse AlienVault OTX, i campi ThreatFox e
          Hybrid Analysis) potevano spostare il cursore e sovrascrivere
          un verdetto già stampato, impostare il titolo della finestra, scrivere negli
          appunti o cancellare lo schermo. Ogni risposta JSON ora viene sanificata
          appena viene analizzata.

        * Corregge la stessa iniezione di sequenze di escape nella modalità grafica
          (HIGH). --tui analizzava le risposte dei servizi da solo in sedici
          punti, nessuno dei quali sanificato. Ora non analizza più alcuna risposta.

        * Corregge l'iniezione di sequenze di escape nel terminale proveniente dalla riga
          di comando e dai file di input (MEDIUM). -B, -X, -TR, -S, -M, -L, -NIST
          e gli altri argomenti di testo libero accettavano ESC, il CSI a 8 bit e
          il backspace, e i validatori rimandavano al terminale un valore rifiutato
          senza ripulirlo prima. Questo riguardava solo Linux e macOS.

        * Corregge l'iniezione di sequenze di escape nel terminale da altre tre fonti
          (MEDIUM): i valori estratti da --extract-iocs, il cui pattern URL
          escludeva gli spazi bianchi ma non gli altri caratteri di controllo; i campi
          WHOIS, che arrivano come testo semplice scritto dal registrar e dal
          registrant; e lo sha256 letto da un dispositivo Android collegato via USB,
          che ora viene verificato contro un allowlist di 64 caratteri esadecimali.

        * Corregge un denial of service in --extract-iocs (MEDIUM). La gestione
          dell'HTML rimuoveva i blocchi script, style, svg e comment con un'espressione
          regolare lazy, che è quadratica quando il tag di apertura non viene
          mai chiuso: 50.000 tag script non terminati in 400 KB impiegavano 158
          secondi, e l'opzione legge fino a 10 MB da un URL. I blocchi
          ora vengono rimossi con una singola scansione in avanti.

        * Corregge un possibile denial of service nell'estrazione IOC
          (LOW/MEDIUM): le espressioni regolari di dominio e e-mail potevano richiedere
          moltissimo tempo su un documento appositamente creato. Il testo ora viene diviso in
          token limitati prima della corrispondenza, e gli IOC estratti sono
          invariati.

        * Corregge l'iniezione di formule CSV nei report esportati (MEDIUM).
          I valori che iniziano con "=", "+", "-", "@" o una tab venivano eseguiti come
          formule da Excel e LibreOffice. Ora vengono preceduti da un
          apice singolo e i ritorni a capo incorporati vengono rimossi.

        * Corregge l'iniezione di formule CSV nella riga di intestazione dei report
          esportati (LOW). I nomi delle colonne sono presi dalla risposta del
          servizio e venivano scritti senza la protezione di cui sopra.

        * Corregge le sequenze di escape che raggiungono il terminale attraverso un messaggio
          di errore nelle modalità interattiva e grafica (LOW). Entrambe stampavano
          il testo di un'eccezione non gestita senza ripulirlo.

        * Corregge il DNS rebinding in --extract-iocs (MEDIUM). L'indirizzo che
          veniva validato ora è l'indirizzo a cui ci si connette, mentre il nome host
          viene mantenuto nell'header Host e nel SNI TLS. I nomi host che
          non possono essere risolti vengono rifiutati. Le richieste effettuate tramite un proxy non vengono
          vincolate (pinned).

        * Corregge un bypass della protezione degli indirizzi privati tramite indirizzi
          IPv6 mappati IPv4 come ::ffff:127.0.0.1 (MEDIUM). Anche gli indirizzi multicast e
          non specificati ora vengono rifiutati.* Corregge l'esposizione delle chiavi API nei messaggi di errore (MEDIUM). Le
          chiavi Malshare e Shodan vengono sostituite con [REDACTED], e gli
          errori di connessione di Malshare vengono gestiti invece di sollevare
          un'eccezione.

        * Aggiunge un timeout predefinito di 15 secondi per la connessione e 180
          secondi per la lettura su ogni richiesta HTTP che non imposta il
          proprio (MEDIUM).

        * Interrompe l'invio del percorso locale completo del campione a
          VirusTotal (LOW/MEDIUM). Solo il nome del file viene inviato con -v 9.

        * Rifiuta i percorsi APK contenenti ".." durante le scansioni Android
          (LOW).

        * Igienizza il nome del file usato nell'invio a Triage (LOW).

        * Rimuove ogni sequenza di escape dall'output di arricchimento LLM, e non
          più solo quelle di colore (LOW).

        * Avvisa quando .malwapi.conf è leggibile da altri utenti e suggerisce
          "chmod 600" (Linux e macOS).

Versione 8.0.5:

root@kitploit:~
  Questa versione:

        * Aggiunge il reporting di overlay ed entropia alle opzioni di
          VirusTotal: il controllo della directory (-d) acquisisce una colonna
          "Overlay" (YES/NO, o N/A per i file non-PE) e una colonna "Ent"
          (da 0.00 a 8.00), il report del file (-v 1/2/3) acquisisce l'overlay,
          la sua dimensione in KB/MB e l'entropia, e il report dell'hash (-v 8)
          acquisisce l'overlay e la dimensione presi dai dati pe_info di
          VirusTotal senza scaricare il campione. L'entropia è la massima
          entropia per sezione del PE, il miglior segnale per sezioni impaccate
          o cifrate, con fallback sull'entropia di Shannon dell'intero file per
          i file non-PE. "AV Detection" viene rinominato in "AV" e la tabella
          -d viene riallineata.

Versione 8.0.4:

root@kitploit:~
  Questa versione:

        * Rende il report di arricchimento LLM a colori invece che in Markdown
          grezzo: le intestazioni e i termini chiave in **grassetto** vengono
          evidenziati e i simboli di markup vengono rimossi. Su uno sfondo
          scuro il testo del corpo usa un tono quasi bianco mentre le
          intestazioni mantengono i loro accenti blu/viola/ciano. La CLI, la
          REPL e la TUI condividono il renderer e i prompt chiedono al modello
          quella struttura per mantenerla coerente.

Versione 8.0.3:

root@kitploit:~
  Questa versione:

        * Corregge l'arricchimento LLM di Claude (Anthropic), che falliva a ogni
          chiamata perché il nome del modello era hardcoded su un modello
          ritirato. Ora è impostato da CLAUDE_MODEL nella sezione [LLM] di
          .malwapi.conf, insieme a GEMINI_MODEL / OPENAI_MODEL / OLLAMA_MODEL,
          e il valore predefinito è claude-opus-4-8. Claude è anche il provider
          predefinito ora, e la correzione copre la CLI, la REPL e la TUI.

Versione 8.0.2:

root@kitploit:~
  Questa versione:

        * Introduce un controllo IP batch verso VirusTotal (-ip 8 / "ip
          batch"), che legge un indirizzo IP per riga da un file e stampa
          l'indirizzo IP, il Paese, l'AS Owner e il rapporto di rilevamento.
          Usa -D 1 per la Public API, che attende 61 secondi ogni 4 IP per
          rispettare il rate limit, oppure -D 0 per Premium (predefinito).

        * Corregge le opzioni di scansione del dispositivo Android (-y 1, -y 2
          e -y 3), che avevano smesso di funzionare sulle versioni attuali di
          Android. L'elenco dei pacchetti ora comprende il layout moderno
          /data/app (il prefisso '~~' e i segmenti '==' introdotti in Android
          10+) e l'output CRLF di adb, quindi le opzioni funzionano anche su
          Windows. L'hashing sul dispositivo usa sha256sum invece di md5sum e
          vengono stampati messaggi chiari quando adb non è nel PATH o non
          vengono trovati pacchetti di terze parti.

        * Corregge due bypass SSRF in --extract-iocs <url>. Il primo (issue
          #96) validava con urlparse() mentre requests normalizzava l'URL in
          modo diverso, quindi http://127.0.0.1:6666\@1.1.1.1 superava il
          controllo dell'hostname pubblico e raggiungeva comunque un indirizzo
          interno; il validatore ora rifiuta backslash, spazi bianchi e
          caratteri di controllo e valida l'URL effettivo ottenuto da
          requests.PreparedRequest. Il secondo seguiva automaticamente i
          redirect dopo che il controllo era già stato superato, permettendo a
          un URL pubblico di raggiungere un indirizzo interno o di
          cloud-metadata come 169.254.169.254; ora ogni hop viene nuovamente
          validato rispetto alla allowlist degli indirizzi privati/riservati,
          con un limite di redirect.

        * Rafforza le opzioni di invio Android (-y 4 e -y 5) contro un path
          traversal da un dispositivo dannoso o compromesso: il nome del
          pacchetto riportato da adb è limitato ai caratteri validi dei
          pacchetti Android e il nome del file di output è ridotto al suo nome
          base, quindi un elenco di pacchetti appositamente creato non può
          scrivere al di fuori della directory di output.

Versione 8.0.1:

root@kitploit:~
  Questa versione:

        * Corregge una regressione per cui -v 1, -v 2, -v 3, -v 4 (opzioni di

Read more

Scarica lo strumento
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
Alt text
  • Offrire un'opzione extra per salvare qualsiasi file scaricato in una posizione centrale.
  • Elencare e cercare vulnerabilità da NIST attraverso diversi criteri.
  • Interrogare il database VulnCheck - livello Community/Gratuito.
  • Raccogliere informazioni di threat hunting da Shodan utilizzando diversi criteri.
  • Controllare la reputazione degli IP da AbuseIPDB.
  • Controllare la classificazione degli IP da GreyNoise (API community).
  • Eseguire ricerche Whois/RDAP per domini e IP.
  • Correlazione degli hash tra servizi diversi: VirusTotal, Hybrid Analysis, Triage e AlienVault.
  • Verifica batch degli hash tramite Malware Bazaar da un file contenente hash.
  • Verifica batch degli hash tramite Hybrid Analysis da un file contenente hash.
  • Verifica batch degli hash tramite Triage da un file contenente hash.
  • Scansione di una directory tramite Malware Bazaar, Hybrid Analysis e Triage.
  • Estrarre IOC (hash, IP, URL, domini, CVE) da file di testo.
  • Scansionare file o directory con regole YARA.
  • Modalità REPL interattiva per sessioni di threat hunting continue.
  • Formati di output strutturati JSON e CSV.
  • Cache dei risultati con TTL configurabile (basata su SQLite).
  • Supporto proxy HTTP/HTTPS/SOCKS5 per tutte le richieste API.
  • Mappatura delle tecniche MITRE ATT&CK per i report comportamentali.
  • Modalità dashboard TUI (Text User Interface) con navigazione a pannelli.
  • Raccogliere informazioni di threat hunting da URLScan.io — inviare URL, recuperare i risultati delle scansioni e cercare scansioni.
  • Arricchimento delle minacce basato su LLM — valutazione del rischio generata dall'IA, mappatura MITRE ATT&CK e raccomandazioni per gli analisti aggiunte a qualsiasi risultato di query. Supporta Claude, Gemini, OpenAI e Ollama (locale).
  • Verifica batch degli IP tramite VirusTotal da un file contenente indirizzi IP, mostrando una tabella riepilogativa (Indirizzo IP, Paese, Titolare AS, Rilevamento).
  • Caccia su VirusTotal con regole YARA: inviare e seguire i job Retrohunt, elencare i file corrispondenti e creare ed elencare ruleset e notifiche Livehunt.
  • Scansione con un'intera directory di regole YARA, con ogni file compilato nel proprio namespace.
  • Cercare campioni di Malware Bazaar per nome della regola YARA e scaricare ed estrarre il set di regole YARAify da abuse.ch.
  • Scaricare il ruleset YARA completo di Malpedia per un determinato livello TLP.
  • Elencare i tipi di file MalShare visti nelle ultime 24 ore ed elencare gli hash di qualsiasi di questi tipi.
  • Verifica batch degli hash tramite URLHaus da un file contenente hash.
  • Pivot di Certificate Transparency tramite crt.sh, senza chiave API: enumerare i sottodomini presenti nei certificati emessi ed elencare i certificati stessi.
  • Ispezionare, ripulire e svuotare la cache locale dei risultati.
  • La modalità interattiva e la TUI raggiungono ogni servizio raggiungibile dalla riga di comando e la TUI esporta i suoi risultati in json e csv.
  • Triage PE locale di un file o di una directory senza chiave API, che elenca tipo di file, dimensione, overlay, dimensione dell'overlay ed entropia, evidenziando i file al di sopra di una soglia di entropia.
  • Le scansioni Android calcolano l'hash di ogni APK di un pacchetto, inclusi gli APK divisi (split APK), invece del solo APK di base.
  • Verifica della firma Authenticode senza chiave API, che segnala se un binario è firmato e se la firma è ancora valida, e indica il firmatario di un file manomesso.
  • Ogni firma incorporata di un binario multi-firmato viene segnalata, ciascuna con il proprio algoritmo di digest, certificato, thumbprint e numero di serie, così un secondo firmatario non viene mai nascosto dietro il primo.
  • Il controllo file VirusTotal (-v 1) e il report sugli hash (-v 8) mostrano il blocco della firma: se il certificato è stato verificato, le catene del firmatario e del controfirmatario, la data di firma e ogni certificato con il suo stato, algoritmo, date di validità, numero di serie e thumbprint.