Wednesday, August 31, 2005

Mais detalhes sobre o phishing filter do IE 7

http://blogs.msdn.com/ie/archive/2005/08/31/458663.aspx

Acho que será pouco efetivo uma vez - dependendo da velocidade do processo de report, analise e classificação - que um site clonado, principalmente de banco, normalmente em menos de 30 minutos já faz um belo estrago. Não acredito que este processo seja mais rapido do que isso.

BTW testamos aqui alguns sites clonados e claro não estavam bloqueados. Reportamos pelo canal do IE 7 e pelo menos até 2 horas depois os sites ainda não estavam classificados como phishing.
Documento sobre segurança no IE 6 + Windows XP SP2:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E550F940-37A0-4541-B5E2-704AB386C3ED&displaylang=en

Muito bom, indispensavel para qualquer Microslave.
Mais sobre politicas de senhas:

Esse blog da technet traz algumas informações legais sobre o assunto.
olhem a data, os caras estavam falando disso a um pouco mais de um ano.
Politica de senhas - Algo a ser revisto (Trechos retirados da DDOS-L. Obrigado aos amigos da lista!)

Sempre que lemos os "best-praticies" espalhados pela internet ou recebemos alguma consultoria, um tema mais do que batido é a politica de senhas. Normalmente o que ouvimos por ai é:

- Tamanho: 7 a 8 caracteres
- Vida util da senha: 30-45 dias
- Maximo de tentativas antes do bloqueio: 3 a 5
- Tempo para se zerar o contador de "Maximo de tentativas antes do bloqueio": ?
- Tempo de desbloqueio Automatico: Eterno (Desbloqueado somente pelo o administrador)
- Tempo minimo entre trocas de senhas: ?
- Historico de senhas (Impede a repetição de senhas antigas): ?

Mas será que estes valores se aplicam a todos os cenários ? Como escolher a melhor combinação ? Colocarei aqui 2 cenários para entendermos melhor o por que deste post:

Primeiro Cenário: Se a sua preocupação for Brute-Force Online (FTP Bruteforce, Pop3 BruteForce, HTTP BruteForce, etc...)

é só fazer uma analise combinatória simples:

a senha tem 8 caracteres alfanumericos, podem repetir, caixa alta/baixa e caracteres especiais:

98 * 98 * 98 * 98 * 98 * 98 * 98 * 98 = 8507630225817856 de possibilidades.

Se o sistema bloquear depois de 3 tentativas e liberar depois de meia hora, poderiamos tentar por dia de forma "online" :
48 * 3 = 144 senhas/dia

Se nós temos 8507630225817856 possibilidades e só conseguimos tentar 144 senhas/dia, seriam necessários aproximadamente: 59080765457068 dias para se percorrer todas as possibilidades. Claro que numa situação assim fica mais facil atacar a base de senhas, mas é só uma forma de se ilustrar, vc pode pegar dados do l0pht de benchmark e fazer as contas também para chegar em um valor ideal dos parametros de senha.

Segundo Cenário:
O segundo cenário é o ataque a base de senhas (ex: Base NTLM/Windows 2003).

Um computador moderno hoje com a tabela completa ABNT2 tem 98 caracteres, mas para seguirmos um standard a ASCII tem 94 caracteres (incluindo os casos) , vamos usar aqui a tabela ASCII como exemplo ok ? Em um PIII 900 (Qualquer um aqui tem um desktop mais potente), era possivel se percorrer 1.2 milhoes senhas/segundo. Num site russo achei referencia de nego com P4 fazendo 2.100.000 senhas/segundos, vamos trabalhar com o cenário do P4, pois o LC5 tem como pré requisito P3 1GHz.

Se montarmos o espaço de todas as possibilidades de chars alfanumericos e com repetição teriamos

94^8 = 6095689385410816 de possibilidades, usando o l0pht em um P4 conseguiriamos percorrer 181440000000 senhas/dia.

Portanto conseguiriamos percorrer o espaço total em aprox. 33596 dias ou também conhecido como 92 anos. Veja nem estamos falando em hashs pre computados as famosas "Rainbow Tables" assim como o modo heuristico de funcionamento, estamos falando somente de BRUTE FORCE (Operações mais pesadas e caras do ponto de vista de processamento).

