Ataques de Brute-Force em Aplicações Web

O ataque de Brute-force sempre foi muito comum em serviços disponibilizados remotamente tais quais, ftp, smtp, pop entre 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 que vão desde políticas mal configuradas de permissões, política de senha ineficiente ou inexistente entre outras.

Durante este tipo de ataque, o atacante tenta transpor mecanismos de segurança como por exemplo sistemas de autenticação, proteção de diretórios por senha e 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 no caso são utilizadas strings que contém possíveis resultados e que em geral utilizam senhas padrão comumente utilizadas, nomes de pastas utilizadas e etc. Em geral este tipo de ataque tende a ser direcionado.

Força-Bruta: O atacante utiliza classes de caracteres ex: alfanumerica, 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 IDSs, IPSs e etc sejam acionados.

Em sua grande maioria ataques de brute-force são utilizados para conseguir senhas de usuários para controle de acesso de aplicações e sistemas. Entretanto existem diversas ferramentas que utiliza 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) assim como 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.

COMO UTILIZAR? (clique em leia mais)

A compilação é simples e sem grandes mistérios.

Descompacte o arquivo e compile seguindo os seguintes comandos:

[kalib@tuxcaverna downloads]$ tar -xvzf dirb203.tar.gz

[kalib@tuxcaverna downloads]$ cd dirb/

[kalib@tuxcaverna dirb]$ ./configure

[kalib@tuxcaverna dirb]$ make

Pronto. O Dirb está pronto para funcionar.

Se você apenas executar o dirb sem nenhum parâmetros lhe serão apresentados os parâmetros deisponíveis para utilização bem como uma descrição dos mesmos:

[kalib@tuxcaverna dirb]$ ./dirb
—————–
DIRB v2.03
By The Dark Raver
—————–
./dirb <url_base> [<wordlist_file(s)>] [options]

[kalib@tuxcaverna dirb]$ ./dirb
—————–DIRB v2.03    By The Dark Raver—————–
./dirb <url_base> [<wordlist_file(s)>] [options]
….
….
….

Mas vamos ao uso mais básico.

A forma mais simples é utilizando apenas a URL que deseja testar, por exemplohttp://www.meulaboratorio.com.br

[kalib@tuxcaverna dirb]$ ./dirb http://www.meulaboratorio.com.br

—————–

DIRB v2.03

By The Dark Raver

—————–

START_TIME: Mon Jan 31 10:05:16 2011

URL_BASE: http://www.meulaboratorio.com.br

WORDLIST_FILES: wordlists/common.txt

—————–

GENERATED WORDS: 1942

—- Scanning URL: http://www.meulaboratorio.com.br/ —-

+ http://www.meulaboratorio.com.br/A

(FOUND: 301 [Moved Permanently] – Size: 241)

+ http://www.meulaboratorio.com.br/a

(FOUND: 200 [Ok] – Size: 419)

+ http://www.meulaboratorio.com.br/about

(FOUND: 301 [Moved Permanently] – Size: 237)

+ http://www.meulaboratorio.com.br/accessibility/

==> DIRECTORY

+ http://www.meulaboratorio.com.br/account

(FOUND: 302 [Moved Temporarily] – Size: 227)

+ http://www.meulaboratorio.com.br/accounts

(FOUND: 302 [Moved Temporarily] – Size: 192)

+ http://www.meulaboratorio.com.br/ad

(FOUND: 301 [Moved Permanently] – Size: 223)

+ http://www.meulaboratorio.com.br/ads/

==> DIRECTORY



Cortei pois o resultado seria muito grande. Mas, como podem ver, ele escaneia a URL por diretórios, arquivos, etc., que podem ser alvos de tentativas de brute-force.

No nosso simples caso, vi que foi identificado um diretório chamado accounts. Este diretório já é um alvo que merece ser inspecionado com mais atenção pois as chances de ele conter algo que interesse ao invasor são grandes.

Como eu havia dito, o Dirb funciona com dicionários. Como devem ter reparado, eu não setei nenhum dicionário, portanto ele utilizou o dicionário padrão “common”. Mas você pode especificar manualmente qual dicionário deseja utilizar.

No diretório dirb, você encontrará um diretório chamado wordlists que conterá os dicionários disponíveis.

[kalib@tuxcaverna dirb]$ cd wordlists/

[kalib@tuxcaverna wordlists]$ ls

big.txt  catala.txt  common.txt  euskera.txt  extensions_common.txt  indexes.txt  mutations_common.txt  others  small.txt  spanish.txt  stress  vulns

Bom, e sobre parâmetros?

Vou apresentar apenas algumas possibilidades.

Para utilização de um dicionário em específico, basta adicionar o nome do dicionário desejado ao final do comando:

[kalib@tuxcaverna wordlists]$ ./dirb http://www.meulaboratorio.com.br euskera.txt

Para utilização de SSL, apenas inclua o HTTPS na url desejada:

[kalib@tuxcaverna wordlists]$ ./dirb https://www.meulaboratorio.com.br euskera.tx -i

Você também pode utilizar múltiplos dicionários separando-os com vírgulas:

[kalib@tuxcaverna wordlists]$ ./dirb http://www.meulaboratorio.com.br euskera.txt,common.txt,spanish.txt,big.txt

Além disto você pode filtrar sua busca por uma extensão em específico através do parâmetro -X:

[kalib@tuxcaverna wordlists]$ ./dirb http://www.meulaboratorio.com.br euskera.txt -X .asp,.php,.jsp

Agora é sair experimentando combinações e testando os resultados. Seja criativo em seus testes. ;]

Fonte: RootSecurity

Um comentário sobre “Ataques de Brute-Force em Aplicações Web

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s