Ataques e Vulnerabilidades em Redes

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 75

Segurana da Informao

ATAQUES E VULNERABILIDADES
Tcnico em Redes de Computadores 3 Mdulo Jacson Tiola

Arquiteturas OSI & TCP/IP


Aplicao Aplicao

Apresentao
Sesso Transporte

Transporte
Rede Enlace Enlace & Fsico Fsico
OSI
2

Inter-Rede

TCP/IP

Famlia TCP/IP
DNS SNMP NFS OSPF FTP HTTP SSH SMTP

Aplicao

Transporte
UDP SCTP RTP TCP

Inter-Rede

ARP

IGMP

IP

ICMP

RARP

Enlace & Fsico

ETHERNET

PPP TOKEN RING FDDI

ATM

802.11

...

Ameaas na pilha TCP/IP


Funes do nvel Enlace & Fsico
Define as propriedades da rede, como nveis de voltagem, tipos e tamanhos de cabos, conectores, frequncia; Transferncia confivel no meio fsico, acesso ao meio Algumas Ameaas

Aplicao

Transporte

Inter-Rede

Enlace & Fsico

Vandalismo Acesso cabos lgicos e de fora, disjuntores Acesso a equipamentos, racks distribudos no prdio Manuteno na rede eltrica interfere na rede Picos de energia afetam servios Redes sem fio Frequncia do IEEE 802.11 2.4GHz (ISM) Muitos dispositivos podem interferir (ex: fornos microondas, Bluetooth) e causar DoS (denial of service) Captura do sinal, captura de pacotes Criptografia de nvel fsico deve estar habilitada ARP cache poisoning (envenenamento tabela ARP)

Modelo TCP/IP
4

Ameaas na pilha TCP/IP


Funes do nvel de Redes
Rotear dados atravs de vrias redes at o destino final

Aplicao

Algumas Ameaas

Transporte

Inter-Rede

Enlace & Fsico

Vulnerabilidades em roteadores Administradores usam senha de administrao default do fabricante Bugs no software permitem buffer overflow Firewalls mal configurados IP Internet Protocol IPv4 no oferece confidencialidade Pacotes podem ser lidos na rede pblica ou no ISP Ataques spoofed (source IP falso) DoS (ex: ping da morte) Vulnerabilidades no BGP, OSPF
5

Ameaas na pilha TCP/IP


Funes do nvel de Transporte
Prover controle de fluxo, sequenciamento de pacotes, controle de congestionamento e retransmisso de pacotes perdidos pela camada de rede (TCP) Algumas Ameaas

Aplicao

Transporte

Inter-Rede

Enlace & Fsico

Aplicaes TCP, UDP so alvo de port scan Port scan permite mapeamento da rede Porta aberta = servio rodando Negao de Servio (Dos) SYN flood TCP session hijacking man-in-the-middle attack (MITM) LAND/La tierra Ping da morte Nuke
6

Ameaas na pilha TCP/IP


Funes do nvel de Aplicao
Protocolos de alto nvel e aplicaes

Aplicao

Algumas Ameaas

Transporte

Inter-Rede

Enlace & Fsico

Plugins para Browsers (ActiveX, Applets Java) Senhas enviadas sem criptografia Vrus, Worms, Trojans Vrus so programas malignos que se replicam Trojan horse programa maligno disfarado de benigno Worms so vrus auto-replicveis Bugs de software vulnerabilidade Muitos servios rodam com privilgios Vulnerabilidades em SNMP, SSH, FTP, Boa especificao, falhas na implementao Falha na configurao de servios (FTP, HTTP, ) Boa especificao, boa implementao, falhas de configurao
7

Modelo TCP/IP

Terminologia
Ataque
acesso a dados ou uso de recursos sem autorizao execuo de comandos como outro usurio uso de falsa identidade conduo de negao de servios (denial of service) Violao de uma poltica de segurana

Vulnerabilidade
uma falha que pode permitir a conduo de um ataque

Incidente
A ocorrncia de um ataque; explorao de vulnerabilidades

Ameaa
Qualquer evento que pode causar dano a um sistema ou rede Por definio, a existncia de uma vulnerabilidade implica em uma ameaa

Exploit code
Um cdigo preparado para explorar uma vulnerabilidade conhecida Uma ferramenta para ataques Fonte: www.cert.dfn.de/eng/pre99papers/certterm.html (entre outras) 8

