rss
twitter
  •  

Flisol Quixadá – Relato e Parabéns

| Posted in Arch Linux, cultura hacker, Flisol, Impressões, Jogos, Linux, segurança, software livre, Tux-ce |

4

Banner do Flisol quixadá

Saudações galera!

Algumas pessoas já me perguntaram nos últimos 3 dias porque eu não estava no Flisol Fortaleza este ano. “Cara, nem lhe vi lá pelo Flisol correndo pra cima e pra baixo esse ano.”

Bom, como eu havia informado anteriormente, mas nem todos devem ter notado (certo Rodrigo, hehehe), este ano estive no Flisol de Quixadá. A oportunidade de palestrar por lá surgiu e resolvi mudar o ambiente do meu Flisol este ano.

Logo na sexta-feira, dia em que cheguei em Quixadá, tive duas boas primeiras impressões:

1- O clima estava melhor do que o de Fortaleza. Sim, já não aguentava mais o nosso calor infernal. Por mais que eu já estivesse esperando um calor ainda maior, fiquei surpreso ao perceber que o tempo estava mais fresco. Talvez por conta da umidade…

2- Poucos minutos depois de minha chegada esbarro com o Ronaldo, também membro da Tux-CE, que optou por também palestrar no Flisol de Quixadá. Nos esbarramos no Hotel mesmo, já que acabamos ficando no mesmo.

Já que citei o Hotel, gostaria de fazer dois agradecimentos. Primeiro ao Samy e demais membros da organização que possam ter feito os contatos com hotéis e agilizado nossa reserva por lá. Obrigado Samy e demais envolvidos. Segundo, a todos do Hotel Monólitos que nos receberam super bem e prestaram um excelente serviço. Sim, NOS receberam bem. Porque plural? Pelo fato de minha namorada, Mari, ter ido também para Quixadá. Acho que também devo agradecer a ela pelo apoio que me deu e boa vontade (saco e paciência) de assistir minha palestra bem como outras durante todo o dia do evento. ;]

Logo na sexta aproveitamos para descansar depois de uma semana corrida de trabalho em Fortaleza. Eu, Mari e Ronaldo fomos para um restaurante que ficava próximo ao Hotel, onde tomamos umas cervejinhas e comemos uma excelente carne. No domingo fui descobrir que neste mesmo restaurante fazem a melhor bisteca que já comi na minha vida. Portanto, se alguém tiver a chance de visitar Quixadá, não deixe de comer uma bisteca caprichada no Ponto da Bisteca. O Araújo, que estava no time de organização do evento, acabou nos encontrando por lá rapidamente nesta noite.

No sábado, optei por ir bem cedo ao evento. Sim, gosto de ver as coisas por trás dos bastidores. Não gosto de apenas chegar, palestrar e ir embora. Minha primeira surpresa do dia? Uma equipe de aproximadamente 30 pessoas na equipe de organização do Flisol! o.O Bom, sei que no dia já parabenizei a todos eles, várias vezes por sinal, mas deixo novamente os parabéns. Estive envolvido direta ou indiretamente em todas as edições do Flisol Fortaleza desde o ano de 2006 e nunca vi uma equipe de organização com tanta gente disposta a ajudar. Vocês estão de parabéns.

Membros da organização - Mesa de credenciamento

Depois de “participar” como ouvinte da primeira reunião do dia com a equipe de organização do evento, os preparativos de última hora começaram e aproveitei para conhecer o local do evento, dar uma volta, etc. O evento aconteceu na Faculdade Católica Rainha do Sertão, que por sinal é linda e bem arborizada.

O evento contou com duas apresentações de abertura: Um show de humor e um grupo de dança. Infelizmente não lembro o nome do Humorista ou do grupo de dança para deixar os devidos créditos. Mas, ambos estão de parabéns também.

Ainda durante a apresentação de humor tive minha segunda surpresa do dia. Um dos integrantes do time de organização me chamou para um canto mais afastado do ginásio e me fez um convite para uma breve filmagem que eles estavam preparando. Como não estava esperando por isso, acabei tendo de improvisar algo. Mas deu tudo certo, espero. o.O

