Roteiro • • • • Ataques Motivação para o hacking Planejamento de um ataque Tipos de Ataques – – – – – – – – – – – Engenharia social Trashing Packet Sniffer Port Scanning Spoofing DDoS - Distributed Denial of Service Syn Flooding Smurf Buffer Overflow Bombas Lógicas Password Crackers Ataques Ataque é toda ação realizada com o objetivo ou não de causar danos. Pode ser ativo, tendo por resultado a alteração dos dados. Pode ser passivo, tendo por resultado a obtenção da informação (escuta oculta de transmissões): liberação de conteúdos de mensagens, análise de tráfico) Conjunto de informações que são comprometidos: Confidencialidade: Obtenção não autorizada de informação. Integridade: modificação não autorizada de informação. Disponibilidade: inacessibilidade de um recurso ou informação. Ataque típico a uma Rede Planejamento de um ataque Primeiro Passo – Obtenção de informações sobre o sistema-alvo Segundo Passo – Ataque ao sistema Planejamento de um ataque Primeiro passo: obter informações sobre o sistema a ser atacado; Footprinting : descobrir todas as informações relacionadas a tecnologias de Internet, Intranet, acesso remoto, e extranet. – A partir do resultado do Footprint o ataque pode ser bem planejado e executado. Objetivos comuns de Footprint Levantamento de Informações de Domínios: – Nomes de domínios. – Responsáveis pelos domínios – Servidores de domínios. Identificação do SO de máquina-alvo (Fingerprint ) Descobrir sub-redes. Serviços TCP e UDP disponíveis. Topologia da rede. Objetivos comuns de Footprint Contas de Email, FTP e outros serviços. Nomes de usuários e de grupos. Banners que identificam versões de serviços. Identificação de roteador e Tabelas de roteamento. Servidores ocultos por NAT (Network Address Translator) . Endereços de e-mails. Técnicas e ferramentas para Footprinting Levantamento de Informações do Alvo Dumpest diving ou trashing Engenharia Social Ataques físicos Packet sniffing Port Scanning Scanning de Vulnerabilidades IP Spoofing Levantamento de Informações do alvo Consulta na Base Whois (Internic). whois <dominio> whois <ip/dominio>@registro.br fwhois <dominio> xwhois <dominio> (ferramenta Linux) Procura na FAPESP (base do país) https://registro.br/cgi-bin/whois/?c O domínio procurado está num provedor ou numa estação da própria empresa ? Levantamento de Informações do alvo Outros comandos empregados : Consultando toda a base DNS: >host –l –v –t any <empresa>.com.br Descobrindo qual é o servidor de e-mail: >host –t mx <empresa>.com.br Descobrindo os IPs de servidores DNS: >host –t ns <empresa>.com.br Buscando informações sobre o servidor DNS: >dig –t ns <empresa>.com.br Levantamento de Informações do alvo Varredura nas informações de um domínio (consultando CNAME) CNAME = nomes canônicos >nslookup Set type=cname www.<empresa>.com.br Levantamento de rotas de pacotes numa redes (quais servidores e roteadores existem, a topologia da rede e identificar a estrutura de segurança), através do utilitário traceroute (Linux, Unix) ou tracert (Windows) >traceroute www.fatecguaratingueta.edu.br Dumpster Diving ou Trashing Trashing = vasculhar lixo Também chamada de dumper diver (mergulhador de lixo), é uma técnica utilizada para conseguir informações privilegiadas que potencializam as tentativas de quebra de senha e invasões. É legal, pois as informações não são roubadas. Verificação do lixo, à procura de informações Nomes de contas, senhas; Informações pessoais e confidenciais; Dica :Todos os papéis com informações importantes devem ser inutilizados (fragmentador de papéis); Engenharia Social Técnica que explora fraquezas humanas e sociais, em vez de explorar a tecnologia; Uso de falsa identidade; Explora boa vontade e boa fé das pessoas; Uso de psicologia e de técnicas de intimidação; O famoso hacker Kevin Mitnick, utilizava intensivamente técnicas de engenharia social. Certa vez, se fazendo passar por um alto executivo da Pacific Bell, conseguiu acesso a um memorando interno apenas pedindo à secretária do autor do memorando que enviasse uma cópia via fax. Engenharia Social - Exemplos Se fazer passar por um alto funcionário; Analisar documentos em cima da mesa ou do computador de pessoas distraídas; Entrar pela porta dos fundos ou garagem; Namorar alguém da organização; Se disfarçar de técnico ou entregador de flores ou pizzas; Inserir bugs de propósito para, ao corrigir, ter acesso aos computadores; E-mails falsos pedindo dados em nome do banco; Pergunta : Como proteger a rede deste tipo de ataque? Ataques físicos Ataque em que são roubados equipamentos, software ou fitas magnéticas, constitui um método menos comum utilizado em um ataque. Com o acesso direto ao sistema, além do roubo de equipamentos, é possível executar uma série de ações maliciosas, como: copiar documentos confidenciais, ler e-mails e modificar arquivos importantes, implantar bombas lógicas, alterar configurações, aumentar privilégios de usuários. Sniffer (Farejador) Packet Sniffing Farejamento de pacotes (packet sniffing) Também conhecido como passive eavesdropping (escuta passiva); Captura dos pacotes diretamente da rede; Originalmente, são softwares de resolução de problemas de rede; Seu acesso é o segmento de rede; Faz uso de filtros (IPs, serviços, conteúdos); Senhas de FTP, Telnet e POP podem ser capturadas; Packet Sniffing Fácil, em redes baseadas em Hubs. Não é possível capturar dados em redes com switches, com sniffers “simples”. Porém, existe a possibilidade através de “ArpSpoofing”. Exemplos de sniffers : tcpdump, wireshark (antigo ethereal). TCPDump – Capturando tráfego • Toda a rede: >tcpdump –s 1518 –vv –l –n –w /tmp/teste • Tráfego de FTP: >tcpdump –s 1518 –vv –l –n port 21 –w /tmp/ftp.log • Tráfego de SMTP: >tcpdump –s 1518 –vv –l –n port 25 –w /tmp/smtp.log Tráfego de POP: >tcpdump –s 1518 –vv –l –n port 110 –w /tmp/pop.log Contramedidas - Sniffer Ataques de sniffers podem ser evitados se a empresa tiver uma política quanto ao uso de suas máquinas de trabalho. Políticas rígidas estendem-se a atividades via emails e Web com impossibilidade de download. Utilizar switches no lugar de hubs, o que dificulta sniffers e melhora o desempenho da rede. Uso de protocolos que empregam a criptografia, como o SSH. Uso de criptografia em informações confidenciais que trafegam na rede, como em e-mails. Criação de VLANs (LANs Virtuais) Port Scanning Exame de porta (port scanning) Port scanners são ferramentas utilizadas para levantar quais serviços estão disponíveis por meio do mapeamento de portas TCP e UDP; Pesquisam faixas de endereços IP. Descobrem portas abertas (que têm serviços rodando) . Informações sobre o Sistema Operacional de uma máquina alvo (Fingerprint ) . Port Scanning Exemplo: nmap; (www.nmap.org) • Utilizado para auditoria de firewalls e IDS; • Pode identificar o sistema operacional e outros detalhes do nó (stack fingerprint); • Identifica as portas abertas, filtradas ou fechada; • Pode ser usado para Footprint e Fingerprint # /usr/local/nmap –o (nome_domínio) Scanning de Vulnerabilidades Visa identificar as falhas de um determinado serviço; O serviço pode ter sido descoberto no sistema, por meio do uso de um port scanner Alguns dos riscos que podem ser encontrados incluem : – Compartilhamentos não protegidos por senha – Softwares desatualizados – Configurações de roteadores potencialmente perigosas – Possibilidade de negação de serviço, ... Ferramenta: NESSUS Spoofing Spoofing = enganar Técnica que visa aproveitar a indisponibilidade do serviço causada pelo ataque DOS que o sobrecarrega de solicitações, fazendo-se passar por ele. Mascarar um IP de origem, de forma a não ser encontrado; É utilizado em ataques de DOS, nos quais respostas não são necessárias; Simulam o serviço original, desviando e capturando todos os pacotes que deveriam chegar ao site verdadeiro. Ex. : O bombardeio à um site o tira do funcionamento, criando uma janela de tempo para que um site clone tome o seu lugar e passe a receber todas as informações dos webusers. Conexão impostora (Spoofing) (a) Tela de conexão verdadeira (b) Tela de conexão impostora Ataques ao Sistema Ataques de negação de serviços Ataques coordenados Ataques no nível de aplicação (D)DoS – Distributed Denial of Service Denial of Service = negação de serviço Técnica de ataque que visa a indisponibilidade através da sobrecarga de solicitações de serviço (flood) e não a invasão do alvo. Gera grande tráfego de dados (Redes ou Host) Causa uma parada de serviço (temporário) Difícil detecção e solução (D)DoS – Distributed Denial of Service Syn Flooding Explora o mecanismo de estabelecimento de conexões do TCP, baseado em three-way handshake. Consiste no envio, pelo atacante, de um grande número de pedidos de conexão (SYN), de tal maneira que o Servidor não é capaz de responder a todas elas. – Como cada conexão requer alocação de recursos, que são finitos, o servidor sobrecarregado nega-se a atender novos pedidos, mesmo que legítimos Syn Flooding Cliente Servidor SYN seq=x SYN seq=y, ACK x+1 1 - O cliente requisita uma conexão enviando um SYN ao servidor. 2 - O servidor confirma esta requisição mandando um SYN-ACK de volta ao cliente. 3 - O cliente por sua vez responde com um ACK, e a conexão está estabelecida. Um atacante pode não mandar esta ACK y+1 última mensagem ACK. O servidor irá esperar por isso por um tempo, já que um simples congestionamento de rede pode ser a causa do ACK faltante. Um ataque de Syn Flood é feito com os Three-way handshake ips forjados (spoof), para que o atacante não receba os ACKs de suas falsas solicitações Contramedidas - Syn Flooding Comparar as taxas de requisições de novas conexões e o número de conexões abertas. Com isso, mensagens de alerta e ações préconfiguradas podem ser utilizadas quando a taxa chega a um padrão determinado. Outra solução é desabilitar ou bloquear temporariamente todos os pacotes SYN enviados ao host atacado, após uma determinada taxa de conexão. Isso mantém o restante do sistema em funcionamento, ao mesmo tempo que desabilita novas conexões ao host que está sendo atacado. Smurf e fraggle Ataque do tipo DOS que atua no nível de rede, pelo qual um grande tráfego de pacotes ping (ICMP echo) é enviado para o endereço IP de broadcast (difusão) da rede, tendo como origem o endereço IP da vítima (IP Spoofing). Assim, todos os hosts da rede recebem a requisição ICMP echo, passando todos eles a responderem para o endereço de origem, que é falsificado. A vítima, que teve seu endereço IP falsificado, recebe os pacotes de todos os hosts, ficando impossibilitada de executar suas funções normais, sofrendo assim uma negação de serviço. Fraggle é um tipo de ataque parecido com o Smurf, porém utiliza pacotes UDP Echo, em vez de pacotes ICMP echo. Smurf e fraggle Contramedidas - Smurf e fraggle Configurar o roteador de modo a não receber ou deixar passar pacotes para endereços de broadcast por meio de suas interfaces de rede. Os hosts também podem ser configurados de modo a não responderem a pacotes ICMP echo para o endereço de broadcast. Alguns roteadores possuem mecanismos (Co mmitted Access Rate (CAR) ) que limitam o tráfego de determinados pacotes a uma determinada banda. Ataques no nível de aplicação Exploram falhas em protocolos de aplicação e nas próprias aplicações Alvos potenciais incluem... – Servidores FTP – Servidores de e-mail – Aplicações de usuários, ... Formas de ataque incluem... – Buffer overflow, vírus, cavalos de Tróia, vermes, password crackers Buffer Overflow Introdução – Condição onde um programa permite que a área de memória de um buffer seja utilizada além da área reservada. – A causa raiz para o Buffer Overflow é que linguagens tais como C e C++ são inseguras pois, não fazem verificações de limites de arrays ou ponteiros. – Rotinas tais com strcpy, strcat, sprintf, gets e scanf são inseguras. Conseqüências – Pode afetar disponibilidade, controle de acesso e outros serviços de segurança (execução de código injetado). Buffer Overflow – Plataforma • Linguagens C, C++, Fortran e Assembly. • Os sistemas operacionais mais utilizados são vulneráveis. – Recursos requeridos • Não há. – Severidade • Muito alta. – Probabilidade de exploração • Alta para Muito Alta. Buffer Overflow Buffer Overflow (a) Situação na qual programa principal está executando (b) Depois que procedimento A foi chamado (c) Transbordo de buffer mostrado em cinza Bombas Lógicas Código secreto inserido em um programa legítimo, normalmente desenvolvido e/ou mantido por algum funcionário da organização; – Com potencial para causar danos – Programa funciona bem desde que o funcionário alimente-o periodicamente com uma senha; – Se o funcionário for despedido, o programa não será alimentado com a senha. Com isso, a bomba Explode. Bombas Lógicas As ações causadas por uma bomba lógica incluem… – Apagar todo o disco – Apagar arquivos aleatoriamente – Realizar alterações difíceis de serem detectadas em programas importantes – Criptografar arquivos essenciais Password Crackers Password Crackers = quebradores de senhas Técnica utilizada para conseguir identificar uma senha de acesso. O êxito desta técnica está diretamente ligado à complexidade da senha. Ataque por força bruta : Para senha de até 8 caracteres teremos cerca de 253 tentativas. Ataque com uso de dicionário : Utilizar palavras do dicionário, como : nomes, apelidos, datas de nascimento, etc. Exemplos : SENHA FRACA = 123456 SENHA FORTE = t2D8#u@p Password Crackers Poder Computacional Pentium II 350 Mhz 1 milhão de tentativas por minuto Senha : H8i$2/%p (complexa com 8 caracteres) 36 anos Senha : b43#1X (complexa com 6 caracteres) 6 dias Senha : *9nY (complexa com 4 caracteres) 4 horas Resultados obtidos em laboratório e associados à descoberta de todas as senhas possíveis. Password Crackers Exemplo de Softwares Password Crackers : OPHCrack Cain and Abel John the Ripper Aircrack Airsnort Unsecure – Dica do Edson NetKeyView PPa Metodologia Microsoft para análise de riscos Anatomia de um ataque Categorias de ataques (Microsoft STRIDE) Spoofing – tentativa de acesso com uma identidade falsa. Pode ser feito através de uso de credenciais falsas. Tampering – modificação não autorizada de dados. Repudiation – capacidade de usuários em negar a execução de ações. Information disclosure – exposição não desejada de dados. Denial of service – tornar um sistema ou aplicação indisponível. Elevation of privilege – usuário, com privilégios limitados, obtém privilégios menos restritivos. Contramedidas (Ou controles) • Para Spoofing – Usar autenticação forte. – Não armazenar ou transmitir senhas em texto plano. • Para Tampering – Data hashing. – Assinaturas digitais. – Uso de protocolos com controle de integridade das mensagens. Contramedidas (Ou controles) • Contra Repudiation – Assinatura digital. – Trilhas para auditoria. • Contra DoS – Validar e filtrar entradas. • Contra Elevation of privilege – Dar autorização para o menor número de recursos.