Seguranca_003_FATEC_2012
Download
Report
Transcript Seguranca_003_FATEC_2012
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.