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

Inter-Rede

Enlace
Enlace & Fsico
Fsico
OSI

TCP/IP
2

Famlia TCP/IP
DNS

SNMP

NFS

OSPF

FTP

HTTP

SSH

SMTP

Aplicao

Transporte
UDP

Inter-Rede

Enlace & Fsico

ARP

ETHERNET

SCTP

IGMP

RTP

IP

TCP

ICMP

PPP TOKEN RING FDDI

ATM

RARP

802.11

...

Ameaas na pilha TCP/IP


Funes do nvel Enlace & Fsico

Aplicao

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

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

Aplicao

Prover controle de fluxo, sequenciamento de pacotes, controle de


congestionamento e retransmisso de pacotes perdidos pela camada de
rede (TCP)
Algumas Ameaas

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

Modelo TCP/IP
7

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

Ferramenta

Vulnerabilidade

Ao

Alvo

Resultado

Objetivo

Hacker

Ataque fsico

Projeto

Sondar

Conta

Mais acesso

Desafio

Espio

Informao

Implementao

Mapear

Processo

Abertura info

Poltico

Terrorista

Comando

Configurao

Inundar

Informao

Corrupo info

Financeiro

Cracker

Script

Autenticar

Componente

Negao Serv

Destruir

Script Kiddy

Agente

Contornar

Computador

Roubo recurso

Criminoso

Toolkit

Spoof

Rede

Ferr. Distrib
Escuta

Ler

Inter-rede

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

Acesso
informao

Instalao de
back doors

Ocultao
de rastros

Denial of
service
66

Anatomia de um ataque
Varredura

Reconhecimento

Enumerao

Invaso

Escalando
privilgios

Acesso
informao

Instalao de
back doors

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

Acesso
informao

Instalao de
back doors

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

Acesso
informao

Instalao de
back doors

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

Acesso
informao

Instalao de
back doors

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

Acesso
informao

Instalao de
back doors

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

Acesso
informao

Instalao de
back doors

Ocultao
de rastros

Denial of
service
78

Anatomia de um ataque
Varredura

Reconhecimento

Enumerao

Invaso

Escalando
privilgios

Acesso
informao

Instalao de
back doors

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

Acesso
informao

Instalao de
back doors

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

Acesso
informao

Instalao de
back doors

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

Ao preventiva

Reconhecimento

Poltica de senhas, Educao do usurio


Nunca anotar passwords, Segurana Fsica, Biometria

Mapeamento

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

Enumerao

Usar NAT para esconder nmeros IP internos


TCP Wrappers, Redirecionamento
Honeypots
Restringir relaes de confiana entre hosts

Invaso

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)

Escalada de privilgios

Permisses bem configuradas, educao do usurio

Ocultao de rastros

Cpia dos Logs em outra mquina em tempo real (redundncia)


Ferramentas de integridade (checksums)

Instalao de Backdoors

Scripts de verificao, Ferramentas de integridade (checksums)


86

Você também pode gostar