Estouro remoto de buffer no WebDAV/ntdll.dll para IIS



O servidor de web da Microsoft para o Windows 2000, IIS 5.0 inclui suporte para WebDAV, que permite a usuários manipular arquivos salvos em um servidor web. Uma falha de estouro de buffer existe no arquivo ntdll.dll (um pedaço do código utilizado pelo WebDAV do IIS). Enviando um "pacote especial" para um servidor IIS 5.0, um atacante pode executar código arbitrário, dando ao invasor praticamente o controle total do sistema.
Essa falha foi descoberta no dia 18 de março de 2003,é muito grave e milhões de computadores estão vulneráveis. Há relatos de que até a página do exército americano foi invadida utilizando esse problema. Somente o servidor IIS 5.0 é afetado, o IIS 4.0 (para Windows NT 4.0) não possui o problema. Uma pequena visão do que pode ser explorado:


Alguns comandos utilizados pelo WebDAV que podem ser explorados:


SEARCH
PROPFIND
MKCOL
LOCK
COPY


O SensePost Research [http://www.sensepost.com] escreveu uma ferramenta de scanneamento de WebDAV em Perl:


Uso típico:

> perl finder.pl www.sitequalquer.com.br 80
Testing WebDAV methods [www.sitequalquer.com.br 80]
-------------------------------------
www.sitequalquer.com.br : Server type is Microsoft-IIS/5.0
Method PROPFIND seems to be allowed - WebDAV possibly in use
Method PROPPATCH seems to be allowed - WebDAV possibly in use
Method MCOL seems to be allowed - WebDAV possibly in use
Method PUT seems to be allowed - WebDAV possibly in use
Method DELETE seems to be allowed - WebDAV possibly in use
Method LOCK seems to be allowed - WebDAV possibly in use
Method UNLOCK seems to be allowed - WebDAV possibly in use

No exemplo acima do site fictício www.sitequalquer.com.br, ele é vulnerável a todas os comandos falhos de WebDAV. Vamos fazer um teste no nosso www.invasao.com.br .


> perl finder.pl www.invasao.com.br 80
Testing WebDAV methods [www.invasao.com.br 80]
-------------------------------------
www.invasao.com.br : Server type is Microsoft-IIS/5.0
Method PROPFIND is not allowed
Method PROPPATCH is not allowed
Method MCOL is not allowed
Method PUT is not allowed
Method DELETE is not allowed
Method LOCK is not allowed
Method UNLOCK is not allowed


Nada vulnerável agora. O script finder.pl está disponível [aqui]. Para utilizá-lo é necessário o compilador Perl.
Pensando nas pessoas que não têm muita familiaridade com a linguagem Perl, desenvolvi uma ferramenta comum que checa essas falhas em modo gráfico e lhe diz apenas o importante: se o sistema é vulnerável ou não. É o ChWebDav (Checa WebDav).



ChWebDav em ação. Download [aqui] (171k)

Para maiores informações técnicas sobre a falha, ler (em inglês):


http://www.ngssoftware.com/papers/ms03-007-ntdll.pdf


Patch de segurança da Microsoft para o Windows 2000 disponível em:


http://www.microsoft.com/downloads/details.aspx?FamilyID=c9a38d45-5145-4844-b62e-c69d32ac929b&DisplayLang=en



Marcos Assuncao