Kali Linux

KnockOutlook : A Little Tool To Play With Outlook

KnockOutlook is a C# project that interacts with Outlook’s COM object in order to perform a number of operations useful in red team engagements.

Command Line Usage

_ _ _ _ _ _ / /// / // _ _ / // / _ / /_ / ,< / _ \/ _ \/ / /// / / / / / / / / \/ _ \/ ///
/ /| |/ / / / // / // ,< / // / // / // / // / // / ,< // |// //__/___//_\___/__,/_//___/____/_/_\
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

Operations

  • checkEnumerates the Outlook installation details in order to construct the correct registry key and retrieve the Programmatic Access Security setting.If this value is set to Warn when antivirus is inactive or out-of-date it queries WMI for any installed antivirus products and parses their current state.
  • contactsEnumerates the contacts of every configured account and extracts the following information:
    • Full Name
    • Email Address
  • mailsEnumerates the mails of every configured account and extracts the following metadata:
    • ID
    • Timestamp
    • Subject
    • From
    • To
    • Attachments
  • searchSearches inside the mailbox of every configured account using Outlook’s built-in search engine and returns the EntryID of mails that contain the provided keyword in their body.
  • saveUses Outlook’s built-in Save As mechanism to export a mail referenced by its EntryID.

Object Model Guard Bypass

The --bypass switch can be used in conjunction with contactsmailssearch and save operations given the fact that the current process is running with high integrity level.

It will attempt to snapshot the current security policy of Outlook, patch it in a way that the Programmatic Access Security prompt is auto-allowed and finally revert it to its initial state after the operation has finished.

Output

All operations will output basic information on screen.

The contacts and mails operations will output results in JSON format to a Gzip compressed file.

The save operation will export the requested mail in .MSG format.

All filenames are randomly generated during runtime.

By default, Outlook’s Secure Temp Folder is used as a destination for all exported files.

R K

Recent Posts

Best OSINT Tools for Journalists 2026: Verify Sources, Images and Claims

Journalists use OSINT to verify public information before publishing. In 2026, misinformation, AI-generated images, fake…

4 hours ago

Install Docker on Ubuntu 20.04: Complete Step-by-Step Guide

Docker is an open-source platform that lets you package and run applications inside containers. Each container…

14 hours ago

Install PostgreSQL on Ubuntu: Database Setup and Admin Guide

PostgreSQL (often called Postgres) is an open-source relational database system. It supports advanced features like JSON…

15 hours ago

Install Xrdp Remote Desktop on Ubuntu: Setup and Connect

Xrdp is an open-source server that lets you connect to your Ubuntu machine from another computer…

16 hours ago

Tomcat 9 on Ubuntu 20.04: Install, Configure, and Start

Apache Tomcat is an open-source web server and Java servlet container. It is one of the…

16 hours ago

Automatic Updates on Ubuntu: Set Up unattended-upgrades

Keeping your Ubuntu system updated is one of the best ways to protect it. Security…

17 hours ago