Webinar #16 Ataques de Força Bruta
Rafael Soares Ferreira Clavis Segurança da Informação [email protected]
$ whoami
• Grupo Clavis
• Sócio Diretor Técnico
• Detecção e resposta a incidentes de segurança
• Testes de invasão em redes, sistemas e aplicações.
Contatos
rafaelsoaresferreira
@rafaelsferreira
www.facebook.com/rafaelsoaresferreira
Agenda
• Política de Senhas
• Ataques a Senhas
• Ataques Não-Eletrônicos
• Ataques Offline
• Ataques Passivos
• Ataques Ativos
Força de uma senha
l Força da senha: Quão difícil é adivinhá-la?
l Maioria das técnicas de recuperação de senhas conta com a fraqueza das senhas
l No entanto, não são todas l A senha forte é capturada da mesma forma que a senha
fraca, se digitada em um local inseguro
Política de Senhas
Força de uma senha
l Boas práticas na escolha de senhas l Usar senhas longas l Usar grupos de caracteres variados l Combinar mais de uma palavra (passphrase)
l Más práticas na escolhas de senha l Usar senhas curtas l Usar somente letras ou somente números ou datas l Usar palavras de dicionários (qualquer língua) l Usar datas oficiais registradas l Usar palavras publicadas em páginas pessoais
Política de Senhas
Armazenamento de senhas
l Cuidado com o local onde senhas serão armazenadas l Prefira o método seguro: na cabeça l Se não for possível, use criptografia
l Senhas fortes não garantem segurança l Não impedem ataques locais l Não tem efeito se a autenticação for contornada
l Mas representam fator importante da segurança
Política de Senhas
Principais Tipos de Ataques a Senhas
l Ataques Não-Eletrônicos l Não envolvem dispositivos eletrônicos ou softwares de captura
l Ataques Offline l Executados localmente sobre hashes pré-computados
l Ataques Passivos l Senha interceptada na rede sem enviar pacotes
l Ataques Ativos l Interagem diretamente com o alvo na rede
Ataques a Senhas
Ataques Não-Eletrônicos
l Ataques que não utilizam dispositivos eletrônicos l Exploram (maus) hábitos de pessoas l Modalidades mais comuns
l Engenharia Social: Induzir alguém a fornecê-la voluntariamente l Dumpster Diving: Encontrar a senha descartada em uma lixeira l Shoulder Surfing: Observar enquanto alguém a digita
Ataques a Senhas
Ataques Offline
l Ataques locais sobre hashes de senhas l Pré-requisito: Capturar o arquivo com os hashes l Pode utilizar técnicas de processamento paralelo
l Processamento na GPU l Processamento em clusters
l Modalidades mais comuns l Senha → Hash: A partir de uma lista de senhas, descobrir qual delas gera um dado hash l Hash → Senha: A partir de uma base de hashes, descobrir que senha corresponde o hash dado
Ataques a Senhas
Ataques Offline
l Tipos de ataque l Força bruta: Gera-se hash de todas as combinações possíveis de senha em um conjunto de caracteres l Dicionário: Gera-se hash de todas as senhas armazenadas em um arquivo (wordlist) l Híbrido: Mistura força bruta e dicionário ao testar senhas da wordlist e variá-las com outros caracteres l Rainbow Tables: Procura o hash alvo na tabela e, caso esteja, retorna a senha correspondente
Ataques a Senhas
Ferramenta para Ataques Offline
l John the Ripper l Ferramenta para recuperar senhas fracas
l Sintaxe de uso l john [opções] arq_hashes_1 arq_hashes_2 [...]
l Características l Faz ataques de força bruta, de dicionário e híbrido l Suporta diversos algoritmos de hash l Versões recentes suportam processamento na GPU
Ataques a Senhas
Ferramenta para Ataques Offline
l Modos de operação l Single: Gera uma wordlist baseada em informações do arquivo de hashes (nome, diretório home, etc) l Wordlist: Ataque de dicionário clássico l Incremental: Ataque de força bruta clássico. Permite determinar o conjunto de caracteres utilizado l External: Testa senhas geradas por funções externas escritas em C e implementadas pelo usuário
Ataques a Senhas
Ferramenta para Ataques Offline
l Exemplos de ataque com o John the Ripper l john --single arq_hashes
l Realiza o ataque de dicionário em modo “single” (o próprio john gera a wordlist)
l john --wordlist=“password.lst” --rules arq_hashes l Realiza o ataque híbrido em modo “wordlist”
l john –incremental=“alnum” arq_hashes l Realiza o ataque de força bruta em modo “incremental” e testa combinações de senhas alfa-numéricas ([A-Za-z0-9])
Ataques a Senhas
Ataques Passivos
l Ataques que capturam senhas passando na rede l Não gera ruído na rede (Indetectável) l Depende que o usuário envie a senha na rede l Modalidades mais comuns
l Wire Sniffing: Capturar senhas trafegando sem criptografia na rede l Man-in-the-Middle: Induzir alguém a pensar que está utilizando um canal seguro l Replay: Reproduzir sequências de login capturadas
Ataques a Senhas
Ferramenta para Ataques Passivos l TCPDump
l Ferramenta para captura e analise de pacotes l Sintaxe de uso
l tcpdump [opções] [expressão] l Características
l Capaz de filtrar pacotes no momento da captura l Exporta pacotes completos no formato PCAP, usado por diversos outros analisadores de pacotes l Captura somente os pacotes que passam pela estação executando o TCPDump (não força modo promíscuo) • Para forçar outros pacotes a passar pela estação execu-tando o TCPDump, é preciso utilizar outras ferramentas
Ataques a Senhas
Ferramenta para Ataques Passivos
l Capturando tráfego de rede com o TCPDump l tcpdump -ni eth0
l Captura todo o tráfego da rede e o exibe em tempo real
l tcpdump -ni eth0 -w dump_rede.pcap l Captura todo o tráfego da rede e o armazena no arquivo
l tcpdump -ni eth0 host 192.168.0.1 • Captura o tráfego de rede que tem como origem ou destino o endereço IP 192.168.0.1
l tcpdump -ni eth0 tcp port 80 l Captura o tráfego de rede que utiliza a porta 80/TCP
Ataques a Senhas
Ferramenta para Ataques Passivos
l Dsniff • Conjunto de ferramentas para auditoria de redes
l Sintaxe de uso • dsniff [opções] [expressão]
l Características • Captura senhas enviadas em texto claro em tempo real • Atua passivamente se somente o dsniff for executado • Outras ferramentas do conjunto podem lançar ataques ativos diversos.
Ataques a Senhas
Ferramenta para Ataques Passivos
l Exemplos de ataque com o Dsniff l dsniff -ni eth0
l Monitora todo o tráfego da LAN em modo promíscuo em captura credenciais transmitidas em texto claro
l dsniff -np dump_rede.pcap l Busca credenciais transmitidas em texto claro em um arquivo de captura
l Dsniff -ni eth0 host 192.168.0.10 • Monitora o tráfego que tem como origem ou destino o endereço IP 192.168.0.10 e busca passivamente por credenciais transmitidas em texto claro
Ataques a Senhas
Ataques Ativos l Ataques que interagem com o alvo na rede l Gera ruído na rede (facilmente detectável) l Modalidades mais comuns
l Tentativa/Erro Força Bruta/Dicionário/Híbrido: Testar diversas senhas iterativamente l Tentativa/Erro Senha Padrão: Checar se a senha de fábrica dos dispositivos foi trocada l Instalação de Malware: Instalar malware que captura senhas em cache ou ao digitar l Injeção de hashes: Injeção de um hash conhecido
Ataques a Senhas
Ferramenta para Ataques Ativos l Crunch
• Ferramenta para criar wordlists por regras especificadas
l Sintaxe de uso • crunch <tam-min> <tam-max> [opções]
l Características • Permite criar wordlists utilizando conjuntos de caracteres e regras de formação específicas • Permite limitar a quantidade de senhas geradas • Permite redirecionar a saída diretamente para outra ferramenta
Ataques a Senhas
Ferramenta para Ataques Ativos l Gerando wordlists com o Crunch
l crunch 5 8 l Gera senhas com o conjunto de caracteres padrão ([a-z]) de tamanho entre 5 e 8, ou seja, de “aaaaa” a “zzzzzzzz”
l crunch 8 8 -t ’^clavis%’ • Gera senhas que consistem de um caractere especial, seguido da string “clavis”, e um número
Ataques a Senhas
Ferramenta para Ataques Ativos l THC-Hydra
• Ferramenta para realizar ataques de dicionário/força bruta remotamente
l Sintaxe de uso • hydra [opções] servidor serviço [opções_adicionais]
l Características • Suporta ataques remotos a diversos protocolos, como, por exemplo: FTP, HTTP, IMAP, MS-SQL, MySQL, Oracle, POP3, POSTGRES, RDP, SMB, SMTP, SSH, Telnet, etc. • Permite parar e retomar um ataque posteriormente • Permite limitar a quantidade de requisições simultâneas
Ataques a Senhas
Ferramenta para Ataques Ativos l Exemplos de ataque com o THC-Hydra
l hydra -l root -P password.lst 192.168.0.1 ssh l Realiza um ataque de dicionário sobre o servidor SSH em execução no endereço IP 192.168.0.1 na porta padrão deste serviço (22/TCP) sobre o usuário “root”.
l hydra -L username.lst -p 'admin12' 192.168.0.1 ldap3 l Realiza um ataque de dicionário buscando descobrir se um dos usuários indicados utiliza a senha “admin12” no LDAPv3.
Ataques a Senhas
Dúvidas?
Perguntas? Críticas?
Sugestões?
Siga a Clavis
http://clav.is/slideshare http://clav.is/twitter http://clav.is/facebook
Muito Obrigado!
Rafael Soares Ferreira Clavis Segurança da Informação
@rafaelsferreira
Recommended