Você está na página 1de 19

507

Pen test: Teste de Invaso em


Redes Corporativas

www.4linux.com.br

Projetos na sua empresa


com a qualidade dos treinamentos

ence
Business Intelig lx8
F
u/
.m
va
http://

BPM
http://va.mu/EuiT

Servidor Java EE
http://va.mu/FlyB

PostgreSQL
http://va.mu/EuhV

Monitoramento
http://va.mu/EukN

Virtualizao
http://va.mu/Flxl

Groupware Yj
u/FN
http://va.m

Backup
http://va.mu/Flxr

Auditoria e Anlise
http://va.mu/Flxu

Segurana
http://va.mu/Flxy

Ensino Distncia
http://va.mu/Flxc

Integrao Continua
http://va.mu/FlyD

GED - ECM
http://va.mu/Flx3

Alta Disponibilidade
http://va.mu/FNbL

Infraestrutura Web
http://va.mu/Flxi

Implantao garantida
http://va.mu/GcFv

Contedo
1 Stress Testing

1.1 O que negao de servio? . . . . . . . . . . . . . . . . . . . . . . . .

1.2 DoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.1 Exemplo de ataques DoS . . . . . . . . . . . . . . . . . . . . . .

1.2.2 Prtica dirigida . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3 DDoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.1 Ferramenta de DDoS . . . . . . . . . . . . . . . . . . . . . . . .

1.4 Principais tipos de ataques . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.1 Ping Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.2 SYN Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.3 Smurf Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


1.5 Recomendaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Contramedidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.1 Find DdoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Captulo 1
Stress Testing
1.1 O que negao de servio?
Quem acompanha os noticirios de informtica ou o prprio Boletim Anti-Vrus do
InfoWester certamente j se deparou com matrias que citam ataques DoS ou ataques DDoS a sites. O objetivo deste captulo dar explicaes sobre isso e tambm
mostrar as conseqncias de tais ataques.
Durante um ataque de negao de servio, o atacante deixa o sistema impossvel de
ser usado ou significantemente lento, a ponto de conseguir realizar poucas tarefas.
Esses ataques podem ser realizados contra um sistema individual ou contra uma
rede inteira e normalmente so realizados com sucesso.
Qualquer tipo de ataque que afete o pilar Disponibilidade da trade ConfidencialidadeIntegridade-Disponibilidade, pode ser considerado um ataque de negao de servio,
desde puxar a tomada de alimentao de energia de um servidor, at utilizar uma
rede zumbi para ataque em massa.
Na maior parte das vezes, o objetivo do atacante no conseguir acesso informaes, roubo de dados, ou tomar o controle da mquina. O objetivo realmente causar
a indisponibilidade de servios nos sistemas do alvo, e isso pode levar a potenciais
prejuzos financeiros, do ponto de vista comercial, por exemplo.

1.2 DoS

4Linux www.4linux.com.br

Abaixo temos alguns exemplos de ataques realizados em site conhecidos, que de


alguma forma causou prejuzos financeiros aos sites atacados.
Exemplos de ataques:

Contra DNS da Telefonica


Speedy

Contra sistema de votao do BBB


Globo

Contra sites de update


update.microsoft.com

Contra sites grandes:


CNN
Yahoo

1.2 DoS
De acordo com a definio do CERT (Computer Emergency Response Team), os
ataques DoS (Denial of Service), tambm denominados Ataques de Negao de
Servios, consistem em tentativas de impedir usurios legtimos de utilizarem um
determinado servio de um computador. Para isso, so usadas tcnicas que podem:
sobrecarregar uma rede a tal ponto em que os verdadeiros usurios dela no consigam us-la; derrubar uma conexo entre dois ou mais computadores; fazer tantas

Pgina 2

Pen test: Teste de Invaso em Redes Corporativas

4Linux www.4linux.com.br

1.2 DoS