Em seguida tive minha terceira surpresa do dia. O evento contou com uma rápida mesa de cerimônia para abertura oficial do evento, para a qual fui convidado de surpresa, Samy vocẽ me paga onde foi dada uma breve explicação sobre o intuito e importância do evento bem como do Software Livre como um todo para a comunidade em geral.

Mesa de cerimônia na abertura do evento

Mesa de cerimônia na abertura do evento

Mesa de cerimônia - "Milagre, Marcelo não citou ou mostrou nada do Arch?" Sim, a camisa.

Após esta breve apresentação foram iniciadas as palestras. E como fui o primeiro palestrante do dia, tive a minha quarta surpresa no evento. Sim, muitas surpresas logo no período da manhã. hehe

Início de minha palestra sobre cultura hacker

A surpresa? A enorme quantidade de pessoas que estavam ali sentadas assistindo minha palestra. Por achar que não teria a menor condição de palestrar sem microfone acabei optando por utilizar o microfone e subir no palco que, até então, só havia sido utilizado para a apresentação de dança. De lá eu poderia ter uma visão melhor do público, bem como eles de mim. Apenas lá de cima pude ver a real quantidade de pessoas. Não tenho números, mas eram muitas. Talvez o Samy possa dar alguma média aqui nos comentários do blog!? Por outro lado, acho que as fotos falam por si só.

Platéia durante minha palestra

Platéia durante minha palestra - Ronaldo e Mari no canto direito

Platéia durante minha palestra

Abordei dois temas:

1- Cultura Hacker – Tenha ética e ganharás respeito

2- Software Livre – Nunca vi nem comi, eu só ouço falar

Casa cheia, certo?

Eu realmente não esperava tanta gente. Bom saber que em Quixadá temos tantas pessoas interessadas em conhecer algo novo. As possibilidades são enormes e as chances de saírem dali futuros militantes do software livre são óbvias.

Após a minha palestra o evento teve uma pausa para o almoço. Eu e a Mari aproveitamos para passear mais um pouco e ver como andava o movimento do lado de fora do ginásio onde se encontrava o Sertão em Rede. Do que se trata este Sertão em Rede? É um projeto que visa a inclusão socio-digital. Imagine um tele-centro para capacitação, oficinas, etc. Agora imagine um ônibus para levar o equipamente do tele-centro as mais diversas cidades.  Legal, certo? E se ambos fossem um só? O tele-centro e o ônibus? Sim, é isso mesmo. O ônibus que leva o tele-centro é o próprio tele-centro. Equipado com máquinas com Linux, ar-condicionado, lousa, cadeiras, mesas e toda a estrutura necessária para se realizar um curso ou capacitação qualquer. Sim, ele também possuí conectividade com a Internet, do contrário não poderia se chamar Sertão em Rede, certo?! Particularmente, achei brilhante. Parabéns aos responsáveis pelo projeto bem como ao Flisol por ter levado o Sertão em Rede para ser apresentado no evento.

Ônibus Sertão em Rede

Ambiente interno do Ônibus Sertão em Rede

Ambiente interno do Ônibus Sertão em Rede

Ainda nesta pausa para o almoço pude reparar nos ônibus que estavam estacionados no local. Sim, vieram muitas pessoas de outras cidades próximas para o evento como podem ver na foto abaixo. ;]

Ônibus que vieram de outras cidades próximas

Claro, não posso deixar de citar o almoço. Acredito que a Mari e os demais tenham gostado tanto quanto eu. Excelentes peixes, frito e cozido com molho de camarão, carne de sol, etc. Obrigado Samy Soares e Italo Bethoven por terem nos convidado para apreciar a excelente culinária do restaurante Abelardo.

No período da tarde aconteceram demais palestras e atividades previstas do evento como sala de games, sala de vídeos, install-fest, etc. Aproveitei para assistir algumas palestras, infelizmente não tinha como assistir todas, e visitar as demais atividades do evento.

Sala de Games

Sala de palestras - Palestra sobre HTML5 com George Gomes, SEDUC

Palestra O que o Software Livre Pode Fazer Por Você – Marcelo “Bill”, F13

