Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
inhale — Uma ferramenta de análise e classificação de malware. | Kitploit
Ferramentas/GitHubGitHub/netspooky/inhale
Análise EstáticaAnálise de HashAnálise ForenseColeta de InformaçõesAnálise de MalwareAnálise de Binários
GitHubnetspooky/inhale

inhale

Uma ferramenta de análise e classificação de malware.

Ver Repositório
191332há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Inhale - Inalador de Malware

Inhale é uma ferramenta de análise e classificação de malware que é capaz de automatizar e escalar muitas operações de análise estática.

Esta é a versão beta de lançamento, para fins de teste, feedback e desenvolvimento comunitário.

Background

Inhale começou como uma série de pequenos scripts que eu usava ao coletar e analisar uma grande quantidade de malware de diversas fontes. Existem muitas estruturas e ferramentas para fazer trabalhos semelhantes, mas nenhuma delas realmente se adequava ao meu fluxo de trabalho de encontrar, classificar e armazenar rapidamente informações sobre um grande número de arquivos. Algumas também exigem caras chaves de API e outros serviços que custam dinheiro.

Acabei transformando esses scripts em algo que as pessoas possam configurar e usar rapidamente, seja executando a partir de um servidor de pesquisa, um laptop, ou um computador de baixo custo como um Raspberry Pi.

Instalação

Esta ferramenta foi construída para ser executada no Linux usando Python3, ElasticSearch, radare2, yara e binwalk. jq também é necessário para imprimir a saída do banco de dados de forma organizada. Aqui estão algumas instruções básicas para instalação.

Há várias coisas no arquivo config.yml que ainda não estão configuradas, apenas deixe-as como estão, a menos que seja indicado o contrário nesta documentação.

Python3

Instalar requisitos

root@kitploit:~
python3 -m pip install -r requirements.txt

Instalando ElasticSearch (Debian)

Baixar ferramenta

Um banco de dados não é necessário para usar o Inhale, mas se você quiser configurar um, basta seguir estas instruções e definir a opção "enable_database" no config.yml como True.

Documentação

root@kitploit:~
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install elasticsearch
sudo service elasticsearch start

Você também pode instalar manualmente seguindo esta documentação

Adicionalmente, você pode configurar uma pilha ELK completa para fins de visualização e análise de dados. Não é necessário para usar esta ferramenta.

Instalando radare2

É importante instalar o radare2 a partir do repositório, e não do seu gerenciador de pacotes. As versões do gerenciador de pacotes não vêm com todos os recursos necessários para o inhale.

root@kitploit:~
git clone https://github.com/radare/radare2
cd radare2
sys/install.sh

Instalando Yara

Documentação

root@kitploit:~
sudo apt-get install automake libtool make gcc
wget https://github.com/VirusTotal/yara/archive/v3.10.0.tar.gz
tar xvzf v3.10.0.tar.gz
cd yara-3.10.0/
./bootstrap.sh
./configure
make
sudo make install

Se você obtiver algum erro sobre objetos compartilhados, tente isso para corrigir.

root@kitploit:~
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf'
sudo ldconfig

Instalando binwalk

Provavelmente é melhor simplesmente instalar o binwalk a partir do repositório.

root@kitploit:~
git clone https://github.com/ReFirmLabs/binwalk
cd binwalk
sudo python3 setup.py install

Mais informações sobre a instalação de recursos adicionais para binwalk estão localizadas aqui.

Instalando telfhash/tshl

Esta é uma biblioteca que gera hashes de seções de arquivos ELF para análise de famílias de malware. telfhash depende do tlsh, então as instruções para instalar ambos são as seguintes:

Configurar tlsh

root@kitploit:~
git clone https://github.com/trendmicro/tlsh
cd tlsh
./make.sh
cd py_ext/
python3 ./setup.py build
sudo python3 ./setup.py install

Configurar telfhash

root@kitploit:~
git clone https://github.com/trendmicro/telfhash
cd telfhash
sudo python3 setup.py install

Configurando servidor web

Se você quiser usar um servidor web para hospedar a saída do inhale para compartilhar, defina as variáveis no config.yml com os caminhos apropriados e certifique-se de que os diretórios existam!

root@kitploit:~
web:
  gen_html: False
  webdir: "/var/www/html/" # O diretório web real
  fqdn: "http://threat.land" # Seu site
  in_path: "/var/www/html/inhaled/" # O caminho para a saída do inhale
  ex_path: "/var/www/html/exhaled/" # O caminho para a saída do cache de consultas do banco de dados

Para usar a saída html, execute inhale assim:

root@kitploit:~
python3 inhale.py [todos os seus argumentos aqui] --html

Uso

Especifique o arquivo que você está extraindo por tipo:

root@kitploit:~
-f INFILE      Analisar um único arquivo
-d DIRECTORY   Analisar um diretório de arquivos
-u URLFILE     Analisar um arquivo remoto (url)
-r RDIRECTORY  Analisar um diretório remoto (url)
-l URLLIST     Analisar uma lista de URLs em um arquivo de texto

Outras opções:

root@kitploit:~
-t TAGS        Adicionar tags adicionais à saída.
-b             Desativar assinaturas do binwalk
-y YARARULES   Especificar regras Yara personalizadas
-o OUTDIR      Armazenar arquivos extraídos em diretório de saída específico (padrão: ./files/<data>/)
-i             Apenas imprimir informações, não adicionar arquivos ao banco de dados
--html         Salvar saída como html no webdir.

