
Determine se o seu compute é realmente vulnerável a uma vulnerabilidade específica, considerando todos os fatores que afetam a *exploração real* (execução em runtime, configuração, permissões, existência de mitigação, SO, etc..)
Autor: 2022 - Atualmente, Rezilion
Descrição: Validação de vulnerabilidades
Desenvolvimento: janeiro de 2022 - Atualmente
Documentação: Consulte o site, README
'O Am I Exploitable?' é um projeto open source em Python que atende à necessidade de validar se o seu sistema é explorável para vulnerabilidades específicas. O projeto pode ajudar você a entender se é explorável para uma vulnerabilidade específica e explicar qual é o componente vulnerável ou invulnerável no seu sistema. O projeto pode criar um grafo que apresenta o fluxo de validação de acordo com as verificações de vulnerabilidade que realizamos. O MI-X suporta saída legível por máquina. Os resultados podem ser exportados para três formatos de arquivo diferentes: json, csv e text. Após executar a ferramenta, você verá o fluxo de validação - ele imprimirá quais verificações foram realizadas no host/container, seguidas de recomendações de remediação e mitigação. Queremos criar uma comunidade de pesquisadores e programadores que possam adicionar verificações de vulnerabilidade para novas vulnerabilidades ou vulnerabilidades críticas ou famosas. Sempre que uma nova vulnerabilidade surgir, podemos oferecer esse serviço que ajuda as pessoas a validar se são exploráveis ou não. Além disso, as verificações de vulnerabilidade que escrevemos até agora podem ser expandidas com algumas verificações que possamos ter deixado de fora.
Um exemplo de grafo de fluxo para o CVE-2021-4034 (também conhecido como PwnKit):

Todos são livres para usar o 'Am I Exploitable?' sob as condições da Licença AGPL-3.0 (consulte o arquivo LICENSE).
am_i_exploitable.py - O arquivo principal que lida com a entrada do usuário e as chamadas de CVEs.cves - Pacote Python que contém um arquivo python para cada vulnerabilidade atualmente suportada.modules - Pacote Python que contém módulos.
Módulos são implementações de código usadas em diferentes arquivos de CVE.A ferramenta suporta as seguintes distribuições Linux:
Ubuntu, Debian, Red Hat, Centos, Fedora, SUSE, SLES, Amazon
Suporte parcial para Alpine
Suporte parcial para Windows

Antes de instalar o MI-X, certifique-se de que sua máquina tenha o seguinte:
openjdk10)Para instalar os requisitos:
Verifique a distribuição do seu sistema operacional; você pode usar o seguinte comando:
cat /etc/os-release
Descubra qual gerenciador de pacotes a sua distribuição de SO utiliza:
apt - Ubuntu, Debian
yum - Red Hat, CentOS, Fedora, SUSE, SLES, Amazon
apk - Alpine
Instale os pacotes relevantes usando o gerenciador de pacotes da sua distribuição de SO
Para executar o MI-X corretamente, você precisa instalar o graphviz e os módulos Python de packaging exigidos, usando pip:
pip install -r requirements.txt
Os desenvolvimentos mais recentes podem ser obtidos via git.
git clone https://github.com/Rezilion/mi-x.git
cd mi-x && python3 am_i_exploitable.py
Modelo de comando de escaneamento
python3 am_i_exploitable.py -v cve_yyyy_xxxx -c True -g True -f json
Escanear a máquina que está executando containers em busca do log4shell.
python3 am_i_exploitable.py -v log4shell -c True -f json

Especifica a vulnerabilidade que será verificada (não definido por padrão).
Sintaxe:
Se o argumento não for definido, uma mensagem de menu aparecerá apresentando as vulnerabilidades atualmente suportadas.
Escaneia todos os containers em execução no host (False por padrão).
Escaneia containers específicos no host inserindo os nomes dos containers em execução separados por espaços (não definido por padrão).
Exporta os resultados para um dos três formatos de saída possíveis: json, csv, text
Especifica se deseja ver a descrição da vulnerabilidade ou não (True por padrão).
Especifica se deseja ver o fluxograma de validação (False por padrão).
Ajuda para entender como executar o código
Encontrou um problema ou tem uma ótima ideia? Informe-nos:
Contribuições são apreciadas e podem ser feitas via GitHub.
Consulte CONTRIBUTING.md para mais informações sobre como enviá-las.
'O Am I Exploitable?' é testado no Windows e nos sistemas operacionais Linux mais comuns. A documentação (README) e as informações de depuração (defina o parâmetro debug como 'True') devem cobrir a maioria das perguntas e problemas.
Bugs podem ser relatados via GitHub ou enviando um e-mail para o endereço de e-mail acima.
Agradecemos à comunidade por usar e apoiar o software de código aberto.
Muitos comentários, bugs/patches e perguntas são a chave para o sucesso e a motivação contínua no desenvolvimento de ferramentas como esta.