
Determina se le tue risorse di calcolo sono realmente vulnerabili a una specifica vulnerabilità tenendo conto di tutti i fattori che influenzano l'*effettiva* sfruttabilità (esecuzione runtime, configurazione, permessi, esistenza di una mitigazione, sistema operativo, ecc..)
Autore: 2022 - Oggi, Rezilion Descrizione: Validazione delle vulnerabilità Sviluppo: Gennaio 2022 - Oggi Documentazione: Vedi sito web, README
'Am I Exploitable?' è un progetto open source in Python che risponde all'esigenza di verificare se il proprio sistema è sfruttabile per specifiche vulnerabilità. Il progetto può aiutarti a capire se sei sfruttabile da una specifica vulnerabilità e ti spiega quale componente del tuo sistema è vulnerabile o non vulnerabile. Il progetto può creare un grafico che presenta il flusso di validazione in base ai controlli di vulnerabilità che eseguiamo. MI-X supporta output leggibile dalla macchina. I risultati possono essere esportati in tre diversi formati di file: json, csv e text. Dopo aver eseguito lo strumento, vedrai il flusso di validazione: verrà stampato quali controlli sono stati eseguiti sull'host/container, seguiti dalle raccomandazioni di correzione e mitigazione. Vogliamo creare una comunità di ricercatori e programmatori che possa aggiungere controlli di vulnerabilità per nuove vulnerabilità o vulnerabilità critiche o famose. Ogni volta che emerge una nuova vulnerabilità, possiamo offrire questo servizio che aiuta le persone a verificare se sono sfruttabili o meno. Inoltre, i controlli di vulnerabilità scritti finora possono essere ampliati con alcuni controlli che potremmo aver tralasciato.
Un esempio di grafico del flusso per CVE-2021-4034 (noto anche come PwnKit):

Chiunque è libero di usare 'Am I Exploitable?' alle condizioni della Licenza AGPL-3.0 (vedi file LICENSE).
am_i_exploitable.py - Il file principale che gestisce l'input dell'utente e le chiamate CVE.cves - Pacchetto Python che contiene un file Python per ogni vulnerabilità attualmente supportata.modules - Pacchetto Python che contiene moduli.
I moduli sono implementazioni di codice utilizzate in diversi file CVE.Lo strumento supporta le seguenti distribuzioni Linux:
Ubuntu, Debian, Red Hat, Centos, Fedora, SUSE, SLES, Amazon
Supporto parziale per Alpine
Supporto parziale per Windows

Prima di installare MI-X, assicurati che la tua macchina abbia i seguenti requisiti:
openjdk10)Per installare i requisiti:
Controlla la tua distribuzione del sistema operativo; puoi usare il seguente comando:
cat /etc/os-release
Individua quale gestore di pacchetti utilizza la tua distribuzione del sistema operativo:
apt - Ubuntu, Debian
yum - Red Hat, CentOS, Fedora, SUSE, SLES, Amazon
apk - Alpine
Installa i pacchetti pertinenti usando il gestore di pacchetti della tua distribuzione del sistema operativo
Per eseguire correttamente MI-X, devi installare i moduli Python graphviz e packaging richiesti usando pip:
pip install -r requirements.txt
Gli sviluppi più recenti possono essere ottenuti tramite git.
git clone https://github.com/Rezilion/mi-x.git
cd mi-x && python3 am_i_exploitable.py
Modello di comando di scansione
python3 am_i_exploitable.py -v cve_yyyy_xxxx -c True -g True -f json
Analizza la macchina che esegue container per log4shell.
python3 am_i_exploitable.py -v log4shell -c True -f json

Specifica la vulnerabilità che verrà controllata (non impostato per impostazione predefinita).
Sintassi:
Se l'argomento non è impostato, apparirà un messaggio di menu che presenta le vulnerabilità attualmente supportate.
Analizza tutti i container in esecuzione sull'host (False per impostazione predefinita).
Analizza specifici container sull'host inserendo i nomi dei container in esecuzione separati da spazi (non impostato per impostazione predefinita).
Esporta i risultati in uno dei tre possibili formati di output: json, csv, text
Specifica se visualizzare o meno la descrizione della vulnerabilità (True per impostazione predefinita).
Specifica se visualizzare il diagramma di flusso della validazione (False per impostazione predefinita).
Aiuto per capire come eseguire il codice
Hai trovato un problema o hai un'ottima idea? Facci sapere:
I contributi sono apprezzati e possono essere inviati tramite GitHub.
Vedi CONTRIBUTING.md per maggiori informazioni su come inviarli.
'Am I Exploitable?' è testato su Windows e sui sistemi operativi Linux più comuni. La documentazione (README) e le informazioni di debug (imposta il parametro debug su 'True') dovrebbero coprire la maggior parte delle domande e dei problemi.
I bug possono essere segnalati tramite GitHub o inviando un'e-mail all'indirizzo sopra indicato.
Grazie alla comunità per aver utilizzato e supportato il software open source.
Commenti, bug/patch e domande sono la chiave del successo e la motivazione continua nello sviluppo di strumenti come questo.