
Ferramenta em C# para operações de red team que extrai contatos, metadados de caixa de correio e pesquisa e-mails através do objeto COM do Outlook, com bypass integrado de Segurança de Acesso Programático.
"A melhor sensação é vencer por nocaute." - Nonito Donaire
KnockOutlook é um projeto em C# que interage com o objeto COM do Outlook para realizar várias operações úteis em engajamentos de red team.
__ __ __ ____ __ __ __
/ //_/____ ____ _____/ /__/ __ \__ __/ /_/ /___ ____ / /__
/ ,< / __ \/ __ \/ ___/ //_/ / / / / / / __/ / __ \/ __ \/ //_/
/ /| |/ / / / /_/ / /__/ ,< / /_/ / /_/ / /_/ / /_/ / /_/ / ,<
/_/ |_/_/ /_/\____/\___/_/\_\\____/\__,_/\__/_/\____/\____/_/\_\
Parâmetros:
--operation : especifica a operação a ser executada
--keyword : especifica uma palavra-chave para a operação 'search'
--id : especifica um EntryID para a operação 'save'
--bypass : contorna as configurações de Segurança de Acesso Programático (requer administrador)
Operações:
check : realiza várias verificações para garantir a segurança operacional
contacts : extrai todos os contatos de todas as contas
mails : extrai metadados da caixa de correio de todas as contas
search : procura pela palavra-chave fornecida em todas as caixas de correio
save : salva um e-mail específico pelo seu EntryID
Exemplos:
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
Enumera os detalhes da instalação do Outlook para construir a chave de registro correta e recuperar a configuração de Segurança de Acesso Programático.
Se esse valor estiver definido como Warn when antivirus is inactive or out-of-date, ele consulta o WMI por produtos antivírus instalados e analisa o estado atual deles.
contacts
Enumera os contatos de todas as contas configuradas e extrai as seguintes informações:
mails
Enumera os e-mails de todas as contas configuradas e extrai os seguintes metadados:
search
Procura dentro da caixa de correio de todas as contas configuradas usando o mecanismo de busca integrado do Outlook e retorna o EntryID dos e-mails que contêm a palavra-chave fornecida no corpo.
save
Usa o mecanismo Save As integrado do Outlook para exportar um e-mail referenciado pelo seu EntryID.
O parâmetro --bypass pode ser usado em conjunto com as operações contacts, mails, search e save, considerando que o processo atual está sendo executado com alto nível de integridade.
Ele tentará capturar o instantâneo da política de segurança atual do Outlook, corrigi-la de forma que o prompt de Segurança de Acesso Programático seja automaticamente permitido e, finalmente, revertê-la ao estado inicial após a conclusão da operação.
Todas as operações exibirão informações básicas na tela.
As operações contacts e mails produzirão resultados no formato JSON para um arquivo compactado em Gzip.
A operação save exportará o e-mail solicitado no formato .MSG.
Todos os nomes de arquivos são gerados aleatoriamente durante a execução.
Por padrão, a Pasta Temporária Segura do Outlook é usada como destino para todos os arquivos exportados.