
Scanner de IOC simples em Bash
Scanner Simples de IOC em Bash
Fenrir é um script Bash simples para varredura de IOC. Permite verificar sistemas Linux/Unix/OSX para os seguintes Indicadores de Compromisso (IOCs):
Hashes
MD5, SHA1 e SHA256 (usando md5sum, sha1sum, sha -a 256)
Nomes de Arquivos
string - verifica por substring do caminho completo, ex.: "temp/p.exe" em "/var/temp/p.exe"
Strings
grep em arquivos
Servidor C2
verifica por strings de servidor C2 na saída de 'lsof -i' e 'lsof -i -n'
Intervalo de Tempo Crítico
usando stat em diferentes modos - define timestamp mínimo e máximo em epoch e obtém todos os arquivos criados entre eles
Características básicas:
FENRIR é a 3ª ferramenta após THOR e LOKI. THOR é nosso scanner APT completo com muitos módulos e tipos de exportação para clientes corporativos. LOKI é um scanner IOC gratuito e aberto que usa YARA como formato de assinatura.
O problema com ambos os antecessores é que ambos têm certos requisitos na plataforma Linux. Construímos THOR para uma versão específica do Linux para corresponder à libc correta exigida pelo módulo YARA. LOKI requer Python e YARA instalados no Linux para executar.
Enfrentamos o problema de verificar mais de 100 sistemas Linux diferentes para certos Indicadores de Compromisso (IOCs) sem instalar um agente ou pacotes de software. Já tínhamos um playbook Ansible para a distribuição de THOR em um conjunto definido de sistemas Linux remotos. Esse playbook cria um drive RAM no sistema remoto, copia o binário do programa local para o sistema remoto, executa e depois recupera os logs. Isso garante que a pegada do programa no sistema remoto seja mínima. Adaptei o playbook Ansible para o Fenrir. (ainda não testado)
Fenrir ainda está em 'teste'. Por favor, reporte erros (e soluções) através da seção "Issues" aqui no github.
Se você encontrar uma solução melhor / mais robusta / com menos erros para as avaliações no script, por favor, reporte-as. Não sou um programador Bash em tempo integral, então espero que haja espaço para melhorias.
Usage: ./fenrir.sh DIRECTORY
DIRECTORY - Ponto inicial da varredura recursiva
Todas as configurações podem ser definidas no cabeçalho do script.

O que Fenrir faz é:
Execução da varredura mostrando os diferentes tipos de correspondência em um diretório demo.

Detectar conexões C2

Detectar strings em arquivos de log compactados com GZIP

Configuração

Playbook Ansible

Problema com stat (em relação ao timestamp de CRIAÇÃO em sistemas de arquivos Linux)

via Twitter @Cyb3rOps