Ginásio - Palestra Mercado e SL - Ronaldo Davi, ProtctIT e Tux-CE

Conheci novas pessoas e pude rever alguns velhos amigos e companheiros como o Marcelo “Bill” da F13 Informática e o Pedro Henrique, também membro da Tux-CE. Ambos palestraram no período da tarde.

Claro, no final da tarde todos estavam esgotados e optamos por nos recolher em nossos respectivos hotéis/casas para um banho e rápido descanso antes de nos encontrarmos novamente para o jantar.

Bom, cá entre nós. É fácil para o Samy combinar de tomarmos banho e descansarmos por cerca de 2 horas até ele voltar e nos encontrarmos para o jantar. Ele mora lá. Mas, nós estavamos como visita. Descansar? Ficar deitado? Isso nós podemos fazer em casa, certo?

Depois que eu e Mari terminamos o banho e descemos para o térreo do Hotel, já estavam por lá prontos também o Ronaldo, Pedro, Bill, sua namorada Poliana e outro camarada cujo nome, infelizmente, não lembro. Então já começamos uma pequena roda ali mesmo na fachada do hotel onde tomamos umas cervejinhas e tivemos um papo descontraído enquanto aguardávamos o Samy, que chegou com uma pontualidade que impressionaria qualquer britânico.

De lá pegamos a estrada e fomos jantar no restaurante Pé de Serra. Não fica exatamente em Quixadá. Digamos que fica entre Quixadá e Quixeramobim. O restaurante é lindo e a comida é divina. Foi excelente pois, já com a mente menos acelerada, pudemos bater um papo legal. Tirando algumas indecências insanas saídas da mente do Bill, tudo o mais foi tranquilo.

Após a janta resolvemos ir para um pub chamado Bom Motivo, onde estava acontecendo um tributo ao eterno Raul Seixas. O local era bem aconchegante e animado. Talvez por isso a casa estivesse com tanta gente. Com isto fechamos a confraternização de pós-flisol.

No Domingo apenas descansamos no Hotel e rodamos um pouco pelas ruas da cidade. No período da tarde conheci a tal bisteca do Ponto da Bisteca. Sem comentários. Será que eles fazem entrega em domicílio se eu disser que meu endereço fica em Fortaleza? o.O

Novamente, obrigado a todos pela recepção e hospitalidade e parabéns pelo excelente evento.

Espero que boa parte do público tenha absorvido as ideias e sementes que ali foram plantadas pelo pessoal da organização e palestrantes como um todo. Que ideias sejam trocadas e fortalecidas.

Mais fotos do evento? Clique aqui!

Abraços!

Rootkit! Esse bicho morde? Proteja-se!

| Posted in Arch Linux, cultura hacker, Impressões, Linux, redes, segurança, software livre |

5

Você sabe o que é rootkit?

Nunca vi, nem comi, eu só ouço falar!

É um vírus? É um trojan? É um spyware? Não, é um rootkit mesmo.

A verdade é que ainda não existe um consenso em relação ao que o rootkit é de fato. Muitos dizem que é um tipo de vírus, alguns dizem que é um trojan, como você chamaria? Eu prefiro chamar de malware, que, ao pé da letra, seria um termo utilizado para algum aplicativo contendo código malicioso. o.O Acho que seria um meio termo aceitável para que possamos utilizar como base.

Mas esse bicho morde? É de comer?

Bom, em tese um Rootkit é um tipo de malware, como expliquei acima, cuja principal intenção é se camuflar, impedindo que seu código seja encontrado por qualquer antivírus.

Teoricamente, é exatamente isto que ele tenta fazer. Passar despercebido. De fato a grande maioria dos antivírus não são capazes de rastrear Rootkits justamente por conta do seu comportamento. É aí que surgiram ferramentas especializadas neste tipo de busca. Alguns antivírus, os mais caros, já agregam excelentes ferramentas para buscar rootkits. Mas, como eles conseguem se camuflar tão bem?

Estas aplicações, rootkits, têm a capacidade de interceptar as solicitações feitas ao sistema operacional, podendo alterar o seu resultado.

