Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Conheça a vulnerabilidade DLL Hijacking

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

  • Font Size
    #1

    Dica Conheça a vulnerabilidade DLL Hijacking

    A pouco tempo atrás foi descoberta uma vulnerabilidade grave no Windows, que consiste no processo de pesquisa das dlls (dynamic link library) do sistema, esse bug foi nomeado de DLL Hijacking. Essa vulnerabilidade já vem sido discutida a 10 anos, quando os pesquisadores achavam que ela não seria tão grave e poderia ser explorada apenas localmente para elevação de privilégios, agora ela se mostra um risco em potencial, já que foi provado a possibilidade de exploração dessa falha em rede, e o que é mais preocupante, vários programas estão vulneráveis a DLL Hijacking.

    Para entendermos melhor essa vulnerabilidade eu vou fazer um breve resumo de como ela acontece.

    As DLLs

    Os arquivos.dll estão espalhados por diversas pastas do sistema, eles são códigos prontos que podem ser usados por programas para executar uma determinada tarefa, isso evita o trabalho que o programador teria em ter que escrever várias funções em seu programa, o que tornaria o desenvolvimento ainda mais demorado, fora o tamanho do programa que seria bem maior, por exemplo, eu estou desenvolvendo um player de áudio e vídeo, esse player normalmente irá exigir diversas funções para que possa abrir os arquivos de áudio e vídeo, no Windows existe uma dll que já possui as funções responsáveis por abrir e executar um arquivo de áudio e vídeo, então ao invés de eu ter que escrever do zero todo esse código dentro do meu programa, eu apenas escrevo uma função em que o meu programa fará com que Windows procure por uma determinada dll e a carregue para que o meu aplicativo reutilize o seu código.

    A vulnerabilidade

    Agora que já sabemos para que servem e como são utilizadas as DLLs, vamos entender aonde esta a vulnerabilidade. Como foi dito no exemplo acima, um programa pode fazer com que o Windows procure por uma dll, para que ele possa dar continuidade ao seu código e o possibilite executar uma tarefa, até ai normal, o problema é que o Windows procura pela dll por todas as pastas inclusive a pasta original do arquivo, ou seja, se na mesma pasta do arquivo houver uma dll maliciosa, o Windows pode vir a executa-la, entenda como abaixo. Os programas vulneráveis a DLL Hijacking são aqueles que permitem com que o Windows procure por uma dll no mesmo diretório do arquivo.

    Explorando a vulnerabilidade

    Para explorar a vulnerabilidade o invasor teria que criar um arquivo.dll malicioso, no qual o programa vulnerável irá usar, vamos usar novamente como exemplo um programa de áudio, digamos que esse programa de áudio precisa da players.dll , sabendo disso, o invasor criaria um players.dll com o código verdadeiro da dll + um código malicioso para que seja carregado junto com a função. Se o players.dll criado pelo invasor tivesse apenas o código malicioso, iria acontecer um erro, afinal as funções pedidas pelo programa não estão na dll, agora se o players.dll do invasor tiver o código verdadeiro da dll + o código malicioso, o código malicioso será carregado junto com as funções verdadeiras da dll sem despertar suspeitas.

    Agora que o invasor tem um arquivo dll infectado por um código malicioso, ele disponibilizaria um arquivo comum do programa vulnerável, no nosso caso uma musica, em um compartilhamento de rede do Windows e junto com esse arquivo ele também deixaria o players.dll malicioso. Quando o programa vulnerável requisitar a players.dll o Windows irá procurar no diretório do arquivo que será aberto e irá carregar o código malicioso sem demonstrar nenhuma anormalidade.

    Correção da vulnerabilidade

    Teoricamente a correção da vulnerabilidade seria simples, bastaria a Microsoft evitar com que o Windows procure por dlls na mesma pasta do arquivo, mas o problema é que se isso ocorrer vários programas poderiam deixar de funcionar, já que muitos arquivos de aplicativos foram criados necessitando do carrego de dlls em seu mesmo diretório, dessa forma, se o Windows não pesquisar na mesma pasta do arquivo, o arquivo não conseguira ser aberto.

    O mais viável até agora é que as empresas responsáveis pelos programas vulneráveis lancem correções para os seus programas para que eles não precisem carregar dlls que estão na mesma pasta do arquivo, evitando então o carrego de uma dll criada por um invasor.

    Para vocês terem uma noção da gravidade da vulnerabilidade, veja uma pequena lista de programas vulneráveis:

    Firefox

    Sony Sound Forge

    Camtasia Studio 7

    Media Player Classic

    Google Earth v5.1.3535.3218

    Daemon Tools lite

    Adobe Illustrator CS4

    Adobe PhotoShop CS2

    Adobe Premiere Pro CS4

    Skype 4.2.0.169

    Utorrent

    Avast

    Adobe Dreamweaver CS4 e CS5

    Foxit Reader

    O pessoal do site Exploit Database fizeram uma lista completa dos programas vulneráveis, qual dll o programa pede e o nickname da pessoa que descobriu a vulnerabilidade, é só dar uma conferida.

    Bom ai esta um resumo do que é e como é explorado a vulnerabilidade DLL Hijacking, esse artigo é muito bom para você ter uma noção bem clara de como as vulnerabilidades acontecem e como os Hackers e Crackers criam os seus planos de exploração e invasão. Em breve eu postarei uma vídeo aula mostrando a exploração da vulnerabilidade DLL Hijacking, volto a dizer, mostrando e não ensinando como explorar.

    Agora só nos resta aguardar o lançamento de correções, das empresas responsáveis pelos programas vulneráveis, para que possamos atualiza-los e corrigir esse erro.



    BY: inocente

    e se esse topico tiver no lugar errado me avisem que vou por no post certo eh refazerei denovo obrigado

  • Font Size
    #2
    Parabéns inocente, belo post

    Comment


    • Font Size
      #3
      parabens (:

      Comment


      • Font Size
        #4
        Bastante interessante Inocente.
        Mas, a pessoa baixaria o programa já com a .dll infectada ou por alguma ocasião qualquer ela se infectaria com esse arquivo?
        Abraço




        "Antes de conseguir você tem que acreditar."

        Comment


        • Font Size
          #5
          respondendo o Mailson...
          pelo que entendi so de baixar a dll já infecta...
          mas o principal... se você acessa uma área remota compartilhada e tiver uma dll nele ou se baixar o arquivo de um programa vulnerável a esse ataque(o Office estava, então docs contaminavam já) ja infect a maquina toda.
          Vai ser rox

          Comment


          • Font Size
            #6
            Legal cara, uso isso a muito tempo em jogos online com anti-cheat no cliente;

            no caso, o anticheater é uma dll que está hookada no jogo, quando o jogo chama uma dll sem função , fica mais fácil ainda pois não precisa nem criar outra dll, apenas renomeio um arquivo de texto pra .dll

            Mas é como você falou, as vezes precisa criar a dll com as mesmas funcao da original.

            O Windows tem uma outra falha, bom não sei se eh falha, mas eu uso pra coisas "maliciosas" que é carregar uma dll em qualquer executável do windows por uma variável do regedit.

            Comment


            • Font Size
              #7
              Uma video aula da vulnerabilidade Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
              Pessoal, siga @sirbagda e fique sempre atualizado com materias, videos e afins do mundo hacker.

              Comment


              • Font Size
                #8
                bela explicação mano !

                Comment

                X
                Working...
                X