Quinta-feira, Agosto 31, 2006

MS06-040 e NT4 - Finalmente!

Uma coisa engraçada acabou acontecendo com o Windows NT 4 nos últimos anos. Enquanto o final do suporte de segurança chegava eu alertava o pessoal de TI, no local onde eu trabalhava, que ficar com uma plataforma sem patches seria muito perigoso. Sabe o que aconteceu? Ficamos, mas o efeito foi o inverso. Como assim?

Quando o Blaster saiu, por exemplo, ele conseguia infectar o Windows 2000 e o Windows XP. O NT era vulnerável, mas o worm não tinha exploit específico para ele. Vi uma rede ser infectada mas a infecção não causou caos, pois a maior parte das máquinas, apesar de sofrerem um reboot se fossem atacadas, não eram infectadas e não aumentavam o problema. Acabou sendo fácil combater a epidemia. Tivemos vantagem em estar na plataforma atrasada!

O que aconteceu foi que aqui no Brasil o NT teve (ou tem) uma sobrevida muito maior. Aparentemente o pessoal que faz os vírus e worms estão mirando o ambiente mais comum para eles, naquele caso, Windows 2000 e XP. Não se deram ao trabalho de escrever worm pela NT!

Mesmo assim a conclusão de que ficar em NT é mais seguro parece muito estranha. Só agora dá p/ ver como acreditar nisso é perigoso. Apareceu uma notícia de que há uma botnet de máquinas NT sendo montada baseada em uma vulnerabilidade recente. Quem tem NT na rede fica em uma situação complicada, precisando confiar no antivírus para não ter um problemão nas mãos. Será que vale a pena?

Terça-feira, Agosto 08, 2006

MS06-041

Essa é uma daquelas vulnerabilidades que pode ser muito problemática (i.e. worm/vírus dos brabos) .

A vulnerabilidade é no client de DNS do Windows (ou resolver, como alguns preferem). pelo visto ela pode ser explorada através de registros específicos de DNS em respostas vindas de um servidor "malicioso". Como são registros que normalmente não são consultados durante o uso do computador por um usuário comum, fiquei curioso sobre como um atacante poderia forçá-los a fazer a "query maldita".

Fui checar os detalhes do funcionamento das respostas DNS e vi que o servidor pode mandar registros adicionais àqueles pedidos pelo client. Minhas dúvidas seriam:


1 - Os registros vulneráveis podem ser enviados como "registros adicionais" em uma resposta a uma query comum para registros "A / CNAME"?
2 - A vulnerabilidade pode ser explorada quando os registros manipulados estão no campo de respostas adicionais?
3 - Em queries recursivas, respostas adicionais feitas por um servidor são repassadas para a origem da query?

Dependendo das respostas às perguntas acima a vulnerabilidade tem um nível de criticidade. No pior caso um simples e-mail HTML é suficiente para explorá-la.

Outro caso que pode ser problemático é dos servidores que logam acessos por nome (web servers ou proxys, por exemplo). O cara acessa o servidor, que tenta resolver o nome do IP dele para colocar no log. A resposta vem com um registro manipulado que explorar a vulnerabilidade e bingo! O servidor é do cara. Uau. Na dúvida pessoal, corrijam imediatamente.

Segunda-feira, Agosto 07, 2006

Ajudando a identificar o privilégio necessário

Identificar por que uma aplicação precisa rodar com direitos de administrador sempre foi uma tarefa meio ingrata. Eu costumava ligar a auditoria no file system e no registry, além do uso de direitos do sistema, para fazê-lo.

Eis que o pessoal da MS que está implementando o UAC no Vista criou uma aplicação para ajudar nessa tarefa, o SUA (Standard User Analyzer). É muito interessante. Inclusive deve ajudar na análise de trojans, embora não seja esse o foco da ferramenta.

Quinta-feira, Agosto 03, 2006

Sobre o scheduler no Windows e SYSTEM

Acabei de ver um post no SANS Internet Storm Center sobre a "vulnerabilidade" das tarefas executadas pelo Scheduler do Windows, que rodam como SYSTEM. Bom, achei que o comentário tem uma boa dose de preconceito contra a plataforma, ou no mínimo uma visão limitada de quem escreveu.

Sim, o scheduler roda como SYSTEM e dispara as tarefas como tal. Pelo menos no post eles deixam claro que apenas administradores podem fazê-lo. Mas aí tem uma coisa curiosa. Eles comparam o SYSTEM ao root do Unix. Caramba, o Unix tem uma série de situações nas quais as coisas são executadas com privilégios de root! Eles escrevem preocupados com administradores rodando tarefas como SYSTEM, mas na maioria dos Unix e semelhantes os administradores já são root! Ou seja, nem a separação que existe no Windows (SO x Administradores) eles têm.

Também esqueceram de comentar que o Scheduler pode ser executado com privilégios de outro usuário. Se o problema é o SYSTEM, coloque um usuário com outro nível de privilégios. Vale lembrar também que um administrador tem várias maneiras de executar tarefas como SYSTEM, não só o scheduler. Isso está diretamente ligado ao direito "Act as part of the OS" (ou algo do tipo, não lembro de cabeça). Quem tem pode virar SYSTEM. Agora, como fica a segregação de administradores de sistema do "UID 0" nos Unix?