Imagine que você está utilizando sua máquina e seu sistema operacional solicita a leitura ou abertura de um determinado arquivo, podendo ser a seu mando ou mesmo do antivírus, por exemplo, o rootkit intercepta os dados que são requisitados e faz uma filtragem dessa informação, deixando passar apenas o que ele deseja, ou seja, código não infectado. E o que acontece? O antivírus ou qualquer outra ferramenta ficam impossibilitadas de encontrar o arquivo malicioso ou o código, dependendo do caso.

Não é incomum encontrar o Rootkit como não apenas uma aplicação, mas um conjunto de aplicações ou, como também chamamos, toolkit.

Resumidamente poderíamos dizer que é um programa com código malicioso que busca se esconder de softwares de segurança e do usuário utilizando diversas técnicas avançadas de programação para tal.

Geralmente escondem suas chaves nos registros do sistema operacional e escondem seus processos no gerenciador de tarefas, o que torna uma missão quase impossível para um usuário identificar por conta própria. Outra prática comum de quem escreve rootkits é fazer com que eles se escondam em drivers de hardware, que são arquivos de sistema fundamentais para que o sistema operacional funcione corretamente com seus dispositivos.

O nome RootKit é por conta da função para a qual o mesmo é desenvolvido. Primeiramente ele é um kit de funcionalidades e códigos maliciosos cujo objetivo é se infiltrar nos sistemas de forma silenciosa e despercebida, geralmente liberando um  *backdoor para que o invasor possa posteriormente acessar o sistema infectado com privilégios de super usuário ou usuário administrador (root).

Para quem nunca ouviu falar em backdoors, a explicação pode ter parecido um tanto quanto confusa, portanto aqui vai a nota de rodapé: Backdoor é, assim como na tradução ao pé da letra, uma porta dos fundos. Uma falha de segurança intencional que possibilita a invasão do seu sistema de forma que o invasor possa ter este acesso e controle com um mínimo de trabalho.

Sem mais papo furado, vamos conhecer algumas ferramentas que buscam rootkits em seu Linux.

RKHUNTER

A primeira ferramenta que vou apresentar se chama rkhunter, que é a minha favorita.

Se, assim como eu, você for usuário do Arch Linux, poderá encontrar o rkhunter no AUR através deste link.

A instalação é simples e segue o padrão de qualquer instalação a partir do AUR, conforme passos abaixo:

1- Descompacte o arquivo:

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

2- Acesse o diretório criado:

[kalib@tuxcaverna downloads]$ cd rkhunter/

3- Execute o PKGBUILD para criação do pacote em si:

[kalib@tuxcaverna rkhunter]$ makepkg

4- Com o pacote criado, basta instalar:

[kalib@tuxcaverna rkhunter]$ sudo pacman -U rkhunter-1.3.8-1-any.pkg.tar.xz

Feito.

Seu rkhunter está pronto para ser utilizado, mas como toda e qualquer aplicação de varredura, como antivírus, por exemplo, é sempre recomendado atualizar sua base de dados antes de iniciar a busca, portanto digite o seguinte para atualizar a base com as propriedades dos arquivos existentes:

# rkhunter –propupd

Em seguida é a hora de atualizar a base de dados do rkhunter em si:

# rkhunter –update

Agora, vamos vasculhar o sistema:

# rkhunter -c

Você terá uma listagem das checagens parecida com esta:

Perceba que é tudo apresentado de forma simples e objetiva.

No final da checagem ele gera um arquivo onde ele armazena todas as informações que ele registrou bem como lhe aponta uma descrição dos resultados da busca.

 

TIGER

Esta será a nossa segunda ferramenta.

O Tiger é uma ferramenta de segurança que não pensa tanto na aparência, portanto não espere uma tela tão amigável e colorida quanto a do rkhunter. ;]

A instalação da mesma no Arch Linux também se dá através do pacote do AUR que pode ser encontra neste link.

A instalação segue o mesmo procedimento que utilizamos no rkhunter, conforme abaixo:

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

[kalib@tuxcaverna downloads]$ cd tiger/

[kalib@tuxcaverna tiger]$ makepkg

[kalib@tuxcaverna tiger]$ sudo pacman -U tiger-3.2.3-2-x86_64.pkg.tar.xz

