apostila testando o sistema.pdf

Upload: artur-arocha

Post on 12-Feb-2018

245 views

Category:

Documents


0 download

TRANSCRIPT

  • 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