Falando um pouco mais sobre as "Rainbow Tables"
quebrar senhas com todos os caracteres possíveis (sem
contar os ALT-etc) de até 10 posições (Alguma politica de senhas exige mais do que isso ?)
em menos de uma hora. O pessoal vende essas tabelas em DVDs, o LC5 e o
Cain já suportam trabalhar com elas. Acesso à base de senhas hoje
significa que elas serão quebradas em tempo hábil, ponto. Consulte o
http://www.antsight.com/zsl/rainbowcrack/ para mais informações.

Resumo: O ideal hoje é evitar o uso de passwords e passar a utilizar passphrases. É mais facil de se lembrar de frases como "% D3us 4jud4 Qu3m C3d0 M4dRug4 $"do que senhas complexas do tipo $RFDSe12#. No ambiente microsoft pode-se abusar de passphrases de 127 caracteres unicode, podendo se criar frases do tipo "É Barnabé se coça ai pra quebrar essa S3nh4!?#".

Talvez mais tarde ou amanhã (leia-se, quando eu tiver tempo) postarei aqui uma planilha que criei para brincar com esses numeros.

Tuesday, August 30, 2005

Documento interessante do Michael Howard sobre "Drop de privilegios" para navegação:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure01182005.asp

Encaro com bons olhos este tipo de iniciativa entretanto sabemos que existe formas de enganar um processo rodando com maior previlegio. É possivel por exemplo um componente rodando dentro deste "IE Restrito" enviar mensagens com intuito de, via Explorer, chamar ele mesmo dentro do contexto com maior previlegio e burlar esta proteção.
Esta é uma forma simples de elevação de previlegios não tão comum por não haver necessidade de ser praticada. Basta o programa malicioso enviar uma mensagem WM_LBUTTONDOWN para o botão iniciar do windows, via SendKey chamar o "Run..." copiar o full path do programa malicioso, enviar o enter e pronto, bye bye proteção.
Isso não é magica e as funções para isso estão na user32.dll.
Citação em um documento da Microsoft.

http://www.microsoft.com/brasil/technet/Colunas/AyltonSouza/Zotob.mspx

Aylton, que bom que você gostou das pizzas que eu encomendei :-)

Friday, August 26, 2005

Estou efetuando os testes no novo Internet Explorer 7 Beta 1.
Como caracteristicas principais de segurança, ele traz o "Phishing Filter", que tem como o intuito apoiar o usuário na identificação e reporte de sites "clonados", além do drop de privilegios do processo do IE (Somente no VISTA).

Infelizmente para o cenário nacional, o Phishing não é o principal causador de fraudes bancarias, e sim o Scam.

Pelo o que entendi da ferramenta, você tem uma opção de verificação online (Indisponivel no momento), e tem a possibilidade de reportar um site clonado. Já consegui reportar alguns sites mas ainda não consegui fazer nenhuma verificação online. Aliás, gostaria de saber quanto tempo demorará para os sites clonados serem identificados e reportados pelo IE 7 para os usuários.
Acho que vou falar com os desenvolvedores

Thursday, August 25, 2005

Este projeto é interessante: http://research.microsoft.com/HoneyMonkey/

A idéia é identificar sites hospedando codigos maliciosos e novas vulnerabilidades que tem como intuito explorar vulnerabilidades em cima do IE. Vamos acompanhando a evolução e os papers publicados.

Saturday, August 20, 2005

Worm contra Worm

Eu escrevi um "monstrinho" para em caso de emergencia, caso estivesse uma rede infectada com o worm ZOTOB, bastaria startar esse programa para ele se propagar na rede e instalar os patches. Note que ele pode ser usado para qualquer patch, basta trocar o pacote do patch.

Por falta de tempo, não escrevi uma função para listar todos os computadores windows 2000 vulneraveis, para isso eu usei o csvde, exportei as informacoes para um excel, separei o Distinguished name das máquinas em um arquivo txt e usei esse arquivo txt como input (machines.csv).

Note que para "tentar" evitar de varrer sempre as mesmas máquinas quando o worm é copiado, usei uma função para randomizar o conteudo da lista de maquinas antes de varre-la em busca de novos hosts vulneraveis. Veja tb que criei uma funcao para pingar antes os hosts vulneraveis, portanto se voces souberem de antemao que o ping é barrado em algum gateway, ou tirem a funcao ou abram as regras de firewalling :-)

Voce precisa roda-lo no contexto de domain admin (Ei, isso aqui é uma ferramenta para administradores, lembrem disso kiddies!)

O Codigo se encontra aqui: http://getdata.codigolivre.org.br/machine_patch.txt

Note que existe um aplica.bat, o seu conteudo é simples:

C:\patch\Windows2000-KB899588-x86-ENU.EXE /quiet /promptrestart