Finalizado. Para executar, basta rodar:

# tiger

Ele iniciará a busca e lhe trará uma interface como esta:

Assim como o rkhunter, no ato de finalização ele irá gerar um arquivo com o relatório da checagem. Ele lhe informará o caminho do arquivo, mas provavelmente será em /var/log/tiger/.

 

CHKROOTKIT

Agora vamos para a terceira e última ferramenta deste post.

Para usuário Arch, desta vez a instalação é ainda mais simples do que as duas anteriores, visto que o pacote já se encontra nos repositórios do pacman.

[kalib@tuxcaverna ~]$ sudo pacman -S chkrootkit

Instalado!

Assim como o Tiger, o chkroot também possui uma interface simples sem cores ou enfeites, conforme pode ser visto abaixo:

Apesar de não ser colorida e enfeitada, é uma interface bem simples e de fácil entendimento, concordam?

Claro, não existem apenas estas ferramentas para busca de rootkits e códigos maliciosos, mas levaria muito tempo para escrever sobre todos ou ao menos a maioria.

No mais, acho que já é um bom começo para um entendimento básico sobre o que é esse tal Rootkit e o que esse bicho faz.

Com estas ferramentas as chances de algum rootkit passar despercebido em seu ambiente Linux já são bem limitadas.

Abraços!

Brute-force? O Dirb… DirBuster lhe ajuda a identificar vulnerabilidades em seu site

| Posted in Arch Linux, cultura hacker, Impressões, Java, Kubuntu, Linux, redes, segurança, software livre |

1

Bom, para quem não conhece nada sobre Brute-Force ou apenas ouviu falar vagamente mas não tem certeza sobre o que realmente é um ataque deste tipo, sugiro dar uma lida em meu último post, onde apresentei algumas informações sobre brute-force bem como uma ferramenta que podemos utilizar para testar nossos sites e verificar o quão vulneráveis eles estão a este tipo de ataque. Segue link para o mesmo:

Brute-Force? O Dirb lhe ajuda a identificar vulnerabilidade em seu site!

Agora que já conhecemos um pouco sobre as técnicas de brute-force e a ferramenta Dirb, que tal conhecer outra mais apresentável?

Me refiro ao DirBuster. Uma aplicação multithread desenvolvida pelo OWASP (The Open Web Application Security Project) que tem como objetivo realizar brute-force em diretórios e nomes de arquivos na web. Assim como o Dirb, o DirBuster trabalha em cima de dicionários ou listas. Ao todo ele trás 9 listas que podem ser utilizadas para nossas varreduras e testes. Como todas as suas listas foram criadas na unha, após exaustívas pesquisas e buscas na web por nomes mais utilizados para arquivos e diretórios em servidores web, o DirBuster mostra-se extremamente efetivo para este tipo de atividade conseguindo encontrar até mesmo os arquivos mais ocultos e escondidos.

Mas se você não ficar satisfeito, nós garantimos a devolução do seu dinheiro, com apenas utilizar o modelo de dicionários, o DirBuster ainda lhe possibilita o ataque de brute-force mais purista. Tentativa e erro com combinações possíveis de caracteres. Claro, se você tem muito poder de processamento e tempo sobrando, boa sorte. ;]

Legal Kalib, quer dizer que agora posso sair invadindo sites?

o.O Como diria o Chaves: Ai que burrrrroooo.. dá zero pra ele…

Não amigo. O meu intuito não é incentivar ou apresentar qualquer mecanismo ou técnica para este tipo de atividade. O DirBuster não foi feito para este propósito e nem conseguirá efetuar isto. Ele não fará nenhum tipo de exploit em arquivos ou diretórios que ele encontre. O DirBuster serve exatamente para identificar possíveis alvos para estes tipos de ataque, o que nos permite agir de forma corretiva ou preventiva em nossos servidores web. ;]

Chega de lenga lenga.. vamos ao que interessa!

Como instalar?

Arch Linux
Bom, se você utiliza Arch Linux, pode pegar o pacote no AUR através do seguinte link(Lembrem-se de votar nele):