Exemplos

Executar inhale.py realizará toda a análise em um determinado arquivo/diretório/url e a exibirá no seu terminal.

Ver informações em /bin/ls, mas não adicionar ao banco de dados

root@kitploit:~
python3 inhale.py -f /bin/ls -i 

Adicionar diretório 'malwarez' ao banco de dados

root@kitploit:~
python3 inhale.py -d malwarez/

Baixar este arquivo e adicionar ao banco de dados

root@kitploit:~
python3 inhale.py -u https://thugcrowd.com/chal/skull

Baixar tudo neste diretório remoto, marcar tudo como "phishing":

root@kitploit:~
python3 inhale.py -r http://someurl.com/opendir/ -t phishing

DICA: Use esta busca de hashtag do Twitter para encontrar diretórios abertos interessantes que possivelmente contêm malware. Use por sua conta e risco.

Yara

Você pode passar suas próprias regras yara com -y, isso é um enorme trabalho em andamento e quase tudo em "YaraRules" é de https://github.com/kevthehermit/PasteHunter/tree/master/YaraRules. Um salve @KevTheHermit

Consultando o Banco de Dados

Use db.sh para consultar (Em breve será um script bacana)

root@kitploit:~
db.sh *algo* | jq .

Modelo de Dados

O seguinte é o modelo de dados atual usado para o banco de dados elasticsearch. Nem todos esses campos serão usados para cada arquivo. Quaisquer tags r2_* são tipicamente reservadas para binários de algum tipo.

NomeDescrição
filenameO caminho completo do binário
file_extA extensão do arquivo
filesizeO tamanho do arquivo
filetypeTipo de arquivo com base no valor mágico. Não tão confiável quanto as assinaturas do binwalk.
md5O hash MD5 do arquivo
sha1O hash SHA1 do arquivo
sha256O hash SHA256 do arquivo
addedA data em que o arquivo foi adicionado
r2_archArquitetura do arquivo binário
r2_baddrO endereço base do binário
r2_binszO tamanho do código do programa
r2_bitsBits da arquitetura - 8/16/32/64 etc.
r2_canarySe canários de pilha estão habilitados
r2_classClasse do binário
r2_compiledA data em que o binário foi compilado
r2_dbg_fileO arquivo de depuração do binário
r2_intrpO interpretador que o binário chama se vinculado dinamicamente
r2_langA linguagem do código-fonte
r2_lsymsSe há símbolos de depuração
r2_machineO tipo de máquina, geralmente significa a CPU para a qual o binário é
r2_osO sistema operacional para o qual a máquina deve ser executada
r2_picSe há Código Independente de Posição
r2_relocsSe há realocações
r2_rpathO caminho de pesquisa em tempo de execução - se aplicável
r2_strippedSe o binário está sem símbolos (stripped)
r2_subsysO subsistema do binário
r2_formatO formato do binário
r2_iorwSe chamadas ioctl estão presentes
r2_typeO tipo do binário, se é um executável, objeto compartilhado etc.
yaraContém uma lista de correspondências yara
binwalkContém uma lista de assinaturas binwalk e suas localizações no binário

Soluções para Problemas

Existem alguns problemas conhecidos com este projeto (principalmente relacionados a versões de gerenciadores de pacotes), e aqui eu acompanharei qualquer coisa que tenha uma solução.

Limite de campos do índice ElasticSearch

Se você obtiver um erro como este:

root@kitploit:~
elasticsearch.exceptions.RequestError: RequestError(400, 'illegal_argument_exception', 'Limit of total fields [1000] in index [inhaled] has been exceeded')

Você pode ter uma versão antiga do elasticSearch. Você pode atualizar ou aumentar o limite de campos com este comando de uma linha.

root@kitploit:~
curl -XPUT 'localhost:9200/inhaled/_settings' -H 'Content-Type: application/json' -d'{ "index" : { "mapping" : { "total_fields" : { "limit" : "100000" }}}}'

Funcionalidades Futuras

  • Refazendo o plugin de bot para Discord / Matrix
  • Recursos adicionais de análise binária - extrair tabelas de importação/exportação, hashing de estruturas específicas no cabeçalho, registrar todas as strings etc. Alguns implementados no telfhash!
  • Verificar se o arquivo é o banco de dados antes de adicionar. Este recurso foi removido anteriormente devido a problemas específicos com versões antigas do ES.
  • Opções de configuração para solicitações como: user agent, timeout, proxy etc.
  • Dockerização de todo este projeto.

Contribuição

PRs são bem-vindos! Se você quiser dar feedback específico, pode também me enviar uma DM @netspooky no Twitter.

Agradecimentos

Gostaria de agradecer a todos que ajudaram a testar esta ferramenta comigo. Gostaria também de agradecer ao Plazmaz por fazer uma varredura inicial do código para deixá-lo um pouco mais organizado.

Saudações para: hermit, plazmaz, nux, x0, dustyfresh, aneilan, sshell, readme, dnz, notdan, rqu, specters, nullcookies, ThugCrowd e todos os envolvidos com ThreatLand e a TC Safari Zone.

tagsQuaisquer tags definidas pelo usuário passadas com a flag -t.
urlA URL de origem se o arquivo foi baixado remotamente
urlsQuaisquer URLs que foram extraídas do binário