Certificado Digital - Como Usar e Como Não Usar Cross-Frame Scripting

Ataques de Brute-Force em Aplicações Web

4 de Março de 2010 às 12:48 TrustSign  | Enviar por e-mail Hits para esta publicação: 837

O ataque de Brute-force sempre foi muito comum em serviços disponibilizados remotamente tais quais, FTP, SMTP, POP e outros. Em geral, este ataque por si só não apresenta um risco muito grave, porém pode ser utilizado como vetor para ataques mais complexos que podem explorar falhas na infra-estrutura, desde políticas de permissões fracas ou mal configuradas, política de senhas ineficientes ou inexistentes, e outras.

Durante este tipo de ataque, o atacante tenta transpor mecanismos de segurança, por exemplo, sistemas de autenticação, proteção de diretórios por senha, etc, tendo como base um mínimo conhecimento sobre o alvo.

Existem basicamente 2 métodos que podem ser empregados neste tipo de ataque, o ataque de dicionário e o de força-bruta.

Dicionário: O atacante utiliza um catalogo pré-formatado onde são utilizadas strings que contém possíveis resultados, e que em geral utilizam senhas padrão comumente utilizadas assim como nomes de pastas, etc. Em geral este tipo de ataque tende a ser direcionado.

Força-Bruta: O atacante utiliza classes de caracteres, por exemplo, alfanumérica, caracteres especiais, case sensitive e etc. Neste caso específico este tipo de método demanda muito tempo e seu percentual de aproveitamento é muito baixo, assim como gera muito “alarde” durante o ataque fazendo com que possíveis mecanismos de segurança, como IDS, IPS e outros sejam acionados.

Em sua grande maioria os ataques de brute-force são utilizados objetivando conseguir senhas de usuários para controle de acesso de aplicações e sistemas. Entretanto, existem diversas ferramentas que utilizam esta técnica para examinar web services, procurar pastas contendo arquivos que possam conter senhas de banco de dados, assim como testar como a aplicação se comporta utilizando diferentes data forms (GET/POST), e ainda identificar session-IDs de usuários.

Especialmente em aplicações web o ataque de brute-force pode ser utilizado para:

- Conseguir cookies de acesso a sessões de usuários;
- Usuários e senhas de diretórios protegidos;
- SessionID de aplicações;
- Arquivos de include contendo dados sensíveis como senhas de banco de dados entre outras.

Veremos abaixo alguns exemplos de ferramentas que podem ajudar durante o teste de aplicações web e descobrir se estamos vulneraveis a este tipo de ataque.

Para testes em serviços web existem 2 ferramentas interesssantes:

- dirb (http://sourceforge.net/projects/dirb)
- webroot (http://www.cirt.dk/tools/webroot/WebRoot.txt)

A ferramenta dirb consiste em uma ferramenta com opções mais avançadas e pode ser utilizada para:

- setar diferentes cookies
- adicionar qualquer tipo de HTTP header desejado
- utilizar proxys para mascarar a conexão
- Utilizar catalogos ou arquivos utilizando dicionários definidos ou templates fazendo uma varredura direcionada.

Podemos fazer um teste simples utilizando-a:

[root@localhost /]$ ./dirb http://laboratorio.test/
—————–
DIRB v1.9
By The Dark Raver
—————–
START_TIME: Mon Jul 9 23:13:16 2007
URL_BASE: http://laboratorio.test/
WORDLIST_FILES: wordlists/common.txt
SERVER_BANNER: apache/3.2.2
NOT_EXISTANT_CODE: 404 [NOT FOUND]
(Location: ‘’ - Size: 345)

—————–

Generating Wordlist…
Generated Words: 839

—- Scanning URL: http://laboratorio.test/ —-
FOUND: http://laboratorio.test/phpmyadmin/
(***) DIRECTORY (*)

No output da ferramenta somos informados que a pasta phpmyadmin/ foi encontrada. Um atacante poderia agora efetuar um ataque direcionado para a aplicação PHPMyAdmin, como por exemplo tentar senhas de acesso default ou utilizar exploits para a versão em uso do PHPmyAdmin.

Um dos maiores problemas com ferramentas como o dirb é reconhecer se a mensagem de retorno do servidor é a esperada ou não. Em casos onde o servidor tem configurações avançadas (exemplo utilizando mod_rewrite) ferramentas automaticas não conseguem distinguir uma mensagem de resposta do servidor sobre um determinado erro ao acessar uma pasta ou arquivo.

A aplicação WebRoot.pl escrita pelo CIRT.DK, tem mecanismos embutidos para trabalhar as respostas do servidor, e baseado na frase especificada pelo atacante, consegue identificar se a resposta do servidor é a esperada ou não.

./WebRoot.pl -noupdate -host laboratorio.test -port 80 -verbose -match “senha” -url “/private/” -incremental lowercase -minimum 1 -maximum 1

oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00
o Webserver Bruteforcing 1.8 o
0 ************* !!! WARNING !!! ************ 0
0 ******* FOR PENETRATION USE ONLY ********* 0
0 ****************************************** 0
o (c)2007 by Dennis Rand - CIRT.DK o
oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00
[X] Checking for updates - NO CHECK
[X] Checking for False Positive Scan - OK
[X] Using Incremental - OK
[X] Starting Scan - OK
GET /private/b HTTP/1.1
GET /private/z HTTP/1.1
[X] Scan complete - OK
[X] Total attempts - 26
[X] Sucessfull attempts - 1
oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00
WebRoot.pl encontrou um arquivo /private/b no laboratorio.test, que contem a frase “senha: 123mudar”
Ferramentas para Identificar e proteger contra brute-forc e em aplicações Web.

Php-Brute-Force-Attack Detector
http://yehg.net/lab/pr0js/files.php/php_brute_force_detect.zip

Esta ferramenta detecta se seu servidor esta sendo scanniado por ferramentas de brute-force como WFuzz, Owasp DirBuster e scans e vulnerabilidades como Nessus, Nikto, Acunetix, etc. Ela pode ajudar a rapidamente identificar possíveis hosts utilizados por atacantes que ficam efetuando testes em sua aplicações para identificar brechas e possíveis falhas de segurança.

Publicação arquivada em: Dicas de Segurança

Enviar por e-mail | Hits para esta publicação: 838

Deixe um Comentário

http://blog.trustsign.com.br/2010/03/04/ataques-de-brute-force-em-aplicacoes-web/Você deve estar conectado para publicar um comentário.

Linkar esta publicação  |  Assine os comentários via o RSS


Calendário

Março 2010
S T Q Q S S D
« Fev   Abr »
1234567
891011121314
15161718192021
22232425262728
293031  

Minhas Publicações Recentes

Publicações por Mês

Estatísticas

Meta