
「最高の感覚はノックアウトで勝つことだ。」 - ノニト・ドナイア
KnockOutlookは、OutlookのCOMオブジェクトと対話して、レッドチームの活動に役立ついくつかの操作を実行するC#プロジェクトです。
__ __ __ ____ __ __ __
/ //_/____ ____ _____/ /__/ __ \__ __/ /_/ /___ ____ / /__
/ ,< / __ \/ __ \/ ___/ //_/ / / / / / / __/ / __ \/ __ \/ //_/
/ /| |/ / / / /_/ / /__/ ,< / /_/ / /_/ / /_/ / /_/ / /_/ / ,<
/_/ |_/_/ /_/\____/\___/_/\_\\____/\__,_/\__/_/\____/\____/_/\_\
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
正しいレジストリキーを構築し、プログラムによるアクセスセキュリティ設定を取得するために、Outlookのインストール詳細を列挙します。
この値がWarn when antivirus is inactive or out-of-dateに設定されている場合、インストールされているアンチウイルス製品をWMIに問い合わせ、その現在の状態を解析します。
contacts
設定されたすべてのアカウントの連絡先を列挙し、次の情報を抽出します:
mails
設定されたすべてのアカウントのメールを列挙し、次のメタデータを抽出します:
search
Outlookの組み込み検索エンジンを使用して、設定されたすべてのアカウントのメールボックス内を検索し、本文に指定されたキーワードを含むメールのEntryIDを返します。
save
Outlookの組み込みのSave Asメカニズムを使用して、EntryIDで参照されるメールをエクスポートします。
--bypassスイッチは、現在のプロセスが高整合性レベルで実行されている場合に、contacts、mails、search、save操作と一緒に使用できます。
Outlookの現在のセキュリティポリシーのスナップショットを取得し、プログラムによるアクセスセキュリティプロンプトが自動的に許可されるようにパッチを適用し、操作が完了した後に初期状態に戻そうとします。
すべての操作は、画面上に基本情報を出力します。
contactsおよびmails操作は、結果をJSON形式でGzip圧縮ファイルに出力します。
save操作は、要求されたメールを.MSG形式でエクスポートします。
すべてのファイル名は実行時にランダムに生成されます。
デフォルトでは、すべてのエクスポートされたファイルの出力先としてOutlookのセキュアテンプフォルダが使用されます。