http://aur.archlinux.org/packages.php?ID=20809

Feito isto, basta seguir o procedimento padrão para pacotes do AUR.

1- Descompactar: [kalib@tuxcaverna downloads]$ tar -xvzf dirbuster.tar.gz

2- Entrar no diretório dirbuster e gerar o pacote: [kalib@tuxcaverna dirbuster]$ makepkg

3- Instalar o pacote: [kalib@tuxcaverna dirbuster]$ sudo pacman -U dirbuster-0.12-1-x86_64.pkg.tar.xz

Feito. ;]

Outras distribuições? Não tenho certeza se o pessoal de outras distribuições empacotou o DirBuster, portanto provavelmente você vai precisar baixar o arquivo compactado do site oficial do projeto. Busquei tanto no Debian quanto no (K)Ubuntu 10.10 e em nenhum destes encontrei o DirBuster nos repositórios através do aptitude.

Portanto se você não utiliza o Arch, segue link para download da ferramenta:

http://www.owasp.org/index.php/DirBuster#tab=Download

Mas qual a cara do bicho?

Como explicado antes, ele funciona parecido com o Dirb, porém em uma interface GUI (gráfica).

Como podem ver, é uma interface simples e de fácil manuseio.

Vamos aos pontos:

1- No campo Target, você deverá inserir a URL que será alvo do seu brute-force de diretórios e arquivos web.

2- Logo abaixo, vocẽ escolhe se deseja utilizar apenas GET ou HEAD & GET.

3- Agora é a vez de escolher quantas threads deseja utilizar. Quanto maior o número de threads, mais requisições simultâneas você estará utilizando. ;]

4- Abaixo você deverá escolher o tipo de brute-force.

* Baseado em dicionários, neste caso você deverá escolher um dos dicionários que a ferramenta já lhe disponibiliza através do seguinte caminho: /opt/DirBuster/

* Baseado em brute-force puro. Neste caso você deverá escolher qual conjunto de caracteres deseja que sejam utilizados, quantidade mínima e máxima de caracteres por tentativa.

5- Em seguida é a hora de escolher os filtros: Deseja fazer brute-force apenas em diretórios? Arquivos também? Modo recursivo? Extensões em branco? Diretório inicial para o scan? Que tipo de extensão?…

E como é o retorno que ele me dá?

Bom, vou escolher meu alvo e vou utilizar 20 threads em simultâneo. Não vou deixar a ferramenta rodando por muito tempo pois estou apenas fazendo uma demonstração.

Como podem ver, filtrei para que o brute-force comece no diretório raiz (/) e optei pela maior lista que o DirBuster possui como dicionário. Deixei rodando por cerca de 30 segundos e já tive o seguinte resultado.

A parte borrada no início da imagem não é um defeito. Vocês não pensaram que eu iria deixar exposto o alvo no qual fiz o teste, certo? No caso, optei pelo site de uma de nossas instituições de ensino. Bom, a imagem acima é um exemplo do retorno que consigo com a ferramenta. É a visão em Lista. Além dela você pode optar pela visão em árvore, que, como o nome informa, lhe trará a árvore de diretórios, sub-diretórios e arquivos que foram encontrados. Abaixo um exemplo da visão em árvore:

O resultado, mesmo deixando a ferramenta rodando por apenas 30 segundos, foi o esperado. Um espantoso caso de descuido com a segurança do site.

Alguns leves exemplos que me chamaram a atenção na lista que consegui:

Um diretório de administração exposto desta forma indicando que existe uma sessão do site com acesso permitido apenas para administradores. O que isso me leva a crer? Que quem conseguir acesso a esta sessão consegue manipular o sistema do site? O que nos leva a uma posterior análise da página index contida nele que possibilita uma tentativa de brute-force de login e senha? psssiiiuuuu… o.O


Um diretório para uploads de Arquivos? Que tal testar ele? Apenas usuários administradores possuem permissão de upload? Ou alunos conseguem fazer upload de fotos, trabalhos, por exemplo? De qualquer forma, isso me indica que existe a possibilidade de eu subir arquivos para o servidor deles. Que tal um script em php que me permitiria ter um console shell no servidor deles para inclusão, exclusão, edição, etc.. ? pssiiiiuuuu… o.O

