
Exploit PoC para CVE-2021-26855 (SSRF do Exchange Server) com enumeração de usuários, leitura de cabeçalhos de e-mail e detecção de vulnerabilidades. Suporta acesso interno não autenticado a recursos e encadeamento com CVE-2021-27065 para RCE.
Código de exploração PoC para CVE-2021-26855.
O código original foi desenvolvido por https://github.com/GreyOrder. O repositório original foi excluído logo após a adição de funcionalidades adicionais (enumeração de usuários etc.).
Por favor, envie um pull request se você tiver a versão mais recente.
CVE-2021-26855 ssrf uso simples de exercícios golang
Versão afetada:
Exchange Server 2013 é inferior ao CU23 Exchange Server 2016 é inferior ao CU18 Exchange Server 2019 é inferior ao CU7
Condições de uso:
Essa vulnerabilidade é diferente das vulnerabilidades anteriores do exchange. Ela não requer uma identidade de usuário que possa fazer login. Pode obter recursos internos do usuário sem autorização. Pode ser usada em conjunto com CVE-2021-27065 para executar comandos remotos.
Requisitos para ativação da vulnerabilidade:
Dentre os quatro itens acima, o FQDN pode ser capturado pela mensagem ntlm type2; os endereços de e-mail podem ser enumerados diretamente.
Instruções de uso:
Para explorar essa vulnerabilidade, é mais conveniente usar uma linguagem de script como ruby python. Escrever em golang é principalmente para aprender golang, portanto, essa pequena ferramenta pode ser considerada apenas um semiacabado e será atualizada quando houver tempo.
Esta ferramenta suporta detecção de vulnerabilidades, enumeração de usuários, e pode realizar leitura simples de ID de e-mail e cabeçalho (na verdade, modificação de conteúdo xml). O uso subsequente pode consultar 8581, que é submeter xml.
uso:
go run CVE-2021-21978.go -h
-h string é obrigatório, endereço alvo ou nome de domínio
-U string Opcional, precisa enumerar lista de usuários
-d opcional, baixar e-mail
-l Opcional, listar a lista de e-mails
-n string Opcional, precisa especificar FQND para preencher
-t string Opcional, tempo de atraso da requisição (padrão "1")
-u string Opcional, especificar o alvo (padrão "administrator")