requisies a um site at que este no consiga mais ser acessado; negar acesso a
um sistema ou a determinados usurios.
Explicando de maneira ilustrativa, imagine que voc usa um nibus regularmente
para ir ao trabalho. No entanto, em um determinado dia, uma quantidade enorme de
pessoas "furaram a fila"e entraram no veculo, deixando-o to lotado que voc e os
outros passageiros regulares no conseguiram entrar. Ou ento, imagine que voc
tenha conseguido entrar no nibus, mas este ficou to cheio que no conseguiu sair
do lugar por excesso de peso. Este nibus acabou negando o seu servio - o de
transport-lo at um local -, pois recebeu mais solicitaes - neste caso, passageiros
- do que suporta.
importante frisar que quando um computador/site sofre ataque DoS, ele no
invadido, mas sim, tem apenas o servio parado.
Os ataques do tipo DoS mais comuns podem ser feitos devido a algumas caractersticas do protocolo TCP/IP (Transmission Control Protocol / Internet Protocol), sendo
possvel ocorrer em qualquer computador que o utilize. Uma das formas de ataque
mais conhecidas a SYN Flooding, onde um computador tenta estabelecer uma
conexo com um servidor atravs de um sinal do TCP conhecido por SYN (Synchronize). Se o servidor atender ao pedido de conexo, enviar ao computador solicitante
um sinal chamado ACK (Acknowledgement). O problema que em ataques desse
tipo, o servidor no consegue responder a todas as solicitaes e ento passa a recusar novos pedidos. Outra forma de ataque comum o UPD Packet Storm, onde um
computador faz solicitaes constantes para que uma mquina remota envie pacotes
de respostas ao solicitante. A mquina fica to sobrecarregada que no consegue
executar suas funes.
No so apenas grande quantidades de pacotes geradas que podem causar um
ataque de negao de servio.
Problemas em aplicativos tambm podem gerar.

Ping da Morte

Pen test: Teste de Invaso em Redes Corporativas

Pgina 3

1.2 DoS

4Linux www.4linux.com.br

1.2.1 Exemplo de ataques DoS


Em Linux:

1
2

$ :() { :|:& };:

$ dd if =/ dev / zero of =/ var / spool / mail / meu_usuario

$ perl - e while (1) { fork () ;

open $fh , " </ proc / meminfo " ;

open $hf , " >/ tmp / bla ; " }

$ dd if =/ dev / urandom of =/ dev / mem

$ perl -e fork while fork

Em Windows:
Em um .bat: %0|%0
Ou:

1
2

:s

start %0

goto :s

1.2.2 Prtica dirigida


C4
O C4 uma ferramenta que gera ataques de DoS em redes locais com SYN Flood .
Vamos conhec-la um pouco mais, digitando no terminal:

Pgina 4

Pen test: Teste de Invaso em Redes Corporativas

4Linux www.4linux.com.br

1.3 DDoS

$ ./ c4

Com esse comando, teremos como retorno a sintaxe e a explicao resumida dos
parmetros e opes do comando c4.
A sintaxe correta para um ataque de SYN Flood com o c4 contra um host especfico
:
Sintaxe:

./ c4 -h [ ip_alvo ]

E alguns dos parmetros existentes so:


Parmetros:
-h destination ip/host -p destination port range [start,end] (defaults to random ) -t
attack timeout (defaults to forever) -l
Vamos formar duplas e realizar ataques de DoS na mquina do companheiro de
exerccio. Cuidado, pois esse ataque pode travar a mquina do companheiro e at
mesmo a sua!

1.3 DDoS
O DDoS, sigla para Distributed Denial of Service, um ataque DoS ampliado, ou
seja, que utiliza at milhares de computadores para atacar um determinado alvo.
Esse um dos tipos mais eficazes de ataques e j prejudicou sites conhecidos, tais
como os da CNN, Amazon, Yahoo, Microsoft e eBay.

Pen test: Teste de Invaso em Redes Corporativas

Pgina 5

1.3 DDoS

4Linux www.4linux.com.br

Para que os ataques do tipo DDoS sejam bem-sucedidos, necessrio que se tenha um nmero grande de computadores para fazerem parte do ataque. Uma das
melhores formas encontradas para se ter tantas mquinas, foi inserir programas de
ataque DDoS em vrus ou em softwares maliciosos.

Em um primeiro momento, os hackers que criavam ataques DDoS tentavam "escravizar"computadores que agiam como servidores na internet. Com o aumento na
velocidade de acesso internet, passou-se a existir interesse nos computadores dos
usurios comuns com acesso banda larga, j que estes representam um nmero
muito grande de mquinas na internet.

Para atingir a massa, isto , a enorme quantidade de computadores conectados internet, vrus foram e so criados com a inteno de disseminar pequenos programas
para ataques DoS. Assim, quando um vrus com tal poder contamina um computador,
este fica disponvel para fazer parte de um ataque DoS e o usurio dificilmente fica
sabendo que sua mquina est sendo utilizado para tais fins. Como a quantidade de
computadores que participam do ataque grande, praticamente impossvel saber
exatamente qual a mquina principal do ataque.