Incidentes
Incidente Ataque Evento
Atacante Hacker Espio Terrorista Cracker Script Kiddy Criminoso Ferramenta Ataque fsico Informao Comando Script Agente Toolkit Ferr. Distrib Escuta Vulnerabilidade Projeto Implementao Configurao Ao Alvo Conta Processo Informao Componente Computador Rede Inter-rede Resultado Mais acesso Abertura info Corrupo info Negao Serv Roubo recurso Objetivo Desafio Poltico Financeiro Destruir

Sondar
Mapear Inundar Autenticar Contornar Spoof Ler Copiar Roubar Modificar Apagar 10

Por que estamos vulnerveis?


Sistemas se tornaram muito complexos nas ltimas dcadas Controle de qualidade no tem tido fora contra as presses do mercado Deficincias no perfil dos programadores Milhares de computadores se somam Internet todo ms Administradores de rede: pouco treinamento, muitas prioridades conflitantes Prioridade: manter o sistema funcionando Atualizar sistema: quando tiver tempo... Nem todas as portas esto fechadas, porque pessoas esto ocupadas fazendo coisas "teis" Invasores dificilmente so pegos. Quando o so, no so punidos

11

Atacantes e seus objetivos


Hackers Atacam sistemas pelo desafio tcnico, por status ou pela "adrenalina" da invaso. Constroem suas prprias ferramentas Cracker, vndalo, defacer Hacker com fins destrutivos (blck hat) Espio, Corporate raider Ataca sistemas dos concorrentes pelo roubo da informao para ganho financeiro ou competitivo Terroristas Atacam para causar medo ou por motivao poltica Criminoso, Carder Atacam sistema para obter ganho financeiro pessoal Voyeur Atacam para ter acesso informao Script Kiddy Novato que se acha hacker, mas apenas segue "receitas de bolo" disponveis na Internet (no sabem exatamente porque aquilo funciona) Lamer, Luser que se diz hacker (hacker no se diz hacker) "If you're a good hacker
everybody knows you. If you're a great hacker, no one does."

Phreaker Um hacker com maior atuao em telecomunicaes White Hat Um hacker, possivelmente aposentado, que trabalha como consultor de segurana. Odiado pelos "Black Hats Grupos hackers Ex: Cult of the Dead Cow
12

Hall da Fama

Fonte: http://tlc.discovery.com/convergence/hackers/bio/bio.html 13

Tipos de Ataques

Ataques para obteno de informaes


Dumpster diving ou trashing verificar o lixo em busca de informaes Engenharia social tcnica que explora as fraquezas humanas e sociais Ataque fsico Informaes livres Farejamento de pacotes (Packet sniffing) Scanner de portas (Port scanning) Scanning de vulnerabilidades Firewalking IP spoofing

Packet sniffing
Chamada tambm de passive eavesdropping Farejam o que passa pela rede Consiste na captura de informaes pelo fluxo de pacotes de um mesmo segmento de rede Switches podem ser usados para dividir a rede em mais segmentos Softwares: snoop (Solaris), tcpdump (Linux), wireshark

Port scanning
Ferramentas utilizadas para obteno de informaes referentes aos servios que so acessveis e definidas por meio do mapeamento das portas TCP e UDP Ex: nmap Detecta portas abertas do sistema, sistema operacional, nmero de sequncia de pacotes TCP, usurio que est executando cada servio. Alguns mtodos:
TCP connect, TCP SYN, UDP, ICMP, FIN, RPC scan, FTP proxy.

TCP SYN port scanning

porta fechada

porta aberta

Scanning de vulnerabilidades
Aps o mapeamento dos sistemas e servios que podem ser atacados, as vulnerabilidades especficas sero procuradas por meio do scanning de vulnerabilidades. O port scanning define os alvos, evitando, por exemplo, que vulnerabilidades especficas do Windows sejam testadas em Unix. Alguns riscos que podem ser mapeados:
Compartilhamento de arquivos Configurao incorreta Software desatualizado Configuraes de roteadores perigosas Checagem de cavalos de tria Configurao de servios Possibilidade de negao de servio (DoS) Checagem de senhas fceis de serem adivinhadas

Scanning de vulnerabilidades
Esta tcnica pode ser utilizada para demonstrar problemas de segurana que existem nas organizaes. Ex: Nessus

