Sooty est un outil développé pour aider les analystes SOC à automatiser une partie de leur flux de travail. L'un des objectifs de Sooty est d'effectuer autant de vérifications de routine que possible, permettant ainsi à l'analyste de consacrer plus de temps à une analyse plus approfondie dans le même laps de temps. Les détails de nombreuses fonctionnalités de Sooty se trouvent ci-dessous.
Sooty est désormais fièrement soutenu par Tines.com ! La plateforme SOAR pour les équipes de sécurité d'entreprise.
Vérifier si une adresse IP est un nœud de sortie TOR
Décoder les URL Proofpoint, les URL encodées en UTF-8, les URL Office SafeLink, les chaînes Base64 et les mots de passe Cisco7.
Obtenir les empreintes de fichiers et les comparer à VirusTotal (voir prérequis)
Effectuer des recherches WhoIs
Vérifier les noms d'utilisateur et les e-mails par rapport à HaveIBeenPwned pour voir si une fuite a eu lieu. (voir prérequis)
Analyse simple des e-mails pour récupérer les URL, les e-mails et les informations d'en-tête.
Extraire les adresses IP des e-mails.
Désactiver les URL raccourcies par des services externes. (Limité à 10 requêtes par heure)
Interroger URLScan.io pour obtenir des rapports de réputation.
Analyser les adresses e-mail pour détecter une activité malveillante connue et rapporter sur la réputation du domaine en utilisant EmailRep.io
Créer des modèles d'e-mail dynamiques pouvant servir de base pour la réponse au triage de phishing (.msg uniquement, .eml à venir dans une future mise à jour)
Effectuer un enrichissement d'analyse sur les courriels de phishing à l'aide de la base de données HaveIBeenPwned, et identifier si une adresse e-mail a été compromise dans le passé, quand cela s'est produit et où la fuite a eu lieu. (Nécessite une clé API).
Installer toutes les dépendances à partir du fichier requirements.txt. pip install -r requirements.txt
Lancer l'outil en naviguant vers le répertoire principal et en exécutant python Sooty.py, ou simplement Sooty.py
Plusieurs clés API sont nécessaires pour bénéficier de toutes les fonctionnalités de Sooty. Cependant, l'outil fonctionnera sans ces clés, mais sans les fonctionnalités supplémentaires qu'elles apportent. Les liens se trouvent ci-dessous :
Remplacer la clé correspondante dans le fichier example_config.yaml et renommer le fichier en config.yaml, exemple de disposition ci-dessous :
Pour la prise en charge de PhishTank, un nom d'application unique est également requis comme champ supplémentaire. Mettez simplement à jour le fichier config.yaml avec votre nom unique.
Si vous souhaitez travailler sur une fonctionnalité, laissez un commentaire sur la page des issues et je vous l'attribuerai.
Sous l'onglet des projets se trouve une liste des fonctionnalités en attente de démarrage / achèvement.
Toutes les modifications, améliorations ou ajouts de code doivent être effectués via une pull request.
Une fois examinés et fusionnés, les contributeurs seront ajoutés au ReadMe.
Vous avez trouvé un bug ? Montrez-le moi !
Bogues et problèmes
Si un problème / bogue est trouvé, veuillez ouvrir un ticket dans le suivi des issues et utiliser le modèle de rapport de bogue. Remplissez ce modèle et incluez toute information supplémentaire pertinente.
Si vous souhaitez travailler sur un bogue connu, laissez un commentaire sur la page des issues et ouvrez une Pull Request pour suivre la progression. Je vous l'attribuerai.
S'il y a un problème d'installation ou d'utilisation, utilisez le modèle fourni et je répondrai dès que possible.
Demandes de fonctionnalités
Les nouvelles fonctionnalités / demandes doivent commencer par ouvrir une issue. Veuillez utiliser le modèle fourni lors de la création d'une nouvelle issue. Cela aide à suivre les nouvelles fonctionnalités et à éviter les chevauchements. Joignez toute information supplémentaire jugée pertinente si nécessaire. Avant de créer une nouvelle issue, veuillez vérifier l'onglet Projets pour voir si cette issue a déjà été demandée, ou directement avec les autres issues ouvertes.
Changelog
Version 1.3 - The Templating Update
Première itération des modèles d'e-mail dynamiques qui se génèrent en fonction de l'analyse de Sooty, exemple ci-dessous :
Image Docker ajoutée
Unfurl ajouté
Version 1.2 - The Phishing Update
Première itération de l'outil de phishing.
Capable d'analyser un e-mail (Outlook / .msg uniquement testé pour l'instant) et de récupérer les e-mails, les URL (décodage Proofpoint si nécessaire) et d'extraire les informations des en-têtes.
Extraction des IP du corps de l'e-mail.
Vérification de la réputation de l'expéditeur de l'e-mail et fourniture d'informations enrichies.
Version 1.1 - The Reputation Update
Vérificateur de réputation amélioré
Fonctionnalité HaveIBeenPwned ajoutée
Outils DNS et fonctionnalité WhoIs ajoutés
Vérificateurs de hachage et VirusTotal ajoutés
Abuse IPDB, nœud de sortie TOR, BadIP's ajoutés au vérificateur de réputation
Version 1.0
Première version
Décodeur d'URL et Proofpoint
Mise en œuvre initiale du vérificateur de réputation
Assainir les liens pour qu'ils soient sûrs pour les e-mails
Roadmap
Voici un aperçu des fonctionnalités qui seront ajoutées dans les futures versions.
Version 1.2 - The Phishing Update
Analyser les pièces jointes des e-mails pour détecter du contenu malveillant, des macros, des fichiers, analyser les hachages, etc.
Version 1.3 - The Templating Update
Ajouter des modèles d'e-mail dynamiques qui se génèrent en fonction de l'analyse de Sooty. Modifié : Ajouté
Vérifier les enregistrements MX
Effectuer une vérification DKIM
Version 1.4 - The PCAP Analysis Update
Ajouter la possibilité d'analyser les fichiers .pcap et de fournir des informations concises et enrichies.
Version 1.x - The Case Update
Ajouter une fonctionnalité 'Nouveau cas', permettant de sortir la sortie de l'outil vers un fichier txt.
James Duarte pour avoir ajouté une option de hachage et de vérification automatique à la fonction de hachage
mrpnkt pour avoir ajouté la dépendance whois manquante dans requirements.txt
Gurulhu pour avoir ajouté le décodeur Base64 au menu des décodeurs.
AndThenEnteredAlex pour avoir ajouté la fonction URLScan depuis URLScan.io
Eric Kelson pour avoir corrigé la dépendance pywin32 non nécessaire sur les systèmes Linux dans requirements.txt.
Jenetiks pour avoir supprimé et nettoyé les imports en double qui s'étaient accumulés au fil du temps, et pour avoir fourni un basculement entre les analyses publiques et privées sur URLScan.io
Nikosch86 pour avoir corrigé un problème avec hexdigest qui ne stockait pas correctement une empreinte de fichier.
Naveci pour de nombreuses corrections de bugs, améliorations de la qualité de vie, décodage du mot de passe Cisco 7, et introduction d'un flux de travail pour aider avec les problèmes à l'avenir. La prise en charge de Phishtank a également été ajoutée, ainsi que des listes noires IP supplémentaires pour le vérificateur de réputation.
MrMeeseeks2014 pour avoir corrigé un bug lié aux téléchargements de hachages.
mrn42 pour avoir ajouté la prise en charge Docker.
Ryan Benson pour avoir ajouté la prise en charge d'Unfurl dans la section des décodeurs.
Nitin Mukesh a identifié et corrigé un bug avec la vérification de réputation BadIP's, et la création d'une sortie txt stockée de l'analyse de Sooty.
Sarthak pour avoir corrigé un problème lié à la clé API emailrep.
Lesander qui a corrigé un problème où bash ne reconnaissait pas Sooty comme un fichier exécutable.