Quando o computador de um internauta comum infectado com um vrus com funes para ataques DoS, este computador passa a ser chamado de zumbi. Aps a
contaminao, os zumbis entram em contato com mquinas chamadas de mestres,
que por sua vez recebem orientaes (quando, em qual site/computador, tipo de ataque, entre outros) de um computador chamado atacante. Aps receberem as ordens,
os computadores mestres as repassam aos computadores zumbis, que efetivamente
executam o ataque. Um computador mestre pode ter sob sua responsabilidade at
milhares de computadores. Repare que nestes casos, as tarefas de ataque DoS so
distribudas a um "exrcito"de mquinas escravizadas.

Da que surgiu o nome Distributed Denial of Service. A imagem abaixo ilustra a


hierarquia de computadores usadas em ataques DDoS (alm de ilustrar tambm um
ataque DoS e DRDos.

Pgina 6

Pen test: Teste de Invaso em Redes Corporativas

4Linux www.4linux.com.br

1.3 DDoS

Como exemplo real de ataques DDoS ajudados por vrus, tem-se os casos das pragas digitais Codered, Slammer e MyDoom. Existem outros, mas estes so os que
conseguiram os maiores ataques j realizado.

1.3.1 Ferramenta de DDoS

TFN2K
Esta foi a primeira ferramenta de ataque DDoS disponvel publicamente. O TFN foi
escrito por Mixter. Os ataques efetuados pelo TFN so:

UDP Flooding;
TCP SYN Flooding;
ICMP Flooding;
Smurf Attack.

Mais 2 exemplos de ferramentas usadas em ataques DDoS so Loic e T50.

Pen test: Teste de Invaso em Redes Corporativas

Pgina 7

1.3 DDoS

4Linux www.4linux.com.br

Sendo que a primeiro ficou muito famosa nos ltimos tempos por ser a ferramenta
usada pelo grupo ativista Anonymous para derrubar grandes sites na web. Esta ferramenta pode ser usada individualmente onde o ataque combinado e cada atacante
ou via salas de IRC.

Enquanto que a segunda uma ferramenta inovadora destinada somente a testes


de stress, podendo se observar o modo em que o desenvolvedor e o mentenedor se
preocuparam em manter a ferramenta utilizavel somente em redes locais, no sendo
possivel ento, inicialmente, ser usada para testes em ips de internet.

Porm como a ferramenta atualmente possui o cdigo fonte livre, ,est protegida por
gpl, muita gente j mexeu no cdigo e alguns retiraram as travas previstas pelos
desenvolvedores tornando a ferramenta extremamente perigosa se usada para fins
maliciosos, e vamos entender o porqu.

Vamos falar em nmeros, o T50 considerado inovador pois introduz um conceito


de strees testing com multiplos protocolos, onde ele trabalha com 14 protocolos em
sua ltima verso, sendo possvel o uso de todos protocolos juntos em um nico
pacote ou podem ser usados separadamente. Desses 14 protocolos muitos so
considerados exticos nas palavras do mantenedor pois so protocolos proprietrios
onde foi necessria muita anlise reversa para entender o funcionamento. Dentre
eles esto: OSPF, EIGRP, IPSEC, RSVP, DCCP, RIP, EGP, TCP, UDP, ICMP, entre
outros. Se a sada foi gigabit pode chegar a 1.000.000 de pacotes por segundo

E o melhor dessa ferramenta o fato de ser 100% brasileira, desde o desenvolvimento at a comunidade mantenedora, e foi a primeira ferramenta brasileira a ser
inclusa oficialmente da distribuio de pentest mais famosa o Backtrack.

Pgina 8

Pen test: Teste de Invaso em Redes Corporativas

4Linux www.4linux.com.br

1.4 Principais tipos de ataques

1.4 Principais tipos de ataques

1.4.1 Ping Flood

Ping flood um ataque de negao de servio simples no qual o atacante sobrecarrega o sistema vtima com pacotes ICMP Echo Request (pacotes ping).
Este ataque apenas bem sucedido se o atacante possui mais largura de banda que
a vitima. Como a vitima tentar responder aos pedidos, ir consumir a sua largura
de banda impossibilitando-a responder a pedidos de outros utilizadores.
As nicas maneiras de proteger deste tipo de ataque limitando o trfego do ping
na sua totalidade ou apenas limitando o trfego de pacotes ICMP Echo Request com
um tamanho menos elevado.

1.4.2 SYN Flood

SYN flood ou ataque SYN uma forma de (DoS) em sistemas computadorizados,


na qual o atacante envia uma seqncia de requisies SYN para um sistema-alvo.
Quando um cliente tenta comear uma conexo TCP com um servidor, o cliente e o
servidor trocam um srie de mensagens, que normalmente so assim:

O cliente requisita uma conexo enviando um SYN (synchronize) ao servidor.

Pen test: Teste de Invaso em Redes Corporativas

Pgina 9

1.4 Principais tipos de ataques

4Linux www.4linux.com.br

O servidor confirma esta requisio mandando um SYN-ACK(acknowledge) de


volta ao cliente.
O cliente por sua vez responde com um ACK, e a conexo est estabelecida.
Isto o chamado aperto de mo em trs etapas (Three-Way Handshake).

Um cliente malicioso pode no mandar esta 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.
Esta chamada conexo semi-aberta pode ocupar recursos no servidor ou causar
prejuzos para empresas usando softwares licenciados por conexo. Pode ser possvel ocupar todos os recursos da mquina, com pacotes SYN. Uma vez que todos
os recursos estejam ocupados, nenhuma nova conexo (legtima ou no) pode ser
feita, resultando em negao de servio. Alguns podem funcionar mal ou at mesmo
travar se ficarem sem recursos desta maneira.
Ao contrrio do que muitos pensam, no resolve ataque negao de servio por Syn
flood limitando a quantidade de conexes por minuto (como usar o mdulo limit ou
recent do iptables), pois as conexes excedentes seriam descartadas pelo firewall,
sendo que desta forma o prprio firewall tiraria o servio do ar. Se eu, por exemplo,
limito as conexes SYN a 10/seg, um atacante precisa apenas manter uma taxa de
SYNs superior a 10/s para que conexes legtimas sejam descartadas pelo firewall.

Pgina 10

Pen test: Teste de Invaso em Redes Corporativas

4Linux www.4linux.com.br

1.5 Recomendaes

O firewall tornou a tarefa do atacante ainda mais fcil. Um ataque de Syn Flood
feito com os IPs forjados (spoof), para que o atacante no receba os Syn- ACKs de
suas falsas solicitaes.

1.4.3 Smurf Attack


O Smurf outro tipo de ataque de negao de servio. O agressor envia uma rpida
seqncia de solicitaes de Ping (um teste para verificar se um servidor da Internet
est acessvel) para um endereo de broadcast.
Usando spoofing, o atacante faz com que o servidor de broadcast encaminhe as
respostas no para o seu endereo, mas para o da vtima. Assim, o computadoralvo inundado pelo Ping.

1.5 Recomendaes
sugerido que o Pen-tester seja cauteloso com o uso desse tipo de ataque ou de
ferramentas que possam causar uma negao de servio.
Exceto em casos que o cliente solicite tal tipo de ataque, no devemos realizar esse

Pen test: Teste de Invaso em Redes Corporativas

Pgina 11

1.6 Contramedidas

4Linux www.4linux.com.br

ataque, pois pode prejudicar os negcios da empresa.

1.6 Contramedidas
Infelizmente no existe muito o que fazer para prevenir esse tipo de ataque, quando
estamos falando de ataques que envolvem inundao de pacotes. Normalmente,
vence quem tem mais link!
Porm, DoS causados por falhas em aplicaes podem ser evitadas com treinamento
sobre programao segura para os programadores.
Apesar de no existir nenhum meio que consiga impedir totalmente um ataque DoS,
possvel detectar a presena de ataques ou de computadores (zumbis) de uma
rede que esto participando de um DDoS. Para isso, basta observar se est havendo mais trfego do que o normal (principalmente em casos de sites, seja ele um
menos conhecido, seja ele um muito utilizado, como o Google.com), se h pacotes
TCP e UDP que no fazem parte da rede ou se h pacotes com tamanho acima do
normal. Outra dica importante utilizar softwares de IDS (Intrusion Detection System
- Sistema de Identificao de Intrusos).
Para preveno, uma das melhores armas verificar as atualizaes de segurana
dos sistemas operacionais e softwares utilizados pelos computadores.
Muitos vrus aproveitam de vulnerabilidades para efetuar contaminaes e posteriormente usar a mquina como zumbi. Tambm importante filtrar certos tipos de
pacotes na rede e desativar servios que no so utilizados.

1.6.1 Find DdoS


uma ferramenta que foi desenvolvida por um rgo do FBI em funo da grande
quantidade de ataques DDoS ocorridos. O find_ddos localiza no sistema os masters

Pgina 12

Pen test: Teste de Invaso em Redes Corporativas

4Linux www.4linux.com.br

1.6 Contramedidas

e agentes das ferramentas Trin00, Tribe Flood Network, TFN2k e Stacheldraht.

Pen test: Teste de Invaso em Redes Corporativas

Pgina 13