
Outil C# pour opérations red team qui extrait les contacts, les métadonnées de boîte aux lettres et recherche des e-mails via l'objet COM d'Outlook, avec contournement intégré de la sécurité d'accès programmatique.
"La meilleure sensation est de gagner par K.-O." - Nonito Donaire
KnockOutlook est un projet en C# qui interagit avec l'objet COM d'Outlook afin d'effectuer un certain nombre d'opérations utiles lors d'engagements red team.
__ __ __ ____ __ __ __
/ //_/____ ____ _____/ /__/ __ \__ __/ /_/ /___ ____ / /__
/ ,< / __ \/ __ \/ ___/ //_/ / / / / / / __/ / __ \/ __ \/ //_/
/ /| |/ / / / /_/ / /__/ ,< / /_/ / /_/ / /_/ / /_/ / /_/ / ,<
/_/ |_/_/ /_/\____/\___/_/\_\\____/\__,_/\__/_/\____/\____/_/\_\
Parameters:
--operation : specify the operation to run
--keyword : specify a keyword for the 'search' operation
--id : specify an EntryID for the 'save' operation
--bypass : bypass the Programmatic Access Security settings (requires admin)
Operations:
check : perform a number of checks to ensure operational security
contacts : extract all contacts of every account
mails : extract mailbox metadata of every account
search : search for the provided keyword in every mailbox
save : save a specified mail by its EntryID
Examples:
KnockOutlook.exe --operation check
KnockOutlook.exe --operation contacts
KnockOutlook.exe --operation mails --bypass
KnockOutlook.exe --operation search --keyword password
KnockOutlook.exe --operation save --id {EntryID} --bypass
check
Énumère les détails de l'installation d'Outlook afin de construire la clé de registre correcte et de récupérer le paramètre de sécurité d'accès programmatique.
Si cette valeur est définie sur Warn when antivirus is inactive or out-of-date, il interroge WMI pour tout produit antivirus installé et analyse leur état actuel.
contacts
Énumère les contacts de chaque compte configuré et extrait les informations suivantes :
mails
Énumère les messages de chaque compte configuré et extrait les métadonnées suivantes :
search
Recherche dans la boîte aux lettres de chaque compte configuré à l'aide du moteur de recherche intégré d'Outlook et renvoie l'EntryID des messages contenant le mot-clé fourni dans leur corps.
save
Utilise le mécanisme « Enregistrer sous » intégré d'Outlook pour exporter un message référencé par son EntryID.
L'option --bypass peut être utilisée conjointement avec les opérations contacts, mails, search et save à condition que le processus actuel s'exécute avec un niveau d'intégrité élevé.
Elle tente de prendre un instantané de la politique de sécurité actuelle d'Outlook, de la modifier de manière à ce que l'invite de sécurité d'accès programmatique soit automatiquement autorisée, puis de la rétablir dans son état initial une fois l'opération terminée.
Toutes les opérations affichent des informations de base à l'écran.
Les opérations contacts et mails produisent des résultats au format JSON dans un fichier compressé Gzip.
L'opération save exporte le message demandé au format .MSG.
Tous les noms de fichiers sont générés aléatoirement lors de l'exécution.
Par défaut, le dossier temporaire sécurisé d'Outlook est utilisé comme destination pour tous les fichiers exportés.