Uma vulnerabilidade reportada pode no corresponder situao real do sistema ou uma vulnerabilidade importante pode deixar de ser reportada, pois a ferramenta funciona por meio de uma base de dados de ataques conhecidos.
usado tanto por administradores de segurana como por hackers.

Ataques para obteno de informaes


Firewalking
Tcnica implementada para obter informaes sobre uma rede remota protegida por um firewall

IP spoofing
Endereo real do atacante mascarado, de forma a evitar que ele seja encontrado.

Ataques de Negao de Servio (DoS)


DoS um ao que impede ou prejudica o uso autorizado de redes, sistemas ou aplicaes, atravs do esgotamento de recursos como CPU, memria, largura de banda e espao de disco Alguns exemplos

Usar toda a banda disponvel da rede pela gerao de um volume de trfego descomunal Enviar pacotes mal formados para um servidor para que o sistema operacional pare Enviar pedidos ilegais para uma aplicao para faz-la parar Fazer vrios pedidos que consomem CPU para que a mquina no tenha condies de atender outros pedidos Criar vrias conexes simultneas para que o servidor no possa aceitar outras conexes Criar vrios arquivos imensos em disco para ocupar todo o espao disponvel

DoS Ataques de refletor


Em um ataque de refletor, uma mquina envia muitos pedidos com um endereo de origem falsificado (spoofing) para uma mquina intermediria Esse endereo falsificado o endereo da mquina que se quer atacar As mquinas intermedirias enviam respostas dos pedidos mquina atacada, sem inteno de fazer isso Exemplos
DNS, SNMP, ICMP echo, etc

Uma rede pode evitar ser usada como origem do ataque, proibindo a sada de pacotes com endereos de origem que no pertenam a ela

DoS Ataques de amplificador


semelhante ao ataque de refletor, mas usa uma rede inteira como intermediria para gerar pedidos para a mquina atacada Isso realizado enviando pacotes ICMP ou UDP para endereos de broadcast A esperana que cada mquina que receba o pacote, responda para a mquina atacada Dessa forma, um nico pacote pode ser multiplicado vrias vezes, inundando a mquina atacada Uma rede consegue evitar ser usada como amplificador, proibindo pacotes de broadcast direcionados nos roteadores (depende da poltica de roteadores)

DoS Ataques Syn Flood


Em um ataque de inundao de SYN (synflood), um atacante inicia muitas conexes TCP em um curto perodo de tempo Ele usa um endereo falsificado e a conexo em trs fases do TCP (three-way handshake) no completada
Ou seja, ou a mquina no existe ou quando recebe um SYN ACK, no envia um pacote ACK

O servidor atacado fica com muitas conexes incompletas presas, que so liberadas por um temporizador (entre 2 a 4 minutos) Durante o ataque, o servidor fica praticamente impossibilitado de atender outras conexes, porque a sua tabela de conexes esgota a capacidade mxima

SYN Flood

Conexo normal entre usurio e servidor. O handshake em trs vias executado.

SYN Flood. Atacante envia pacotes SYN mas no retorna ACK. Usurio legtimo no consegue conexo.

Evitando SYN Flooding


Comparar taxas de requisies de novas conexes e o nmero de conexes em aberto. Utilizar timeout e taxa mxima de conexes semi-abertas Aumento do tamanho da fila de pedidos de conexo Adicionar regra no firewall (Ex: iptables)

DoS -Fragmentao de pacotes de IP


Maximum Transfer Unit (MTU) especifica a quantidade mxima de dados que podem passar em um pacote por um meio fsico da rede. Ex: Ethernet 1500 bytes Se pacote for maior que MTU, quebrado em vrios fragmentos. Quando chegam ao destino final so reagrupados, com base em offsets. Sistemas no tentam processar o pacote at que todos os fragmentos sejam recebidos e reagrupados. Isso cria a possibilidade de ocorrer um overflow na pilha TCP. Ex: Ping da Morte envio de pacotes ICMP Echo Request (ping) com tamanho de 65535 bytes. Este valor maior que o normal e diversos sistemas travavam devido sobrecarga do buffer.
Soluo: instalao de patches

