
Scanner simple d'IOC en Bash
Scanner d'IOC Bash simple
Fenrir est un script Bash simple de recherche d'IOC (Indicateurs de Compromission). Il permet d'analyser les systèmes Linux/Unix/OSX à la recherche des indicateurs suivants :
Empreintes (Hashes)
MD5, SHA1 et SHA256 (en utilisant md5sum, sha1sum et sha -a 256)
Noms de fichiers
chaîne – vérification de la sous-chaîne dans le chemin complet, ex. "temp/p.exe" dans "/var/temp/p.exe"
Chaînes de caractères
grep dans les fichiers
Serveur C2
vérification des chaînes de serveur C2 dans la sortie de 'lsof -i' et 'lsof -i -n'
Période temporelle sensible (Hot Time Frame)
utilisation de stat dans différents modes – définir les timestamps epoch min et max et récupérer tous les fichiers créés entre ces dates
Caractéristiques principales :
FENRIR est le troisième outil après THOR et LOKI. THOR est notre scanner APT complet avec de nombreux modules et types d'export destinés aux clients professionnels. LOKI est un scanner d'IOC gratuit et open source utilisant YARA comme format de signature.
Le problème avec ces deux prédécesseurs est qu'ils ont tous deux certaines exigences sur la plateforme Linux. Nous construisons THOR pour une version spécifique de Linux afin de correspondre à la bonne libc requise par le module YARA. LOKI nécessite Python et YARA installés sur Linux pour fonctionner.
Nous avons été confrontés à la nécessité de vérifier plus de 100 systèmes Linux différents pour certains Indicateurs de Compromission (IOC) sans installer d'agent ni de paquets logiciels. Nous avions déjà un playbook Ansible pour la distribution de THOR sur un ensemble défini de systèmes Linux distants. Ce playbook crée un disque RAM sur le système distant, copie le binaire du programme local, l'exécute et récupère les journaux ensuite. Cela garantit que l'empreinte du programme sur le système distant est minimale. J'ai adapté le playbook Ansible pour Fenrir (toujours non testé).
Fenrir est encore en phase de test. Veuillez signaler les erreurs (et les solutions) via la section « Issues » ici sur Github.
Si vous trouvez une solution meilleure / plus robuste / moins sujette aux erreurs pour les évaluations du script, veuillez la signaler. Je ne suis pas un programmeur Bash à plein temps, donc je m'attends à des possibilités d'amélioration.
Usage: ./fenrir.sh DIRECTORY
DIRECTORY - Point de départ de l'analyse récursive
Tous les réglages peuvent être configurés dans l'en-tête du script.

Ce que fait Fenrir :
Exécution de l'analyse montrant les différents types de correspondance sur un répertoire de démonstration.

Détection de connexions C2

Détection de chaînes dans des fichiers journaux compressés en GZIP

Configuration

Playbook Ansible

Problème avec stat (concernant l'horodatage de création sur les systèmes de fichiers Linux)

via Twitter @Cyb3rOps