Download - Apostila Testando o Sistema.pdf
-
7/23/2019 Apostila Testando o Sistema.pdf
1/19
507
Pen test: Teste de Invaso emRedes Corporativas
www.4linux.com.br
-
7/23/2019 Apostila Testando o Sistema.pdf
2/19
-
7/23/2019 Apostila Testando o Sistema.pdf
3/19
-
7/23/2019 Apostila Testando o Sistema.pdf
4/19
-
7/23/2019 Apostila Testando o Sistema.pdf
5/19
Contedo
1 Stress Testing 1
1.1 O que negao de servio? . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 DoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Exemplo de ataques DoS . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Prtica dirigida . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 DDoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Ferramenta de DDoS . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Principais tipos de ataques . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1 Ping Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 SYN Flood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.3 Smurf Attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Recomendaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Contramedidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.1 Find DdoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
i
-
7/23/2019 Apostila Testando o Sistema.pdf
6/19
-
7/23/2019 Apostila Testando o Sistema.pdf
7/19
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 ata-
ques 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 Confidencialidade-
Integridade-Disponibilidade, pode ser considerado um ataque de negao de servio,
desde puxar a tomada de alimentao de energia de um servidor, at utilizar umarede zumbi para ataque em massa.
Na maior parte das vezes, o objetivo do atacante no conseguir acesso informa-
es, 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
-
7/23/2019 Apostila Testando o Sistema.pdf
8/19
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 con-
sigam us-la; derrubar uma conexo entre dois ou mais computadores; fazer tantas
Pgina 2 Pen test: Teste de Invaso em Redes Corporativas
-
7/23/2019 Apostila Testando o Sistema.pdf
9/19
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 depessoas "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 caracters-
ticas 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 (Synchro-
nize). Se o servidor atender ao pedido de conexo, enviar ao computador solicitanteum sinal chamado ACK (Acknowledgement). O problema que em ataques desse
tipo, o servidor no consegue responder a todas as solicitaes e ento passa a re-
cusar 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 umataque de negao de servio.
Problemas em aplicativos tambm podem gerar.
Ping da Morte
Pen test: Teste de Invaso em Redes Corporativas Pgina 3
-
7/23/2019 Apostila Testando o Sistema.pdf
10/19
1.2 DoS 4Linux www.4linux.com.br
1.2.1 Exemplo de ataques DoS
Em Linux:
1
2 $ :( ){ : |: & }; :
3 $ d d i f = / d ev / z e r o o f = / v ar / s p o o l / m a i l / m e u _ u su a r i o
4 $ p er l - e wh il e ( 1) { f or k () ;
5 o pe n $ fh , " < / p ro c / m e mi n fo " ;
6 o pe n $ hf , " > / t mp / b l a ;" }
7 $ d d i f =/ d e v / u ra n do m o f =/ d e v / me m
8 $ p er l - e f o rk w hi le f or k
Em Windows:
Em um .bat: %0|%0
Ou:
1
2 : s
3 s t ar t %
4 g ot o : 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
-
7/23/2019 Apostila Testando o Sistema.pdf
11/19
4Linux www.4linux.com.br 1.3 DDoS
1 $ . / c 4
Com esse comando, teremos como retorno a sintaxe e a explicao resumida dosparmetros e opes do comando c4.
A sintaxe correta para um ataque de SYN Flood com o c4 contra um host especfico
:
Sintaxe:
1 . / c4 - h [ i p _ a lv o ]
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
-
7/23/2019 Apostila Testando o Sistema.pdf
12/19
1.3 DDoS 4Linux www.4linux.com.br
Para que os ataques do tipo DDoS sejam bem-sucedidos, necessrio que se te-
nha 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 "es-
cravizar"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 in-
ternet, 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 fun-
es 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 ata-
que, 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 sodistribudas 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
-
7/23/2019 Apostila Testando o Sistema.pdf
13/19
4Linux www.4linux.com.br 1.3 DDoS
Como exemplo real de ataques DDoS ajudados por vrus, tem-se os casos das pra-
gas digitais Codered, Slammer e MyDoom. Existem outros, mas estes so os queconseguiram 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
-
7/23/2019 Apostila Testando o Sistema.pdf
14/19
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 ferra-
menta 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 desenvolvi-
mento 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
-
7/23/2019 Apostila Testando o Sistema.pdf
15/19
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 sobrecar-
rega 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
-
7/23/2019 Apostila Testando o Sistema.pdf
16/19
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 pos-
svel 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
-
7/23/2019 Apostila Testando o Sistema.pdf
17/19
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 asrespostas no para o seu endereo, mas para o da vtima. Assim, o computador-
alvo 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
-
7/23/2019 Apostila Testando o Sistema.pdf
18/19
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 ha-
vendo 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 posteri-
ormente 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
-
7/23/2019 Apostila Testando o Sistema.pdf
19/19
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