Fragmentao de pacotes de IP
Ex: teardrop pacotes TCP muito grandes. Vulnerabilidade explorada em verses anteriores do Windows e Linux. Firewalls no realizam desfragmentao. Um atacante pode criar um pacote como o primeiro fragmento e especificar uma porta que permitida pelo firewall, como a porta 80. O firewall permite a passagem desse pacote e dos fragmentos seguintes para o host a ser atacado. Um desses fragmentos pode ter o valor de offset capaz de sobrescrever a parte inicial do pacote IP que especifica a porta TCP. O atacante modifica a porta inicial de 80 para 23, por exemplo, para conseguir acesso Telnet. Fragmentao tambm usada como mtodo de scanning no nmap, tornando sua deteco mais difcil.

DoS Smurf e fraggle


Ataque pelo qual um grande nmero de pacotes ping enviado para o endereo IP de broadcast da rede, tendo como origem o endereo de IP da vtima (IP spoofing). Cada host da rede recebe a requisio e responde ao endereo de origem falsificado. Fraggle utiliza pacotes UDP echo em vez de ICMP echo Ex: WinSmurf

Smurf e fraggle

Ataques DoS distribudos


Um ataque proveniente de uma nica mquina geralmente no capaz de causar dano a uma rede ou servidor Nos DoS distribudos (DDoS Distributed DoS), o atacando coordena um grande grupo de mquinas para que ataquem simultaneamente um nico servidor Se um nmero grande mquinas so usadas, o trfego gerado pode causar o esgotamento do enlace da rede ou nmero de conexes do SO DDoS so a forma mais perigosa atualmente de ataques DoS Ferramentas sofisticadas, utilizam criptografia para o trfego de controle do hacker! Ataque coordenado pelo governo da Indonsia contra o domnio do Timor Leste em 1999. Ferrramentas: trinoo, TFN (Tribe Flood Network), Stacheldraht, TFN2K, worm Code Red

Ataques DoS distribudos


Hacker define alguns sistemas (masters) que se comunicam com os zombies ou daemons. Todos so vtimas do hacker.

Ataques DoS distribudos

Ataque ativo contra o TCP


Sequestro de conexes
Redirecionamento de conexes TCP para uma determinada mquina (man-in-themiddle). Todo byte enviado por um host identificado por um nmero de sequncia que reconhecido (acknowledgement) pelo receptor. O ataque tem como base a dessincronizao nois dois lados TCP. O atacante cria os nmeros de sequncia vlidos, colocando-se entre os dois hosts e enviando pacotes vlidos para ambos. Ataque mais sofisticado, deve-se interromper a conexo em um estgio inicial e criar nova conexo.

Prognstico de nmero de sequncia do TCP


Possibilita a construo de pacotes TCP de uma conexo, podendo injetar trfego e fazendo se passar por um outro equipamento. Atualmente, alguns sistemas implementam padres de incremento do nmero de sequncia mais eficiente, que dificulta seu prognstico e, consequentemente, os ataques.

Ataque de Mitnick
Ataque clssico contra o especialista em segurana Tsutomu Shimomura no natal de 2004. Tcnicas utilizadas: IP spoofing, sequestro de conexo TCP, negao de servio, prognstico de nmero de sequncia.

Ataques no nvel da aplicao


Falhas de programao Ataques na Web Problemas com o SNMP Vrus, worms e cavalos de tria
Cada vez mais sofisticados. Ex: Stuxnet (2010)

Erros comuns de programao


- Estouro de buffer (buffer overflow) -Validao de entradas - Condies de corrida

Estouro de Buffer (Buffer overflow)


Atacante explora bugs de implementao, nos quais o controle do buffer no feito adequadamente. Envia mais dados do que o buffer pode manipular. Possibilidade de execuo de comandos arbitrrios, perda ou modificao dos dados, perda do controle do fluxo de execuo (gpf no Windows) Um dos ataques mais comuns e difceis de ser detectados
Site eBay (1999) DLLs do Windows, servidor Sendmail, bibliotecas do SunRPC (2003)

Buffer overflow

Buffer Overflow

O espao reservado para varivel de 256 bytes. O que acontece quando passamos um argumento muito maior? A funo strcpy(dst, src) l o contedo do src at encontrar um zero (final de string) copiando o contedo para dst. No entanto no garantido que o destino possa comportar todo os bytes de src.

Buffer Overflow
Estado da stack no momento antes da chamada de strcpy(). A cpia dos dados feita escrevendo o primeiro byte de src (s) na primeira posio de dst (buf), sucessivamente at o que strcpy encontre um caractere null em src. Quando a funo foobar() for chamada, inserido na pilha o endereo de retorno (retaddr). Ao trmino da funo restaurado o valor do retaddr para o registrador. Se podemos sobrescrever o valor do retaddr possvel conseguir o controle do fluxo das instrues. Basta ento apont-lo para um buffer que contenha as instrues que desejamos executar .