Pode não ser nada.. mas também pode ser muita coisa.. O que um diretório chamado “gerencia” faz ali tão exposto e com um nome tão… tão… discreto? o.O psssiiiuuuuu

Acho que já conseguiram entender um pouco do que o DirBuster faz.

Abraços!

Happy Hacking…

PS: Wrong developers! Never play security by obscurity!

Brute-force? O Dirb lhe ajuda a identificar vulnerabilidades em seu site

| Posted in cultura hacker, Impressões, Linux, redes, segurança, software livre |

2

Para quem não conhece, brute-force é um ataque bastante utilizado em serviços web tais como smtp, pop, ssh, ftp, iax dentre outros. O ataque consiste em basicamente forçar o login em um determinado serviço que esteja disponível online sem que seja necessário um ataque mais sofisticado ou mesmo grandes conhecimentos sobre a tecnologia em questão. Por ser demasiado simples de se utilizar, visto que existem milhares de ferramentas disponíveis na web para este fim, ele acaba se tornando um dos pesadelos mais constantes dos administradores de redes, SysAdmins, etc.. Pois é um fato! Se você possui um serviço web ele já sofreu tentativa de ataques brute-force. Não sofreu? Não se preocupe, sofrerá. ;]

Basicamente existem duas formas de brute-force, porém eu prefiro acrescentar uma terceira forma…rude e grosseira, mas infelizmente já vi casos de pessoas que se utilizam dela, então vamos lá.

1- Brute-force puro ou força bruta, como prefiram chamar. É a metodologia mais lenta por testar uma quantidade absurdamente grande de combinações de caracteres de forma aleatória a ponto de tentar descobrir uma senha. Utilizam-se classes como “alfanuméricos”, “numéricos”, “caracteres especiais”, etc. Por exemplo. Supondo que nosso alfabeto fosse composto apenas das letras A, B e C. E alguém possui uma senha para um determinado serviço web. Com uma tentativa de brute-force, eu utilizaria uma ferramenta que geraria todas as combinações possíveis a partir destas 3 letras, o que, ocasionalmente, me daria acesso ao serviço uma vez que, com certeza, eu descobriria a senha, uma hora ou outra. A ferramenta começaria a tentar logar com senhas da seguite forma:

A
AA
AB
AC
B
C
BA
BB
BC
C
CA
CB
CC
AAB
AAC

ACABCAACB

Enfim.. Faria todas as combinações possíveis com estas 3 letras e cedo ou tarde teria sucesso no login, mas… Nosso alfabeto não é tão pequeno assim. E os números? E os caracteres especiais como %, $, #, @, !, , &, *, (, ), _, -, +, =, etc…

Já imaginaram quantas tentativas seriam necessárias para se descobrir uma senha, por exemplo, de 8 caracteres contendo letras, números e caracteres especiais? o.O

Quanto mais demorado for o ataque, mais fácil será de detectar o mesmo.

Por estas questões ele acaba não sendo a primeira opção para estes ataques. O que nos leva para a outra forma que é a mais utilizada hoje em dia e que tem se provado a mais eficaz, graças a triste realidade global de que as pessoas não possuem uma política eficiente para escolha de suas senhas, acabando por utilizar senhas com palavras reais como: deus, amor, sexo, felicidade, vida, segredo, secreto, etc.

2- Dicionários. Lembra daquela sua senha que faz sentido e você gosta porque é fácil de lembrar? Aquela “deus”, “amor”, “sexo”, “cerveja”, etc. Bom, ela corre grandes riscos se passar por um ataque que se utiliza de dicionários. Ataques com dicionários se resumem ao mesmo ataque de tentativa e erro com o intuito de logar em algum serviço web porém de forma mais coerente e orientada. O dicionário consiste em classes ou arquivos texto com uma sequência de palavras pré-formatadas pelo atacante que serão utilizadas como banco de possíveis senhas, ao invés de simplesmente sair tentando todas as combinações possíveis.

Supondo que sua senha seja “cachorro”. Eu lanço o ataque de brute-force utilizando-me de um dicionário de strings, ou palavras, que possui as seguintes:

amor
deus
ceu
inferno
gato
sexo
divino
futebol
cachorro
galinha
absurdo
segredo
naodigo

Como percebem, é uma simples lista de palavras. Porém, notaram que cachorro está na lista? Bom, o meu ataque faria de forma automática tentativas de login com todas estas possíveis senhas até chegar na vez do “cachorro”, que me resultaria em acesso à sua conta, serviço, site, aplicação ou o que quer que estivesse “protegido” com a senha “cachorro”.

Imagine a mesma senha cachorro. Já imaginou quantas tentativas seriam necessárias com a outra técnica? A de combinações? Imaginem quantas milhares de combinações seriam necessárias utilizando o nosso alfabeto completo até chegarmos à palavra cachorro. o.O

Claro, quem utiliza-se de dicionários não possui um arquivo de strings tão curto como este exemplo que dei. Sequer apenas em português. Geralmente pegam arquivos prontos na internet que são feitos para este fim que possuem uma infinidade de palavras incluindo nomes próprios, cidades, países, objetos, frutas, etc, etc…

Ou seja, se você possui uma senha bobinha e que é uma palavra de fato e faz sentido, pense seriamente em trocar por algo um pouco mais elaborado. ;]

Sobre a terceira metodologia, se é que pode-se chamar assim, não possui um nome definido, sequer é reconhecida, porém vou citar pois ela é utilizada em casos mais amadores e específicos. O que seriam esses casos amadores e específicos? Algo como:

* mulher/namorada tentando descobrir senha do orkut/email/etc do marido/namorado ou o oposto;
* jovens tentando descobrir senha de orkut/email/msn/etc de outros jovens por qualquer motivo que o seja (briguinha na escola? o.O)…

3- Lammer ou seja o que deus quizer. Independente da causa e das pessoas envolvidas, por mais incrível que possa parecer, esta modalidade ainda é bastante utilizada por aí. E o que é pior? Muitas vezes funciona. Não tirando os “méritos” o.O da pessoa que consegue a senha de alguém através dessa “metodologia”, mas em 100% 200% dos casos a culpa é apenas da vítima que insiste em colocar uma senha mais do que absurda como por exemplo: telefone de casa, seu número de celular, sua data de nascimento, seu sobre-nome, nome da namorada, nome da sogra (que o Diabo carregue), etc.

Acho que já ficou claro como essa metodologia funciona, certo? Caso não, é o seguinte. É um “ataque” (será que possa chamar assim?) completamente direcionado, como informei anteriormente, onde se conhece o alvo e sabe algumas informações sobre essa pessoa. Neste caso a pessoa, supondo a esposa, não vai se utilizar de tecnologia alguma ou ferramenta específica. Vai apenas abusar do bom senso, torcer pela inocência do marido e tentar a sorte.

Ela abre algum navegador de internet, acessa a página do orkut do cidadão e começa a tentar senhas como: telefone de casa, data de nascimento dele(a), etc.. Sim, ainda hoje vejo senhas simples como estas citadas e que acabam por ser descobertas. E o que é pior? As pessoas dizem: “Hackearam minhas senha!” hehehe… Parece exagero? o.O

Acredito que já falei demais sobre isso. Resumi as 3 2 técnicas utlizadas para ataques de brute-force. Mas este não é o objetivo principal do post, mas sim como inspecionar seu site ou sistema web para saber se o mesmo está livre de tentativas deste tipo de ataque.

Para isso utilizaremos a ferramenta Dirb.

Dirb é um URL Bruteforcer. Um WCS (Web Content Scanner) que tem a função de buscar por objetos Web Ocultos. Basicamente funciona com o lançamento um ataque baseado em dicionários contra o servidor Web analizando as respostas do mesmo. O principal propósito do Dirb é auditoria em aplicações web.

Dentre as funcionalidades avançadas do Dirb destacam-se:

* 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.

Mas, chega de falatório.. vamos ao teclado…

A ferramenta pode ser baixada através do site do projeto: http://sourceforge.net/projects/dirb/

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 exemplo http://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. ;]

Abraços!