Veja que a funo lostfunc no referenciada em nenhum momento e no deve ser executada exceto se o fluxo do programa for desviado!

Verso segura do programa

A funo strncpy(dst; src; n) como a strcpy porm faz o bound checking necessrio para no permitir um overflow. A diferena que no mximo n bytes de src so copiados para dst, como especificado no terceiro argumento. A linha 7 copia 255 bytes de s para buf guardando a ltima posio para o delimitador de final de string (o caractere null ou zero) atribudo em 8.

Exemplo C/C++

Validao de Entradas
A aplicao que alimentada pelo usurio deve lidar com entradas inusitadas e maliciosas. Deve-se acreditar que toda entrada de dados maliciosa! No se deve confiar em absolutamente nenhuma informao fornecida pelo usurio. Como no h uma frmula para solucionar este problema, devemos adotar uma metodologia. Uma abordagem muito aceita entre os programadores envolvidos com segurana codificar o software de forma que ele aceite um conjunto restrito e precisamente mapeado de possibilidades; rejeitando todas as demais.

Analisar entradas invlidas no faz sentido e um esforo intil. Exceto quando se trata de linguagens com gramticas bem definidas, no se pode prever nem tratar todas as possibilidades.

Injeo SQL
SQL Injection um dos tipos de vulnerabilidades decorrentes do mal processamento de entradas. Imagine um sistema onde o login e a senha de um usurio so passados atravs de um formulrio web. As informaes fornecidas so validadas em um banco de dados, e o acesso garantido se a consulta acusar o sucesso da autenticao. Ao submeter a informao o usurio faz com que o servidor execute uma rotina de autenticao. Quando as informaes fornecidas combinam com alguma das linhas do banco de dados, o sistema imprime a mensagem Acesso permitido! :-), caso contrrio, imprime Acesso negado. :-(.

Injeo SQL

Para Maria se autenticar no sistema: abre seu navegador, carrega o formulrio, e entra com o nome e senha corretos. As variveis $login e $passwd sero preenchidas com os valores passados pelo comando POST. A autenticao feita atravs do comando SQL, que busca uma entrada da tabela users que contenha ao mesmo tempo o login e a senha fornecidos pelo usurio. No caso da Maria, o comando SQL processado ser select * from users where login='maria' and password='maria123'.

Injeo SQL
Uma falha susceptvel a SQL injection quando possvel escolher um input tal que a
query resultante contenha um comando arbitrrio. Vejamos novamente a codificao da query SQL: $qry= "select * from users where login='$login' and password='$passwd'" O que acontece quando a varivel $login contm um dos caracteres de controle da linguagem SQL? Por exemplo, se o token de comentrio (- -) fosse atribudo varivel $login, o que aconteceria? Ocorre que a varivel $login concatenada com as outras partes do comando sem haver nenhum tratamento prvio. As informaes fornecidas pelo usurio so substitudas na cadeia de caracteres $qry sem que seja assegurada a consistncia do comando resultante. Portanto, os campos Nome e Senha do formulrio so extenses do comando SQL! Os valores no so devidamente resguardados como um dos parmetros da clusula WHERE. Se o campo Nome tem valor -- (como no exemplo acima) e Senha deixado em branco, temos o seguinte resultado:

Injeo SQL
Note o token de comentrio - - (terminado por um caractere branco). Toda a linha
direita dele ignorado, resultando em: $qry= "select * from users where login= " Esta modificao ainda no o suficiente para burlar a autenticao do programa, j que no h entradas com o campo login nulo na tabela users. Partindo do princpio que no conhecemos nenhum usurio que nos permitiria entrar algo como: maria- - podemos concatenar uma condio OU com uma sentena verdadeira, para obter como resposta todas as linhas da tabela users. A query resultante da entrada da cadeia or 1 = 1 - - seria: $qry= "select * from users where login= or 1=1" Este comando far com que todas as linhas da tabela sejam retornadas, j que 1 = 1 sempre verdadeiro. Assim, o mecanismo de autenticao foi burlado. O atacante foi capaz de violar o controle de acesso sem nem mesmo precisar de um usurio forjado.

Injeo SQL
A maneira correta de implementar a construo da query validando a entrada antes
de ser concatenada ao comando, assegurando que no h comandos injetados dentro do valor recebido. Uma das maneiras de se proteger do ataque processar a entrada do usurio com a funo mysql_real_escape_string(), que adiciona escapes todos os caracteres reconhecidos como ameaas para um comando na linguagem SQL que so, na verdade, os prprios caracteres especiais ou tokens da linguagem. Poderamos usar a funo para adicionar escapes no contedo da varivel $login, desta forma:

A query resultante seria esta:

Note que o segundo acento precedido de um escape, e isto faz com que todo o argumento, incluindo a seqncia de comentrio - - , seja considerado parte do campo login na busca. O resultado um sistema mais seguro, j que este novo mecanismo capaz de evitar a injeo do comando.

Cross-Site Scripting (XSS)


Aproveita o mal processamento dos dados de entrada na construo de pginas
HTML. O XSS permite burlar mecanismos de controle de acesso para obter informaes confidenciais do usurio, ou executar scripts em sua mquina.

Cross-Site Scripting (XSS)


O script constri e imprime uma mensagem simples para o usurio: Bemvindo, $nome. Note que, novamente, o nome do usurio concatenado uma pgina HTML sem nenhuma tratamento especial para a linguagem.

O que acontece quando inserimos cdigo no formulrio?

Cross-Site Scripting (XSS)

O script foi executado, fazendo o navegador mostrar uma janela com a mensagem XSS. O contedo do campo no formulrio foi injetado na pgina montada para exibio. Os navegadores mais populares usam um mecanismo de controle de acesso que isola a execuo do script por contextos definidos pela origem (servidor) e protocolo utilizado na comunicao. Tambm possvel fazer phishing em sites com vulnerabilidades XSS em alguns casos especficos, j que, como h a injeo de cdigo HTML, pode-se criar uma pgina forjando formulrios de senha, etc. Estas vulnerabilidades so encontradas de muitas formas nas aplicaes reais, e existem diferentes tcnicas para explorar cada uma delas. No entanto, a essncia do ataque a mesma.

Condies de Corrida
As condies de corrida ocorrem em ambientes que suportam

multiprogramao.
Este problema acontece quando dois ou mais processos acessam os mesmos recursos "simultaneamente". Um recurso pode ser modificado, intencionalmente ou no, por um processo, e ser requisitado por um segundo, fazendo que este se comporte de maneira no esperada.

Condies de Corrida
Semforos e locks so mecanismos que previnem acesso concorrente em um objeto por diferentes processos.

Uma operao que no pode ser interrompida em relao a um objeto chamada atmica.

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
66

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
67

1. Footprinting (reconhecimento)
Informaes bsicas podem indicar a postura e a poltica de segurana da empresa Coleta de informaes essenciais para o ataque
Nomes de mquinas, nomes de login, faixas de IP, nomes de domnios, protocolos, sistemas de deteco de intruso

So usadas ferramentas comuns da rede Engenharia Social Qual o e-mail de fulano? Aqui Cicrano. Poderia mudar minha senha? Qual o nmero IP do servidor SSH? e o DNS?

68

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
69

2. Scanning (varredura ou mapeamento)


De posse das informaes coletadas, determinar
Quais sistemas esto ativos e alcanveis Portas de entrada ativas em cada sistema

Ferramentas
Unix: nmap Windows: netscantools pro ($), superscan (free) system banners, informaes via SNMP

Descoberta da Topologia
Automated discovery tools: cheops, ntop, Comandos usuais: ping, traceroute, nslookup

Deteco de Sistema Operacional


Tcnicas de fingerprint (nmap)

Busca de senhas contidas em pacotes (sniffing) Muitas das ferramentas so as mesmas usadas para gerenciamento e administrao da rede
70

Mapeamento de rede

Tela do Cheops (http://cheops-ng.sourceforge.net) 71

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
72

3. Enumeration (enumerao)
Coleta de dados intrusiva
Consultas diretas ao sistema Est conectado ao sistema e pode ser notado

Identificao de logins vlidos Banners identificam verses de HTTP, FTP servers


Exemplo: Comando: Resposta: telnet www.host.com 80 HTTP/1.0 Bad Request server Netscape Commerce/1.12

Identificao de recursos da rede


Compartilhamentos (windows) - Comandos net view, nbstat Exported filesystems (unix) - Comando showmount

Identificao de Vulnerabilidades comuns


Nessus, SAINT, SATAN, SARA, TARA, ...

Identificao de permisses
find /home/joao -perm 0004 (arquivos de joao que podem ser lidos por qualquer um...)
73

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
74

4. Ganhando acesso (invaso)


Informaes coletadas norteiam uma estratgia de ataque Invasores mantm um Banco de dados de vulnerabilidades
Bugs de cada SO, kernel, servio, aplicativo por verso Tentam encontrar sistemas com falhas conhecidas

Busca privilgio de usurio comum (pelo menos) Tcnicas


Password sniffing, password crackers, password guessing Session hijacking (sequestro de sesso) Ferramentas para bugs conhecidos (buffer overflow)

Hackers tambm constrem as suas prprias ferramentas, personalizadas

75

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
76

5. Escalada de privilgios
Uma vez com acesso comum, busca acesso completo ao sistema (administrator, root) Ferramentas especficas para bugs conhecidos "Exploits" Tcnicas
Password sniffing, password crackers, password guessing Session hijacking (sequestro de sesso) Replay attacks Buffer overflow Trojans

77

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
78

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
80

7. Ocultao de rastros
Invasor usa tenta evitar deteco da presena Usa ferramentas do sistema para desabilitar auditoria Windows: c:\ auditpol /disable (atividade do invasor) c:\ auditpol /enable Toma cuidados para no deixar buracos nos logs excessivo tempo de inatividade vai denuciar um ataque Existem ferramentas para remoo seletiva do Event Log Esconde arquivos plantados (back doors) Exemplo 1: attrib +h file Exemplo 2: cp backdoor.exe arquivo.ext:stream (esconde) cp arquivo.ext:stream backdoor.exe (recupera) (conceito de file stream foi introduzido pelo Windows2000)
81

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
82

8. Instalao de Back doors (porta dos fundos)


Objetivo a manuteno do acesso Rootkits ferramentas ativas, mas escondidas Trojan horses programas falsificados Back doors acesso/controle remoto sem autenticao Prxima invaso ser mais fcil Trojans podem mandar informao para invasor Captura teclado (ex: no login) Manda um e-mail com a senha Rootkits se confundem com o sistema Comandos modificados para no revelar o invasor Exemplo: (unix) ps, who, mount e at partes do kernel! Back doors Sistemas cliente/servidor Cliente na mquina invasora controlando Servidor na mquina remota No aparecem na "Task List" do Windows NT/2k
83

Anatomia de um ataque
Varredura Reconhecimento

Enumerao

Invaso

Escalando privilgios Instalao de back doors

Acesso informao Ocultao de rastros

Denial of service
84

9. Denial of Service (negao de servio)


Ataques com objetivo de bloquear servios, atravs de: Consumo de banda de rede Esgotamento de recursos Explorao de falhas de programao (ex: ping da morte) Sabotagem de Roteamento RIP, BGP tm fraca autenticao Pacotes no conseguem sair da rede Sabotagem no DNS DNS responde errado causando desvio de acesso banco.com hacker.com Se a amazon parar 30 minutos, qual o prejuzo? E se no parar mas ficar 20% mais lento ? DDoS Distributed Denial of Service Ataques coordenados de mltiplas fontes
85

Prevenindo Ataques
Fase
Reconhecimento Mapeamento

Ao preventiva
Poltica de senhas, Educao do usurio Nunca anotar passwords, Segurana Fsica, Biometria Desabilitar servios desnecessrios Usar senhas criptografadas e abolir Telnet, FTP, POP, rsh Adotar SSL: SSH, sFTP, S/MIME, Webmail, scp, https (mesmo na LAN) Kerberos VPN, IPSec Usar NAT para esconder nmeros IP internos TCP Wrappers, Redirecionamento Honeypots Restringir relaes de confiana entre hosts Atualizao do sistema: patches, service packs, hot fixes Firewalls + Sistema de Deteco de Intruso Testes de penetrao (Nessus, SATAN) Backup de arquivos de configurao (fast recovery) Permisses bem configuradas, educao do usurio Cpia dos Logs em outra mquina em tempo real (redundncia) Ferramentas de integridade (checksums) Scripts de verificao, Ferramentas de integridade (checksums)
86

Enumerao

Invaso

Escalada de privilgios

Ocultao de rastros
Instalao de Backdoors

Você também pode gostar